Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BGP Routing Tutorial

BGP Routing Tutorial

BGPルーティングのおさらいと, 実運用経験からのノウハウを説明します

Practical BGP Routing
https://speakerdeck.com/codeout/practical-bgp-routing
をJANOG33向けに編集したものです.

Shintaro Kojima

January 19, 2014
Tweet

More Decks by Shintaro Kojima

Other Decks in Technology

Transcript

  1. খౡ৻ଠ࿠  • NTT Communications w !DPEFPVU • http://about.me/codeout !

    ຊ೔ͷεϥΠυ͸ https://speakerdeck.com/codeout/bgp-routing-tutorial ʹ͋Γ·͢  
  2. BGP とは? &(1ͷҰछ異なるAS間ͰSPVUJOH৘ใΛަ׵͢Δ ! w "4઀ଓάϥϑ 3*# Λߏங͠ QBDLFU GPSXBSEJOHʹ࢖͏

    w ͭͷSPVUFʹ͸ෳ਺ͷQBUIؚ͕·Ε͍ͯΔ w SPVUF͋ΔQSFGJYʹ౸ୡ͢ΔͨΊͷQBUI܈ w QBUI༷ʑͳଐੑ 1BUI"UUSJCVUF ͷ૊ w SPVUJOHMPPQΛղফ͢Δ࢓૊Έ͕͋Δ w "4಺Ͱͷrouting policyを実装Ͱ͖Δ  
  3. peer A (AS2) MY AS (AS 1) peer B (AS3)

    AS10 AS20 QSFpY  AS_PATH  10 QSFpY  AS_PATH  10 QSFpY  AS_PATH  20 10 QSFpY  AS_PATH  3 20 10 QSFpY  AS_PATH  2 10 MY ASSPVUFSͷಈ࡞ QBDLFUΛసૹ͠Α͏ͱ͢Δͨͼʹ  3*#಺͔ΒETU JQBEESFTTΛݕࡧ͠ Ѽઌ OFYUIPQ Λಛఆ͢Δ w ਖ਼֬ʹ͸3*#Λల։ͨ͠'*#಺Λݕࡧ͢Δ packet flow  
  4. A Border Gateway Protocol 4 (BGP-4) w RFC1654 +VMZ 

    w RFC1771 .BSDI  w RFC4271 +BOVBSZ  w ΋ͪΖΜͨ͘͞Μ֦ு͞Ε͍ͯΔ w RFC1997 #(1$PNNVOJUJFT"UUSJCVUF w RFC2385 1SPUFDUJPOPG#(14FTTJPOTWJBUIF5$1.%4JHOBUVSF w RFC3065 "4$POGFEFSBUJPOTGPS#(1 w RFC4451 #(1.&%$POTJEFSBUJPOT w RFC4456 #(13PVUF3FGMFDUJPO w RFC4360 #(1&YUFOEFE$PNNVOJUJFT"UUSJCVUF w RFC5004 "WPJE#(1#FTU1BUI5SBOTJUJPOTGSPN0OF&YUFSOBMUP "OPUIFS w RFC5668 0DUFU"44QFDJGJD#(1&YUFOEFE$PNNVOJUZ w   
  5. BGP の経路選択  ࠷΋ߴ͍WEIGHTΛ࣋ͭύε͕༏ઌ͞Ε·͢Ұ෦ϝʔΧʔͷΈ   最も高い LOCAL_PREF を持つパスが優先されます 

    OFUXPSL·ͨ͸BHHSFHBUF#(1αϒίϚϯυʹΑͬͯ ͋Δ͍͸*(1͔ Βͷ࠶഑෍Λ௨ͯ͡ ϩʔΧϧͰൃ৴͞Εͨύε͕༏ઌ͞Ε·͢  最短の AS_PATH を持つパスが優先されます  ࠷খͷΦϦδϯλΠϓΛ࣋ͭύε͕༏ઌ͞Ε·͢  最小の Multi-Exit Discriminator (MED) を持つパスが優先されます
 MED͸SFNPUF"4͕ಉ͡৔߹ͷΈධՁ͞ΕΔ  J#(1ύεΑΓ΋F#(1ύεͷํ͕༏ઌ͞Ε·͢  BGP ネクストホップへの最小の IGP メトリックを持つパスが優先されます  ྆ํͷύε͕֎෦ͷͱ͖͸ ઌʹड৴ͨ͠ύε ࠷΋ݹ͍ύε ͕༏ઌ͞Ε ·͢ ࠷খͷϧʔλ*%Λ࣋ͭ#(1ϧʔλ͔ΒૹΒΕͨϧʔτ͕༏ઌ͞Ε·͢ ൃ৴ݩ*%·ͨ͸ϧʔλ*%͕ෳ਺ͷύεͰಉ͡৔߹͸ ࠷খͷΫϥελϦ ετ௕Λ࣋ͭύε͕༏ઌ͞Ε·͢ ࠷খͷྡ઀ϧʔλΞυϨε͔ΒૹΒΕͨύε͕༏ઌ͞Ε·͢ ! http://www.cisco.com/cisco/web/support/JP/100/1008/1008556_25-j.html  
  6. 今日話すこと w BGPの設計を決める際に考えないといけないこと ʹ͍ͭͯ࿩ ͠·͢ ! w l#(1TFTTJPOͷઌʹ͍Δ"4 ސ٬QFFSJOHQBSUOFS USBOTJUఏڙऀ

    ʹ΋ݸผͷSPVUJOHQPMJDZ͕͋Δzͱ͍͏؀ ڥͰ どうやって自分の思うようにtraffic controlするか? Λཧղ͢ΔͨΊʹ w ࢲ͕࢖͍ͬͯΔख๏ͷ঺հ w ͦͷղઆ ΋͠·͢  
  7. BGP 設計の前に   network policy 物理設計 論理設計 OFUXPSLͷ෺ཧతͳ͜ͱ w

    101഑ஔ%$બఆ w DBCMFQBUI w ऩ༰ઃܭ w ػثબఆ routing policy Ͳ͏QBDLFUΛྲྀ͔͢ 
 ௨ৗTFSWJDF͝ͱʹQPMJDZ͕มΘΔ  w ͲͷΑ͏ͳ৘ใΛྲྀ͔͢  w ސ٬ʹͲͷΑ͏ͳOFUXPSLTFSWJDF Λఏڙ͢Δ͔ SPVUJOHQPMJDZΛຬͨ͢Α͏ɼSPVUJOHΛ ઃܭ͢Δ w QSPUPDPM͸  w SPVUFSFGMFDUPS 33 PS DPOGFEFSBUJPO  w Ͳͷ৘ใ ܦ࿏ ΛͲ͜ʹྲྀ͢
  8. eBGP Policy を考えるポイント w どんな経路Λ w どんなeBGP session͔Β΋Β͏͔  ΋ΒΘͳ͍͔

     w ͦͷࡍͷ༏ઌ౓͸  w どんなeBGP session΁޿ࠂ͢Δ͔  ޿ࠂ͠ͳ͍͔  w ͦͷࡍͷ༏ઌ౓͸  w ܦ࿏ͷ֤QBUIBUUSJCVUF͸୭ͷ΋ͷ͔  ! w GVMMSPVUFΛ࣋ͯͳ͍SPVUFS͸͋Δ  w EFGBVMUSPVUFΛར༻Α͘ߟ͑ͳ͍ͱةݥ  ؆୯ʹSPVUJOHMPPQ͕ى͖Δ w #(1Ͱ͸ͳ͘ɼผͷQSPUPDPM 041'ͳͲ ʹSFEJTUSJCVUF ͠ͳ͍ͱ͍͚ͳ͍ɼͱ͔͋Δ  
  9. 経路の種別 w ސ٬ͷܦ࿏ w #(1ސ٬ w TUBUJDސ٬ ࣮ࡍ͸1"ʹू໿  w

    ࣗ"4ͷܦ࿏ w 1"1*ܦ࿏ w QFFSJOHQBSUOFSͷܦ࿏ w USBOTJUQSPWJEFSͷܦ࿏ w ෆཁͳܦ࿏ Ϗδωε্ͷ؍఺͔Βɼجຊతʹ͸্هͷॱʹ༏ઌ͢Δ ༏ઌͳΔ΂ͦ͘ͷܦ࿏ʹैͬͯQBDLFUΛྲྀ͍ͨ͠ ྲྀͯ͠΄͍͠ ༏ઌ౓ߴ ༏ઌ౓௿  
  10. eBGP セッションの種別 w ސ٬ w QFFS w QBJEQFFS ऩӹΛಘ͍ͯΔ 

    w QSJWBUFQFFS w QVCMJDQFFS *9  w QBJEQFFS අ༻Λ෷͍ͬͯΔ  w USBOTJU ಉ༷ʹɼجຊతʹ͸্هͷॱʹ༏ઌ͢Δ ༏ઌͳΔ΂ͦ͘ͷ઀ଓճઢʹQBDLFUΛྲྀ͍ͨ͠ ༏ઌ౓ߴ ༏ઌ౓௿  
  11. ࣗ"4 eBGP Policy の基本 ड৴޿ࠂ1PMJDZ͸ԿʹӨڹ͢Δ ֎෦"4 ܦ࿏ड৴ ܦ࿏޿ࠂ ֎෦"4 ֎෦"4

    packet flow packet flow 受信Policy ࣗ"4網内ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ 広告Policy ࣗ"4網外ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ  
  12. eBGP Policy の基本 (受信) MY AS ސ٬" ސ٬"ͷ ސ٬ ސ٬"ͷ

    transit ސ٬"ͷ peer transit" transit"ͷ transit tranit"ͷ peer peer" peer"ͷ ސ٬ peer"ͷ peer peer"ͷ transit transit"ͷ ސ٬ すべて受信 • transit A の顧客 • transit A 自身 • transit A のpeer • transit A のtransit 自身の経路を除き,すべて受信 (経路filterあり) • 顧客A の顧客 • 顧客A 自身 • 顧客A のpeer (通常流れてこない) • 顧客A のtransit (通常流れてこない bogon filter はすべてに必要 すべて受信 (経路filterあり) • peer A の顧客 • peer A 自身 • peer A のpeer (通常流れてこない) • peer A のtransit (通常流れてこない)  
  13. 経路の各path attributeは 誰のもの? w ҎԼͷΑ͏ͳػೳΛఏڙ͍ͯ͠Δ*41΋
 IUUQPOFTDOFUDPNNVOJUJFT w ސ٬ܦ࿏ͷMEDを上書きしない w ࣗ"4಺Ͱͷlocal

    preference(LP)を制御する BGP communityΛސ٬޲͚ʹఏڙ͢Δ ސ٬ 経路受信 MED   Community  ࣗ"4 LP   MED  MEDを上書きしない LPを制御させる 7521:110 = LP110  
  14. 1. LPͱMEDͷ஋ ༏ઌ౓ ܦ࿏छผ -1 .&%  ސ٬ d ্ॻ͖͠ͳ͍

     ࣗ"4  ͳ͠  QFFS  ্ॻ͖ े෼େ͖ͳ஋  USBOTJU  ্ॻ͖ Λ·͍ͨͰ਺ஈ֊ EFGBVMU  w ෯ʹ༨༟Λ΋ͬͯ਺஋Λઃఆ w -1ͷEFGBVMU஋͕ͷ࣮૷͕ଟ͍ͷͰ 
 ҆શΛظ͢ͳΒ-1ͷ஋͸ w 基本的に, 受け取った経路は使う w ྫ͑͹QFFS͔ΒlQFFSͷQFFSܦ࿏zΛड৴ͨ͠ͱͯ͠ɼ ૬खͷઃఆϛ εͷՄೳੑେ͕ͩ ڋ൱͢Δཧ༝͸ಛʹͳ͍ w ࢖͍ͨ͘ͳ͍ཧ༝͕͋Ε͹ผ ༏ઌ౓ΛԼ͛ΔPSڋ൱͢Δ  w ᫔᫓ͦ͠͏ɼͳͲ  
  15. – 解説 – ༏ઌ౓ ܦ࿏छผ -1 .&%  ސ٬ d

    ্ॻ͖͠ͳ͍  ࣗ"4  ͳ͠  QFFS  ্ॻ͖ े෼େ͖ͳ஋  USBOTJU  ্ॻ͖ Λ·͍ͨͰ਺ஈ֊ EFGBVMU ސ٬ͷ໌֬ͳҙਤ͕ ͳ͍ݶΓ࠷༏ઌ ৗʹ3*#ʹอ࣋ ܦ࿏Λࢦఆͯ͠ଞͷސ ٬΍QFFSʹӌճͤ͞Δ ͜ͱ͕Ͱ͖Δ QFFSͷͱൺֱͯ͠ɼ ඞͣ࣍ͷ"4@1"5)Ͱ ༏ઌ౓͕ܾఆ ސ٬ͷ5&બ୒ࢶΛ ૿΍͢ w "4@1"5)͕ಉ͡ͳΒ *(1ϕʔεͷDMPTFTU FYJUΛڧ੍ w BMXBZTDPNQBSF NFE΍QFFSސ٬"4 ରࡦͰ.&%ΛߴΊʹ w ?rͰ΋͍͍ ͔΋ "4@1"5)͕ಉ͡ͳΒ *(1ϕʔεͷDMPTFTU FYJUΛڧ੍ ҰԠ QSJWBUFQVCMJD QFFSͰஈ֊͋Δ*41 ΋͋Δ  
  16. 2. 経路Filter ސ٬ܦ࿏ͷ༏ઌ౓͕ඇৗʹߴ͍ͨΊɼࡉ͔͘νΣοΫ ͢Δඞཁ͕͋Δ w IRRベース が理想的 w සൟʹϝϯςφϯεͰ͖ΔͷͰ͋Ε͹ खಈͰ΋໰୊ͳ͍͔΋͠

    Εͳ͍ w GJMUFSํ๏ͷީิ w FYBDUNBUDIͳQSFGJYGJMUFS w FYBDUNBUDIͳQSFGJYGJMUFSPSJHJO"4GJMUFS ! w bogon prefix, 自ASのprefixは経路filterで除外 w #(1DPNNVOJUZ͸ಁաతʹѻ͏  
  17. QFFSܦ࿏΋ख์͠Ͱ͸ةͳ͍ w 経路hijackの可能性 w ࡉ͔͍GJMUFSΛઃఆͯ͠͠·͏ͱメンテナンスされなく なるかもしれない w l"4@1"5)ΛϝʔϧͰ఻͑߹͏z࢓૊Έ͕ಈ͍͍ͯͨ w ΍͸Γݶք͕͋ΔͷͰɼͰ͖ΔͷͰ͋Ε͹ސ٬ܦ࿏ಉ༷*33

    ϕʔε͕Α͍ w ҰํɼଞͷࠃͰ͸ҎԼͷ૊Έ߹Θ͕ͤଟ͍ w maximum-prefix (prefix-limit) filter w ࣮੷ϕʔε ࡢ೔͔Β૿͑ͨΒΞ΢τ ͳͲ  w QFFSJOHECϕʔε w prefix lengthによるfilter w JQWMF w JQWMFͳͲ  
  18. "4 "4 3. Path Attribute ͸ຊདྷͷ༻్ʹ࢖͓͏ – ྫ͑͹ closest exit

    – *(1ʹΑΔ੍ޚ .&%͕ҟͳΔܦ࿏Ͱ΋DMPTFTUFYJU͍ͨ͠৔߹͸.&%Λ
 ্ॻ͖͢Δඞཁ͕͋Δ  MED  MED *(1DPTU  MED 3 3 prefix Next Hop MED IGP > 192.0.2.0/24 R1 100 0 192.0.2.0/24 R2 100 50 prefix Next Hop MED IGP 192.0.2.0/24 R1 100 50 > 192.0.2.0/24 R2 100 0  
  19. 経路制御の選択肢 w USBOTJUQFFSܦ࿏ w -1ͷඍௐ੔ w "4@1"5)QSFQFOE w .&%ඍௐ੔ w

    QBTTJWF*(1 w ܦ࿏ΛࢭΊΔ ! w ސ٬ܦ࿏ w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍  
  20. w -1.&%ͳͲͷ਺஋͸ͳΔ΂͘弱くなるํʹ੍ޚ͢Δ w ϔϯʹUSBGGJDΛٵ͍ࠐΉͷΛ๷͙ w .&%૿΍͢
 -1  ݮΒ͢ ଟ͘ͷ࣮૷ͰEFGBVMU

     w "4@1"5)QSFQFOE
 QSFQFOE͞Εͨܦ࿏͕3*#ʹ࢒ͬͯ͠·͏Մೳੑ͕͋Δͷ ͰɼͳΔ΂͘ආ͚Δ w USBOTJUΛച͍ͬͯΔ৔߹ͳͲ શମͱͯ͠ܦ࿏͕ԕ ͘ݟ͑ͯ͠·͏ͷ͸ྑ͘ͳ͍ w QBTTJWF*(1͸ܦ࿏͝ͱͷ੍ޚ͕Ͱ͖ͳ͍  
  21. w -1.&%"4@1"5)ૢ࡞ w なるべくメンテナンス頻度を下げる w QFFS"4 w OFYUIPQ w PSJHJO"4

    w "4@1"5) w QSFGJY ͷॱͰૢ࡞ ྫ͑͹QSFGJY͸͕࣌ؒܦͭͱมԽ͢ΔՄೳੑ͕ߴ͍  
  22. irregularなことは 目立つように /
 消しやすく QSPUPDPMT\ CHQ\ OFJHICPSYYYY\ JNQPSU<SFHVMBSJSSFHVMBSpOBMJ[F> ^ ^

    ^ ! QPMJDZPQUJPOT\ QPMJDZTUBUFNFOUSFHVMBS\ GSPN\^ UIFO\ ௨ৗͷQPMJDZ OFYUQPMJDZ ^ ^ !  SFNPWFNFTPPO  QPMJDZTUBUFNFOUJSSFHVMBS\ GSPN\^ UIFO\ JSSFHVMBSͳQPMJDZ OFYUQPMJDZ ^ ^ QPMJDZTUBUFNFOUpOBMJ[F\ UIFOBDDFQU ^ ^ ! +VOJQFSͷྫ OPSPVUFNBQSPVUFpMUFS SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ !  SFNPWFNFTPPO  SPVUFNBQSPVUFpMUFSQFSNJU JSSFHVMBSͳQPMJDZ ! $JTDPͷྫ  
  23. 経路制御の選択肢 (受信) – LP 制御 – MY AS peer$ "4

    peer# "4 ސ٬" transit" "4 prefix MED AS_PATH 192.0.2.1/32 100 1 192.0.2.2/32 100 1 prefix MED AS_PATH 192.0.2.1/32 50 2 prefix MED AS_PATH 192.0.2.1/32 100 1 192.0.2.2/32 100 1 Ұ෦ܦ࿏͸QFFSΑΓ ༏ઌ͍ͤͨ͞ prefix LP MED AS_PATH > 192.0.2.1/32 120 1000 1 192.0.2.1/32 110 1000 2 > 192.0.2.2/32 120 1000 1 LP policy w USBOTJU  w QFFS   QFFS#͔Βͷܦ࿏ʹ͍ͭͯ -1ΛԼ͛Δ  
  24. MY AS peer$ "4 peer# "4 ސ٬" transit" "4 prefix

    Next Hop MED AS_PATH 192.0.2.1/32 x.x.x.x 50 2 192.0.2.1/32 y.y.y.y 100 2 prefix Next Hop MED AS_PATH 192.0.2.1/32 z.z.z.z 100 2 SPVUFS͔Βಉ͡ܦ࿏Λड৴͍ͯ͠ ΔΑ͏ͳ৔߹Ͱ ༏ઌ౓Λૢ࡞͍ͨ͠ prefix Next Hop MED AS_PATH 192.0.2.1/32 x.x.x.x 110 2 > 192.0.2.1/32 y.y.y.y 100 2 経路制御の選択肢 (受信) – MED 制御 – QFFS#͔Βͷܦ࿏ʹ͍ͭͯ Ұํͷ.&%Λେ͖͘͢Δ
 େ͖ͳ஋Ληοτ͢ΔPS加算して大きくする  
  25. MY AS peer$ "4 peer# "4 ސ٬" transit" "4 prefix

    Next Hop 192.0.2.1/32 x.x.x.x 192.0.2.1/32 y.y.y.y prefix Next Hop 192.0.2.1/32 z.z.z.z SPVUFS͔Βಉ͡ܦ࿏Λड৴͍ͯ͠ ΔΑ͏ͳ৔߹Ͱ OFJHICPS୯ҐͰ༏ઌ ౓Λૢ࡞͍ͨ͠ prefix Next Hop IGP > 192.0.2.1/32 x.x.x.x 10 192.0.2.1/32 y.y.y.y 40 経路制御の選択肢 (受信) – IGP 制御 – ௨ৗͩͱ .:"4͔ΒݟͯYYYY ZZZZ΁ͷ*(1 DPTU͸྆ํ͕ͩ Ұํ͚ͩʹ͢Δ QSPUPDPMT\ JTJT\ QBTTJWF MFWFMEJTBCMF MFWFMNFUSJD ^ ^ ! +VOJQFSͷྫ  
  26. eBGP Policy の基本 (広告) MY AS ސ٬" ސ٬"ͷ ސ٬ ސ٬"ͷ

    transit ސ٬"ͷ peer transit" transit"ͷ transit tranit"ͷ peer peer" peer"ͷ ސ٬ peer"ͷ peer peer"ͷ transit transit"ͷ ސ٬ 顧客経路 + 自分の経路 のみ広告 w 顧客A から受信した経 路すべて w 自身の経路 顧客経路 + 自分の経路のみ広告 w 顧客A から受信した経路すべて w 自身の経路 すべての経路を広告 w 自身の経路 w peer A から受信した経路すべて w transit A から受信した経路すべて bogon filter はすべてに必要  
  27. prepend community とかどうですか? ސ٬ DPNNVOJUZ  AS_PATH   MY

    AS QFFS DPNNVOJUZ /" AS_PATH   顧客に ࣗ"4 ֎෦"4΁ͷ޿ࠂ࣌ͷ "4@1"5)Λ੍ޚͤ͞Δ  
  28. "4 "4 1.MEDをちゃんと付ける  MED *(1DPTU  MED ސ٬ 

    MED *(1DPTU AS2 が AS1 のMEDを 評価した場合の packet flow ͬͪ͜ͷ΄͏͕͍ۙ ͬͪ͜Λ༏ઌͯ͠ʂ  
  29. w NFUSJDPVUJHQ͕ศར w *(1DPTUΛ޿ࠂ࣌ͷ.&%ͱͯ͠ར༻ ! ! ! ! ! !

    ! ֎෦"4͕ৗʹ.&%ΛධՁͯ͘͠ΕΔͱ͸ݶΒͳ͍ w μϝ΋ͱͰ΋޿ࠂ͓ͯ͘͠Ձ஋͋Γ w ධՁͯ͠΋Β͍͍ͨͳΒ ަব QSPUPDPMT\ CHQ\ HSPVQFCHQ\ NFUSJDPVUJHQ OFJHICPSYYYY\^ ^ ^ ^ ! +VOJQFSͷྫ SPVUFSCHQYYYY  OFJHICPSZZZZSPVUFNBQFCHQ SPVUFNBQFCHQ  TFUNFUSJDUZQFJOUFSOBM ! $JTDPͷྫ  
  30. 2. 経路Filter w ಺෦ͷࡉ͔͍ܦ࿏͸޿ࠂ͠ͳ͍ w DPOOFDUFE EJSFDU ܦ࿏͸#(1ʹSFEJTUSJCVUF͠ͳ ͍ͳͲ w

    ͢Δͱ͖ʹ͸OPFYQPSUDPNNVOJUZΛ෇͚͓ͯ͘ w CPHPOͦͷଞɼJOUFSOFUʹྲྀ͢΂͖Ͱͳ͍ܦ࿏ؚ͕·Ε ͳ͍͔Λ࠶֬ೝ w remove-privateしておく QSJWBUF"4͸࡟ͬͯ޿ࠂ  
  31. 経路制御の選択肢 (広告) w ୭ʹର੍ͯ͠ޚ͢Δ͔ʹ͍ͭͯ w USBOTJUQFFS w "4@1"5)QSFQFOE w .&%ඍௐ੔

    w #(1DPNNVOJUZ Ұ෦USBOTJUͷΈ  w USBOTJU"4಺ͷ-1Λ੍ޚ w USBOTJU"4 ଞ"4ܦ࿏޿ࠂΛ੍ޚ ޿ࠂ͠ͳ͍QSFQFOE  w ܦ࿏޿ࠂΛࢭΊΔ ! w ސ٬ w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍  
  32. 経路制御の選択肢 (広告)
 – MED 制御 – "4 "4  MED

    *(1DPTU  MED ސ٬  MED *(1DPTU ͬͪ͜ͷ΄͏͕͍ۙ ͬͪ͜Λ༏ઌͯ͠ʂ  
  33. 経路制御の選択肢 (広告)
 – AS_PATH 制御 – peer" "4 MY AS

    "4 peer# "4 "4 "4 prefix AS_PATH 192.0.2.1/32 2 1 1 1 prefix AS_PATH 192.0.2.1/32 1 1 1 prefix AS_PATH 192.0.2.1/32 1 prefix AS_PATH 192.0.2.1/32 3 1 prefix AS_PATH 192.0.2.1/32 20 3 1 ͬͪ͜Λ༏ઌͯ͠΄͍͠ "4@1"5)ʹࣗ"4Λ༨෼ʹ͚ͭΔY  
  34. 経路制御の選択肢 (広告) w ޿ࠂܦ࿏ͷ੍ޚ͕ޮ͔ͳ͍৔߹΋ଟʑ͋Δ w ސ٬QFFSJOHQBSUOFSUSBOTJUఏڙऀʹ΋൴ΒͳΓͷ QPMJDZ͕͋ΔͷͰ ΍ΉΛಘͳ͍ w 接続しているtransit

    / peer のrouting設計を理解するこ とがすごく重要 w .&%͸ޮ͔͘  w "4@1"5)QSFQFOEՄೳ͔  w CFTUQBUI͸ͲͷQBUIBUUSJCVUFͰܾ·͍ͬͯΔ͔  w ੍ޚܥ#(1DPNNVOJUZ͸͋Δ͔  w そのような設計になっているのはなぜか? ! w ௚઀౴͑ͯ΋Β͑Ε͹ϥοΩʔ w ਪଌͷ஝ੵͰ΋े෼໾ཱͭ  
  35. ҎԼͷબ୒ࢶ͸ߴ͍֬཰ͰޮՌ͕ظ଴Ͱ͖Δ ! w #(1$PNNVOJUZ ! w ܦ࿏޿ࠂΛࢭΊΔ w ଟ͘ͷ৔߹ ৑௕ੑΛଛͳ͏

    w NPSFTQFDJGJDͳܦ࿏ʹ͢Δ Y  w ؅ཧ͕൥ࡶʹͳΔ 奥の手 !  
  36. "4 "4 TVC"4 "4 TVC"4 "4 TVC"4 J#(1 GVMMNFTI J#(1

    GVMMNFTI J#(1 GVMMNFTI 1. BGP Confederation 3PVUF3FGMFDUPS 33 ಉ༷ɼ#(1εέʔϥϏϦςΟΛ޲ ্ͤ͞Δٕज़ w ෳ਺ͷTVC"4ʹ෼ׂ͠ɼTVC"4ؒΛF#(1઀ଓ w IVCTQPLF͕ྑ͍ͱ͞ΕΔ "4 "4 AS_PATH AS_PATH  QSJWBUF"4 CBDLCPOF"4ͱ΋ AS_PATH  AS_PATH  TVC"4͸ "4@1"5)͔ Β削除される TVC"4಺ͷQSJWBUF"4 "4@1"5)ධՁ࣌ public AS扱い .&%ධՁ࣌無視 DPOGFEFSBUJPOF#(1 w -1 w .&% w OFYUIPQ ͸透過する IGP domain  
  37. w ར఺ w *(1EPNBJOΛ෼ׂͰ͖Δ w େن໛ʹͳΔͱෆ҆ఆʹͳΓ͕ͪͳ*(1΁ͷରࡦ w TVC"4୯ҐͰ#(1QPMJDZΛ෼͚ΒΕΔ w αʔϏεผࠃผΤϦΞผͳͲͰӡӦ฼ମΛ෼͚Δͱ͖ʹͽͬͨ

    ΓϋϚΔ w M&Aなどにより統合したnetworkを,1ASに移行するステップ として w ܽ఺ w TVC"4ͷن໛͕େ͖͘ͳΔͱJ#(1TFTTJPO਺ͦΕʹ൐ ͏ܦ࿏਺͕ෛՙʹͳΔ w CFTUͰ͸ͳ͍ ܦ࿏͕ଟ͍ SPVUFDPOWFSHFODFUJNF͕௕͍ ! TVC"4͕େ͖͘ͳ͖ͬͯͨΒɼTVC"4಺΁ͷ33ಋೖ΋0, #(1$POGFEFSBUJPOͱ33ͷซ༻  
  38. 2. next-hop self w ࣗ"4಺ͷUSBGGJDΛࡉ੍͔͘ޚ͍ͨ͠৔߹͸OFYUIPQ TFMG͠ͳ͍΄͏͕͍͍ w 経路制御の選択肢を1つ失う w ͨ͠΄͏͕͍͍৔߹΋͋Δ

    ޙड़ 意外と重要 ࣗ"4 J#(1 /)TFMG͋Γ Prefix NH 192.0.2.0/24 z.z.z.z 198.51.100.0/24 z.z.z.z Prefix NH 192.0.2.0/24 x.x.x.x 198.51.100.0/24 y.y.y.y  
  39. next-hop self したほうがいい場合 *9ܦ༝Ͱ΋Βͬͨܦ࿏ΛJ#(1ʹྲྀ͢ͱ͖ IUUQXXXKBOPHHSKQEPDKBOPHDPNNFOUKDUYU IX ࣗ"4   packet

    flow Prefix NH 192.0.2.0/24 x.x.x.x x.x.x.0/24 Prefix NH 192.0.2.0/24 x.x.x.x YYYY /) ʹ౸ୡ͢Δ ͷʹ*(1DPTU͕খ͍͞ ํΛબͿ dst MAC address を知らない 可能性がある  
  40. IX F#(1 YYYZ YYYY next-hop self したほうがいい場合 *9ܦ༝Ͱ΋Βͬͨܦ࿏Λಉ͡*9্ͷผͷF#(1ͷྲྀ͢ͱ͖ IUUQXXXKBOPHHSKQEPDKBOPHDPNNFOUKDUYU packet

    flow ࣗ"4 Prefix NH 192.0.2.0/24 x.x.x.x next-hop selfしないと ! Prefix NH 192.0.2.0/24 x.x.x.x Prefix NH 192.0.2.0/24 x.x.x.x Prefix NH 192.0.2.0/24 x.x.x.y Ͱ͋Δ΂͖ x.x.x.x(NH) に直接転送してしまう  
  41. 問題1: 直接peerしているのに
 trafficが流れてこない MY AS packet flow transitを 買っている peer

    peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer   "4 "4 "4
  42. 問題1: 直接peerしているのに
 trafficが流れてこない  "4@1"5)తʹ͸͍ۙͷʹɼผͷQFFS͔ΒUSBGGJD͕ೖͬͯ ͘Δ w ਤͷΑ͏ͳέʔεͰ"4಺ͷSPVUJOHΛม͑Δ͜ͱ͸ ࠔ೉ 

    QFFSͰ͸ͳ͘ɼUSBOTJU͔ΒUSBGGJD͕ೖͬͯ͘Δ w ͪ͜Β͸ͳΜͱ͔ͳΔ͔΋ "4 "4 MY AS "4 packet flow transitを 買っている peer peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer  
  43. ◦␣ AS1にメールする (またはAS3にメールする) "4΁ͷܦ࿏޿ࠂΛૢ࡞͢Δ USBOTJUશମʹӨڹ͢ΔͷͰɼ
  جຊతʹ͸ྑ͘ͳ͍ ◦␣ (もし提供していれば) AS3のBGP

    communityを使い,AS1に対して経路を 止める ˚"4΁ͷܦ࿏޿ࠂΛNPSFTQFDJGJDʹ w "4 .:"4΁ͷUSBGGJDͳͲɼର৅֎ͷUSBGGJD΋Ҿ͖ࠐΜͰ͠·͏ w OPFYQPSUΛ͚ͭΕ͹0, ΋͠"4͕ఏڙ͍ͯ͠Ε ͹ μϝ΋ͱͰ"4ͷ#(1 DPNNVOJUZΛ෇༩ͯ͠"4 ʹܦ࿏޿ࠂͯ͠ΈΔͷ΋Ұ ख "4 "4 MY AS "4 packet flow transitを 買っている peer peer transitを 売っている transitを 買っている transitを 売っている peer 答え: 直接peerしているのに trafficが流れてこない  
  44. ◦␣ (特定ASからのtrafficが大きい場合) 直接peerする ◦␣ transit1への経路広告時にAS_PATH prepend w ܦݧతʹ͍ͭ͘΋QSFQFOEͯ͠΋ޮՌ͸ബ͍ w ܦݧతʹ͸ݶք͸

    ఔ౓ɽ QSFQFOEͯ͠ޮՌ͕ͳ͚Ε͹ɼ૿ ΍ͯ͠΋ͨͿΜಉ͡ ◦␣ (もし提供していれば) transit1のBGP communityを使い,transit1
 内でのLPを下げる ! ˚ஸ౓͍͍WPMVNFͷܦ࿏ʹ͍ͭͯɼ w USBOTJU΁ͷ޿ࠂΛNPSFTQFDJGJDʹ w USBOTJU΁ͷܦ࿏޿ࠂΛࢭΊΔ 答え: transit間で trafficを動かしたい transit 1 MY AS transit 2 packet flow গ͠ Ҡ͍ͨ͠  
  45. peer1, peer2 のASNが 違うので,MED操作が 効かない !! 答え: peer間でtrafficを 動かしたい peer

    1 MY AS peer 2 packet flow গ͠ Ҡ͍ͨ͠ ◦␣ peer1への経路広告時にAS_PATH prepend w ܦݧతʹ͍ͭ͘΋QSFQFOEͯ͠΋ޮՌ͸ബ͍ w ܦݧతʹ͸ݶք͸ ఔ౓ɽ QSFQFOEͯ͠ޮՌ͕ͳ͚Ε͹ɼ ૿΍ͯ͠΋ͨͿΜಉ͡ ◦␣ (もしpeer1と複数peerしているなら) trafficをどけたいpeer1との
 eBGP sessionでのみ特定の経路広告を止める ! ˚ஸ౓͍͍WPMVNFͷܦ࿏ʹ͍ͭͯɼ w QFFS΁ͷ޿ࠂΛNPSFTQFDJGJDʹ w QFFS΁ͷܦ࿏޿ࠂΛࢭΊΔ  
  46. w QFFSؒͰ5&͍ͨ͠ཧ༝ w ඼࣭͕ѱ͍͔Β w ࣌ؒଳʹΑΓ᫔᫓͢Δ w MBUFODZ͕େ͖͍ w QBJEQFFS͔ͩΒ

    w ͳ͔ͥ͸෼͔Βͳ͍͕ސ٬ʹґཔ͞Ε͔ͨΒ 補足: peer間でtrafficを 動かしたい  
  47. 問題4: peer間でよくある traffic移動 peer" MY AS peer"ͷ ผͷ peer ސ٬"

    packet flow  ϝϯςφϯε #(1EPXO  USBGGJD͕ ҠΔ  ϝϯςφϯε͕ ऴΘͬͯ΋໭Βͳ͍  
  48. 答え?: peer間などでよくある traffic移動 peer" MY AS peer"ͷ ผͷ peer ސ٬"

    w ໭͢ͷ͸ࠔ೉ w F#(1ؒͷCFTUQBUITFMFDUJPO͸SPVUFS*%Ͱ͸ͳ͘ lܦ࿏ͷੜଘظؒzͰܾఆ͢Δ৔߹͕ଟ͍ packet flow  
  49. ·ͣ3͔Βग़ΔUSBGGJDͷҰ෦Λ3ʹҠͤͳ͍͔ߟ͑Δ ! w 3 3྆ํͰQFFS͍ͯͯ͠ɼސ٬Ͱ͸ͳ͍"4͕͋Ε͹ɼ3Ͱͷܦ࿏ड৴ ࣌ʹಛఆܦ࿏ʹ͍ͭͯ ! -1ΛԼ͛Δ ੍ޚ͕ڧ͗͢Δr
 

     "4@1"5)͕ޮ͔ͳ͘ͳΔ  ˚"4@1"5)QSFQFOE ੍ޚ͕·ͩগʑ
   ڧ͍ɽࣗ"4಺શҬʹӨڹΛ༩͑Δ  ! ◦␣ MED を追加する ◦␣ (MED を制御に使えない場合) passive IGP costを付ける ͦͷ#(1TFTTJPOશମʹӨڹ͠ɼ
 UPQPMPHZʹΑͬͯ͸ܶతʹมԽ͢ΔͷͰ஫ҙ 答え: 自AS網内の traffic balanceを変えたい ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠  
  50. ͪΐ͏Ͳ͍͍Ҡಈର৅USBGGJD͕ͳ͔ͬͨΒ ! ˚ R1 R2 R4 trafficをR1 R3 R5 R4


    にできないか考える ! w 33ͷ*(1DPTUΛ্͛Δ
 Өڹൣғ͕େ͖͍ͷͰ஫ҙ  w Ұ࣌తͳରԠʹ͸࢖͑Δ͔΋ ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠  
  51. ͪΐ͏Ͳ͍͍Ҡಈର৅USBGGJD͕ͳ͔ͬͨΒ ! ◦␣ R1 R2 traffic をR1 R3 R2 にできないか考える

    w 3͕͍࣋ͬͯΔF#(1TFTTJPOͷ͏ͪɼ
 TFTTJPO୯ҐͷUSBGGJD߹ܭͰஸ౓͍͍΋ͷ͕͋Ε͹ 
 OFYUIPQʹͳ͍ͬͯΔDPOOFDUFEQSFGJY
 JQWͳΒͳͲ ΁ͷTUBUJD
 ܦ࿏Λ3Ͱ3޲͚ʹઃఆ͢Δ ! (iBGPでnext-hop selfして
 いない場合に限る. また構成に
 よってはrouting loopが起きる
 可能性があるので注意) ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠  
  52. ˚෺ཧతͳมߋΛ൐͏ΞΠσΞ w 33 33΋ ʹMJOLΛ௥Ճ w 333333Ͱ&$.1Λޮ͔͢ w 3 3

    3USBGGJDͷ൒෼͕3 3 3ʹҠΔ w ऩ༰Λม͑Δ 3 3  ˚ͦͷଞ w 3 3͕ಉ͡*9ʹ઀ଓ
 ͍ͯ͠ΔͳΒ w J#(1ͷOFYUIPQTFMG Λ΍ΊΔ w 3 3 3 
 3 3 3͕όϥϯε ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠  
  53. MPLS-TE w ࣗ"4໢಺ͷUSBGGJDCBMBODFΛࣗಈͰ੍ޚ͢Δٕज़ w ۭ͖ଳҬΛࣗಈͰ୳͠ ͦ͜΁SPVUJOH w 2P4΋Մೳ w .1-4

    .VMUJ1SPUPDPM-BCFM4XJUDIJOH   3471 3F4FS7BUJPO1SPUPDPM  w *11BDLFUʹMBCFMΛ͚ͭͯΧϓηϧԽ w Ծ૝తͳτϯωϧ -41-BCFM4XJUDIJOH1BUI Λͭ͘Δ  
  54. w ར఺ w खಈ5&͔Βͷ։์ w ଳҬઃܭ͕ϥΫ w ࠷ѱSFSPVUFͯ͘͠ΕΔ w ܽ఺

    w PWFSMBZNPEFM w MBCFMPWFSIFBE w -41TJ[FΛઃఆ͢ΔͨΊɼ೔ʑ-41ຖͷUSBGGJD ྔΛΧ΢ϯτ͢Δඞཁ͕͋Δ w BVUPNBUJDCBOEXJEUIʹظ଴ MPLS-TE  
  55. peering 判断の基本 USBOTJUίετΛ཈͑Δ͜ͱ͕ओͳ໨త w QFFSΛ͢Δ"4ϗϧμʔಉ࢜ͷྗؔ܎ʹ΋ΑΔ͕ w QFFS͢Δ͜ͱͰίετϝϦοτ͕͋Δ w ͓ޓ͍ͷϏδωεΛ৵֐͠ͳ͍ͳͲ ྆ऀͷQFFSJOH

    QPMJDZΛຬͨͯ͠ॳΊͯQFFSJOHΛߦ͏ ! w lίετϝϦοτ͕͋Δz͜ͱͷ໨҆ͱͯ͠
 zUSBGGJD͕ .CQTग़Δ͜ͱzͱ͍͏৚͕݅ ͋Δ৔߹΍ɼ ଓ͘  
  56. w l͓ޓ͍ͷϏδωεΛ৵֐͠ͳ͍z৚݅ͱͯ͠ෳ ਺Ϧʔδϣϯෳ਺101Ͱͷ઀ଓΛ৚݅ͱ͢Δ *41΋͍Δ "TJBSFHJPO 64SFHJPO lOFUXPSLͷن໛͕ ಉ͘͡Β͍zͱ͍͏ ໨҆ʹ΋ͳΔ "4

    ຊڌ஍"TJB "4 ຊڌ஍64 ࣗ෼ͷܦ࿏Λ ࣗ෼ͷ Ϗδωεڌ఺ͷۙ͘Ͱ ౉ͨ͘͠ͳ͍ QFFSJOHQBSUOFS͸ͦ ͷܦ࿏ͰϏδωε͕Ͱ ͖ΔՄೳੑ͕͋Δ  
  57. w "4ϗϧμʔಉ࢜ͷྗؔ܎ʹΑΓ w QBJEQFFS w l͋Δ஍ҬͰUSBOTJUΛങ͑͹ɼผͷ஍ҬͰQFFSͰ͖Δz ͱ͍͏όʔλʔ ͷΑ͏ͳܗଶ΋͋Δ ! w

    XXXQFFSJOHECDPNʹ͋Δఔ౓·ͱΊΒΕ͍ͯ Δɽz(FOFSBM1PMJDZz͕l0QFOzͳ"4ϗϧμʔ ͸QFFSJOHʹԠͯ͘͡ΕΔՄೳੑେ w XFCPSNZTRMͰҰཡ͕औಘͰ͖Δ $ mysql -r -hpeeringdb.com -upeeringdb -ppeeringdb Peering mysql> SELECT asn, name, aka, policy_locations, policy_ratio FROM peerParticipants WHERE policy_general IN ('Open') ORDER BY asn;  
  58. peering 判断の基本 w *$1ʹͱͬͯ *41ͱͷQFFSJOHʹΑΓzϏδωε͕৵֐z ͞ΕΔՄೳੑ͸௿͍ͨΊɼ୯७ʹzίετϝϦοτ͕͋ Δ͔ z͕QFFSJOH൑அͷେ͖ͳධՁ࣠ʹͳΔ৔߹͕ଟ͍ ! w

    Ұํɼ*$1͸ଞͷ*$1ͱQFFSJOH͢ΔϝϦοτ͸͋Δ  w ΞϓϦϏδωεϓϥοτϑΥʔϜͷ࿈ܞ w ଞࣾ"1*ͷར༻ ͳͲ͸૿͑ͯ͘ΔݟࠐΈ  
  59. transit providerの filterを制御する w Ͳ͔͜ͷ*OUFSOFU3PVUJOH3FHJTUSZ *33 ʹొ࿥͢Δ ඞཁ͕͋Δ w ೔ຊͰΑ͘࢖ΘΕ͍ͯΔ΋ͷ

    w +1*33 KQJSSOJDBEKQ  w +1/*$ձһͷΈ w 3"%# XIPJTSBECOFU  w ༗ঈ Z  w /55$0. SSOUUOFU  w OUUOFUϢʔβʔͷΈ ! ͓ޓ͍ʹNJSSPS͍ͯ͠ΔͨΊɼͲ͔͜Օॴʹొ࿥͢ Ε͹Α͍ ͜ͷ*33ͷ৘ใΛ ͍࣋ͬͯΔ͔ +1*33 3"%# /55$ 0. ͜ͷ *33͕ +1*33 ˓ ˓ º 3"%# ˓ ˓ ˓ /55$0 . ˓ ˓ ˓  
  60. http://www.nic.ad.jp/doc/jpnic-01077.html に丁寧な解説がある ! w ͍͔ͭ͘ͷPCKFDUΛొ࿥͢Δ w .BJOUBJOFS w "VUOVN w

    3PVUF w "44FU ! w ొ࿥ͨ͠"44FUPCKFDUΛUSBOTJUQSPWJEFSʹ఻͑Δ w XXXQFFSJOHECDPNʹ΋ొ࿥͓ͯ͘͠ IRR への登録  
  61. l細かいことはpeering dbを見てくださいz
 ですむので便利 w XXXQFFSJOHECDPN w ৘ใӾཡ͸HVFTUΞΧ΢ϯτͰ0, w ࣗ"4ͷ৘ใΛొ࿥͢Δʹ͸
 Ϣʔβʔొ࿥

    σʔλϕʔεӡӦऀͷঝೝ͕ඞཁ w NBJMBEESFTTͷEPNBJOΛݟΒΕΔͷͰ "4ͱͷؔ ࿈͕໌Β͔ͳNBJMBEESFTTΛ࢖͏ peering db  
  62. w "4ͷجຊ৘ใ w ໊લ w "4/ w छผ *41*$1ͳͲ 

    w USBGGJDMFWFM w MPPLJOHHMBTTSPVUFTFSWFS63- w JQWNVMUJDBTUJQW w peering policy w PQFOTFMFDUJWFSFTUSJDUJWF/P w ෳ਺ڌ఺ͰͷQFFSΛ৚݅ʹ͢Δ͔  w JOPVUͷUSBGGJDൺ཰Λ৚݅ʹ͢Δ͔ w ࿈བྷઌ w ઀ଓ*9 QVCMJDQFFS༻  w ໊લ w ଳҬ w 101 QSJWBUFQFFS༻  w %$໊ w *OUFSGBDFछผ QFFSJOHECʹ͸ ͍Ζ͍ΖهࡌͰ͖Δ  
  63. 経路奉行 w +1*33ʹొ࿥͢Δͱ͍͍͜ͱ͕͋Δ w #(1SPVUFIJKBDLJOHΛݕ஌௨஌ͯ͘͠ΕΔ w IUUQXXXOJDBEKQKBJQJSSKQJSS@FYQIUNM w *4"MBSN #(1.0/

    Έ͍ͨͳ΋ͷ *4"MBSN
 IUUQXXXSJQFOFUJTBMBSNT #(1.0/ IUUQXXXCHQNPOOFU route: 202.12.30.0/24 descr: JPNICNET Japan Network Information Center Kokusai Kogyo Kanda Bldg. 6F 2-3-4 Uchi-Kanda Chiyoda-ku, Tokyo 101-0047 JAPAN X-Keiro: [email protected] <--௥Ճهड़ X-Keiro: [email protected] <--ෳ਺͋ͯઌʹ௨஌͢Δ৔߹هड़ origin: AS2515 admin-c: SN3603JP tech-c: YK11438JP tech-c: MO5920JP notify: [email protected] mnt-by: MAINT-AS2515 changed: [email protected] 20080116 source: JPIRR  
  64. route server "4 w F#(1TFTTJPOΛTDBMFͤ͞Δٕज़ w ओʹ*9Ͱར༻͞Ε͍ͯΔ w ௨ৗͷQFFSJOHͷख๏ CJMBUFSBM

    ͱSPVUFTFSWFSܦ༝ͷQFFSJOHͷख๏ NVMUJMBUFSBM Ͱɼ3*#ͷத਎͕΄΅ಉ͡ w remote AS(この例ではAS10)はAS_PATHに載らない w eBGP session数を減らすことで運用をラクに w PQFOQPMJDZͷ"4ϗϧμʔ޲͖ IX route server "4 Prefix AS_PATH 192.0.2.0/24 1  
  65. 今日の目的   w BGPの設計を決める際に考えないといけないこと Λ͔ͭ Ή ! w l#(1TFTTJPOͷઌʹ͍Δ"4

    ސ٬QFFSJOHQBSUOFS USBOTJUఏڙऀ ʹ΋ݸผͷSPVUJOHQPMJDZ͕͋Δzͱ͍ ͏؀ڥͰ どうやって自分の思うようにtraffic control するか? Λཧղ͢Δ