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

Practical BGP Routing

Practical BGP Routing

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

Shintaro Kojima

November 26, 2013
Tweet

More Decks by Shintaro Kojima

Other Decks in Technology

Transcript

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

    ຊ೔ͷεϥΠυ͸ https://speakerdeck.com/codeout/practical-bgp-routing ʹ͋Γ·͢  
  2. Agenda w BGP とは? w BGP の設計を考えよう w BGP の運用を考えよう

    • 道具を箱に詰めよう • Communityの一員になろう  
  3. 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を実装Ͱ͖Δ  
  4. 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  
  5. 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   
  6. 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  
  7. BGPルーティング w BGPの設計を決める際に考えないといけないこと ʹ͍ͭͯ࿩ ͠·͢ ! w l#(1TFTTJPOͷઌʹ͍Δ"4 ސ٬QFFSJOHQBSUOFS USBOTJUఏڙऀ

    ʹ΋ݸผͷSPVUJOHQPMJDZ͕͋Δzͱ͍͏؀ ڥͰ どうやって自分の思うようにtraffic controlするか? Λཧղͯ͠΋Β͏͜ͱΛ໨తͱͯ͠ w ࢲ͕࢖͍ͬͯΔख๏ͷ঺հ w ͦͷղઆ ΋͠·͢  
  8. • addressing • eBGP policy / 設計 • 経路広告 •

    経路受信 • iBGP policy / 設計  
  9. BGP 設計  network policyを決める  可用性 ͲͷϨϕϧͷো֐ʹ଱͑͏Δ͔ 101SPVUFSᝑମ NPEVMFճઢిݯઃඋ

      品質 QBDLFUMPTT཰ KJUUFSY NT
 MBUFODZ!೔ຊࠃ಺ NT   運用性  拡張性  security  DPTU (QPSU͋ͨΓ ඦສԁ  !  OFUXPSLQPMJDZΛຬ࣮ͨ͢૷ͷͻͱͭͱͯ͠ɼOFUXPSLΛઃܭ͢Δ  101഑ஔ%$બఆ  DBCMFQBUI  ऩ༰ઃܭ  ػثબఆ  
  10. BGP 設計  ઃܭͨ͠OFUXPSLʹどうpacketを流すか?
 SPVUJOHQPMJDZΛܾΊΔ ௨ৗTFSWJDF͝ͱʹQPMJDZ͕มΘΔ   ͲͷΑ͏ͳ৘ใΛྲྀ͔͢ 

     ސ٬ʹͲͷΑ͏ͳOFUXPSLTFSWJDFΛఏڙ͢Δ͔  ޷·͍͠QPMJDZ͕࡞Εͳ͍৔߹ɼOFUXPSLΛݟ௚͢ඞཁ͕͋Δ͔΋ !  SPVUJOHQPMJDZΛຬͨ͢Α͏ɼSPVUJOH *(1&(1 Λઃܭ͢Δ  QSPUPDPM͸   SPVUFSFGMFDUPS 33 PSDPOGFEFSBUJPO   Ͳͷ৘ใΛͲ͜ʹྲྀ͢  ͏·͘ઃܭͰ͖ͳ͍৔߹ɼSPVUJOHQPMJDZΛݟ௚͢ඞཁ͕͋Δ͔΋  
  11. 教科書的な中規模Network ސ٬ static / eBGP POP A POP B eBGP

    eBGP gateway backbone aggregation Internet OSPF / iBGP  
  12. ސ٬ POP A POP B たぶん理想的にはこう w SPVUFSͷ集約ʹΑΔ౷ ܭଟॏޮՌ w

    WJSUVBMDIBTTJTͳͲ ʹΑΔ論理台数の削減 w QPMJDZΛ෼͚Δඞཁ͕ ͋Ε͹ WJSUVBM SPVUFSͳͲʹΑΔ分離 w γϯϓϧͳӡ༻ Internet  
  13. BGP 設計 / Addressing w ໨తʹԠͯ͡CMPDLΛܾΊΔ w MPPQCBDL QQ w

    ސ٬ׂΓ౰ͯ ! w Ͱ͖ΔݶΓू໿Մೳʹ w TFDVSJUZ w シンプルに ! w େن໛OFUXPSLͷ৔߹ w ڌ఺஍Ҭ͝ͱʹ
 BEESFTTCMPDLΛ෼͚Δ ސ٬ peering partner 顧客割り当て: 192.0.2.0/24 p2p (inter AS): 203.0.113.4/30 p2p (intra AS): 198.51.100.128/30 loopback: 198.51.100.1/32 p2p (inter AS): 203.0.113.0/30  
  14. UZQF ༻్ QSFpY௕ SPVUJOH ֎෦΁ JOGSB༻ MPPQCBDL JQW JQW ޿ࠂ͠ͳ͍

     JOGSB "4ڥք༻ QQ JQW JQW  ޿ࠂ͠ͳ͍  ސ٬༻ ׂΓ౰ͯ 4FSWFS48 JQWd JQW JQW JQW #(1ސ٬ͷΈ޿ࠂ ͢Δ    ΋࢖͑Δ͔΋ ࣮૷ґଘ   <3'$>6TJOH#JU1SFGJYFTPO*1W1PJOUUP1PJOU-JOLT  <3'$>6TJOH#JU*1W1SFGJYFTPO*OUFS3PVUFS-JOLT  TVQFSOFUͱͯ͠޿ࠂ͢Δ  TFDVSJUZͷͨΊ޿ࠂ͠ͳ͍ͱ͍͏ΞΠσΞ΋͋Δ͕ 
  外部からの到達性確認のため広告することを推奨  static顧客,infra networkの経路はsupernetのみ広告 ྫ ࠷௿ݶ͜Ε͚ͩ෼͚͍ͯΕ͹े෼   
  15. w MPPQCBDLBEESFTT΁ͷTTI͸DQVͷ
 खલͰQBDLFUGJMUFSΛ௨͢ w network edgeは多すぎて設定し 忘れる ! ! !

    ! ! ! ! w MPPQCBDLBEESFTT͕૿͑͗͢Δͱɼ "$-ͷϝϯςφϯε͕ࠔ೉ʹͳΔ
 用途別にできる限り集約 JOUFSGBDFT\ MP\ VOJU\ GBNJMZJOFU\ pMUFS\ JOQVUTTI@pMUFS ^ ^ ^ ^ ^ ! pSFXBMM\ pMUFSTTI@pMUFS\^ ^ ! +VOJQFSͷྫ QPMJDZNBQTTI@pMUFS DMBTT QPMJDF ! DPOUSPMQMBOF TFSWJDFQPMJDZJOQVUTTI@pMUFS ! $JTDPͷྫ ◦  
  16. ! w QQCMPDL΋ͳΔ΂͘ू໿Մೳʹ w ܦ࿏͕૿͑ΔͱSPVUFS΁ͷෛՙ͕ɽɽɽ w シンプルな設計は,理解しやすい w BEESFTTΛݟͯɼͲͷ΁ΜͷMPPQCBDL QQ

    BEESFTT͔ਪଌͰ͖Δ͚ͩͰӡ༻εϐʔυ͕ ্͕Δ NTNTNT NTNTNT NTNTNT NTNTNT NTNTNT NTNTNT NTNTNT 8 198.172.90.101 116.817 ms 105.842 ms 128.241.219.17 106.500 ms 9 129.250.4.9 115.313 ms 129.250.5.54 96.205 ms 107.022 ms 10 129.250.4.24 152.412 ms 129.250.2.169 148.279 ms 142.641 ms 11 129.250.2.154 142.619 ms 129.250.2.174 139.038 ms 129.250.3.67 145.834 ms 12 129.250.17.38 148.640 ms 147.068 ms 129.250.17.42 154.900 ms  
  17. w ސ٬ׂΓ౰ͯCMPDL΋ͳΔ΂͘ू໿Մೳʹ w USBGGJDFOHJOFFSJOH 5& ͠΍͍͢ ސ٬ POP A POP

    B eBGP Internet ސ٬ ڌ఺"ͷސ٬QSFGJY͸ *OUFSOFUʹ޿ࠂͨ͘͠ͳ͍ w 101͝ͱʹQSFpYΛ ෼͚͍ͯͳ͍ͱίϯτ ϩʔϧͰ͖ͳ͍ ! w ࣮ࡍ͸ͳ͔ͳ͔
 ೉͍͠ɽɽɽ  
  18. eBGP Policy を考えるポイント w どんな経路Λ w どんなeBGP session͔Β΋Β͏͔  ΋ΒΘͳ͍͔

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

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

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

    packet flow packet flow 受信Policy ࣗ"4網内ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ 広告Policy ࣗ"4網外ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ  
  22. 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 (通常流れてこない)  
  23. 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 顧客 A から受信した経路すべて w 自身の経路 w peer A から受信した経路すべて w transit A から受信した経路すべて bogon filter はすべてに必要  
  24. 経路の各path attributeは 誰のもの? w ҎԼͷΑ͏ͳػೳΛఏڙ͍ͯ͠Δ*41΋
 IUUQPOFTDOFUDPNNVOJUJFT w ސ٬ܦ࿏ͷMEDを上書きしない w ࣗ"4಺Ͱͷlocal

    preference(LP)を制御する BGP communityΛސ٬޲͚ʹఏڙ͢Δ ސ٬ 経路受信 MED   Community  ࣗ"4 LP   MED  MEDを上書きしない LPを制御させる 7521:110 = LP110  
  25. eBGP Policy 設計例 (受信) ༏ઌ౓ ܦ࿏छผ -1 .&%  ސ٬

    d ্ॻ͖͠ͳ͍  ࣗ"4  ͳ͠  QFFS  ্ॻ͖ े෼େ͖ͳ஋  USBOTJU  ্ॻ͖ Λ·͍ͨͰ਺ஈ֊ EFGBVMU  w ෯ʹ༨༟Λ΋ͬͯ਺஋Λઃఆ w -1ͷEFGBVMU஋͕ͷ࣮૷͕ଟ͍ͷͰ 
 ҆શΛظ͢ͳΒ-1ͷ஋͸ w 基本的に, 受け取った経路は使う w ྫ͑͹QFFS͔ΒlQFFSͷQFFSܦ࿏zΛड৴ͨ͠ͱͯ͠ɼ ૬खͷઃఆϛ εͷՄೳੑେ͕ͩ ڋ൱͢Δཧ༝͸ಛʹͳ͍ w ࢖͍ͨ͘ͳ͍ཧ༝͕͋Ε͹ผ ༏ઌ౓ΛԼ͛ΔPSڋ൱͢Δ  w ᫔᫓ͦ͠͏ɼͳͲ  
  26. – 解説 – ༏ઌ౓ ܦ࿏छผ -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 ΋͋Δ  
  27. eBGP Policy 設計例 (受信) – 経路Filter – ސ٬ܦ࿏ͷ༏ઌ౓͕ඇৗʹߴ͍ͨΊɼࡉ͔͘νΣοΫ ͢Δඞཁ͕͋Δ w

    IRRベース が理想的 w සൟʹϝϯςφϯεͰ͖ΔͷͰ͋Ε͹ खಈͰ΋໰୊ͳ͍͔΋͠ Εͳ͍ w GJMUFSํ๏ͷީิ w FYBDUNBUDIͳQSFGJYGJMUFS w FYBDUNBUDIͳQSFGJYGJMUFSPSJHJO"4GJMUFS ! w bogon prefix, 自ASのprefixは経路filterで除外 w #(1DPNNVOJUZ͸ಁաతʹѻ͏  
  28. 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ͳͲ  
  29. "4 "4 eBGP Policy 設計例 (受信) – 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  
  30. 経路制御のオプション (受信) Ͳͷܦ࿏Λ༏ઌ͢Δ͔ʹ͍ͭͯ w USBOTJUQFFSܦ࿏ w -1ͷඍௐ੔ w "4@1"5)QSFQFOE w

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

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

    w "4@1"5) w QSFGJY ͷॱͰૢ࡞ ྫ͑͹QSFGJY͸͕࣌ؒܦͭͱมԽ͢ΔՄೳੑ͕ߴ͍  
  33. 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ͷྫ  
  34. 経路制御のオプション (受信) – 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ΛԼ͛Δ  
  35. 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加算して大きくする  
  36. 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ͷྫ  
  37. eBGP Policy 設計例 (広告) w ࣗ"4͕࣋ͭ͢΂ͯͷܦ࿏ GVMMSPVUF Λސ٬ʹ w ސ٬͔Βͷ͢΂ͯͷܦ࿏

    ࣗ"4ͷܦ࿏Λ w USBOTJUʹ w QFFSʹ ޿ࠂ w ܦ࿏ͷछผʹΑΔzϚʔΫzΛ#(1DPNNVOJUZͱͯ͠ ෇༩͢Δͱސ٬͸ศརʹ࢖͑Δ  IUUQXXXVTOUUOFUTVQQPSUQPMJDZSPVUJOHDGN w ֎෦"4͔Βɼどの地域Ͱड͚औ͔ͬͨ  w ֎෦"4ͱ͸ɼtransit͔ peer͔ 顧客͔  
  38. w QSFQFOEDPNNVOJUZ ྫ ސ٬ DPNNVOJUZ  AS_PATH   MY

    AS QFFS DPNNVOJUZ /" AS_PATH   顧客に ࣗ"4 ֎෦"4΁ͷ޿ࠂ࣌ͷ "4@1"5)Λ੍ޚͤ͞Δ  
  39. "4 "4 w .&%༏ઌ౓Λ͚ͭͯ޿ࠂ͢Δ  MED *(1DPTU  MED ސ٬

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

    ! ֎෦"4͕ৗʹ.&%ΛධՁͯ͘͠ΕΔͱ͸ݶΒͳ͍ w μϝ΋ͱͰ΋޿ࠂ͓ͯ͘͠Ձ஋͋Γ w ධՁͯ͠΋Β͍͍ͨͳΒ ަব QSPUPDPMT\ CHQ\ HSPVQFCHQ\ NFUSJDPVUJHQ OFJHICPSYYYY\^ ^ ^ ^ ! +VOJQFSͷྫ SPVUFSCHQYYYY  OFJHICPSZZZZSPVUFNBQFCHQ SPVUFNBQFCHQ  TFUNFUSJDUZQFJOUFSOBM ! $JTDPͷྫ  
  41. eBGP Policy 設計例 (広告) – 経路Filter – w ಺෦ͷࡉ͔͍ܦ࿏͸޿ࠂ͠ͳ͍ w

    DPOOFDUFE EJSFDU ܦ࿏͸#(1ʹSFEJTUSJCVUF͠ͳ ͍ͳͲ w ͢Δͱ͖ʹ͸OPFYQPSUDPNNVOJUZΛ෇͚͓ͯ͘ w CPHPOͦͷଞɼJOUFSOFUʹྲྀ͢΂͖Ͱͳ͍ܦ࿏ؚ͕·Ε ͳ͍͔Λ࠶֬ೝ w SFNPWFQSJWBUF͓ͯ͘͠ QSJWBUF"4͸࡟ͬͯ޿ࠂ  
  42. 経路制御のオプション (広告) w ୭ʹର੍ͯ͠ޚ͢Δ͔ʹ͍ͭͯ w USBOTJUQFFS w "4@1"5)QSFQFOE w .&%ඍௐ੔

    w #(1DPNNVOJUZ Ұ෦USBOTJUͷΈ  w USBOTJU"4಺ͷ-1Λ੍ޚ w USBOTJU"4 ଞ"4ܦ࿏޿ࠂΛ੍ޚ ޿ࠂ͠ͳ͍QSFQFOE  w ܦ࿏޿ࠂΛࢭΊΔ ! w ސ٬ w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍  
  43. 経路の各path attributeは 誰のもの? w ҎԼͷΑ͏ͳػೳΛఏڙ͍ͯ͠Δ*41΋
 IUUQPOFTDOFUDPNNVOJUJFT w ސ٬ܦ࿏ͷMEDを上書きしない w ࣗ"4಺Ͱͷlocal

    preference(LP)を制御する BGP communityΛސ٬޲͚ʹఏڙ͢Δ ސ٬ 経路受信 MED   Community  ࣗ"4 LP   MED  MEDを上書きしない LP を制御させる 7521:110 = LP110 再掲  
  44. w QSFQFOEDPNNVOJUZ ྫ ސ٬ DPNNVOJUZ  AS_PATH   MY

    AS QFFS DPNNVOJUZ /" AS_PATH   顧客に ࣗ"4 ֎෦"4΁ͷ޿ࠂ࣌ͷ "4@1"5)Λ੍ޚͤ͞Δ 再掲  
  45. 経路制御のオプション (広告)
 – 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  
  46. 経路制御のオプション (広告)
 – MED 制御 – "4 "4  MED

    *(1DPTU  MED ސ٬  MED *(1DPTU ͬͪ͜ͷ΄͏͕͍ۙ ͬͪ͜Λ༏ઌͯ͠ʂ  
  47. 経路制御のオプション (広告) w ޿ࠂܦ࿏ͷ੍ޚ͕ޮ͔ͳ͍৔߹΋ଟʑ͋Δ w ސ٬QFFSJOHQBSUOFSUSBOTJUఏڙऀʹ΋൴ΒͳΓͷ QPMJDZ͕͋ΔͷͰ ΍ΉΛಘͳ͍ w 接続しているtransit

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

    w NPSFTQFDJGJDͳܦ࿏ʹ͢Δ Y  w ؅ཧ͕൥ࡶʹͳΔ 奥の手 !  
  49. iBGP Policy を考えるポイント w OFUXPSLͷதͰͲ͜·Ͱ#(1Λಈ࡞ͤ͞Δ͔  w ͳΔ΂͘%'; %FGBVMU'SFF;POF ͕޷·͍͠

    w J#(1GVMMNFTIͷεέʔϧ͸  ! w #(1Λಈ࡞ͤ͞ͳ͍SPVUFS΍EFGBVMUSPVUF͕ଘ ࡏ͢Δ৔߹͸SPVUJOHMPPQʹ஫ҙ w J#(1GVMMNFTI͕εέʔϧ͠ͳ͘ͳͬͨΒ w 3PVUF3FGMFDUPSPS#(1$POGFEFSBUJPO  
  50. "4 "4 TVC"4 "4 TVC"4 "4 TVC"4 J#(1 GVMMNFTI J#(1

    GVMMNFTI J#(1 GVMMNFTI 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  
  51. w ར఺ w *(1EPNBJOΛ෼ׂͰ͖Δ w େن໛ʹͳΔͱෆ҆ఆʹͳΓ͕ͪͳ*(1΁ͷରࡦ w TVC"4୯ҐͰ#(1QPMJDZΛ෼͚ΒΕΔ w αʔϏεผࠃผΤϦΞผͳͲͰӡӦ฼ମΛ෼͚Δͱ͖ʹͽͬͨ

    ΓϋϚΔ w ."ͳͲʹΑΓ౷߹ͨ͠OFUXPSLΛɼ"4ʹҠߦ͢Δεςοϓͱ ͯ͠ w ܽ఺ w TVC"4ͷن໛͕େ͖͘ͳΔͱJ#(1TFTTJPO਺ͦΕʹ൐ ͏ܦ࿏਺͕ෛՙʹͳΔ w CFTUͰ͸ͳ͍ ܦ࿏͕ଟ͍ SPVUFDPOWFSHFODFUJNF͕௕͍ ! TVC"4͕େ͖͘ͳ͖ͬͯͨΒɼTVC"4಺΁ͷ33ಋೖ΋0, #(1$POGFEFSBUJPOͱ33ͷซ༻  
  52. BGP Confederation Route Reflector BGP Confederation vs. RR w #(1$POGFEFSBUJPO

    w #(1QPMJDZΛ෼͚͍ͨ w *(1EPNBJOΛ෼͚͍ͨ w J#(1ʹΑΔࡉ੍͔͍ޚΛ͍ͨ͠ ! w 33 w #(1QPMJDZΛ෼͚ͨ͘ͳ͍ w *(1EPNBJOΛ෼͚ͨ͘ͳ͍ w J#(1ʹΑΔࡉ੍͔͍ޚΛͨ͘͠ͳ͍ w J#(1TFTTJPOΛݮΒ͍ͨ͠ J#(1 J#(1TFTTJPO਺ ͕ܹݮ͢Δ ͜͜ͷؒͰܦ࿏ ੍ޚͰ͖Δ  
  53. ࣗ"4 next-hop self w ࣗ"4಺ͷUSBGGJDΛࡉ੍͔͘ޚ͍ͨ͠৔߹͸OFYUIPQ TFMG͠ͳ͍΄͏͕͍͍ w ܦ࿏੍ޚͷΦϓγϣϯΛࣦͭ͏ w ͨ͠΄͏͕͍͍৔߹΋͋Δ

    ޙड़ J#(1 意外と重要 /)TFMGͳ͠ packet flow  NHYYYY  NHZZZZ Prefix NH 192.0.2.0/24 x.x.x.x 198.51.100.0/24 y.y.y.y Prefix NH 192.0.2.0/24 x.x.x.x 198.51.100.0/24 y.y.y.y Prefix NH 192.0.2.0/24 x.x.x.x 198.51.100.0/24 y.y.y.y ࣗ"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 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 next-hopで 区別して制御 できない  
  54. 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 x.x.x.x(NH) に到達するのにIGP costが小さい方を選ぶ IX ࣗ"4   packet flow Prefix NH 192.0.2.0/24 x.x.x.x Prefix NH 192.0.2.0/24 x.x.x.x loopback: z.z.z.z iBGPに乗せるとき にnext-hop self dst MAC address を知らない 可能性がある FDBが維持される  
  55. 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) に直接転送してしまう  
  56. 問題: 直接peerしているのに
 trafficが流れてこない  "4@1"5)తʹ͸͍ۙͷʹɼผͷQFFS͔ΒUSBGGJD͕ೖͬͯ ͘Δ w ਤͷΑ͏ͳέʔεͰ"4಺ͷSPVUJOHΛม͑Δ͜ͱ͸ ࠔ೉ 

    QFFSͰ͸ͳ͘ɼUSBOTJU͔ΒUSBGGJD͕ೖͬͯ͘Δ w ͪ͜Β͸ͳΜͱ͔ͳΔ͔΋ "4 "4 MY AS "4 ཧ༝ͱͯ͠ w QVCMJDQFFS *9ܦ༝ ͳͲ w ͜ͷQFFS͕᫔᫓͍ͯ͠Δ ৔߹ʹ ͜ͷΑ͏ͳ͜ͱ͕ ى͜ΓಘΔ packet flow transitを 買っている peer (*) peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer  
  57. ◦␣ 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 TE案: 直接peerしているのに trafficが流れてこない  
  58. ◦␣ (特定ASからのtrafficが大きい場合) 直接peerする ◦␣ transit 1への経路広告時にAS_PATH prepend w ܦݧతʹ͍ͭ͘΋QSFQFOEͯ͠΋ޮՌ͸ബ͍ w

    ܦݧతʹ͸ݶք͸ ఔ౓ɽ QSFQFOEͯ͠ޮՌ͕ͳ͚Ε͹ɼ૿ ΍ͯ͠΋ͨͿΜಉ͡ ◦␣ (もし提供していれば) transit 1のBGP communityを使い,transit 1内でのLPを下げる ! ˚ஸ౓͍͍WPMVNFͷܦ࿏ʹ͍ͭͯɼ w USBOTJU΁ͷ޿ࠂΛNPSFTQFDJGJDʹ w USBOTJU΁ͷܦ࿏޿ࠂΛࢭΊΔ TE案: transit間で trafficを動かしたい transit 1 MY AS transit 2 packet flow গ͠ Ҡ͍ͨ͠  
  59. w USBOTJUDPTUΛ࡟ݮ͢ΔͨΊɼ*41͸೔ʑ੍ޚ͍ͯ͠Δ w ಉ͡ྔͷUSBGGJDΛྲྀͨ͢ΊͷίετΛ࠷খԽ͢Δ w ྫ͑͹ɼ·ͣtransit 1への経路広告時にAS_PATH prepend transit 1のBGP

    communityを使い, transit 1内でのLPを下げる ͳͲ w USBOTJUͷબ୒͸ɼίετ඼࣭Ҏ֎ʹ΋ܾఆཁૉ͕͋Δ w Ϗδωε্ͷόʔλʔ w ࢿຊؔ܎ 補足: transit間で trafficを動かしたい  
  60. peer 1, peer 2 のASNが 違うので,MED操作が 効かない !! TE案: peer間でtrafficを

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

    w ͳ͔ͥ͸෼͔Βͳ͍͕ސ٬ʹґཔ͞Ε͔ͨΒ 補足: peer間でtrafficを 動かしたい  
  62. w ·ͣ3͔Βग़ΔUSBGGJDͷҰ෦Λ3ʹҠͤͳ͍͔ߟ͑Δ w 3 3྆ํͰQFFS͍ͯͯ͠ɼސ٬Ͱ͸ͳ͍"4͕͋Ε͹ɼ3Ͱͷܦ࿏ड৴࣌ʹಛ ఆܦ࿏ʹ͍ͭͯ -1ΛԼ͛Δ ੍ޚ͕ڧ͗͢Δr"4@1"5)͕ޮ͔ͳ͘ͳΔ  ˚"4@1"5)QSFQFOE

    ੍ޚ͕·ͩগʑڧ͍ɽࣗ"4಺શҬʹӨڹΛ༩͑Δ   ◦␣ MED を追加する (LP 操作は制御が強い *2) ◦␣ (MED を制御に使えない場合 *3) passive IGP costを付ける ͦͷ#(1TFTTJPOશମʹӨڹ͠ɼUPQPMPHZʹ  Αͬͯ͸ܶతʹมԽ͢ΔͷͰ஫ҙ  "4@1"5)͸USBOTJUJWFͰ͋Γ .&%͸OPOUSBOTJUJWF ɼ ສ͕ҰQSFQFOEͨ͠ܦ࿏͕CFTUʹͳΔͱɼ֎෦ʹ͸ऑ͍ܦ࿏͕ ఻Θͬͯ͠·͏ɽ  .&%͸ Ұൠతʹ"4@1"5)ΑΓසൟʹมߋ͞ΕΔ͜ͱ͕ ଟ͘ ͜ͷΑ͏ͳૢ࡞ʹ࢖͍΍͍͢ɽ·ͨ ผͷՕॴͰ௥Ճ͠ ͨ.&%ΛݮΒ͢ Ωϟϯηϧ ͢Δ͜ͱ΋Մೳɽ  QFFSܦ࿏ͷ.&%Λ?Ͱ্ॻ͖͍ͯ͠Δ৔߹ͳͲ TE案: 自AS網内の traffic balanceを変えたい ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠  
  63. ·ͣ3͔Βग़ΔUSBGGJDͷҰ෦Λ3ʹҠͤͳ͍͔ߟ͑Δ
 ͪΐ͏Ͳ͍͍Ҡಈର৅USBGGJD͕ͳ͔ͬͨΒ ◦␣ R1 R2 R4 trafficをR1 R3 R5 R4

    にできないか考える w 33ͷ*(1DPTUΛ্͛Δ Өڹൣғ͕େ͖͍ͷͰ஫ҙ  ◦␣ 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 গ͠ Ҡ͍ͨ͠  
  64. ˚෺ཧతͳมߋΛ൐͏ΞΠσΞ 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 গ͠ Ҡ͍ͨ͠  
  65. peer間などでよくある traffic移動 peer" MY AS peer"ͷ ผͷ peer ސ٬" w

    ໭͢ͷ͸ࠔ೉ w F#(1ؒͷCFTUQBUITFMFDUJPO͸SPVUFS*%Ͱ͸ͳ͘ lܦ࿏ͷੜଘظؒzͰܾఆ͢Δ৔߹͕ଟ͍ packet flow  ϝϯςφϯε #(1EPXO  USBGGJD͕ ҠΔ  ϝϯςφϯε͕ ऴΘͬͯ΋໭Βͳ͍  
  66. MPLS-TE w ࣗ"4໢಺ͷUSBGGJDCBMBODFΛࣗಈͰ੍ޚ͢Δٕज़ w ۭ͖ଳҬΛࣗಈͰ୳͠ ͦ͜΁SPVUJOH w 2P4΋Մೳ w .1-4

    .VMUJ1SPUPDPM-BCFM4XJUDIJOH   3471 3F4FS7BUJPO1SPUPDPM  w *11BDLFUʹMBCFMΛ͚ͭͯΧϓηϧԽ w Ծ૝తͳτϯωϧ -41-BCFM4XJUDIJOH1BUI Λͭ͘Δ  
  67. MPLS + RSVP のしくみ w -41͸-43 -BCFM4XJUDIJOH3PVUFS.1-4Λઃఆ͢ΔSPVUFS ܈ ͰYGVMMNFTI෼ுΔ w

    -41͸ยํ޲௨৴ͷΈ w ௨৴ํ޲͕ҟͳΔͱผͷ-41͕QBDLFUΛӡͿ w 3 3 3 w 3 3 3 ͸ผ෺ w -41ΛுΔલʹ3471TJHOBMJOH w $41' $POTUSBJOUFE4IPSUFTU1BUI'JSTU  w -JOL4UBUFܕͷ*(1ʹґଘ͢Δ w 041' w *4*4 3 3 3 3 3 packet flow egress router MBCFMΛ֎͢ transit router MBCFMΛݟͯసૹ ingress router MBCFMΛ͚ͭΔ  
  68. RSVP のしくみ w -41ΛுΔલʹ -41ຖʹ͋Β͔͡Ί設定された帯域͕֬อͰ͖Δ ͔Λௐ΂Δ w JOHSFTTFHSFTTSPVUFSؒͰTJHOBMΛૹΓ߹͏ w *(1DPTUͷখ͍͞QBUI͔Β

    w ֤-43͸઀ଓ͞Ε͍ͯΔ3471MJOLͷ
 ۭ͖ଳҬΛܭࢉ w 33-41ͷྫ  333ͰுΕΔ͔  /(  333͸  /(  3333͸  0, w -%1Λ࢖ͬͨΓ ଳҬܭࢉͳ͠ ɼ-41Λ  ಛఆQBUIʹݻఆͨ͠Γ΋Ͱ͖Δ 3 3 3 3       3  
  69. MPLS-TE w OFUXPSLFWFOUʹΑΓଳҬ͕ॖୀ  3471TJHOBMJOH  -41͕ۭ͖ଳҬʹҠΔ w ࣗಈͰۭ͖ଳҬΛ୳ࡧͯ͘͠ΕΔͷͰ खಈʹΑΔ5&ෆཁ

    w -41͕མͪͯ΋ଈQBDLFUMPTTͰ͸ͳ͍ w *(1ʹGBMMCBDL͢Δ #(1ͷQSPUPDPMOFYUIPQͷղܾͷͨΊ ʹ-41 *(1Λ࢖͏
 ༏ઌ౓͕-41*(1  w GBTUSFSPVUF w -41͕མͪͨͱ͖ͷ
 DPOWFSHFODFΛૣ͘͢Δ
 ͨΊʹ ͋Β͔͡Ί
 CBDLVQ-41Λ
 ு͓ͬͯ͘  koji@test-router> show route 192.0.2.0/24 ! inet.0: 57 destinations, 57 routes (57 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both ! 192.0.2.0/24 *[BGP/170] 5d 07:12:01, localpref 100, from 192.0.2.1 AS path: I > to 198.51.100.1 via ae1.0, label-switched-path r1-r5-00 ! ! koji@test-router> show route 192.0.2.1 ! inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both ! 192.0.2.1/32 *[RSVP/7] 5d 06:47:49, metric 16 > to 198.51.100.1 via ae1.0, label-switched-path r1-r5-00 [IS-IS/18] 5d 06:47:48, metric 16 > to 198.51.100.1 via ae1.0, label-switched-path r1-r5-00  
  70. w ར఺ w खಈ5&͔Βͷ։์ w ଳҬઃܭ͕ϥΫ w ࠷ѱSFSPVUFͯ͘͠ΕΔ w ܽ఺

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

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

    ຊڌ஍"TJB "4 ຊڌ஍64 ࣗ෼ͷܦ࿏Λ ࣗ෼ͷ Ϗδωεڌ఺ͷۙ͘Ͱ ౉ͨ͘͠ͳ͍ QFFSJOHQBSUOFS͸ͦ ͷܦ࿏ͰϏδωε͕Ͱ ͖ΔՄೳੑ͕͋Δ  
  73. 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;  
  74. peering 判断の基本 w *$1ʹͱͬͯ *41ͱͷQFFSJOHʹΑΓzϏδωε͕৵֐z ͞ΕΔՄೳੑ͸௿͍ͨΊɼ୯७ʹzίετϝϦοτ͕͋Δ ͔ z͕QFFSJOH൑அͷେ͖ͳධՁ࣠ʹͳΔ৔߹͕ଟ͍ ! w

    Ұํɼ*$1͸ଞͷ*$1ͱQFFSJOH͢ΔϝϦοτ͸͋Δ  w جຊͳͦ͞͏͕ͩ w ϏδωεϓϥοτϑΥʔϜͷ࿈ܞ ήʔϜͳͲ  w ଞࣾ"1*ͷར༻  ͳͲ͸૿͑ͯ͘ΔݟࠐΈ  
  75. 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 . ˓ ˓ ˓  
  76. 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 への登録  
  77. l細かいことはpeering dbを見てくださいz
 ですむので便利 w XXXQFFSJOHECDPN w ৘ใӾཡ͸HVFTUΞΧ΢ϯτͰ0, w ࣗ"4ͷ৘ใΛొ࿥͢Δʹ͸
 Ϣʔβʔొ࿥

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

    w USBGGJDMFWFM w MPPLJOHHMBTTSPVUFTFSWFS63- w JQWNVMUJDBTUJQW w QFFSJOHQPMJDZ w PQFOTFMFDUJWFSFTUSJDUJWF/P w ෳ਺ڌ఺ͰͷQFFSΛ৚݅ʹ͢Δ͔  w JOPVUͷUSBGGJDൺ཰Λ৚݅ʹ͢Δ͔ w ࿈བྷઌ w ઀ଓ*9 QVCMJDQFFS༻  w ໊લ w ଳҬ w 101 QSJWBUFQFFS༻  w %$໊ w *OUFSGBDFछผ QFFSJOHECʹ͸ ͍Ζ͍ΖهࡌͰ͖Δ  
  79. 経路奉行 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  
  80. route server IX "4 "4 w F#(1TFTTJPOΛTDBMFͤ͞Δٕज़ w ओʹ*9Ͱར༻͞Ε͍ͯΔ w

    ௨ৗͷQFFSJOHͷख๏ CJMBUFSBM ͱSPVUFTFSWFSܦ༝ͷQFFSJOHͷख๏ NVMUJMBUFSBM Ͱɼ3*#ͷத਎͕΄΅ಉ͡ w SFNPUF"4 ͜ͷྫͰ͸"4 ͸"4@1"5)ʹࡌΒͳ͍ w F#(1TFTTJPO਺ΛݮΒ͢͜ͱͰӡ༻ΛϥΫʹ w PQFOQPMJDZͷ"4ϗϧμʔ޲͖ IX route server "4 Prefix AS_PATH 192.0.2.0/24 1 Prefix AS_PATH 192.0.2.0/24 1  
  81. xflow w 5SBGGJD&OHJOFFSJOHͷͨΊ w Ͳͷ"4 QSFGJY͕ԿCQT͍࣋ͬͯΔ͔  w ͋ΔMJOLʹ৐͍ͬͯΔUSBGGJDͷ͏ͪɼ ΛҠ

    ͨ͢ΊʹͲͷ"4 QSFGJYΛ੍ޚ͢Ε͹͍͍͔  ͳͲΛௐ΂͍ͨ w OFUGMPXWW w TGMPXW w 044DPMMFDUPS OGEVNQ GMPXUPPMT Ͱे෼ w TBNQMJOHSBUF_  
  82. web services w JOUFSOFUͷߏ଄Λ஌ΔͨΊͷώϯτ w BTSFMBUJPOTIJQT
 IUUQXXXDBJEBPSHEBUBBDUJWFBTSFMBUJPOTIJQT w Ͳͷ"4͕Ͳͷ"4͔ΒUSBOTJUΛങ͍ͬͯΔ Α͏ʹݟ͑Δ

    ͔ɽɽɽͱ͍͏৘ใ͕ܝࡌ͞Ε͍ͯΔ w Ϧαʔνͷ੒Ռ෺ͳͷͰࣄ࣮ͱͷෆҰக΋͋Δ ! w CHQMBZ
 IUUQTTUBUSJQFOFUXJEHFUCHQMBZ w SPVUFWJFXT PGGJDJBM ΑΓ3*1&൛͕࢖͍΍͍͢ w ܦ࿏Λղੳ͢Δ͜ͱͰ"4ؒͷ઀ଓੑ͕֬ೝͰ͖Δ w SPVUFWJFXTSPVUFTFSWFSʹ΋௚઀UFMOFUՄೳ
 IUUQXXXSPVUFWJFXTPSH  
  83. w JOUFSOFUͷߏ଄Λ஌ΔͨΊͷώϯτ w SJQFTUBU
 IUUQTTUBUSJQFOFU w ͞·͟·ͳJOUFSOFUSFTPVSDFͷঢ়ଶ͕ӾཡͰ ͖ͯศར w MPPLJOHHMBTT

    w IUUQXXXCHQBTMPPLJOHHMBTTFT w IUUQXXXUSBDFSPVUFPSH w IUUQXXXMPPLJOHMBTTPSH w IUUQXXXCHQOFU  
  84. rancid w IUUQXXXTISVCCFSZOFUSBODJE ! w OFUXPSLEFWJDF΁ͷMPHJOΛ؆ུԽͰ͖Δ w ࢦఆͷDPNNBOE܈ͷ࣮ߦΛɼෳ਺EFWJDFʹର࣮ͯ͠ߦ Ͱ͖Δ w

    FYQFDUͰQSPHSBNՄೳ w DPOGJHͷࣗಈCBDLVQ7$4΁ͷ౤ೖ w ৚݅෼ذ͍ͨ࣌͠͸exscriptͷํ͕ศར
 IUUQTHJUIVCDPNLOJQLOBQFYTDSJQUXJLJ w ·͍͔ͩͭ͘CVH͕͋ΔΒ͍͠ w JQW͕͏·͘ಡΊͳ͍ ͳͲ  
  85. ruby / python w $-*ΛXSBQͯ͠QSPHSBN w ๛෋ͳMJCSBSZ ! w SVCZ͸XFCͱ਌࿨ੑ͕ߴ͍

    w QZUIPO͸OFUXPSLܥMJCSBSZ͕ॆ࣮ w lࣗಈͰSPVUFSʹઃఆΛೖΕΔzͳͲ  
  86. mrtdump / bgpdump w CHQVQEBUFXJUIESBXΛEVNQ ղੳ w CHQUBCMFࣗମΛFYQPSU͢Δ͜ͱ΋Մೳ ! w

    2VBHHBͳͲ044SPVUFTFSWFS͕Ұ୆खݩʹ͋Δͱ ศར w 7.Ͱ΋0, w CJSE PQFOCHQE΋  
  87. 経路Filter関係 w QFWBM *335PPMTFU  w ΋͸΍ϝϯςφϯε͕ݫ͍͠Β͍͠ w ୅ସ඼ w

    /FU*33 w CHQR w *331PXFS5PPMT w .E w Q#(15PPM ! w DBQJSDBͱ͍͏ͷ΋͋Δ  
  88. 自動化支援 (router メーカー製) w FWFOUESJWFOͰίϚϯυ࣮ߦ w +VOJQFSJunoscript w YNMϕʔε w

    $JTDPEmbedded Event Manager (EEM) w UDMϕʔε ! w $JTDPOne Platform KIT(One PK) w QBDLFUQSPDFTTJOH·ͰͰ͖ΔΒ͍͠  
  89. JANOG w OFUXPSLӡ༻ʹ·ͭΘΔ৘ใͷڞ༗ٞ࿦ w ໰୊ͷڞ༗ w ΦϖϨʔλʔDPNNVOJUZͰղܾ ! w ྫ

     PQFOSFTPMWFSΛݮΒ͢ʹ͸   ͋Δ*1BEESFTTCMPDL͕(FP*1αʔϏεʹޡೝࣝ͞ Ε ΦϯϥΠϯαʔϏεʹ઀ଓͰ͖ͳ͔ͬͨ  
  90. 各種 IX Meeting w Ϣʔβʔձ w +1/"1 w +1*9 w

    +BQBO1FFSJOH'PSVN w &RVJOJY  
  91. 今日の目的   w BGPの設計を決める際に考えないといけないこと Λ͔ͭ Ή ! w l#(1TFTTJPOͷઌʹ͍Δ"4

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