ãããã¯ãŒã¯æ©åšã®åž¯åå¹
ãå¶éããå ŽåããŸãããªãµãŒãšã·ã§ãŒããŒãšãã2ã€ã®ãã¯ãããžãŒãé ã«æµ®ãã³ãŸãã ããªãµãŒã¯ããäœåãªããã±ããã廿£ããããšã«ããé床ãå¶éããæå®ãããé床ãè¶
ããããšã«ãªããŸãã Shaperã¯ããã±ããããããã¡ãªã³ã°ããããšã«ãããé床ãç®çã®å€ã«æ»ããã«ããããšããŸãã Ivan PepelnjakïŒIvan PepelnjakïŒã®ããã°ã®
ã¡ã¢ãèªãã åŸããã®èšäºãæžãããšã«ããŸããã ç¹°ãè¿ãã«ãªããŸãããçåãçããŸãããã©ã¡ããè¯ãã-ããªãµãŒãã·ã§ãŒããŒã§ãã ãããŠããã®ãããªè³ªåã§ããããããšã§ãããããã«å¯Ÿããçãã¯æ¬¡ã®ãšããã§ããåãã¯ãããžãŒã«ã¯é·æãšçæãããããããã¹ãŠç¶æ³ã«äŸåããŸãã ç°¡åãªå®éšãè¡ãããšã§ããããããå°ã詳ããæ±ãããšã«ããŸããã ããŒãªã³ã°ã«ãã£ãŠåŸãããçµæã
ããã§ã¯ãããªãµãŒãšã·ã§ãŒããŒã®éãã®æŠèŠããå§ããŸãããã
ã芧ã®ãšãããããªãµãŒã¯ãã¹ãŠã®ããŒã¯ãã«ããããã·ã§ãŒããŒã¯ãã©ãã£ãã¯ãå¹³æ»åããŸãã ããªãµãŒãšã·ã§ãŒããŒã®ããªãè¯ãæ¯èŒã¯
ããã«ãããŸã ã
ã©ã¡ãã®ãã¯ãããžãŒãåºæ¬çã«ããŒã¯ã³ã¡ã«ããºã ã䜿çšããŸãã ãã®ã¡ã«ããºã ã«ã¯ããµã€ãºãå¶éãããä»®æ³ããŒã¯ã³ãã±ããããããããã«äžå®ã®èŠåãæã£ãŠããŒã¯ã³ãå°çããŸãã ãã©ãã«ã«ãŒãã®ãããªããŒã¯ã³ã¯ããã±ããã®è»¢éã«äœ¿çšãããŸãã ãã±ããã«ããŒã¯ã³ããªãå Žåããã±ããã¯ç Žæ£ãããŸãïŒä»ã®ã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸãïŒã ãããã£ãŠãããŒã¯ã³ãæå®ã®é床ã«åŸã£ãŠãã±ããã«å
¥ããšãäžå®ã®ãã©ãã£ãã¯è»¢éé床ãåŸãããŸãã

ãã¶ãããã¯ç°¡åã§ããããïŒã»ãã·ã§ã³é床ã¯ãéåžžãå²ãåœãŠãããæéãããšãã°5ç§ãŸãã¯5åã§æž¬å®ãããŸãã ããŒã¿ã¯åžžã«ãã£ãã«é床ã§éä¿¡ããããããç¬æå€ãååŸããŠãæå³ããããŸããã ããã«ãç°ãªãæéééã§å¹³ååãè¡ããšããããã¯ãŒã¯äžã®ãã©ãã£ãã¯ãåäžã§ã¯ãªããããããŒã¿è»¢éé床ã®ç°ãªãã°ã©ããåŸãããŸãã ç£èŠã·ã¹ãã ã§ã°ã©ããäœæãããšãã«ãã ãããããã«ééãããšæããŸãã
ããŒã¯ã³ã¡ã«ããºã ã«ãããé床å¶éãæè»ã«èšå®ã§ããŸãã ãã±ããã®ãµã€ãºã¯ãé床ã®å¹³ååæ¹æ³ã«åœ±é¿ããŸãã ãã±ããã倧ããå ŽåïŒã€ãŸããããã«å€§éã®ããŒã¯ã³ãèç©ãããå¯èœæ§ããããŸãïŒãç¹å®ã®æç¹ã§å²ãåœãŠãããå¶éã®ããã«ãã©ãã£ãã¯ããããé£ã³åºããããšãèš±å¯ããŸãïŒé·æéã«ãããå¹³ååã«çžåœïŒã ãã±ãããµã€ãºãå°ããå Žåããã©ãã£ãã¯ã¯ããåäžã«ãªããæå®ããããããå€ïŒçæéã®å¹³ååãšåçïŒãè¶
ããããšã¯ã»ãšãã©ãããŸããã
ããªãµãŒã®å Žåããã±ããã¯æ°ããããã±ãŒãžãå°çãããã³ã«æºããããŸãã ãã±ããã«ããŒããããããŒã¯ã³ã®æ°ã¯ãèšå®ãããããªãµãŒé床ãšãæåŸã®ãã±ãããå°çããŠããã®çµéæéã«ãã£ãŠç°ãªããŸãã ãã±ããã«ããŒã¯ã³ããªãå ŽåãããªãµãŒã¯ãã±ãããããããããããããšãã°ãåããŒãã³ã°ïŒæ°ããDSCPãŸãã¯IPPå€ãå²ãåœãŠãïŒã§ããŸãã ã·ã§ã€ããŒã®å Žåããã±ããã®å°çã¯ããã±ãŒãžã®å°çã«é¢ä¿ãªã宿çã«çºçããŸãã ååãªããŒã¯ã³ããªãå Žåããã±ããã¯ããŒã¯ã³ãçŸããã®ãåŸ
ã€ç¹å¥ãªãã¥ãŒã«èœã¡ãŸãã ãã®ãããã¹ã ãŒãžã³ã°ããããŸãã ãã ãããã±ãããå€ããããšãã·ã§ãŒããŒã®ãã¥ãŒãæçµçã«ãªãŒããŒãããŒãããã±ãããç Žæ£ããå§ããŸãã ããªãµãŒãšã·ã§ãŒããŒã®äž¡æ¹ã«ããªãšãŒã·ã§ã³ããããããäžèšã®èª¬æãç°¡ç¥åãããŠããããšã«æ³šæãã䟡å€ããããŸãïŒãããã®ãã¯ãããžãŒã®è©³çްãªåæã«ã¯ãå¥ã®èšäºã®ããªã¥ãŒã ãå¿
èŠã§ãïŒã
å®éš
ãããŠãå®éã«ã¯ã©ã®ããã«èŠããŸããïŒ ãããè¡ãã«ã¯ããã¹ããã³ããåéããæ¬¡ã®
å®éšã宿œããŸãã ã¹ã¿ã³ãã«ã¯ãããªãµãŒãšã·ã§ãŒããŒãã¯ãããžãŒããµããŒãããããã€ã¹ïŒç§ã®å ŽåãCisco ISR 4000ã§ãããããã®ãã¯ãããžãŒããµããŒããããã³ããŒã®ããŒããŠã§ã¢ãŸãã¯ãœãããŠã§ã¢ããã€ã¹ãé©ããŠããŸãïŒã
iPerfãã©ãã£ãã¯
ãžã§ãã¬ãŒã¿ãŒ ã
Wiresharkãã©ãã£ãã¯ã¢ãã©ã€ã¶ãŒãå«ãŸããŸãã
æåã«ãããªãµãŒãèŠãŠã¿ãŸãããã é床å¶éã20 Mbpsã«èšå®ããŸãã
ããã€ã¹æ§æpolicy-map Policer_20 class class-default police 20000000 interface GigabitEthernet0/0/1 service-policy output Policer_20
ããŒã¯ã³ãã±ãããµã€ãºã®èªåèšå®å€ã䜿çšããŸãã é床ã«ã€ããŠã¯ãããã¯625,000ãã€ãã§ãã
iPerfã§ã¯ãTCPãããã³ã«ã䜿çšããŠ4ã€ã®ã¹ããªãŒã å
ã§ãã©ãã£ãã¯ã®çæãéå§ããŸãã
C:\Users\user>iperf3.exe -c 192.168.115.2 -t 20 -i 20 -P 4 Connecting to host 192.168.115.2, port 5201 [ 4] local 192.168.20.8 port 55542 connected to 192.168.115.2 port 5201 [ 6] local 192.168.20.8 port 55543 connected to 192.168.115.2 port 5201 [ 8] local 192.168.20.8 port 55544 connected to 192.168.115.2 port 5201 [ 10] local 192.168.20.8 port 55545 connected to 192.168.115.2 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-20.01 sec 10.2 MBytes 4.28 Mbits/sec [ 6] 0.00-20.01 sec 10.6 MBytes 4.44 Mbits/sec [ 8] 0.00-20.01 sec 8.98 MBytes 3.77 Mbits/sec [ 10] 0.00-20.01 sec 11.1 MBytes 4.64 Mbits/sec [SUM] 0.00-20.01 sec 40.9 MBytes 17.1 Mbits/sec
å¹³åé床ã¯17.1 Mbpsã§ããã åã»ãã·ã§ã³ã¯ç°ãªã垯åå¹
ãåãåããŸããã ããã¯ããã®ã±ãŒã¹ã§èšå®ãããããªãµãŒãã¹ããªãŒã ãåºå¥ãããæå®ãããé床å€ãè¶
ãããã±ãããç Žæ£ããããã§ãã
Wiresharkã䜿çšããŠããã©ãã£ãã¯ãã³ããåéããéä¿¡åŽã§åä¿¡ããããŒã¿è»¢éã¹ã±ãžã¥ãŒã«ãäœæããŸãã
é»ãç·ã¯ç·ãã©ãã£ãã¯ã瀺ããŸãã ãã«ãã«ã©ãŒã®ç·-åTCPã¹ããªãŒã ã®ãã©ãã£ãã¯ã çµè«ãåºããŠè³ªåãæãäžããåã«ãããªãµãŒãã·ã§ãŒããŒã«çœ®ãæããå Žåã«ã§ããããšãèŠãŠã¿ãŸãããã
ã·ã§ãŒããŒã20 Mbpsã®é床å¶éã«èšå®ããŸãã
ããã€ã¹æ§æ policy-map Shaper_20 class class-default shape average 20000000 queue-limit 200 packets interface GigabitEthernet0/0/1 service-policy output Shaper_20
ã»ããã¢ããæã«ã¯ãBCããŒã¯ã³ãšBEããŒã¯ã³ã®ãã±ãããµã€ãºã®8000ã«èªåçã«èšå®ãããå€ã䜿çšããŸãããããããã¥ãŒãµã€ãºã83ïŒIOS XEããŒãžã§ã³15.6ïŒ1ïŒS2ã®ããã©ã«ãïŒãã200ã«å€æŽããŸãã 'aã ãã®è³ªåã«ã€ããŠã¯ããµãã«ããŽãªããã¥ãŒã®æ·±ãã¯ã»ãã·ã§ã³ã«åœ±é¿ããŸããïŒãã§è©³ãã説æããŸãã
cbs-rtr-4000
iPerfã§ã¯ãTCPãããã³ã«ã䜿çšããŠ4ã€ã®ã¹ããªãŒã å
ã§ãã©ãã£ãã¯ã®çæãéå§ããŸãã
C:\Users\user>iperf3.exe -c 192.168.115.2 -t 20 -i 20 -P 4 Connecting to host 192.168.115.2, port 5201 [ 4] local 192.168.20.8 port 62104 connected to 192.168.115.2 port 5201 [ 6] local 192.168.20.8 port 62105 connected to 192.168.115.2 port 5201 [ 8] local 192.168.20.8 port 62106 connected to 192.168.115.2 port 5201 [ 10] local 192.168.20.8 port 62107 connected to 192.168.115.2 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-20.00 sec 11.6 MBytes 4.85 Mbits/sec [ 6] 0.00-20.00 sec 11.5 MBytes 4.83 Mbits/sec [ 8] 0.00-20.00 sec 11.5 MBytes 4.83 Mbits/sec [ 10] 0.00-20.00 sec 11.5 MBytes 4.83 Mbits/sec [SUM] 0.00-20.00 sec 46.1 MBytes 19.3 Mbits/sec
å¹³åé床ã¯19.3 Mbpsã§ããã ããã«ãåTCPã¹ããªãŒã ã¯ã»ãŒåãã¹ã«ãŒããããåãåããŸããã
Wiresharkã䜿çšããŠããã©ãã£ãã¯ãã³ããåéããéä¿¡åŽã§åä¿¡ããããŒã¿è»¢éã¹ã±ãžã¥ãŒã«ãäœæããŸãã
é»ãç·ã¯ç·ãã©ãã£ãã¯ã瀺ããŸãã ãã«ãã«ã©ãŒã®ç·-åTCPã¹ããªãŒã ã®ãã©ãã£ãã¯ã
æåã®äžéçãªçµè«ãäžããŸãããã
- ããªãµãŒã®å Žåãæå¹ãªåž¯åå¹
ã¯17.1 Mbpsã§ããã ç°ãªãæç¹ã§ã®åã¹ããªãŒã ã®ã¹ã«ãŒãããã¯ç°ãªããŸããã
- ã·ã§ãŒããŒã®å Žåã䜿çšå¯èœãªã¹ã«ãŒãããã¯19.3 Mbit / sã§ããã ãã¹ãŠã®ã¹ã¬ããã®ã¹ã«ãŒãããã¯ã»ãŒåãã§ããã
ããªãµãŒãšã·ã§ãŒããŒãæ©èœããå Žåã®TCPã»ãã·ã§ã³ã®åäœã詳ããèŠãŠã¿ãŸãããã 幞ããWiresharkã«ã¯ãã®ãããªåæãè¡ãã®ã«ååãªããŒã«ããããŸãã
ãã±ããã®éä¿¡æéãåç
§ããŠè¡šç€ºãããã°ã©ãããå§ããŸãããã æåã®ãã£ãŒãã¯ããªãµãŒã2çªç®ã®ãã£ãŒãã¯ã·ã§ãŒããŒã§ãã
ã°ã©ãã¯ãã·ã§ãŒããŒã®å Žåã®ãã±ãããæéå
ã«ããåçã«éä¿¡ãããããšã瀺ããŠããŸãã ããã«ãããªãµãŒã®å Žåãã»ãã·ã§ã³ã®ããããçãªå éãšäžæåæ¢ã®æéã衚瀺ãããŸãã
ããªãµãŒåäœæã®TCPã»ãã·ã§ã³ã®åæ
TCPã»ãã·ã§ã³ã詳ããèŠãŠã¿ãŸãããã ããªãµãŒã®ã±ãŒã¹ãæ€èšããŸãã
TCPã¯ããã®äœæ¥ã«ãããŠãããªã倧ããªã¢ã«ãŽãªãºã ã»ããã«äŸåããŠããŸãã ãã®äžã§ããç§ãã¡ã«ãšã£ãŠæãè峿·±ãã®ã¯ã茻茳å¶åŸ¡ãæ
åœããã¢ã«ãŽãªãºã ã§ãã ã»ãã·ã§ã³å
ã®ããŒã¿è»¢éé床ã«è²¬ä»»ããããŸãã iPerfãå®è¡ããŠããPCã¯Windows 10ã§å®è¡ãããŸããWindows10ã§ã¯ããã®ãããªã¢ã«ãŽãªãºã ãšããŠ
è€åTCP ïŒCTCPïŒã䜿çšãããŸãã CTCPã¯ããã®äœæ¥ã«ãããŠ
TCP Renoã¢ã«ãŽãªãºã ããå€ããåããŸããã ãããã£ãŠãTCPã»ãã·ã§ã³ãåæãããšãã¯ãTCP Renoã¢ã«ãŽãªãºã ãå®è¡ãããšãã«ãã»ãã·ã§ã³ç¶æ
ã®
ç»åãèŠããšéåžžã«äŸ¿å©ã§ãã
次ã®å³ã¯ãåæããŒã¿è»¢éã»ã°ã¡ã³ãã瀺ããŠããŸãã

- æåã®æ®µéã§ãTCPã»ãã·ã§ã³ãã»ããã¢ããããŸãïŒããªãã«ãã³ãã·ã§ã€ã¯ãçºçããŸãïŒã
- 次ã«ãTCPã»ãã·ã§ã³ã®ãªãŒããŒã¯ããã¯ãéå§ãããŸãã TCP ã¹ããŒã¹ã¿ãŒãã¢ã«ãŽãªãºã ãæ©èœããŸãã æ¢å®ã§ã¯ãWindows 10ã®TCPã»ãã·ã§ã³ã®èŒ»èŒ³ãŠã£ã³ããŠïŒcwndïŒå€ã¯ã10åã®æå€§TCPã»ãã·ã§ã³ããŒã¿ã»ã°ã¡ã³ãïŒMSSïŒã®ããªã¥ãŒã ã«çãããªããŸãã ã€ãŸãããã®PCã¯ACKã®åœ¢åŒã§ç¢ºèªãåŸ
ããã«ãäžåºŠã«10åã®ãã±ãããéä¿¡ã§ããŸãã ã¹ããŒã¹ã¿ãŒãïŒssthreshïŒçµäºãããå€ã®åæå€ãšèŒ»èŒ³åé¿ã¢ãŒããžã®ç§»è¡ã¯ãåä¿¡è
ãæäŸããæå€§ãŠã£ã³ããŠïŒåºåããããŠã£ã³ããŠ-awndïŒã§ãã ãã®äŸã§ã¯ãssthresh = awnd = 64Kã§ãã Awnd-åä¿¡è
ããããã¡ã§åä¿¡ããæºåãã§ããŠããããŒã¿ã®æå€§å€ã
æåã®ã»ãã·ã§ã³ããŒã¿ã¯ã©ãã«ãããŸããïŒPowerShellã䜿çšããŠTCPãã©ã¡ãŒã¿ãŒã衚瀺ã§ããŸãã
ã·ã¹ãã ã§ããã©ã«ãã§äœ¿çšãããã°ããŒãã«TCPãã³ãã¬ãŒãã確èªããŸãã
次ã«ãGet-NetTCPSettingã€ã³ã¿ãŒãããèŠæ±ãå®è¡ããInitialCongestionWindowïŒMSSïŒå€ã®å€ãæ¢ããŸãã
awndå€ã¯ãåä¿¡è
ããåä¿¡ããACKãã±ããã§èŠã€ããããšãã§ããŸãã
TCPã¹ããŒã¹ã¿ãŒãã¢ãŒãã§ã¯ãACKãåä¿¡ãããã³ã«ãŠã£ã³ããŠãµã€ãºïŒcwndïŒãå¢å ããŸãã ãã ããawndå€ãè¶
ããããšã¯ã§ããŸããã ãã®åäœã«ãããéä¿¡ãã±ããæ°ã¯ã»ãŒææ°é¢æ°çã«å¢å ããŸãã TCPã»ãã·ã§ã³ã¯éåžžã«ç©æ¥µçã«å éããŸãã
TCPãã±ãã転éã®ã¹ããŒã¹ã¿ãŒã- PCã¯TCPæ¥ç¶ã確ç«ããŸãïŒNo. 1-3ïŒã
- cwnd = 10 * MSSã§ããããã確èªïŒACKïŒãåŸ
ããã«10ãã±ããïŒNo. 4-13ïŒãéä¿¡ããŸãã
- 2ã€ã®ãã±ãããåæã«ç¢ºèªããACKïŒNo. 14ïŒãåä¿¡ããŸãïŒNo. 4-5ïŒã
- ãŠã£ã³ããŠãµã€ãºã倧ããããCwnd =ïŒ10 + 2ïŒ* MSS = 12 * MSSã
- 远å ã®3ãã±ãããéä¿¡ããŸãïŒNo. 15-17ïŒã çè«äžãPCã¯4ã€ã®ãã±ãããéä¿¡ããããšã«ãªã£ãŠããŸãã2ã€ã¯ã以åã«éä¿¡ããã2ã€ã®ãã±ããã®ç¢ºèªãåä¿¡ããããã§ãã ããã«ããŠã£ã³ããŠã®æ¡å€§ã®ããã«2ã€ã®ããã±ãŒãžã ããããå®éã«ã¯ãæåã®æ®µéã§ãã·ã¹ãã ã¯ïŒ2N-1ïŒãã±ãããéä¿¡ããŸãã ãã®è³ªåã«å¯ŸããçããèŠã€ãããŸããã§ããã 誰ããç§ã«èšã£ãããç§ã¯æè¬ããŸãã
- 2ã€ã®ACKãååŸããŸãïŒNo. 18-19ïŒã æåã®ACKã¯ããªã¢ãŒãåŽã4ã€ã®ãã±ãããåä¿¡ããããšã確èªããŸãïŒNo. 6-9ïŒã 2çªç®-3ïŒNo. 10-12ïŒã
- ãŠã£ã³ããŠãµã€ãºCwnd =ïŒ12 + 7ïŒ* MSS = 19 * MSSãå¢ãããŸãã
- 14åã®ãã±ããïŒNo. 20-33ïŒãéä¿¡ããŸãã7åã®æ°ãããã±ããã以åã«éä¿¡ããã7åã®ãã±ããã«å¯ŸããŠACKãåä¿¡ãããŠã£ã³ããŠã倧ãããªãã«ã€ããŠ7åã®æ°ãããã±ãããåä¿¡ããŸããã
- ãªã©ãªã©ã

- ããªãµãŒã¯ãã»ãã·ã§ã³ã®åæ£ã劚ããŸããã ãã±ããã«ã¯å€ãã®ããŒã¯ã³ããããŸãïŒããªãµãŒãåæåããããšããã±ããã¯ããŒã¯ã³ã§å®å
šã«æºããããŸãïŒã 20 Mbpsã®é床ã®å Žåãããã©ã«ãã®ãã±ãããµã€ãºã¯625,000ãã€ãã«èšå®ãããŸãã ãããã£ãŠãããæç¹ã§ã»ãã·ã§ã³ã¯ã»ãŒ18 Mbpsã«å éãããŸãïŒãã®ãããªã»ãã·ã§ã³ã4ã€ããããšãèŠããŠããŸãïŒã cwndãŠã£ã³ããŠã®ãµã€ãºã¯æå€§å€ã«éããawndãšçãããªããŸããã€ãŸããcwnd = ssthershã§ãã
cwnd = ssthershcwnd = ssthershã®æ£ç¢ºãªçããã¹ããŒã¹ã¿ãŒããã茻茳åé¿ã¢ã«ãŽãªãºã ãžã®ã¢ã«ãŽãªãºã ã®å€æŽããããã©ãããç§ã¯èŠã€ããããšãã§ããŸããã§ããã RFCã¯æ£ç¢ºãªçããæäŸããŠããŸããã å®çšçãªèгç¹ããã¯ããŠã£ã³ããŠã®ãµã€ãºããã以äžå€§ããããããšã¯ã§ããªããããããã¯ããŸãéèŠã§ã¯ãããŸããã
- ã»ãã·ã§ã³ãéåžžã«åŒ·åã«åæ£ããããããããŒã¯ã³ã¯éåžžã«è¿
éã«æ¶è²»ãããæçµçã«çµäºããŸãã ãã±ããã«ã¯äžæ¯ã«ãªãæéã¯ãããŸããïŒããŒã¯ã³ã®å
å¡«ã¯20 Mbit / sã®é床ã®ããã§ãããããæç¹ã§ã®4ã€ã®ã»ãã·ã§ã³ãã¹ãŠã«ããåèšäœ¿çšçã¯80 Mbit / sã«è¿ãã§ãïŒã ããªãµãŒã¯ãã±ããã®ãããããéå§ããŸãã ãããã£ãŠã圌ãã¯åããåŽã«å°éããŸããã åä¿¡è
ã¯Duplicate ACKïŒDup ACKïŒãéä¿¡ããŸããããã¯éä¿¡è
ã«ãã±ããã®æå€±ããããå床転éããå¿
èŠãããããšãéç¥ããŸãã
3ã€ã®Dup ACKãåä¿¡ããåŸãTCPã»ãã·ã§ã³ã¯æå€±åŸã®å埩ãã§ãŒãºã«å
¥ããŸãïŒé«éåéä¿¡/é«éå埩ã¢ã«ãŽãªãºã ãå«ãæå€±å埩ïŒã éä¿¡è
ã¯æ°ããå€ssthresh = cwnd / 2ïŒ32KïŒãèšå®ãããŠã£ã³ããŠãcwnd = ssthresh + 3 * MSSã«ããŸãã
- éä¿¡è
ã¯ããã«å€±ããããã±ããã®åéä¿¡ã詊ã¿ãŸãïŒTCPé«éåéä¿¡ã¢ã«ãŽãªãºã ãæ©èœããŸãïŒã åæã«ãDup ACKãåŒãç¶ãéä¿¡ãããŸãããã®ç®çã¯ãcwndãŠã£ã³ããŠã人çºçã«å¢ããããšã§ãã ããã¯ããã±ããæå€±ã®ããã«ã§ããã ãæ©ãã»ãã·ã§ã³é床ãå埩ããããã«å¿
èŠã§ãã Dup ACKã«ãããcwndãŠã£ã³ããŠã¯æå€§å€ïŒawndïŒã«æé·ããŸãã
cwndãŠã£ã³ããŠã«åãŸããã±ããæ°ãéä¿¡ããããšããã«ãã·ã¹ãã ã忢ããŸãã ããŒã¿è»¢éãç¶è¡ããã«ã¯ãæ°ããACKïŒDup ACKã§ã¯ãªãïŒãå¿
èŠã§ãã ããããACKã¯å±ããŸããã ç¹°ãè¿ããããã¹ãŠã®ãã±ããã¯ããªãµãŒã«ãã£ãŠç Žæ£ãããããããã±ããå
ã§ããŒã¯ã³ãäžè¶³ããããããåããã®ã«æéãããããããŸãã
- ãã®ç¶æ
ã§ã¯ãã·ã¹ãã ã¯ãªã¢ãŒãåŽããæ°ããACKãåä¿¡ããããã®ã¿ã€ã ã¢ãŠãïŒRetransmission timeout- RTO ïŒãæ©èœãããŸã§åŸ
æ©ããŸãã ãã£ãŒãã«è¡šç€ºããã倧ããªäžæåæ¢ã¯ããããšæ£ç¢ºã«é¢é£ããŠããŸãã
- RTOã¿ã€ããŒãããªã¬ãŒããããšãã·ã¹ãã ã¯ã¹ããŒã¹ã¿ãŒãã¢ãŒãã«ãªããssthresh = FlightSize / 2ïŒFlightSizeã¯æªç¢ºèªããŒã¿ã®æ°ïŒãããã³ãŠã£ã³ããŠcwnd = 1 * MSSã«èšå®ãããŸãã æ¬¡ã«ã倱ããããã±ããã転éããããšããŸãã 確ãã«ãcwnd = 1 * MSSã§ããããã1ã€ã®ãã±ããã®ã¿ãéä¿¡ãããŸãã
- ãã°ããã®éãã·ã¹ãã ã¯äœãéä¿¡ããªãã£ããããããŒã¯ã³ããã±ããã«èç©ãããŸããã ãããã£ãŠãæçµçã«ããã±ããã¯åä¿¡è
ã«å°éããŸãã ãã®ãããæ°ããACKãååŸããŸãã ãã®ç¬éãããã·ã¹ãã ã¯ä»¥åã«å€±ããããã±ããã®éä¿¡ãã¹ããŒã¹ã¿ãŒãã¢ãŒãã§éå§ããŸãã ã»ãã·ã§ã³ã®å éããããŸãã cwndãŠã£ã³ããŠãssthreshãã倧ãããšããã«ãã»ãã·ã§ã³ã¯èŒ»èŒ³åé¿ã¢ãŒãã«å
¥ããŸãã
è€åTCPã¢ã«ãŽãªãºã ã§ã¯ãéä¿¡ãŠã£ã³ããŠïŒwndïŒã䜿çšããŠäŒéé床ãå¶åŸ¡ããŸããããã¯ãéè² è·ãŠã£ã³ããŠïŒcwndïŒãšé
å»¶ãŠã£ã³ããŠïŒé
å»¶ãŠã£ã³ããŠ-dwndïŒã®2ã€ã®éã¿ä»ãå€ã«äŸåããŸãã åãšåæ§ãCwndã¯åä¿¡ããACKã«äŸåããdwndã¯RTTé
å»¶ã®éïŒåŸåŸ©æéïŒã«äŸåããŸãã wndãŠã£ã³ããŠã¯ãRTTæéããšã«1åã ãæ¡å€§ããŸãã èŠããŠããããã«ãã¹ããŒã¹ã¿ãŒãã®å ŽåãACKãåä¿¡ãããã³ã«cwndãŠã£ã³ããŠã倧ãããªããŸããã ãããã£ãŠã茻茳åé¿ã¢ãŒãã§ã¯ãã»ãã·ã§ã³ã¯ããã»ã©éãå éããŸããã
- ã»ãã·ã§ã³ãååã«åŒ·åã«å éãããšïŒãã±ããå
ã®ããŒã¯ã³ãããå€ãã®ãã±ãããéä¿¡ãããå ŽåïŒããã«ãããªãµãŒãåã³ããªã¬ãŒãããŸãã ãã±ããã¯ç Žæ£ãããŸãã ããã«ç¶ããŠãæå€±å埩ãã§ãŒãºãè¡ãããŸãã ã€ãŸã ããã»ã¹å
šäœãæ°ãã«ç¹°ãè¿ãããŸãã ãããŠãããã¯ãã¹ãŠã®ããŒã¿ã®è»¢éãå®äºãããŸã§ç¶ããŸãã
ããªãµãŒTCPã»ãã·ã§ã³ã¯ãã¯ããã®ããã«èŠããŸãïŒéä¿¡ãã§ãŒãºã®åŸã«äžæåæ¢ããããŸãïŒã
ã·ã§ãŒããŒãæäœãããšãã®TCPã»ãã·ã§ã³ã®åæ
次ã«ãã·ã§ãŒããŒã±ãŒã¹ã®ããŒã¿ã»ã°ã¡ã³ãã詳ããèŠãŠã¿ãŸãããã ããããããããããã«ãå³6ã®ããªãµãŒã°ã©ããšåæ§ã®å°ºåºŠãæ¡çšããŠããŸãã
ã°ã©ããããåãæ¢¯åãèŠããŸãã ããããã¹ãããã®ãµã€ãºã¯å€§å¹
ã«å°ãããªããŸããã ãã ããå³ã®ã°ã©ããããèŠããš å³10ã®ããã«ãåã¹ãããã®çµããã«å°ããªãæ³¢ãã¯èŠãããŸããã 9.ãã®ãããªãæ³¢ãã¯ãã±ããæå€±ã®çµæã§ãããããããåéä¿¡ããããšããŸãã
ã·ã§ãŒããŒã±ãŒã¹ã®åæããŒã¿è»¢éã»ã°ã¡ã³ããæ€èšããŸãã

ã»ãã·ã§ã³ã確ç«ãããŠããŸãã æ¬¡ã«ãTCPã¹ããŒã¹ã¿ãŒãã¢ãŒãã§ãªãŒããŒã¯ããã¯ãéå§ãããŸãã ãããããã®å éã¯ããç©ããã§ãäžæåæ¢ãé¡èã§ããããµã€ãºã倧ãããªããŸãã ããç©ãããªãªãŒããŒã¯ããã¯ã¯ãã·ã§ãŒããŒåèšã®ããã©ã«ãã®ãã±ãããµã€ãºïŒBC + BEïŒ= 20,000ãã€ãã§ããããã§ãã ããªãµãŒã®å Žåããã±ãããµã€ãºã¯625,000ãã€ãã§ãã ãããã£ãŠãã·ã§ãŒããŒã¯ãã£ãšæ©ãåäœããŸãã ãã±ããã¯ãã¥ãŒã«å
¥ãå§ããŸãã é
å»¶ã¯éä¿¡è
ããåä¿¡è
ãžãšå¢å ããACKã¯ããªãµãŒã®å Žåãããé
ããªããŸãã ãŠã£ã³ããŠã®æé·ã¯ãã£ãšé
ããªããŸãã ã·ã¹ãã ããã±ãããéä¿¡ããã»ã©ããã¥ãŒã«èç©ããããã±ããã®éãå¢ããããšãããããŸããã€ãŸããACKãåä¿¡ããéã®é
å»¶ã倧ãããªããŸãã èªäž»èŠå¶ã®ããã»ã¹ããããŸãã
ãã°ãããããšãcwndãŠã£ã³ããŠã¯awndã«å°éããŸãã ãããããã®æç¹ã§ããã¥ãŒãååšãããããããªãé¡èãªé
å»¶ã环ç©ããŠããŸãã æçµçã«ãç¹å®ã®RTTå€ã«éãããšãã»ãã·ã§ã³é床ããã以äžå€åãããç¹å®ã®RTTã®æå€§å€ã«éãããšå¹³è¡¡ç¶æ
ãçºçããŸãã ç§ã®äŸã§ã¯ãå¹³åRTTã¯107ããªç§ãawnd = 64512ãã€ãã§ãããããæå€§ã»ãã·ã§ã³é床ã¯awnd / RTT = 4.82 Mbit / sã«å¯Ÿå¿ããŸãã ããããã®å€ã¯ã枬å®äžã«iPerfã«ãã£ãŠæäŸãããŸããã
ããããäŒéã®é¡èãªäŒæ¢ã¯ã©ãããæ¥ãã®ã§ããããïŒ TCPã»ãã·ã§ã³ã1ã€ãããªãå Žåã®ã·ã§ãŒããŒãåããããã€ã¹ãä»ãããã±ããéä¿¡ã®ã¹ã±ãžã¥ãŒã«ãèŠãŠã¿ãŸãããïŒå³12ïŒã å®éšã§ã¯ãããŒã¿è»¢éã¯4ã€ã®TCPã»ãã·ã§ã³å
ã§çºçããããšãæãåºãããŠãã ããã
ãã®ã°ã©ãã§ã¯ãäŒæ¢ããªãããšãéåžžã«ã¯ã£ãããšããããŸãã ãããããå³10ããã³11ã®äžæåæ¢ã¯ã4ã€ã®ã¹ããªãŒã ãåæã«éä¿¡ãããã·ã§ãŒããŒã«1ã€ã®ãã¥ãŒïŒFIFOãã¥ãŒã®ã¿ã€ãïŒããããšããäºå®ã«ãããã®ã§ãããšçµè«ä»ããããšãã§ããŸãã

å³13ã¯ãFIFOãã¥ãŒå
ã®ããŸããŸãªã»ãã·ã§ã³ã®ãã±ããã®å Žæã瀺ããŠããŸãã ãã±ããã¯ãããã§éä¿¡ããããããåãæ¹æ³ã§ãã¥ãŒã«å
¥ããããŸãã ãã®ç¹ã§ãåä¿¡åŽã§ã®ãã±ããã®åä¿¡éã®é
å»¶ã¯ãT1ãšT2ã®2ã€ã®ã¿ã€ãã«ãªããŸãïŒT2ã¯T1ã倧å¹
ã«è¶
ããŸãïŒã ãã¹ãŠã®ãã±ããã®RTTå€ã®åèšã¯åãã§ããããã±ããã¯ãT2ã®å€ã«ãã£ãŠæéçã«åé¢ããããã±ããã§å°çããŸãã ãã®ãããæéT2ã§ã¯éä¿¡è
ã«ACKãå±ããªããããã»ãã·ã§ã³ãŠã£ã³ããŠã¯å€æŽãããŸããïŒæå€§å€ã¯awndã«çããïŒã®ã§ãäžæåæ¢ãååŸãããŸãã
WFQãã¥ãŒã»ãã·ã§ã³ããšã«1ã€ã®äžè¬çãªFIFOãã¥ãŒãè€æ°ã®FIFOãã¥ãŒã«çœ®ãæããå Žåãé¡èãªäŒæ¢ã¯çºçããªããšèããã®ãè«ççã§ãã ãã®ãããªã¿ã¹ã¯ã®å Žåãããšãã°ãWeighted Fair QueuingïŒ
WFQ ïŒã¿ã€ãã®ãã¥ãŒãé©ããŠããŸãã ã»ãã·ã§ã³ããšã«ãç¬èªã®ãã±ãããã¥ãŒãäœæããŸãã
policy-map Shaper class shaper_class shape average 20000000 queue-limit 200 packets fair-queue
äžè¬çãªã°ã©ãããã4ã€ã®TCPã»ãã·ã§ã³ãã¹ãŠã®ã°ã©ããåäžã§ããããšãããã«ããããŸãã ã€ãŸã ãããã¯ãã¹ãŠåã垯åå¹
ãååŸããŸããã
ãããŠãããã¯ãå³1ãšãŸã£ããåãã¹ã±ãŒã«ã§ã®éä¿¡æéã«ãããã±ããã®ååžã®ã°ã©ãã§ãã 11.äžæåæ¢ã¯ãããŸããã

WFQã¿ã€ãã®ãã¥ãŒã䜿çšãããšãã¹ã«ãŒããããããåçã«åæ£ã§ããã ãã§ãªããããã¿ã€ãã®ãã©ãã£ãã¯ãå¥ã®ã¿ã€ãã®ãã©ãã£ãã¯ã®ãç®è©°ãŸãããé²ãããšãã§ããŸãã ç§ãã¡ã¯åžžã«TCPã«ã€ããŠè©±ããŸããããUDPãã©ãã£ãã¯ããããã¯ãŒã¯äžã«ååšããŸãã UDPã«ã¯ãäŒéé床ïŒãããŒå¶åŸ¡ã茻茳å¶åŸ¡ïŒã調æŽããã¡ã«ããºã ããããŸããã ãã®ãããUDPãã©ãã£ãã¯ã¯ã·ã§ãŒããŒã®å
±æFIFOãã¥ãŒãç°¡åã«è©°ãŸãããå¯èœæ§ããããããã¯TCPäŒéã«åçã«åœ±é¿ããŸãã FIFOãã¥ãŒããã±ããã§å®å
šã«æºãããããšãããã©ã«ãã§ããŒã«ããããã¡ã«ããºã ãåäœãéå§ããæ°ããå°çãããã¹ãŠã®ãã±ãããç Žæ£ãããããšãæãåºããŠãã ããã WFQãã¥ãŒãæ§æããŠããå Žåãåã»ãã·ã§ã³ã¯ãã®ãã¥ãŒã§ã®ãããã¡ãªã³ã°ã®ç¬éãåŸ
ã¡ãŸããã€ãŸããTCPã»ãã·ã§ã³ã¯UDPã»ãã·ã§ã³ããåé¢ãããŸãã
ã·ã§ãŒããŒã䜿çšããéã«ãã±ãã転éã¹ã±ãžã¥ãŒã«ãåæããåŸã«ã§ããæãéèŠãªçµè«ã¯ã倱ããããã±ããããªããšããããšã§ãã RTTã®å¢å ã«ãããã»ãã·ã§ã³é床ã¯ã·ã§ãŒããŒã®é床ã«é©å¿ããŸãã
ãã¥ãŒã®æ·±ãã¯ã»ãã·ã§ã³ã«åœ±é¿ããŸããïŒãã¡ããïŒ æåïŒä»ã®èª°ãããããèŠããŠããå ŽåïŒããã¥ãŒã®æ·±ãã83ïŒããã©ã«ãå€ïŒãã200ãã±ããã«å€æŽããŸããã ããã¯ããã¥ãŒãååãªRTTå€ãååŸããã®ã«ååã§ãããã»ãã·ã§ã³ã®åèšé床ã20 Mbpsã«ã»ãŒçãããªãããã«ããããã§ãã ãã®ãããããã±ãŒãžã¯ã·ã§ãŒããŒã®ãã¥ãŒãããæãèœã¡ããããšã¯ãããŸããã
83ãã±ããã®æ·±ãã§ã¯ããã¥ãŒã¯ç®çã®RTTå€ã«éãããããéããªãŒããŒãããŒããŸãã ãã±ããã¯ç Žæ£ãããŸãã ããã¯ãTCPã¹ããŒã¹ã¿ãŒãã¡ã«ããºã ãæ©èœããåææ®µéã§ç¹ã«é¡èã§ãïŒã»ãã·ã§ã³ã¯å¯èœãªéãç©æ¥µçã«å éããŸãïŒã RTTã®å¢å ã¯ã»ãã·ã§ã³é床ãããã¹ã ãŒãºã«å¢å ãããšããäºå®ã«ã€ãªãããããããããããããã±ããã®æ°ã¯ããªãµãŒã®å Žåãããæ¯èŒã«ãªããªãã»ã©å°ãªãããšã«æ³šæãã䟡å€ããããŸãã æãåºãããã«ãCTCPã¢ã«ãŽãªãºã ã§ã¯ããŠã£ã³ããŠãµã€ãºãRTTå€ã«äŸåããŸãã
ããªãµãŒãšã·ã§ãŒããŒã®åž¯åå¹
䜿çšçãšé
å»¶ã°ã©ãå°èŠæš¡ãªç ç©¶ã®çµè«ãšããŠãããäžè¬çãªã°ã©ããããã€ãäœæãããã®åŸãååŸããããŒã¿ã®åæã«é²ã¿ãŸãã
垯åå©çšçã®ã¹ã±ãžã¥ãŒã«ïŒ
ããªãµãŒã®å Žåãæ¥æ¿ãªã°ã©ãã衚瀺ãããŸããã»ãã·ã§ã³ãå éãããã®åŸæå€±ãçºçããé床ãäœäžããŸãã ãã®åŸããã¹ãŠãåã³ç¹°ãè¿ãããŸãã ã·ã§ãŒããŒã®å Žåãã»ãã·ã§ã³ã¯éä¿¡å
šäœã§ã»ãŒåãã¹ã«ãŒããããåãåããŸãã ã»ãã·ã§ã³é床ã¯ãRTTå€ãå¢ããããšã§èª¿æŽãããŸãã äž¡æ¹ã®ãã£ãŒãã§ãççºçãªæé·ãæåã«èгå¯ãããŸãã ããã¯ããã±ãããæåã¯å®å
šã«ããŒã¯ã³ã§æºããããTCPã»ãã·ã§ã³ã¯äœã«ãææãããªããããæ¯èŒç倧ããªå€ã«å éãããããã§ãïŒã·ã§ãŒããŒã®å Žåããã®å€ã¯2åå°ãããªããŸãïŒã
ããªãµãŒãšã·ã§ãŒããŒã®RTTé
å»¶ã°ã©ãïŒè¯ãæå³ã§ãããã¯ã·ã§ãŒããŒã«ã€ããŠè©±ããšãã«èŠããŠããã¹ãæåã®ããšã§ãïŒïŒ
ããªãµãŒïŒæåã®ã°ã©ãïŒã®å Žåãã»ãšãã©ã®ãã±ããã®RTTé
å»¶ã¯æå°ã§ã5ããªç§ã®ãªãŒããŒã§ãã 倧å¹
ãªé£èºïŒæå€§340ããªç§ïŒããã£ãŒãã«ç€ºãããŠããŸãã ãããã¯ããã±ãããç Žæ£ãããŠåéä¿¡ãããç¬éã§ãã WiresharkãTCPãã©ãã£ãã¯ã®RTTãã©ã®ããã«èæ
®ãããã¯æ³šç®ã«å€ããŸãã RTTã¯ãå
ã®ãã±ãããéä¿¡ããŠããACKãåä¿¡ãããŸã§ã®æéã§ãã ããã«é¢ããŠãå
ã®ãã±ããã倱ãããã·ã¹ãã ããã±ãããåéä¿¡ããå ŽåãRTTå€ã¯å¢å ããŸããããã¯ãéå§ç¹ããããã«ããŠãå
ã®ãã±ãããéä¿¡ãããç¬éã ããã§ãã
ã·ã§ãŒããŒã®å Žåãã»ãšãã©ã®ãã±ããã®RTTé
å»¶ã¯107ããªç§ã§ããããããã¯ãã¹ãŠãã¥ãŒã§é
å»¶ããŠããããã§ãã æå€§190 msã®ããŒã¯ããããŸãã
çµè«
ããã§ãæçµçãªçµè«ã¯äœã§ããã 誰ãããããçè§£ã§ããããšã«æ°ä»ããããããŸããã ããããç§ãã¡ã®ç®æšã¯ããå°ãæ·±ãæãããšã§ããã å®éšã§TCPã»ãã·ã§ã³ã®åäœãåæããããšãæãåºããŠãã ããã
- Shaper 13% , policer (19.3 17.1 /) 20 /.
- shaper' . WFQ. policer' .
- shaper' (, ). policer' â 12.7%.
policer , , policer'. , , .
- shaper' ( â 102 ). , , shaper' (jitter) . , jitter.
â ( Bufferbloat ). .
- shaper . , . policer' , .
- Policer shaper , UDP «» TCP. .
- shaper' , policer'. .
, . Shaper (FIFO, WFQ .), . , (, WAN ).
policerGoogle
, policer' . , 2% 7% policer'. policer' 21%, 6 , , . , policer', , , policer .
policer' .
-:
- policer' (burst size). , TCP , , .
- policer' shaper ( ).
- shaper, policer . shaper , policer. Shaper , . - policer , . .
shaper . Shaper , ( BC = 8 000 ). . , . .
- , policer'. . â TCP:
TCP Pacing ( RTT, ACK) loss recovery ( ACK ).
, , : shaper policer. . - , . shaper. - â policer. . .