ããã®ãšãããã¹ããŒããã©ã³ãªã©ã®ã¢ãã€ã«ç«¯æ«ãå©çšããã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ããPCå©çšãäžåã£ãŠããŸããããŒã«ã»ã³ã2015幎12æã«å ¬éãããDigital Trends 2015ãã«ãããšãåœå ã®PCããããããå©çšããäººãæšå¹Ž9ææç¹ã§4753äžäººãšãªãã2011幎8æããå°ããã€æžå°ããŠããŸããäžæ¹ã®ã¢ãã€ã«ç«¯æ«å©çšè æ°ã¯åæç¹ã§5148äžäººãžãšå¢å ããŠããŸãã
ããããç¶æ³ã§ã¯ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®å©çšããã©ã€ããŒã/ããžãã¹ãåããã«å¢å€§ããããã§ãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã管çããç«å Žããããã°ãã¢ãã€ã«åã¯æ©ã¿ã®çš®ã§ããããŸããä»åã話ãããã€ã³ãã¯ããããã¯ãŒã¯ã®ãRTT(Round Trip Time:åŸåŸ©ã®é å»¶æé)ãã§ããå®ã¯ãã¢ãã€ã«ç°å¢äžã§ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãæªåãã倧ããªèŠå ã«ããã®RTTãæããããã®ã§ãã
RTTãéµãšãªãçç±ã¯3ã€ååšããŸãã
第1ã«ãã¢ãã€ã«éä¿¡ã¯åºå®éä¿¡ãšæ¯èŒããŠãRTTã倧ãããªããã¡ã§ãã2çªç®ã¯ãéä¿¡ã§é »ç¹ã«å©çšããããããã³ã«ãTCPãããå®éã®ããŒã¿éä¿¡ã«å ç«ã£ãŠè¡ãããã³ãã¯ã·ã§ã³ç¢ºç«ã«ãããŠRTTã®åœ±é¿ãåããããããã§ããæåŸã®èŠå ã¯ãå°ãããµã€ãºã®ããŒã¿éåä¿¡ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãé »ç¹ã«è¡ããšããç¹ã§ãã
ããããç·åãããšãå€ãã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã¯å®éã®ããŒã¿äŒéãšæ¯èŒããŠã³ãã¯ã·ã§ã³ç¢ºç«ã«èŠããæéãå¢ãããããããã©ãŒãã³ã¹ã«åœ±é¿ããããã®ã§ããããã¯ãçºå±ãèããIoT(Internet of Things)ã®åéã§ããåãåé¡ãçããå¯èœæ§ããããŸããã»ã³ãµãŒãªã©ãæèŒããåçš®ããã€ã¹ãšãµãŒããŒã®éã§ãå°ããªããŒã¿ãé »ç¹ã«ããåããããããã§ãã
TCPã®ã³ãã¯ã·ã§ã³ç¢ºç«ãRTTã«åœ±é¿ãåãããã
ããã§ã¯ãªããTCPã®ã³ãã¯ã·ã§ã³ç¢ºç«ã¯ãRTTã®åœ±é¿ãåããããã®ã§ããããã
TCPã§éä¿¡ãéå§ããéãã¯ã©ã€ã¢ã³ãããæ¥ç¶èŠæ±ãæå³ãããSYNããã±ãããéä¿¡ããããã«å¯ŸããŠãµãŒããŒåŽãæ¥ç¶èš±å¯ãæå³ãããSYN ACKããã±ãããè¿ä¿¡ããŸããããããããã«ãã¯ã©ã€ã¢ã³ãããæ¥ç¶éå§ãæå³ãããACKããã±ãããéä¿¡ããããšã§ãããããã³ãã¯ã·ã§ã³ã確ç«ãããŸãã
ãã®ããåãã¯ã3ãŠã§ã€ ãã³ãã·ã§ã€ã¯(3WHS)ããšåŒã°ããŸãããã®äžé£ã®æµãã«ãã£ãŠãµãŒããŒã¯ã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ãæ£ãããšç¢ºèªã§ããäžéã®ã«ãŒã¿ãŒã«ããåéãªã©ã§çãããå€ããŠéè€ããSYNããåãåã£ãå Žåã§ããéä¿¡ã®æ··ä¹±ãé²ãããšãã§ããŸãã
ãã®3WHSã®åŸãã¯ã©ã€ã¢ã³ããããµãŒããŒäžã®ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠåããŠãªã¯ãšã¹ããéãããŸããã€ãŸããã¯ã©ã€ã¢ã³ãããã¢ããªã±ãŒã·ã§ã³ã«ãªã¯ãšã¹ããéãåºããŸã§ã«ãæäœã§ã1åã®RTTãå¿ èŠã«ãªãã®ã§ããRTTã倧ããã¢ãã€ã«éä¿¡ç°å¢ã§ã¯ããããæéã®ãã¹ãçã¿åºããŠããŸãã®ã§ãã
ã§ã¯ãã©ã®ããã«éä¿¡ãæé©åããã°è¯ãã®ã§ãããã?
äžã€ã®ã¢ã€ãã¢ãšããŠã¯ã3WHSãçµäºããåã«ãã¯ã©ã€ã¢ã³ããããµãŒããŒäžã®ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠããŒã¿ãéä»ããèãæ¹ããããŸããTCPã®ä»æ§äžãåãã®SYNãã±ããã«äœããã®ããŒã¿ãå ããããšã¯å¯èœãšãªã£ãŠããŸãããã ãããã«ã»ãã¥ãªãã£æžå¿µãçããŸãã
ãšããã®ããæªæããæ»æè ããœãŒã¹IPã¢ãã¬ã¹ãåœè£ ããäžã§ãæåã®SYNãã±ããã«ããŒã¿ãå ããŠéä»ã§ããã®ã§ãããã®ããŒã¿ã¯ã3WHSãå®äºããåã«ãµãŒããŒäžã®ã¢ããªã±ãŒã·ã§ã³ã«å°éãããµãŒããŒäžã®ãªãœãŒã¹ãæ¶è²»ããŸãããã®ãããåœè£ ãããIPã¢ãã¬ã¹ãžè¿çããŠããŸãåé¡ãçããŸãã
ãã®æ¹åçã®1ã€ãšããŠã2014幎12æã«RFC7413ãšããŠä»æ§ãå ¬éããããTCP Fast Open(TFO)ãã§ãã
TFOã®ã¡ãªããã¯ãã¯ã©ã€ã¢ã³ãã®æ£åœæ§ããIPã¢ãã¬ã¹ãã®ãã®ã§ã¯ãªããIPã¢ãã¬ã¹ãããŒã¹ã«ããã¯ãããŒã§ç¢ºèªããŠããç¹ã«ãããŸãã
TFOã¯ãæåã®ã³ãã¯ã·ã§ã³ã§ã¯ã©ã€ã¢ã³ãããSYNããã±ããã®äžã«ãTFO Cookie Requestããæžã蟌ãã§éä¿¡ããŸããç¶ããŠããµãŒããŒããSYN ACKããã±ããã®äžã«ãã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ãããŒã¹ã«çæãããTFO Cookieããæžã蟌ãã§è¿ä¿¡ããŸããã¯ã©ã€ã¢ã³ãã¯ãã®ã¯ãããŒãä¿åãããCONTINUEããéä¿¡ããŸããããã§ã³ãã¯ã·ã§ã³ã確ç«ãããåŸã¯éåžžã®TCPãšåæ§ã«ããŒã¿ãéåä¿¡ããŸãã
2åç®ä»¥éã®ã³ãã¯ã·ã§ã³ã§ã¯ãæåã«ããåãããéã®ã¯ãããŒãã¯ã©ã€ã¢ã³ãã®ç¢ºèªã«å©çšããŸããã¯ã©ã€ã¢ã³ãã¯ãSYNããã±ããã«ãTFO Cookieããæžã蟌ãã§éä¿¡ãããµãŒããŒããã®æ£åœæ§ã確èªããäžã§ãSYN ACKããè¿ãããšã§ãã³ãã¯ã·ã§ã³ã確ç«ãããŸãã
ããã§éèŠãªãã€ã³ãã¯ãTCPã®ä»æ§ã§ãSYNãã®äžã«ãŠãŒã¶ãŒ ããŒã¿ãå ¥ãããããšããããšã§ããTFOã§ã¯å®è³ªçã«ããµãŒããŒããSYN+TFO Cookieããåãåã£ãŠãå å®¹ãæ£åœã§ããããšç¢ºèªããæç¹ã§ãã³ãã¯ã·ã§ã³ã確ç«ããŸãããã®æããSYN+TFO Cookieãã«ã¢ããªã±ãŒã·ã§ã³ãžã®ãªã¯ãšã¹ããæžã蟌ãŸããŠããã°ãããã®å 容ãã¢ããªã±ãŒã·ã§ã³ã«æž¡ããŠãæ§ããªãããšããç¶æ ã«ãªããŸããã¢ããªã±ãŒã·ã§ã³ã¯ãªã¯ãšã¹ãã«å¿ããåŠçãå®è¡ããŠãã¬ã¹ãã³ã¹ãçæã§ããŸããã€ãŸãTFOã§ã¯ãã³ãã¯ã·ã§ã³ç¢ºç«ã«1ååã®RTTãè²»ããããšãªããã¢ããªã±ãŒã·ã§ã³åŠçãéå§ã§ããã®ã§ãã
ãã ãããã®å¹æã享åããã«ã¯æ¡ä»¶ãæºããå¿ èŠããããŸããããã¯ãã¯ã©ã€ã¢ã³ãããã®ãªã¯ãšã¹ãã®ããŒã¿éãTCPã®MSS(Maximum Segment Size:IPãã©ã°ã¡ã³ããçºçãããã«éä¿¡å¯èœãªããŒã¿éã®æå€§ãµã€ãº)ãããå°ããããšã§ãã
TCP Fast Openã®å¶çŽäºé ãšé©ããã¢ããªã±ãŒã·ã§ã³
MSSãè¶ ãããµã€ãºã®ãªã¯ãšã¹ãã¯ãæåã®ãSYN+TFO Cookieããã±ããã«ãªã¯ãšã¹ãå šäœãåãŸãããããã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒããã®ãSYN ACKããã±ãããåŸ ã£ãŠãããç¶ãã®ããŒã¿ãéãå¿ èŠããããŸãããã¡ããããµãŒããŒåŽããªã¯ãšã¹ãããŒã¿ããã¹ãŠå°çãããŸã§ãã¢ããªã±ãŒã·ã§ã³ã«ãªã¯ãšã¹ããæž¡ãããã«ã¯ãããŸããããã®ãããã¢ããªã±ãŒã·ã§ã³ã®åŠçãéå§ãããŸã§ã®åŸ ã¡æéã¯ãéåžžã®TCPãšããŸãå€ãããªãããšã«ãªããŸãã
ã»ãã«ããããã€ãã®å¶çŽããããŸãã
ãŸããéä¿¡çµè·¯äžã«NATããã¡ã€ã¢ãŠã©ãŒã«ãååšããå Žåã¯ãTFOã«ããéä¿¡ã倱æããã±ãŒã¹ããããŸãããã®å Žåãéåžžã®ãã³ãã·ã§ã€ã¯ãžèªåçã«åãæ¿ãã(ãã©ãŒã«ããã¯ãã)ãããéä¿¡é害ã®å¿é ã¯ãããŸããããããããã®ãã©ãŒã«ããã¯åŠçããªãŒããŒããããšãªããã³ãã¯ã·ã§ã³ç¢ºç«ã«äœèšãªæéããããæãããããŸãã
ãŸããå€ããŠéè€ããSYNããµãŒããŒãåãåã£ãå Žåã«ã¯ãã¢ããªã±ãŒã·ã§ã³ ã¬ãã«ã§åé¡ãšãªãå¯èœæ§ããããŸããã¯ã©ã€ã¢ã³ãããSYN ACKããåãåã£ãŠå 容ã«åé¡ããªããšç¢ºèªããåã«ãSYNã«æžã蟌ãŸãããªã¯ãšã¹ããžã®ã¢ããªã±ãŒã·ã§ã³åŠçãå§ãŸã£ãŠããŸãããã§ããããããç¶æ³ãèš±ãããªãã±ãŒã¹ã§ã¯TFOã䜿çšãã¹ãã§ã¯ãããŸãããäŸãã°ãååã«å¯ŸçããŠããªãECãµã€ãã§ã¯ãåæ³šåŠçãéè€ããŠè¡ãããå±éºæ§ãããã®ã§ãã
å€ãã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãIoTã«ãããŠã¯ãTFOã¯å€§ããªããã©ãŒãã³ã¹åäžãããããå¯èœæ§ããããŸããäžå®ã®å¶çŽãããããããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã«é©ããŠãããšã¯èšããŸããããã¯ã©ã€ã¢ã³ãããéãããããŒã¿éãå°èŠæš¡ãªå Žåããã²æ€èšããŠã¿ãŠã¯ãããã§ããããã
èè ãããã£ãŒã«
äŒè€ æ çŽå€«(ããšã ããã)
UNIXãµãŒããŒãã¹ãã¬ãŒãžãã·ã³ã»ã¯ã©ã€ã¢ã³ããšãã£ãã€ã³ãã©ãšã³ãžãã¢ãçµãŠãF5ãããã¯ãŒã¯ã¹ãžã£ãã³ãž2012幎ã«å ¥ç€Ÿã
F5ãããã¯ãŒã¯ã¹ãžã£ãã³
ã»ãŒã«ã¹ãšã³ãžãã¢ãªã³ã°æ¬éš
ããªã»ãŒã«ã¹ã³ã³ãµã«ã¿ã³ã
çŸåšã¯ã»ãã¥ãªãã£ã»ã¯ã©ãŠããããŒã¯ãŒãã«ã€ãã³ãè¬æŒããã³ãºãªã³ã©ããè¡ããF5ãœãªã¥ãŒã·ã§ã³ã®åèæŽ»åã«å¥®éäžã
æè¿ã¯OpenStackãIoTãšãã£ãããŒã¯ãŒããäžå¿ã«é£æºãœãªã¥ãŒã·ã§ã³ã暡玢ããŠããã

