CDNã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ§ç¯ã«ã¯ãå€ãã®æè¡çãªåé¡ã䌎ããŸããæ©åšã®éžæããããŒã¿ã»ã³ã¿ãŒãžã®ã€ã³ã¹ããŒã«ããããã¯ãŒã¯æ©èœãšã®ããåãã®ããã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãŸã§ã Fastlyããã°ã®èšäºã®ç¿»èš³ãæäŸããŸãããã®ããã°ã§ã¯ãããŒã ããããã¯ãŒã¯ãæäœããããã®éåžžã«èå³æ·±ãã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ã«ã€ããŠèª¬æããŠããŸãïŒãã®å€§éšåã¯Airyã€ã³ãã©ã¹ãã©ã¯ãã£ã§ç¬ç«ããŠäœ¿çšãããŠããŸããïŒã
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æé©åã®çµæãããŒãã«é害ãçºçããå Žåã®ããŠã³ã¿ã€ã ãæå°éã«æããã·ã¹ãã ã®æ¡åŒµæ§ãé«ããããšãã§ããŸããã
ã¹ã±ãŒãªã³ã°
CDNãåŸã ã«éçºããã®ã¯ç°¡åã§ã¯ãããŸããããµãŒãã¹ã®æ¬è³ªã¯ãèŠæ±ã®åºç¯ãªå°ççç¯å²ãæã€é¡§å®¢ã«é¢ä¿ããŠããããã§ãã ãã®ãããFastlyã¯åœåãæ¥çã§äžè¶³ããŠãããã®ã«çŠç¹ãåœãŠãŸãããã€ãŸããæ倧éã®éææ§ãšãããã³ãã£ã¢ãã§ã®ã³ã³ãã³ãé ä¿¡æ¹æ³ã®å¶åŸ¡ã§ãã
ç§ãã¡ãæåã«å§ãããšãããããã¯ãŒã¯æè¡ã®çµéšã®äžè¶³ã¯ã»ãšãã©å¹æããããŸããã§ããã å žåçãªååšç¹ïŒPOPïŒã¯ãBGPïŒããŒããŒã²ãŒããŠã§ã€ãããã³ã«ïŒãä»ããŠãããã€ããŒã«çŽæ¥æ¥ç¶ããã2ã€ã®ãã¹ãã§æ§æãããŠããŸããã 2013幎ã®åããŸã§ã«ãç§ãã¡ã¯éåžžã«æé·ãããã®æ°ã®ãã¹ãã§ã¯ãã¯ãååã§ã¯ãªããªããŸããã
å³ã«ç€ºãããã«ãããã«å€ãã®ãã£ãã·ã¥ããããã€ããŒã«çŽæ¥æ¥ç¶ããããšã«ãããããããžãæ¡åŒµããŸãã 1ïŒaïŒãäžå¯èœã§ããã ãããã€ããŒã¯ãããŒãã®ã³ã¹ããšè¿œå ã®BGPã»ãã·ã§ã³ãèšå®ããã®ãé£ããããããã®ããã«åäœããããšãæã¿ãŸããã
å³ 1.ã¹ã±ãŒã©ãã«ãªãããã¯ãŒã¯ããããžã®åœ±é¿
æãããªè§£æ±ºçã¯ãå³2ã«ç€ºããããªãããã¯ãŒã¯ããã€ã¹ã§ãã 1ïŒbïŒã ããã¯èš±å®¹ã§ãã劥åæ¡ãšãªãå¯èœæ§ããããŸãããCDNã®æ§è³ªäžãå°ççãªã«ãã¬ããžãšãã©ãã£ãã¯ã®ç¶ç¶çãªå¢å ãæå³ããŸãã
çŸåšãå³1ã«ç€ºãããã«ãæå°ã®ãã¬ãŒã³ã¹ãã€ã³ãã«ã¯2ã€ã®ãããã¯ãŒã¯ããã€ã¹ãå«ãŸããŠããŸãã 1©ã ä»çµã¿ãå³ã«ç€ºããŸãã 2.ã«ãŒã¿ãŒã¯ãBGPãä»ããŠãããã€ããŒããã«ãŒããçŽæ¥åä¿¡ããFIBïŒForwarding Information BaseïŒã«æ¿å ¥ããŸãã ã«ãŒããéžæããããã«ãããŒããŠã§ã¢ã«å®è£ ãããã«ãã¯ã¢ããããŒãã«ã䜿çšãããŸãã ãã¹ãã¯ãããã€ã¹ã®FIBã§ã®æ€çŽ¢ã«å¿ããŠããããã¯ãŒã¯ã®æãé©åãªæ¬¡ã®ã»ã¯ã·ã§ã³ã«ãã±ããããªãã€ã¬ã¯ãããã«ãŒã¿ãŒã«ãã©ãã£ãã¯ã転éããŸãã
å³ 2.ã«ãŒã¿ãŒã䜿çšãããããã¯ãŒã¯ããããž
FIBã倧ããã»ã©ãããã€ã¹ãä¿åã§ããã«ãŒããå€ããªããŸãã å¢çã«ãŒã¿ãŒã¯ãã€ã³ã¿ãŒãããå šäœã®ã«ãŒãã£ã³ã°ããŒãã«ãæ ŒçŽã§ããå¿ èŠããããŸããããã¯çŸåšã600,000ãšã³ããªãè¶ ããŠããŸãã ãã®ãããªFIBãä¿åããããã«å¿ èŠãªããŒããŠã§ã¢ã¯ãã«ãŒã¿ãŒã®ã³ã¹ãã®å€§éšåã圢æããŸãã
ã«ãŒã¿ãŒãªãã®ã«ãŒãã£ã³ã°
åŸæ¥ã®ã¯ã©ãŠãç°å¢ã§ã¯ã倧éã®ãµãŒããŒãšã¹ã€ããããµãŒãã¹ãæäŸããŠããäžã§ããšããžã«ãŒã¿ãŒã®ã³ã¹ãã¯ããã«ç¡èŠã§ããŸãã ãã ããCDNã«ã¯ãã³ã³ãã³ããé ä¿¡ããå Žæããåçæ§ã®é«ãå€æ°ã®ãã€ã³ããå¿ èŠã§ãã ãããã£ãŠããããã¯ãŒã¯ããã€ã¹ã¯ãCDNã€ã³ãã©ã¹ãã©ã¯ãã£ã³ã¹ãã®ããªãã®éšåãå ããããšãã§ããŸãã
ç§ãã¡ã¯ãéåžžã«é«äŸ¡ãªãããã¯ãŒã¯ããŒããŠã§ã¢ã«æ°çŸäžãã«ãè²»ãããšããèãã奜ãŸãªãã£ãã ãã®ãéããã³ã³ãã³ãã®é ä¿¡å¹çã«çŽæ¥é¢äžããéåžžã®ãµãŒããŒã«æè³ãããã®ã§ãã
ã¹ã€ããã䜿çšããããšãã§ããŸãããéåžžã«éãããFIBããããŸã-çŽæ°äžã®ã«ãŒãã§ãå¿ èŠãªãã®ããã¯ããã«å°ãªãã§ãã 2013幎ãŸã§ã«ãAristaãªã©ã®ãã³ããŒã¯ããã®å¶éã«å¯ŸåŠããã®ã«åœ¹ç«ã€æ©èœã®å®è£ ãéå§ããŸããã ãã³ããŒã¯ãã¹ã€ããäžã§ç¬èªã®ãœãããŠã§ã¢ãå®è¡ã§ããããã«ããŸããã
ãããã¯ãŒã¯ããã€ã¹ã®FIBã«äŸåãã代ããã«ããã©ãã£ãã¯ããã¹ãã«è»¢éã§ããŸãã ãããã€ããŒããã®BGPã»ãã·ã§ã³ã¯åŒãç¶ãã¹ã€ããã§çµäºããŸãããã«ãŒãã¯ãã¹ãã«å°éããŸãã
å³ 3. BGPã«ãŒãã®åæ
å€éšBGPã»ãã·ã§ã³ïŒeBGPïŒã¯ãã¹ã€ããã§å®è¡ãããŠããBIRDãªã©ã®BGPããŒã¢ã³ã§çµäºããŸãã çµæã®ã«ãŒãã¯ãå éšBGPã»ãã·ã§ã³ïŒiBGPïŒãä»ããŠãã¹ãäžã§å®è¡ãããŠããBIRDã«éä¿¡ããããã¹ãã³ã¢ã«ã«ãŒããçŽæ¥æ¿å ¥ãããŸãã
ããã«ãããã¹ã€ããäžã®FIBããã€ãã¹ããåé¡ã¯è§£æ±ºãããŸãããã€ã³ã¿ãŒãããã«ãã±ãããéãè¿ãæ¹æ³ã®åé¡ã¯è§£æ±ºãããŸããã FIBã®ãšã³ããªã¯ãå®å ã®ãã¬ãã£ãã¯ã¹ãšæ¬¡ã®ãããã¯ãŒã¯ã»ã¯ã·ã§ã³ã®ã¢ãã¬ã¹ã§æ§æãããŸãã 次ã®ã»ã¯ã·ã§ã³ã«ãã±ãããéä¿¡ããã«ã¯ãããã€ã¹ã¯ãããã¯ãŒã¯äžã®ç©çã¢ãã¬ã¹ãç¥ã£ãŠããå¿ èŠããããŸãã ãã®ããŒã¿ã¯ãã¢ãã¬ã¹è§£æ±ºãããã³ã«ãããã³ã«ïŒARPïŒããŒãã«ã«æ ŒçŽãããŸãã
å³ å³3ã¯ãã¹ã€ããããããã€ããŒã«çŽæ¥æ¥ç¶ãããŠãããããã¹ã€ããããããã€ããŒã®æ£ããARPæ å ±ãæã£ãŠããããšã瀺ããŠããŸãã ãã¹ãã¯ãããææããŠããªããããBGPãä»ããŠéä¿¡ããããã®ã®æ¬¡ã®ãããã¯ãŒã¯ã»ã¯ã·ã§ã³ãå€å¥ã§ããŸããã
å³ 4. Silvertonã«ããARPã®é åž
Silverton-åæ£ã«ãŒãã£ã³ã°ãšãŒãžã§ã³ã
ããã«ããããã¬ãŒã³ã¹ãã€ã³ãã§ã«ãŒãã£ã³ã°ãå¶åŸ¡ããç¬èªã®ãããã¯ãŒã¯ã³ã³ãããŒã©ãŒSilvertonãç»å ŽããŸããã Aristaããã€ã¹ã®APIãä»ããŠARPããŒãã«ã®å€æŽã«ã€ããŠåŠç¿ããã¹ã€ããã§ããŒã¢ã³ãå®è¡ããã ãã§ããããšã«æ°ä»ããŸããã ãããã€ããŒã®ç©çMACã¢ãã¬ã¹ã®å€æŽã«ã€ããŠåŠç¿ãããšãSilvertonã¯ãã®æ å ±ããããã¯ãŒã¯çµç±ã§é ä¿¡ãããã¹ãäžã®ã¯ã©ã€ã¢ã³ãã¯ãããã€ããŒã«çŽæ¥å°éããæ¹æ³ã«é¢ããæ å ±ã«åºã¥ããŠãµãŒããŒãåæ§æããŸãã
ãããã€ããŒã®IPã¢ãã¬ã¹ãšMACã¢ãã¬ã¹ãååŸããããã¯ã©ã€ã¢ã³ãåŽã®Silvertonã®æåã®ã¹ãããã¯ããã¹ãããã ãŸããŠãããã®IPã¢ãã¬ã¹ãã€ã³ã¿ãŒãã§ãŒã¹ãŸãã¯ããŒã«ã«ãªã³ã¯ãä»ããŠçŽæ¥ã¢ã¯ã»ã¹å¯èœã§ãããšãä¿¡ãããããšã§ãã ããã¯ããããã€ããŒã®IPã¢ãã¬ã¹ãiprouteçµç±ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ããã¢ããšããŠèšå®ããããšã§å®çŸã§ããŸãã
$ ip addr add <localip> peer 10.0.0.1 dev eth0
ãã¹ãããããã€ããŒIPã¢ãã¬ã¹ãããŒã«ã«ãªã³ã¯ãšèŠãªãå ŽåãARPããŒãã«ã§ãã®MACã¢ãã¬ã¹ãæ¢ããŸãã ãããä¿®æ£ã§ããŸãã
$ ip neigh replace 10.0.0.1 lladdr aa:aa:aa:aa:aa:aa nud permanent dev eth0
ããã§ãã«ãŒãæ€çŽ¢ã次ã®ã»ã¯ã·ã§ã³ã10.0.0.1ãšããŠè¿ããã³ã«ããã©ãã£ãã¯ãaaïŒaaïŒaaïŒaaïŒaaïŒaaã«çŽæ¥éä¿¡ãããŸãã
ã¹ã€ããã¯ããã¹ãããç©çMACã¢ãã¬ã¹ãžã®ããŒã¿ãã¬ãŒã ãåä¿¡ããŸããããã¯ãåãã®ãšãããçŽæ¥æ¥ç¶ãããŠããŸãã ã¹ã€ããã¯ãå®å MACã¢ãã¬ã¹ãšçºä¿¡ã€ã³ã¿ãŒãã§ã€ã¹ã®å¯Ÿå¿ã瀺ãããŠããããŒã«ã«MACã¢ãã¬ã¹ããŒãã«ã調ã¹ãããšã«ããããã¬ãŒã ãéä¿¡ããã€ã³ã¿ãŒãã§ã€ã¹ã決å®ã§ããŸãã
説æãããŠããããã»ã¹ã¯éåžžã«è€éã«èŠãããããããŸããããSilvertonã®æåã®ããŒãžã§ã³ã«ã¯200è¡æªæºã®ã³ãŒãããå«ãŸããŠããŸããã ãããŠãããã«ãããå±éãããã¹ãŠã®æ ç¹ã§æ°åäžãã«ãç¯çŽã§ããŸããã æéãçµã€ã«ã€ããŠãSilvertonã¯ãæé·ãããåçãªãããã¯ãŒã¯æ§æå šäœã®æäŸãéå§ããŸãããã€ãŸãã説æãã£ãŒã«ãã®åœåããã«ãŒãã£ã³ã°ã¢ããŠã³ã¹ã¡ã³ãã®æäœãBGPã»ãã·ã§ã³ã®ç©ºåãŸã§ã
ããã«ãã·ã«ããŒãã³ã¯è²Žéãªæœè±¡åã¬ãã«ãæäŸããŸããã 圌ã¯ãåãã¹ããåãããã€ããŒã«çŽæ¥æ¥ç¶ãããŠãããšããå¹»æ³ãç¶æããŸããããããåºçºç¹ã§ããïŒå³1-ãªãã·ã§ã³AïŒã ã«ãŒãã«ã§è€æ°ã®ã«ãŒãã£ã³ã°ããŒãã«ããµããŒãããåããã±ãŒãžã«äœ¿çšããã«ãŒãã£ã³ã°ããŒãã«ãéžæããããšã§ãSilvertonã®äžã«ããŒã«ãšã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸããã äŸãšããŠãæ¥ç¶ãããŠãããã¹ãŠã®ãããã€ããŒã®å®å ã«pingãéä¿¡ããst-pingãŠãŒãã£ãªãã£ããããŸãã
å³ 5.ãã¬ãŒã³ã¹ãã€ã³ãã§ã®ãã¹ãŠã®ãã©ã³ãžãããããã€ããŒã®Ping
倱æã®åææ¡ä»¶
åŸæ¥ã®ãããã¯ãŒã¯ããã€ã¹ãåé€ããããšã§è³æ¬ã³ã¹ããå€§å¹ ã«åæžã§ããããšããã§ã«ããã£ãŠãããããããŒããã©ã³ãµãŒã«æ³šæãæããŸããã
åŸæ¥ãè² è·ã¯ãã©ã³ãµãŒãŸãã¯ECMPã«ãŒã¿ãŒã®ã¿ã䜿çšããŠåæ£ãããŠããŸããã æè¿ãå察ã®ã¢ãããŒãã匷ãŸãå§ããŠããŸããç¹ã«ãMagLevãGLBãªã©ã®ãµãŒãã¹ã¯ããã¹ãã§å®è¡ãããŠãããœãããŠã§ã¢ã䜿çšããŠãã©ã³ã¹ãåã£ãŠããŸãã
Failedã®éçºã¯ãåŸæ¥ã®ã¹ã€ããã§å¯èœãªéãããŒããŠã§ã¢åŠçã䜿çšããå¿ èŠã«å¿ããŠãã¹ãã«åŠçã転éãã2ã€ã®ã¢ãããŒãã®çµ±åã§ãã ãã®ã¢ãããŒãã®çµæã¯ãåæ£ãã©ã³ãµãŒã§ãã
顧客ã®èŠæ±ã®ãã©ã³ã¹ããšãïŒç¶±æž¡ã
å³ã«ç€ºãããã«ãå€æ°ã®ã¯ã©ã€ã¢ã³ãã«ãµãŒãã¹ãæäŸãããµãŒããŒã®ã»ãããæ³åããŠãã ããã 6.ã¯ã©ã€ã¢ã³ãã®èŠ³ç¹ãããã©ã®ãµãŒããŒããªã¯ãšã¹ããåŠçãããã¯ãå¿çãååè¿ éã«åä¿¡ããããŸã§éèŠã§ã¯ãããŸããã ããã«ãããã©ã®ãªã¯ãšã¹ããã©ã®ãªãœãŒã¹ã«ãã£ãŠåŠçãããããæè»ã«ç §åã§ããŸãã ããã¯è² è·åæ£ãšåŒã°ãããããã¯ãŒã¯ã¹ã¿ãã¯ã®ã»ãŒãã¹ãŠã®ã¬ãã«ã§å®è¡ãããŸãã ããã§ã¯ãCDNã®ã³ã³ããã¹ãã§çä¿¡ã¯ã©ã€ã¢ã³ãèŠæ±ã®ãã©ã³ã¹ãåãããšã«çŠç¹ãåœãŠãŠããŸãã
å³ 6.ãã©ã³ã¹ãåãå Žåãã¯ã©ã€ã¢ã³ãèŠæ±ã¯ååšããå Žæã§ãã£ãã·ã¥ãµãŒããŒã«ããããããŸã
httpèŠæ±ã®ãã©ã³ã¹ããšãå Žåã®äž»ãªåé¡ã¯é¿ããããªãå¶éã§ãã確ç«ãããTCPæ¥ç¶ããã®ãã±ãããééã£ããµãŒããŒã«ãªãã€ã¬ã¯ãããããšã察å¿ããTCPã¹ããªãŒã ããããããããŸãã
å³ 7.ãã©ã³ãµãŒïŒaïŒããã³å¯Ÿå¿ãããã±ããã¹ããªãŒã ïŒbïŒã䜿çšãããããã¯ãŒã¯ã®ããããž
ãã©ã³ãµãŒã¯éåžžããããã·ãšããŠæ©èœããã¯ã©ã€ã¢ã³ãããã®æ¥ç¶ãçµäºããå³ã«ç€ºãããã«ãã©ãã£ãã¯ãããã¯ãšã³ããµãŒããŒã«è»¢éããŸãã 7ïŒaïŒã
ãã©ã³ãµãŒã¯ãããã¯ãšã³ããµãŒããŒã®ã¹ããŒã¿ã¹ãç£èŠããŠãçä¿¡ã¹ããªãŒã ãã©ãã«éããã決å®ã§ããŸãã æ£ããå®è£ ãããŠããå Žåãããã¯ãšã³ããµãŒããŒéã§ã®èŠæ±ã®åæ£ã¯æé©ã«è¿ããã®ã§ãããéåžžã«é«äŸ¡ã§ãã ãã©ã³ãµãŒã¯åãããã¯ãŒã¯æ¥ç¶ã®ã¹ããŒã¿ã¹ãç£èŠããŸãããããã¯é£ããã¿ã¹ã¯ã§ãããå°çšã®ããŒããŠã§ã¢ããã䜿çšãããŸãã
ãã ããæ¥ç¶ã¹ããŒã¿ã¹æ å ±ãç¶æããããšã¯ãããã«è€éã§ãã ãåç¥ã®ããã«ãéä¿¡è ã¯æ¥ç¶ã远跡ããããã«åä¿¡è ãããæ¥ç¶ãäœæããæ¹ãç°¡åã§ãããTCPã®ãã®é察称æ§ã¯DOSæ»æäžã«å®æçã«äœ¿çšãããŸãã ã»ãšãã©ã®ãã©ã³ãµãŒã«ã¯ãSYNãã©ãããé²ãããã®è¿œå ããŒã«ãå«ãŸããŠããŸãããããã§ããããã¯ãŒã¯ã®ããã«ããã¯ã§ãã Google MagLevãªã©ã®äžè¬çãªããŒããŠã§ã¢ã§å®è¡ãããä»®æ³åããããã©ã³ãµãŒã§ãããã¹ããªãŒã ã®ã¹ããŒã¿ã¹ãç£èŠããå¿ èŠããããããDOSæ»æãå±éºã§ãã
DNSïŒãã€ãã¹ãªãã·ã§ã³
DNSã¯ååãã¢ãã¬ã¹ã«å€æããŸããããã¯ãæ£åžžã«æ©èœããŠãããµãŒããŒã®IPã¢ãã¬ã¹ã®ã¿ãè¿ãããå Žåã«ããµãŒããŒéã§è² è·ãåæ£ããããã«äœ¿çšã§ããŸãã
å³ 8. DNSçµç±ã®ãµãŒããŒéžæã®ã¢ãŒããã¯ãã£ïŒaïŒããã³å¯Ÿå¿ãããã±ãããããŒïŒbïŒ
ãã®ã¢ãããŒãã§ã¯ãã¹ã¬ããã®ã¹ããŒã¿ã¹ãç£èŠããå¿ èŠããªããããæ¡åŒµæ§ã«åªããŠããŸãã ãã ãããã§ã€ã«ãªãŒããŒã«é¢ããŠã¯åºæ¬çãªå¶éããããŸãã DNSå¿çã¯ãããŠã³ã¹ããªãŒã ãªãŸã«ããŒã«ãã£ãŠæ°åãå Žåã«ãã£ãŠã¯æ°æéãã£ãã·ã¥ãããããšããããŸãã å¿çãã£ãã·ã¥æéã¯å¿çã®TTLãã£ãŒã«ããä»ããŠæž¡ãããŸãããããã¯ãªãŸã«ããŒã«ãã£ãŠåžžã«èæ ®ããããšã¯éããŸããã ãããã£ãŠãå€æŽã®äŒæã«ã¯ããªãã®æéããããããã®éãã¯ã©ã€ã¢ã³ãã¯ã¢ã€ãã«ç¶æ ã®ãµãŒããŒã«æ¥ç¶ãããŸãã
SpotifyãNetflixãªã©ã®äŒæ¥ã¯ããšã³ããŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ãšå¢çã®ãµãŒããŒã®äž¡æ¹ãå¶åŸ¡ã§ããŸãããããã£ãŠãã¢ããªã±ãŒã·ã§ã³ã«ãµãŒããŒã®éžæè¢ãçµã¿èŸŒãããšã§ãDNSã§ãã®åé¡ãåé¿ã§ããŸãã Fastlyã®ãããªCDNã¯ããããªã¹ããªãŒãã³ã°ããAPIåŒã³åºããŸã§ãå€ãã®ãªãã·ã§ã³ã䜿çšããå¿ èŠãããããããããè¡ãããšãã§ããŸããã 確ãã«ç¥ãããŠããå¯äžã®ãã®ã¯ããªã¯ãšã¹ããHTTPçµç±ã§è¡ãããããšã§ãã
ECMPïŒå°æª
ãã1ã€ã®ããç¥ããã代æ¿æ段ã¯ECMPïŒEqual Cost Multi-PathïŒã§ãã ECMPã¯ã次ã®ãããã¯ãŒã¯ã»ã¯ã·ã§ã³ãåãå®å ãã¬ãã£ãã¯ã¹ã«ãããããŸãããã®ã»ã¯ã·ã§ã³ã®éžæã¯ã転éããããã±ããã®ããããŒã®ãã£ãŒã«ããããã·ã¥ããããšã«ãã£ãŠæ±ºå®ãããŸãã ã¹ããªãŒã ã®åç¶æéäžã«å€åããªããã£ãŒã«ãïŒãœãŒã¹ã¢ãã¬ã¹ãå®å ãããŒãïŒããããã·ã¥ãèšç®ããããšã«ãããã¹ããªãŒã ã®ãã¹ãŠã®ãã±ããããããã¯ãŒã¯ã®åã次ã®ã»ã¯ã·ã§ã³ã«éä¿¡ãããããšã確èªã§ããŸãã
ãµãŒããŒã¯ããã±ãããããã·ã¥ããæ¥ç¶ã¹ã€ãããžã®å¯çšæ§ã«ã€ããŠBGPãä»ããŠä¿¡å·ãéãããšãã§ããŸãã
å³ 9ïŒåããã·ã¥æã«ECMPã¹ã€ãããšå¯Ÿå¿ãããã±ããã¹ããªãŒã ãä»ãããã©ã³ã¹ã
ãã®ã¢ãããŒãã®æ¬ ç¹ã¯ãæè¿ãŸã§ãã¡ãŒã«ãŒãECMPã®ããã·ã¥ã®æåžžæ§ãç¶æããŠããªãã£ãããšã§ãã ãµãŒããŒã®è¿œå ãŸãã¯é€å€ã«ããã«ãŒããå€æŽãããå Žåãããã·ã¥çµæãå€æŽãããå¯èœæ§ãããããã®ããã«ãã±ãããå¥ã®ãµãŒããŒã«éä¿¡ãããå¯èœæ§ããããŸãã ãã®ç¶æ³ã¯å³ã«ç€ºãããŠããŸãã 9ïŒbïŒã
ããã«ãããããããECMPã¯CDNæ¥çã§äžè¬çãªã¢ãããŒãã®ãŸãŸã§ãã ç¶æ ã®ç£èŠãæåŠãããšãECMPã¯ãµãŒããŒã®å®å®ããåäœãšããŸãæ©èœãã代ããã«ç¶æ ãå€æŽãããšãã«æ¥ç¶ã«åé¡ãçºçããŸãã
Elastic ECMPïŒæåã®ã¢ãããŒã
åãã£ãã·ã¥ã¯ãã«ãŒãæ å ±ïŒæ¬¡ã®ãããã¯ãŒã¯ã»ã¯ã·ã§ã³ïŒãå€æŽããããšçºçããŸãã å¯èœãªä»£æ¿çã¯ãåé¿çãšããŠARPããŒãã«ã䜿çšããããšã§ãã ã«ãŒãã£ã³ã°ããŒãã«ã§ãããã¯ãŒã¯ã®æ¬¡ã®éçã»ã¯ã·ã§ã³ã瀺ãããšã«ãããã¹ã€ããã«åŒ·å¶çã«ARPããŒãã«ãæ€çŽ¢ãããããšãã§ããŸãã ARPããŒãã«ãåæ§æããŠããã±ãã転éã«åœ±é¿ãäžããããšãã§ããŸãã
2ã€ã®åé¡ããããŸãã
- BGPãOSPFãªã©ã®ã«ãŒãã£ã³ã°ãããã³ã«ã䜿çšããŠããã©ãã£ãã¯ããµãŒããŒã«è»¢éããããšã¯ã§ããªããªããŸããã åŸæ¥ã®ã«ãŒãã£ã³ã°ãããã³ã«ã¯ãã«ãŒãã£ã³ã°ããŒãã«ãå€æŽããããšã§ã¢ã¯ã»ã¹å¯èœæ§ãæäŸããŸããããã®ã¢ãããŒãã§ã¯æ¥ç¶å±€ãžã®ãã©ãã£ãã¯å¶åŸ¡ãè¡ããŸãã å³10ã«ç€ºãããã«ãã¹ã€ããã®ARPããŒãã«ãçŽæ¥å€æŽããã³ã³ãããŒã©ãŒãäœæããå¿
èŠããããŸããã³ã³ãããŒã©ãŒã¯ãæ¥ç¶ããããã£ãã·ã¥ã§å®è¡ãããŠãããšãŒãžã§ã³ããšæ
å ±ã亀æããŸãã åãšãŒãžã§ã³ãã¯ããšã³ãã¯ã©ã€ã¢ã³ãããã®httpèŠæ±ãåŠçããããŒã«ã«ã¯ãã¹ãšã³ãã£ãã£ã®ã¹ããŒã¿ã¹ããã§ãã¯ããŸãã
å³ 10. ARPããŒãã«ã®å€æŽã«åºã¥ããã«ã¹ã¿ã ã«ãŒãã£ã³ã°ãããã³ã«ã ã«ãŒãã£ã³ã°ããŒãã«ã¯äžå®ã®ãŸãŸã§ãããARPããŒãã«ã¯äœ¿çšå¯èœãªãµãŒããŒã瀺ãããã«å€æŽãããŸã
- ãã©ãã£ãã¯ã®ãã©ã³ã¹ãåãããšãã§ãã詳现ã®æ·±ãã¯ãã«ãŒãã£ã³ã°ããŒãã«å
ã®æ¬¡ã®ãããã¯ãŒã¯ã»ã¯ã·ã§ã³ã®æ°ã«çŽæ¥é¢é£ããŠããŸãã å³ã«ç€ºãããã«ã 10ããã©ãã£ãã¯ãåŠçãããµãŒããŒãåé€ããå ŽåãARPã¬ã³ãŒããæžãæããŠã䜿çšå¯èœãªãµãŒããŒãæãããã«ããå¥ã®ãµãŒããŒãžã®ãã©ãã£ãã¯ã2åã«ããå¿
èŠããããŸãã ãããåé¿ããããã«ãå³ã«ç€ºãããã«ããããã¯ãŒã¯ã®æ¬¡ã®ããã€ãã®ã»ã¯ã·ã§ã³ãäœæã§ããŸãã 11.åãµãŒããŒã«ãããã¯ãŒã¯ã®æ¬¡ã®2ã€ã®ä»®æ³ã»ã¯ã·ã§ã³ãããå ŽåããµãŒããŒBãåäœãåæ¢ãããšãå©çšå¯èœãªãµãŒããŒã¯ããããæãåãæ°ã®ARPã¬ã³ãŒããæã¡ãŸãã
å³ 11.è¿œå ã®æ¬¡ã®ãããã¯ãŒã¯ã»ã¯ã·ã§ã³ã¯ããµãŒããŒBãåäœãåæ¢ãããšãã«ãã©ãã£ãã¯ãåçã«åæ£ããŸã
倱æïŒã¬ã€ã€ãŒããã€ãã¹
ã匟åæ§ã®ãããECMRã¯ãäŸç¶ãšããŠå€æ°ã®ã¯ãŒã«ãŒãããµãŒããŒã®æ£ç¢ºãªåºåãæäŸã§ããŸããã å³ã«æ»ã 11.ãã¹ãBã«é害ãçºçãããšãæ®ãã®ãã¹ãŠã®ãµãŒããŒã«ãã©ãã£ãã¯ãéãããŸãã ãã¹ãŠã®æ¢åã®æ¥ç¶ããªã»ãããããŸãã
ããã¯é¿ããããªããšèããããŠãããããŒããŠã§ã¢é害ãŸãã¯ãœãããŠã§ã¢åé¡ã®ãŸããªçŸè±¡ãåå ã§ãããããåãå ¥ãã䟡å€ããããŸãã ãã ããå®éã«ã¯ããœãããŠã§ã¢ãã¢ããã°ã¬ãŒãããããã«ãµãŒããŒãå®çšŒåç°å¢ããé »ç¹ã«åé€ãããŸãã ãã®ããã«æ¥ç¶ããããããããšãäžæçãªãã©ãã£ãã¯ã®åé¡ãçºçããã ãã§ã¯ãããŸããã ããã«ãããã¢ããã°ã¬ãŒããããã³ã«åé¡ãçºçãããããæ°ãããœãããŠã§ã¢ãè¿ éã«å°å ¥ããããšãé£ãããªããŸãã
æ£ããé害åŠçã¯ãç¹å®ã®æç¹ã§ã©ã®ãããŒãã¢ã¯ãã£ãã§ãããããèªèãããªããããã¹ã€ããã«ã®ã¿å®è£ ã§ããŸããã 解決çã¯ãã³ã³ãããŒã©ãŒãšãã¹ãéã§ç¶æ 远跡ãåæ£ããããšã§ããã ãã®ããã«ãç¬èªã®å€±æãããœãªã¥ãŒã·ã§ã³ãéçºããŸããã
ãµãŒããŒãæ¬çªç°å¢ããçä»ããããã®æåã®ã¹ãããã¯ãã·ã°ãã«ãéãããšã§ãã åã®äŸã§ã¯ããã¹ãã€ã³ã¿ãŒãã§ã€ã¹ã«MACã¢ãã¬ã¹ã1ã€ãããªãããšã瀺ããŸããããå®éã«ã¯ãã®ãããªå¶éã¯ãããŸããã ã¹ã€ããã®ARPããŒãã«ã«ã¯ã以åã«åäœããŠãããã¹ãã«é¢ããæ å ±ã ãã§ãªããæ°ãããã¹ãã«é¢ããæ å ±ãå ¥åã§ããŸãïŒå³12ïŒã
å³ 12.ã¢ã€ãã«ç¶æ ã®MACã¢ãã¬ã¹ã眮ãæãããã¹ããšã³ã³ãŒãã£ã³ã°
å¯çšæ§æ å ±ãã¹ã€ããã«æž¡ããã®ã§ããã©ã³ã·ã³ã°ã®æ±ºå®ããµãŒããŒã«å§ä»»ã§ããŸãã ããã«ããããããã¯ãŒã¯å ã®ã¹ããªãŒã ã®ã¹ããŒã¿ã¹ãç£èŠããå¿ èŠããªããªãã ãã§ã¯ãããŸããã ãŸããã¹ã€ãããããååšç¹ã«ãããµãŒããŒã«èšç®è² è·ã転éããŸãã
ãã®èšç®ã®è² æ ã¯ãåä¿¡åŽã§åå¥ã®ã«ãŒãã«ã¢ãžã¥ãŒã«ãšããŠåŠçãå®è£ ããããšã§è»œæžãããŸãã å®å MACã¢ãã¬ã¹ã«åŸã£ãŠçä¿¡ãã±ãããå¹ççã«åŠçããŸãïŒå³13ãåç §ïŒã
å³ 13.ãã©ãã£ãã¯ããã¹ãBãããã¹ãAã«è»¢éããããšãã®åä¿¡åŽã§ã®ãã±ããåŠçã®äŸããã±ããã¯ãã¹ãAã§ãã£ã«ã¿ãªã³ã°ãããæ°ããæ¥ç¶ã«å±ãããããŒã«ã«TCPãœã±ããã«å¯Ÿå¿ããå Žåã«ã®ã¿åä¿¡ãããŸãã
åä¿¡ãã¹ãã®ã«ãŒãã«ã¢ãžã¥ãŒã«ã¯ãæåã«ä»¥åã®å®å ããã®ãã¹ãã«äžèŽãããã©ãããå€æããå¿ èŠããããŸãã ãã®å ŽåãåŠçã¯ããŒã«ã«ãããã¯ãŒã¯ã¹ã¿ãã¯ã«æž¡ãããŸãã ããã§ãªãå Žåã¯ããã±ãããæ°ããæ¥ç¶ïŒTCPããããŒã®SYNãã©ã°ãä»ããŠ-ã¹ããã2ïŒã«å±ããŠããããæ¢åã®æ¥ç¶ã«å±ããŠããããšã確èªããå¿ èŠããããŸãã
ãããã®æ¡ä»¶ã®ããããæºããããªãå Žåããã±ããã¯MACããããŒãæžãæããŠåã®å®å ã«ãªãã€ã¬ã¯ããããŸãã
åãããžãã¯ããã¹ãBã«é©çšãããŸãïŒã¹ããã5ïŒã ãã®å Žåã以åã®å®å ãšããŠç€ºããããã¹ãããã¹ãã«å¯Ÿå¿ããããããã±ããã¯åãå ¥ããããŸãã
å³ 14.é 次ã«ãŒãã«ã¢ããã°ã¬ãŒãäžã«ãµãŒããŒã¯ã©ã¹ã¿ãŒã«ã°ã©ãïŒ1ç§ãããã®èŠæ±æ°ïŒãèªã¿èŸŒã¿ãŸãã ãã¹ãã¯ããµãŒãã¹ã«åœ±é¿ãäžããããšãªãããããã¯ã·ã§ã³ãã«åºãŠæ»ããŸã
éå»3幎éã®Faildã®å®è£ ã¯ããã©ãã£ãã¯ã ãã§ãªã圱é¿ãåããŠããŸãã ãµãŒããŒã§å¿ èŠãªäœæ¥ã®ãã€ãã¹ã®åœ±é¿ãæžããããšã«ãããFaildã䜿çšãããšãã¯ã©ã€ã¢ã³ãã«åœ±é¿ãäžããããšãªããæ°ãããœãããŠã§ã¢ãããè¿ éã«å±éã§ããè匱æ§æ€åºãžã®åå¿ãå éããŸããã
ãŸãšã
2013幎ã«Failedãœãªã¥ãŒã·ã§ã³ãå°å ¥ãããŠä»¥æ¥ãFastlyã¯1ç§ãããæ°çŸäžä»¶ã®ãªã¯ãšã¹ãã«éããŸããã ããã«å€§ããè²¢ç®ããã®ã¯ããŠãŒã¶ãŒã«æ倱ãäžããããšãªããããã¯ãŒã¯åæ§æã®ã³ã¹ããåæžããã匟æ§ããã©ã³ã¹èª¿æŽã§ãã
ECMPã®çµã¿åãããARPã®æžãæããããã³ã«ãŒãã«ã®æäœãéããŠããã®æé·ã¯ãåŸæ¥ã®ã¹ã€ãããããè€éãªãã®ãååŸããããšãªããã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ã«ãã£ãŠãµããŒããããŸããã