- ããã«ã¡ã¯ãç§ã¯ãµãŒã·ã£ã§ããYandexã§åããŠããŸããéå»3幎éãL7ããŒããã©ã³ãµãŒãéçºããŠããŸããããããã¯ãŒã¯ãé«éåããããã®ãã°ããç°¡åãªæ¹æ³ã«ã€ããŠèª¬æããŸãã第7ã¬ãã«ã®HTTPããå§ããŠã第4ã¬ãã«ã®TCPã«ç§»ããŸãã仿¥ã¯ãããã2ã€ã®ã¬ãã«ã«ã€ããŠã®ã¿èª¬æãããããã«ã€ããŠè©³ãã説æããŸãã
éå»8幎éãç§ã¯ããå€ãã®ããã¯ãšã³ãéçºãè¡ã£ãŠããŸããããããããç§ã®ç¥èã¯æåã®ããŒãžã§ã³ã§ã¯AngularJSã®ã¬ãã«ã®ãŸãŸã§ãããããªãã¯ããããããããã¹ãŠã©ã®ããã«æ©èœããããç§ããããç¥ã£ãŠããŸããããªãã¯ãã§ã«ãã¹ãŠãæé©åãããã¹ãŠãå§çž®ããŸããããããŠããã§ç§ã¯ããªãã«äœãã¢ããã€ã¹ããããšãã§ããŸããã
ãã ãããµãŒããŒèªäœãã€ãŸããªãã¬ãŒãã£ã³ã°ã·ã¹ãã èªäœãæé©åããŠããããã¯ãŒã¯ãé«éåããæ¹æ³ã«ã€ããŠã¢ããã€ã¹ããããšã¯ã§ããŸãã
äœããã¹ããŒãã¢ããããã«ã¯ãã¡ããªãã¯ãå¿ èŠã§ãããã®å Žåãæ¬¡ã®ãã®ã䜿çšããŸãããæåã®ãã€ããŸã§ã®å¹³åæéã¯TCPã¬ã€ã€ãŒã®é床ã瀺ãã2çªç®ã®ã¡ããªãã¯ã¯æåã®ãã€ãããHTMLãåä¿¡ããæéã§ããã¡ããªãã¯ãå®éšããŠæž¬å®ããBBRããªã³ã«ããåŸãã¹ããŒãã¢ããã¯çŽ10ïŒ ã§ããã
10ããŒã»ã³ããäœã§ããããçè§£ããããã«ã66ããªç§ã§ãã絶察å€ã«ç®ãåããŸãããæ°ã«å ¥ãã®ãªã³ã©ã€ã³ãã«ããã¬ã€ã€ãŒã²ãŒã ã«ã¢ã¯ã»ã¹ãããšã西ãšãŒãããã®ãµãŒããŒãžã®Pingã¯çŽ60ã70ããªç§ã«ãªããŸãã
ãã°ããè¡ãæ¹æ³
ãã¹ãŠã®ãµãŒããŒã¯ããªã¢ãŒãå¶åŸ¡ãããã³ã«ïŒãã®å Žåã¯SSHïŒã䜿çšããŠç®¡çãããŸãã SSHããŸã 䜿çšããŠããªãå Žåã¯ãã·ã¹ãã 管çè ã«ãµãŒããŒã®æ§æãäŸé Œã§ããŸãã圌ã«ãããããããã«èª¬åŸããæ¹æ³ãæããŸãã
BBRãšã¯äœã§ããïŒããã¯ããã±ããããããã¯ãŒã¯ã«éãããæ¹æ³ãå¶åŸ¡ã§ããããã«ããã¢ã«ãŽãªãºã ã®1ã€ã§ãããŸããæ¬¡ã®2ã€ã®ãã©ã¡ãŒã¿ã§æ§æãããŠããŸããæåã¯ããã±ãŒãžã¹ã±ãžã¥ãŒã©ãFQã«èšå®ããããšã§ããæ¬¡ã«ãFQã䜿çšããçç±ã説æããŸãã 2ã€ç®ã¯ã茻茳å¶åŸ¡èªäœãã€ãŸãBBRèªäœãå«ããããšã§ãã
ããã§çµããã®ããã§ãããããå®éã«ã¯ãå€ãã®èœãšã穎ãããããããããsysadminã¯ãµãŒããŒäžã§BBRããªã³ã«ããã ãã§ã¯ãããŸããããããã£ãŠãããã«é²ãã§ãããŸãã
HTTP / 2ãšå€éå
ã¬ãã«7ïŒHTTPïŒããå§ããŠãåŸã ã«ãããã³ã«ã確èªããŠãããŸãã
ãŸããæ¯æ¥ããåããããã©ãŠã¶ããå§ããŸããWebéçºè ã³ã³ãœãŒã«ã衚瀺ãããŸããã³ã³ãœãŒã«ã«ã¯ããããã³ã«ãšããè峿·±ããã£ãŒã«ãããããŸãã
ãã®å Žåããããã³ã«ã¯HTTP / 1ãšHTTP / 2ã§ããGoogleã®QUICãããã³ã«ã«åºã¥ãHTTP / 3ãããã³ã«ããããŸããããããããã¯éçºäžã§ããããŸã å®å šã«ã¯æ¿èªãããŠããªãããã仿¥ã¯ããã«æ»ããŸãããHTTP / 1ã«æ»ããŸãããã
ã¹ã©ã€ãã«ã¯ãWiresharkãŠãŒãã£ãªãã£ã衚瀺ãããŠããŸãããã®ãŠãŒãã£ãªãã£ã䜿çšãããšããããã¯ãŒã¯ãšã®ããåãã®æ¹æ³ã§ãããã±ãããåæã§ããŸãã 1ã€ã®ãã£ãŒã«ããç·è²ã§åŒ·èª¿è¡šç€ºãããŠããããšãããããŸãããããHTTPãªã¯ãšã¹ãã§ãã以äžã«ããã€ããšããããããããã¯ãŒã¯äžã§ã©ã®ããã«è¡šç€ºããããã瀺ããŸãã
HTTP / 1ã¯å®éã«ã¯ã©ã®ããã«èŠããŸããïŒããã¯ããªãåçŽãªãããã³ã«ã§ããããã¯å®å šã«ããã¹ãããŒã¹ã§ããã€ãŸããããã¹ããæžã蟌ãã§ãããã¯ãŒã¯ã«éä¿¡ããã ãã§ããç§ãã¡ã®ãã£ã©ã¯ã¿ãŒã¯ç¹å¥ãª16é²å€ã§ãšã³ã³ãŒããããŠããŸããå³åŽã¯ASCIIããŒãã«ã§ãããã²ãŒãã§ããããã«å°ããªããŒã¹ã§ãã
æåã®éšåã¯ããããŒã®åœ¢åŒã§ãæ¬äœããã\ r \ n \ r \ nãã®æåã§åºåãããŠããŸããããã§ã¯ãGETã¡ãœããã䜿çšããŠéåžžã®ãªãœãŒã¹ãèŠæ±ããŠããã ããªã®ã§ããã®èŠæ±ã«ã¯æ¬æããããŸããããããŠããã€ãã¯ASCIIããŒãã«ã«ãããã®ãšã»ãŒåãã§ããããšãããããŸããããçš®ã®JSãããçš®ã®ãªãœãŒã¹ãèŠæ±ããŠããŸããçŸåšäœ¿çšããŠãããã¡ã€ã³ã瀺ãHostããããŒããããŸãããããŠ-ããã€ãã®è¿œå ã®ããããŒã»ããããããã¯ã«ã¹ã¿ã ã«ããããšãã§ããããªãã¯äœã§ã䜿ãããšãã§ããŸãã
HTTP / 2ã¯ãããè€éãªãããã³ã«ã§ããããã¯ãã€ããªã§ããããã¬ãŒã ã¯æ å ±äº€æã®æå°åäœã§ããå€ãã®ç¹æ®ãªã±ãŒã¹ããããã®ãã¬ãŒã ã®ç¹æ®ãªã¿ã€ãããããŸããã¹ã©ã€ãã§ããããã匷調衚瀺ãããŠããããšãããããŸãã
ãŸããæåã®è¡ã§ã2ã€ã®ãã¬ãŒã ãäžåºŠã«1ã€ã®ãã±ããã«åãŸãããšãããããŸããã©ã®ãã¬ãŒã ãååšãããã«ã€ããŠã¯è©³ãã説æããŸãããããªãã®æ°ã®ãã¬ãŒã ããããŸãããã®å ŽåããªãœãŒã¹ãèŠæ±ã§ããããã«ããã ããªã®ã§ãããããŒãã¬ãŒã ã«é¢å¿ããããŸããç§ã¯Wiresharkã®éçºã«å°ãé¢ããããã®åéã§ã®æ¹åã«è²¢ç®ããŸããã
getãªã¯ãšã¹ããããããšãããããŸããäžå€®ã«ããã®getãªã¯ãšã¹ãã®ããã¹ã衚çŸãããããšãããããŸãããã ããå³åŽã®åã«ã¯ãå²ãåœãŠããããã€ãã1ã€ã ã衚瀺ãããããããã®getã¡ãœããã«ãªããŸããæ¬¡ã«ããªããããèµ·ãã£ãŠããã®ãã説æããŸãã
次ã«ããªãœãŒã¹ãžã®ãã¹ã瀺ããã¹ããããŒããããJSãžã®ãã¹ãèŠæ±ããŸãããŸãããªã¯ãšã¹ãã«å«ãŸãã远å ã®ããããŒã®ã»ããããããŸãã
ã§ã¯ããªããããã¯ãŒã¯äžã®ãã€ãã¯ãããããã¹ãŠç§ãã¡ã®çµµã«æãããŠããã®ãšåãã§ã¯ãªãã®ã§ããïŒäºå®ãWiresharkã¯æçµçµæãã€ãŸã圌ããã¹ãŠãã©ã®ããã«ãã³ãŒããããã瀺ããŠããŸãããããŠãããã¯ãŒã¯äžã§ã¯ããããã®ãã€ãããããã®ããããŒã¯ãç¹å¥ãªHPACK圢åŒã§å§çž®ãããŸãã詳现ã«ã€ããŠã¯ãã€ã³ã¿ãŒãããã§ç¢ºèªããããšããå§ãããŸããæ å ±ãæ¢ããŠãã ãããããã¯ååã«ææžåãããŠããŸãã
ãã¿å·ã«æ»ããŸããããç¹å¥ãªãã£ãŒã«ãããããŸã-ã³ã³ãã³ãèå¥åããããã®ãã¬ãŒã ãçŸåšäœ¿çšããŠãããªãœãŒã¹ã瀺ããŸãããã®å Žåãæåã®ãã¬ãŒã ãéä¿¡ããããŒã¿ãåä¿¡ããŸããããµãŒããŒãã³ã³ãã³ããã€ãèªäœãæäŸããå ŽåãããŒã¿ãã¬ãŒã ã¯ãã§ã«äœ¿çšãããŠããŸãã
HTTP / 1ãããã³ã«ãšHTTP / 2ãããã³ã«ã¯å€§ããç°ãªããŸãã HTTP / 1ã¯ããã¹ããããã³ã«ã§ãããHTTP / 2ã¯ãã€ããªãããã³ã«ã§ãããã€ãŸããã¬ãŒã ã䜿çšããŠæ©èœãããšããäºå®ã«ã€ããŠã¯ããã§ã«èª¬æããŸããã
åäžæ¥ç¶ã®åœ¢åŒã®èŠæ±ã®å Žåã®HTTP / 1ã¯ãWebãµãŒããŒã®éçºè ããããæžã蟌ãã æ¹æ³ã®å®è£ ã«å¿ããŠãäžæãªçµæãè¿ããŸããã€ãŸãã1ã€ã®æ¥ç¶ã§2ã€ã®èŠæ±ãè¡ããšãã»ãšãã©ã®å Žåãæåã®èŠæ±ãŸãã¯2çªç®ã®èŠæ±ãžã®å¿çãè¿ãããŸãããããè¡ãã«ã¯ããªãœãŒã¹ã䞊åã«ããŒãããããã«ããã©ãŠã¶ãŒã¯è€æ°ã®æ¥ç¶ïŒéåžžã¯çŽ6ã€ïŒã確ç«ãããªãœãŒã¹ã䞊åã«ããŒãããŸãã
次ã«ãHTTP / 2ã¯åäžã®æ¥ç¶ã䜿çšããŸããã€ãŸããæ¥ç¶ãèšå®ãããã®å éšã§å¿ èŠãªãã¹ãŠã®ããŒã¿ããã¬ãŒã ãä»ããŠããŒãããŸããè€æ°ã®ãªãœãŒã¹ã1ã€ã®æ¥ç¶ã«ããã¯ãããã®ææ³ã¯ãå€éåãšåŒã°ããŸãã
æ¥ç¶ãã©ã®ããã«æ©èœãããããæããã§ããæ¥ç¶ã®1ã€ã§ãã±ããã倱ãããå ŽåãHTTP / 1ã®æ¹ãããŸãæ©èœããŸããã»ãšãã©ã®å Žåãä»ã®æ¥ç¶ã«ã¯è§Šãããåãé床ã§ããŒããç¶ããŸãããŸããHTTP / 2ã®å Žåããã±ããã倱ããããšããã¹ãŠã®ãªãœãŒã¹ã®ããŒããé ããªãå§ããŸãã
HTTP / 2ã®æ¹ãæªãããã§ããã±ããæå€±ã«ãææã§ããå®éãããã6ã€ã®æ¥ç¶ãããããäœæãããšããæ¬¡ã®æäœãå®è¡ããŠããŸãã
ã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯ãä¿¡é Œã§ããæ¥ç¶ãã€ãŸãTCPæ¥ç¶ã確ç«ããŸããã¯ã©ã€ã¢ã³ããããµãŒããŒã«2ã€ã®ãã±ãããéä¿¡ãããµãŒããŒåŽããã¯ã©ã€ã¢ã³ãã«1ã€ã®ãã±ãããéä¿¡ããŸãããããã£ãŠãããŒã¿ã転éããæºåãã§ããŠãããšèšããŸãããã¡ãããããã¯ãªãŒããŒããããªãœãŒã¹ãäœæããŸãããããã¯é·æéå®è¡ã§ããŸãã
æå·åããããŸããããã§ãã©ãŠã¶ãèŠããšãããããããããã¯ã¢ã€ã³ã³ã衚瀺ãããŸããå€ãã®äººãSSLãšåŒãã§ããŸãããå®éã«ã¯SSLã§ã¯ãããŸãããããã¯TLSã§ãã SSLã¯é·ãéæä»£é ãã§ãããå®éã«ã¯ãµããŒããããŠããªãããã廿¢ããå¿ èŠããããŸãã
TLSã«ã¯ãã±ãã亀æããããŸããã€ãŸããTCPãã³ãã·ã§ã€ã¯ã®å Žåãšåæ§ã«ãç¹å®ã®ç¶æ ãèšå®ããåŸãäœæ¥ãââç¶è¡ã§ããŸãããã®æç¹ã§ãæé©åãè¡ãããšãã§ããŸããããã©ãŠã¶ãŒã¯ããµãŒããŒåŽããæ¢ã«æå¹ã«ããŠããæ©èœããŸã ãµããŒãããŠããŸãããçãããããªã³ã«ããã®ãåŸ ã¡ãŸãã
æã ãHTTP / 1ã¯ãªãœãŒã¹ã®åæããŒãã®åé¡ã解決ããããšããŸããã RFCã«ã¯ããããããŸãããããŠæã ããã€ãã©ã€ãã³ã°ãå®è£ ãããŠããŸãããå®è£ ãè€éãªãããInternet Explorerã¯ãµããŒãããŠããŸããããFirefoxãšChromeã¯ãµããŒãããŠããŸããããµããŒãã¯æéã®çµéãšãšãã«å»æ¢ãããŠããŸãã
ãã§ã«äœæãã6ã€ã®æ¥ç¶ã®ããããã¯ãå®éã«ã¯éããŸãããã€ãŸãã以åãšåãããã«æ©èœãç¶ããŸããããã«ã¯ãKeep-Aliveãªã©ã®ææ³ã䜿çšãããŸããã€ãŸããç¹å®ã®ãµãŒããŒãžã®ä¿¡é Œã§ããæ¥ç¶ãäœæããäœæ¥ãç¶ç¶ããŸãã
HTTPã¬ãã«ã§ã¯ãããã¯ããããŒã«ãã£ãŠå¶åŸ¡ãããŸãããã®å Žåã¯æ¥ç¶ã§ãããããŠTCPã¬ãã«ã§ã¯ããã§ã«ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã èªäœã䜿çšããäœããã¹ãããæ±ºå®ããŸãã
HTTP / 2ã«ã¯ä»ã«ãåé¡ããããŸããHTTP / 2ã§ã¯ããã±ããã«åªå é äœãä»ããŠãããå€ãã®å¿ èŠãªããŒã¿ãããéãéä¿¡ã§ããŸãããã®å ŽåãäžåºŠã«å€§éã®ããŒã¿ãéä¿¡ããããšãããšããµãŒããŒäžã®ãããã¡ãŒããªãŒããŒãããŒããå¯èœæ§ããããŸããæ¬¡ã«ãåªå 床ã®é«ããã±ããã¯åã«é床ãäœäžãããã¥ãŒã®æåŸã«ç§»åããŸãã
ãã±ããæå€±ã芳å¯ãããŸãããããã¯ããŒããé ããããã®ããããã³ã°ã¯ããããªãã©ã€ã³ããããã³ã°ãšåŒã°ããŸãã
TCPããã±ããæå€±ã®åé¡ã解決ããæ¹æ³
次ã«ãTCPãã€ãŸã4çªç®ã®ã¬ã€ã€ãŒã«ã€ããŠèª¬æããŸããæ¬¡ã®10åéã§ãTCPãã©ã®ããã«æ©èœãããã«ã€ããŠèª¬æããŸãã
ç§ãã¡ã蚪åãããšããç§ãã¡ã¯èª°ãã«å¡©ãæž¡ãããã«é Œã¿ãŸãã人ãç§ãã¡ã«å¡©ãäžãããšããç§ãã¡ã¯å¡©ãç§ãã¡ã«å±ããããšã確èªããŸãããã®å Žåããã»ã°ã¡ã³ããååŸããŠéä¿¡ãã確èªãåŸ ã¡ãŸãããŸãéä¿¡ããŸãããŸããæå€±ãçºçããå Žåã¯ããã®ã»ã°ã¡ã³ãã転éããçµæãšããŠé ä¿¡ãããŸãã 1ã€ã®ã»ã°ã¡ã³ããéä¿¡ãããã®ææ³ã¯ã忢ãšåŸ æ©ãšåŒã°ããŸãã
ããããç§ãã¡ã®ãããã¯ãŒã¯ã¯éå»30幎éã§éæ¹ããªãå éããŠããŸããããããããªãæ¹ã®äœäººãã¯ãã¡ã¬ãã€ãåäœã®ãã€ã€ã«ã¢ãããã€ã³ã¿ãŒããããèŠããŠããŸããä»ã§ã¯ããã§ã«èªå® ã§ã®ã¬ãããã€ã³ã¿ãŒãããã«æ¥ç¶ã§ããå¯èœæ§ããããŸãã
ãŸãããã®å ŽåãäžåºŠã«è€æ°ã®ããã±ãŒãžã®éä¿¡ãéå§ã§ããŸãããã®äŸã§ã¯ã3ã€ãããŸãããŠã£ã³ããŠã3ã€ã®ããã±ãŒãžã®åœ¢åŒã§éä¿¡ãããã¹ãŠã確èªãããã®ãåŸ ã¡ãŸãã
ãã±ããã倱ãããå Žåãæåã®æå€±ãããã¹ãŠã®ãã±ããã®å転éãéå§ã§ããŸãããã®ææ³ã¯Go-BackNãšåŒã°ããŸãããã以å€ã®å Žåã¯ããã¹ãŠã®ãã±ããã®è¿œè·¡ãéå§ãã倱ããããã±ããã®ã¿ã転éã§ããŸãããã®ææ³ã¯ãã»ã¬ã¯ãã£ããªããŒããšåŒã°ããŸãããµãŒããŒåŽã§ã¯ããé«äŸ¡ã§ããã¹ã©ã€ããæºåããŠãããšãããããã©ã®ããã«æç€ºããããçè§£ããã®ã«é·ãæéãããããŸãããç§èªèº«ãæžæããŸããã®ã§ããã®ãããªã¢ãããžãŒãæãã€ããŸããã
æ°Žãæµãããã€ãã¯ç§ãã¡å šå¡ã«ç¥ãããŠããŸãããã€ãã®çŽåŸã¯ç°ãªããã©ããã§çްãããããšãã§ããŸãããã®å Žåãæãçããã€ã³ãã¯æå€§ã¹ã«ãŒãããã«ãªããŸãããã®ããã«ããã¯ãèš±ã以äžã®æ°Žã泚ãããšã¯ã§ããŸããã
å·Šããå³ã«ããŒã«ãæã¡ãŸããå³åŽã§ã¯ãããŒã«ãé£ãã§ããããšã確èªã§ããŸããç§ãã¡ã¯ããŒã«ã®æµããéãå§ããŠããŸãããã®ã«ãããèŠãŠã¿ãŸããããããã§ããŒã«ã¯äžæ¹åã«é£ãã§ç¢ºèªãããããŒã«ã®æ°ã¯ææ°é¢æ°çã«å¢å ããŸããããæç¹ã§ãããŒã«ã®ããªã¥ãŒã ãéåžžã«å€§ãããªããé床ãäœäžããŠå€±ããå§ããŸããè² ããåŸãå°ãæžéãããŠã£ã³ããŠãååã«æžãããŸããæ¬¡ã«ãç§ãã¡ã¯èªåãã¡ã«äœãèµ·ãã£ãã®ããçè§£ããããšããŸããæåã®æ®µéã¯TCPã¹ããŒã¹ã¿ãŒããšåŒã°ããŸãã
ãŠã£ã³ããŠã2åéããããæ¥ç¶ã埩å ããŠãããŒã«ãããäžåºŠéã£ãŠãããããã«é Œãããšãã§ããŸãã圌ãã¯ç§ãã¡ãããŒã«ãéãå¿ èŠããããšç§ãã¡ã«å«ã³ãŸããç§ãã¡ã¯åœŒãã«çããŸã-ããã«ããªãã®ããŒã«ããããŸãããã®ãã§ãŒãºã¯ãé«éãªã«ããªããã³é«éåéä¿¡ãšåŒã°ããŸãã
ãã¹ãŠãé 調ã§ããããšã«æ°ä»ãããšããç§ãã¡ã¯ãã®æããããŸããçªããå§ããŠãéãããããŒã«ã®æ°ãåŸã ã«å¢ããå§ããŸãããã®ãã§ãŒãºã¯ã茻茳åé¿ãšåŒã°ããŸããã€ãŸãããã±ããã®æå€±ãåé¿ããããšããŠããŸãã
ãŠã£ã³ããŠã2åæããããŸããæ®µéã¯ã乿³æžå°ãšåŒã°ããŸãããããŠãããŒã«ã®æ°ãå¢ããé ãæ®µéã¯ãå æ³çãªå¢å ãšåŒã°ããŸãã
茻茳åé¿ã§åã³ãã±ããã倱ãããå Žåãæ¬¡ã®æé ãå®è¡ã§ããŸããããããçŸæç¹ã§ã¯ããã®ã°ã©ãã®ã€ã¡ãŒãžãã®ãã®ã«é¢å¿ããããŸããç§ãã¡ã¯ãã®ãããªã®ããããèŠãŸãããããŠãã®ã®ãããã¯ç§ãã¡ã«æ°å圹ç«ã€ã§ãããããããã©ã®ããã«èŠããããèŠããŠãããŠãã ããã
åŸæ¥ã®TCPãããã³ã«ã®åé¡ã«æ»ããŸãããã€ããšåæ§ã«ãããã°ã泚ããŸããç§ãã¡ä»¥å€ã«ãã€ã³ã¿ãŒãããäžã«ä»ã®ãŠãŒã¶ãŒãããã®ã§ã圌ããããã±ãŒãžããã€ãã«æ³šãå§ããŸããããæç¹ã§ãã«ãŒã¿ãŒã®ãããã¡ãŒããªãŒããŒãããŒãããã±ããã®éä¿¡ã«åé¡ãçºçããå¯èœæ§ããããŸãã
ã¯ã€ã€ã¬ã¹ãããã¯ãŒã¯ã§ã®ãã±ããæå€±ã«ãåé¡ããããŸããã»ãšãã©ã®å Žåãã©ãããããã«ã¯ã€ãŒãµãããããŒãããªããWi-Fiãä»ããŠããŒã¯ãèŠãŠããŸããWi-Fiããã³ã¢ãã€ã«ãããã¯ãŒã¯ã§ã®ãã±ããæå€±ã¯ãã«ãŒã¿ãŒèªäœã§ã¯ãªããç¡ç·å¹²æžãåå ã§çºçããŸãããã®ãããªã¡ããªãã¯ã¯ãç§ãã¡ã«ãšã£ãŠããŸã圹ã«ç«ã¡ãŸããã
TCPBBRãšä»ã®ã¢ã«ãŽãªãºã ã®éã
ããã§BBRã«è¡ããŸããããã¯ãããã«ããã¯åž¯åå¹ ãšã©ãŠã³ãããªããæéã®ç¥ã§ããã£ãã«ãå®å šã«è©°ãŸãããŠããªããšãã®åž¯åå¹ ãšããã±ããããµãŒããŒã«æ»ã£ãŠãããŸã§ã®ç§»åæéã®ææšã§ãã
ããŒã¿ãéä¿¡ãããšãããã±ãããå®å®ããç¶æ ã§é£è¡ãããŸã 確èªãããŠããªãçæ³çãªç¶æ ã¯ã垯åå¹ é å»¶ç©ãšåŒã°ããŸãããããã¯ãŒã¯ããã€ã¹ã®ãããã¡ã䜿çšããããšã§ãBDPãå¢ããããšãã§ããŸãããã®ãããã¡ãŒãè¶ ãããšãæå€±ãå§ãŸããŸãã
ãããŠãéåžžã®TCPã¢ã«ãŽãªãºã ã¯ãã°ã©ãã®å³åŽãã€ãŸãæå€±ãçºçããå Žæã§æ©èœããŸããæå€±ãé¿ããããªãã»ã©å€ãã®ãã±ãããæ³šããŸãããã±ããã®é床ãäœäžãããŠã£ã³ããŠãæããããŸãå§ããŸãã
次ã«ãBBRã¯ããã€ãã®è¿ãã§å¥ã®åçã§åäœããŸããã¹ãããã§ããéãå€ãã®ããã°ã泚ãã ãã§ããéå§ãã§ãŒãºãã€ãŸãæåã®æ®µéã§ã¯ãæ··éãå§ãŸããŸã§ããã°ãæºãããŸãã
ãŸãããã±ããã倱ãããå¯èœæ§ããããŸããããããBBRã¯ãã®ç¬éãé¿ããããšããŠããŸãããã€ãããã£ã±ãã«ãªããšãããŒã«ããã¯ãéå§ããŸãããã®ãã§ãŒãºã¯ãã¬ã€ã³ãšåŒã°ããŸãã
å®å®ããæ¥ç¶ã«æ»ããå®å šã«æºããããŸãããåæã«ã远å ã®ãããã¡ãŒã远å ã®ãªã¶ãŒããŒã¯äœ¿çšããŸããããã®äœçœ®ãããBBRã¯åäœãç¶ç¶ããŸãã
æã ããããã¯ãŒã¯ã§äœãèµ·ãã£ãŠããããèŠãŠãããŸããè¿éãããã»ãŒãã¹ãŠã®ããã±ãŒãžã远跡ããŸãããã±ãããæ»ã£ãŠãããããã±ããã®æ°ãå°ãå¢ããããã±ããèªäœãã¹ããŒãã¢ããããŠããããã¯ãŒã¯ã«éä¿¡ããããšããŸãã
ãããŠãåé¡ããªããã°ããã®å€ãç¶æã§ããŸããã€ãŸããç§ãã¡ã«ãšã£ãŠå¿«é©ãªããŒã¹ã§åãç¶ããããšã§ãããã ããæå€±ãçºçããå Žåã¯ãããŒã«ããã¯ã§ããŸãã
確èªãåãåã£ããšãããé床ãåäžããã®ã§ãå°ãåŸ ã£ãŠã10ç§ééãèŠãŠã¿ãŸãããããããŠããã®ééã®éã«ãã±ããã®éä¿¡é床ãåäžãããã±ããã®ç¢ºèªãéããªã£ãå Žåã¯ããããŒãRTTãã§ãŒãºã«å ¥ãããã¹ãŠãæ¹åããããã©ããã確èªã§ããŸãã
ãã®ãããªãã§ãŒãºã¯äº€äºã«è¡ãããŸããã€ãŸãããããã¯ãŒã¯ã§äœãè¡ãããŠããããåžžã«ãã§ãã¯ããŸãã
BBRã¢ã«ãŽãªãºã ã¯ããã±ããæå€±ã§ã¯ãªãããã£ãã«å¹ ãšãã±ããç§»åæéã«åºã¥ããŠããŸãã
å®éããã±ããæå€±ã®åœ±é¿ãåããŸããã圌ã¯å®éã«ã¯ãããã«åå¿ããŸããããããŠããã®ããã«ç§éã¯ããã€ãã®åé¡ãæ±ããŠããŸãã Googleã¯ããããã®åé¡ãBBRv2ã§ä¿®æ£ãããããšãçŽæããŸããã
ç§éã¯ç§éã®æ®µéã調ã¹ãŸããããããŠç§éã®åã«ç§ããã§ã«ç€ºããæ«ãåã³ãããŸããéåžžã®TCPãããã³ã«ã¯èµ€ã§åŒ·èª¿è¡šç€ºãããŠããŸããããã§åœŒã¯æŸãäžããæŸãäžããæžéãããããŠåã³è·ç©ã倱ããŸãããããŠãBBRã¯åœŒãå¿ èŠãšããããŒã¹ãèšå®ãããããåžžã«äœ¿çšããŠããããã¯ãŒã¯ãå°ãè¯ããªã£ããã©ãããåžžã«ãã§ãã¯ããŸãããããŠããã¯å éããŠãããããããŸããã
ã¡ããªãã¯ã¯åžžã«æŽæ°ãããã¯ã©ã€ã¢ã³ãããã®ãã¹ãŠã®ç¢ºèªã远跡ãããããã¯ãŒã¯ãå éããŠãããã©ããã確èªããŸãã
ãã®ãã±ããéä¿¡é床ã¯ã©ã®ããã«å¶åŸ¡ãããŠããŸããïŒããŒã·ã³ã°ææ³ã䜿çšããŠéä¿¡ã®ããŒã¹ãå¶åŸ¡ããŸããããã¯ãåè¿°ã®ã¹ã±ãžã¥ãŒã©ãŒã«å®è£ ãããŠããŸããããã¯FQã¹ã±ãžã¥ãŒã©ã§ããã«ãŒãã«èªäœã«ãå®è£ ãããŠããŸãããããã«ã€ããŠã¯åŸã§èª¬æããŸãã
ãã€ãã®ããã«ãããå€ãã®ããŒã¿ã泚ããšåæã«ãé床ãèœãšãããããã±ãŒãžã倱ããªãããã«ããŠããŸããããããBBRã¯ããã»ã©åçŽã§ã¯ãããŸãããã»ãšãã©ã®å Žåãã³ã³ããã«äœãã§ããããããŒã¿ããŒã¹çšã«è€æ°ã®ãµãŒããŒã䜿çšããŠããŸããããããåççšã§ãã
ãããŠãããããã¹ãŠã®ãµãŒããŒã¯çžäºã«äœçšããŸãã BBRã§ã¯ãªããéåžžã®TCPãæå¹ã«ãªã£ãŠããŸãããããŠããã§ã«èŠãã®ããããæã£ãŠãããšãããŠã£ã³ããŠã厩å£ãå§ãããšãããããBBRã¯ãŠã£ã³ããŠã厩å£ããŠããããšãææ¡ãå§ãããã±ããã®éä¿¡é床ãäžããŸãããããã£ãŠãããã¯ç§ãã¡ã®ãããã¯ãŒã¯ããéåžžã®TCPã远ãåºããæ¯é ããŸãã
ãããã¯ãŒã¯ãéåžžã«æªãå Žåãä»ã®åé¡ãçºçããå¯èœæ§ããããŸããéåžžã®TCPã¯ãŸã£ããæ©èœãããBBRã¯å®è³ªçã«ãã±ããæå€±ã®åœ±é¿ãåããªããããäžå®ã®éåºŠã§æ©èœãç¶ããŸãã
TCP_CONGESTIONãªãã·ã§ã³ã䜿çšãããšãããŒã¿ã»ã³ã¿ãŒã§ãã®åé¡ã解決ã§ããŸãããã¹ãŠã®ãœã±ããããã¹ãŠã®æ¥ç¶ã«å¯ŸããŠå ¬éãããŸããããŠãç§ãç¥ãéãããã®ãªãã·ã§ã³ã¯ã»ãšãã©ãã¹ãŠã®WebãµãŒããŒã«å®è£ ãããŠããŸããããããŠç§ãã¡ã®L7ãã©ã³ãµãŒã¯ããããµããŒãããŠããŸããããããããŒã¹ã«æ»ããŸããå€ãã«ãŒãã«ã䜿çšããŠããå Žåã¯ãããŒãžã§ã³4.20ããåã®ã«ãŒãã«ã®ããŒã·ã³ã°å®è£ ã«ãã°ããããŸããããã®å ŽåãFQã¹ã±ãžã¥ãŒã©ãŒã䜿çšãã䟡å€ããããŸãã
TCPãã©ã®ããã«æ©èœããããããã£ãã®ã§ãã·ã¹ãã 管çè ã«é£çµ¡ããŠãBBRãæå¹ã«ããå¿ èŠãããçç±ãäŒããããšãã§ããŸãã
10ããŒã»ã³ãã«æ»ããŸãããã圌ãã¯ã©ãããæ¥ãããšãã§ããŸããïŒçŸåšããªãã¬ãŒã¿ãŒãããã¯ãŒã¯ã¯éåžžã«å€§èŠæš¡ã§ããããã¯ãã¹ãŠãéã«åž°çãââãŸããããšãã°ã100ã200ãã©ãããã®ãã£ãã«ãæ§ç¯ãã倧éã®4Kãããªãã¹ãããã§ããŸãããã ããã¯ã©ã€ã¢ã³ãã¯åŒãç¶ããšã³ããã€ã³ãã«ãããŸãã
ãããŠããããããã¯ã©ã€ã¢ã³ããžã®ãã®æåŸã®1ãã€ã«ãåé¡ã®åå ã«ãªããŸãããã¹ãŠã®Wi-FiãšLTEã¯ããã±ãŒãžã倱ããŸããéåžžã®TCPã䜿çšããŠããå Žåãé床ãäœäžããŸããBBRã¯ãã®åé¡ã解決ããŸããç§ã瀺ãã2ã€ã®ã³ãã³ãã ãã§ãããæå¹ã«ããããšãã§ããŸããããããšãããããŸãã