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

入門書には載っていないルーティング Tips

入門書には載っていないルーティング Tips

JANOG34 ルーティングチュートリアル での発表資料です

Shintaro Kojima

July 15, 2014
Tweet

More Decks by Shintaro Kojima

Other Decks in Technology

Transcript

  1. Agenda ೖ໳ॻʹࡌͬͯͳ͍ɼӡ༻ܦݧʹ΋ͱ ͮ͘Tips ʹ͍ͭͯ࿩͠·͢ ! w BGP とは? w BGP

    の設計を考えよう w BGP の運用を考えよう w セキュリティ w ルーティングエコシステム 
  2. BGP とは? &(1ͷҰछҟͳΔ"4ؒͰSPVUJOH৘ใΛަ׵͢Δ ! ! ! ! ! ! !

    routing policyを伝える AS1 AS2 AS3 AS4 ͬͪ͜ʹྲྀͯ͠΄͍͠ ͬͪ͜ʹ ྲྀ͞ͳ͍Ͱ΄͍͠ 0, 
  3. IGP との関係 w #(1ͰղܾͰ͖Δͷ͸ɼInternet上のある目的地 に達するために, 自AS内のどの出口から出 ればいいか? ͷΈ ! w

    その出口にはどうやったら到達できるか?
 ͸*(1པΈ ! w *(1ͷओͳ༻్͸ɼ#(1ͷQSPUPDPMOFYUIPQΛղܾ͢Δ͜ͱ w Ή΍Έʹ#(1ܦ࿏Λ*(1ʹ஫ೖ͠ͳ͍΄͏͕͍͍ 
  4. A Border Gateway Protocol 4 (BGP-4) w RFC1654 +VMZ 

    w RFC1771 .BSDI  w RFC4271 (January 2006) 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 ސ٬QFFSJOHύʔτφʔ USBOTJUఏڙऀ ʹ΋ݸผͷSPVUJOHQPMJDZ͕͋Δzͱ͍͏؀ڥ Ͱ

    どうやって自分の思うようにtraffic controlするか? Λཧղ͢ΔͨΊʹ w ࢲ͕࢖͍ͬͯΔख๏ͷ঺հ w ͦͷղઆ ΋͠·͢ 
  7. eBGP Policy を考えるポイント w どんな経路 Λ w どんなeBGP session ͔Β΋Β͏͔

     w どんなeBGP session ΁޿ࠂ͢Δ͔  w ܦ࿏ͷ֤QBUIBUUSJCVUF͸୭ͷ΋ͷ͔  w 'VMM3PVUF࣋ͯͳ͍Μ͚ͩͲͲ͏͠Α͏ 
  8. どんな経路を • 顧客の経路 w #(1ސ٬ w TUBUJDސ٬ ࣮ࡍ͸1"ʹू໿  •

    自ASの経路 w 1"1*ܦ࿏ • peering パートナーの経路 • transit 事業者の経路 • 不要な経路 ߴ ௿ AS1 AS2 Ϗδωε্ͷ؍఺͔Βɼجຊతʹ͸্هͷॱʹ༏ઌ͢Δ ༏ઌͳΔ΂ͦ͘ͷܦ࿏ʹैͬͯQBDLFUΛྲྀ͍ͨ͠ ྲྀͯ͠΄͍͠ ίϨ 
  9. どんなeBGP sessionへ • 顧客 • peer w QBJEQFFS ऩӹΛಘ͍ͯΔ 

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

    flow 受信Policy AS内ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ 広告Policy AS外ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ R R R R ֎෦ AS 1 ֎෦ AS 2 ֎෦ AS 3 
  11. eBGP Policy の基本 (受信) すべて受信 • 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 (通常流れてこない) My AS ސ٬ͷ USBOTJU ސ٬ͷ QFFS ސ٬ͷ ސ٬ ސ٬ QFFSͷ USBOTJU QFFSͷ QFFS QFFSͷ ސ٬ QFFS USBOTJUͷ USBOTJU USBOTJUͷ QFFS USBOTJUͷ ސ٬ USBOTJU 
  12. 1. LPͱMEDͷ஋ ༏ઌ౓ ܦ࿏छผ -1 .&%  ސ٬ d ্ॻ͖͠ͳ͍

     ࣗ"4  ͳ͠  QFFS  ্ॻ͖ े෼େ͖ͳ஋  USBOTJU  ্ॻ͖ Λ·͍ͨͰ਺ஈ֊ EFGBVMU  w ෯ʹ༨༟Λ΋ͬͯ਺஋Λઃఆ w -1ͷEFGBVMU஋͕ͷ࣮૷͕ଟ͍ͷͰ 
 ҆શΛظ͢ͳΒ-1ͷ஋͸ 
  13. – 解説 – ༏ઌ౓ ܦ࿏छผ -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 ΋͋Δ 
  14. 2. 経路Filter 顧客経路 ༏ઌ౓͕ඇৗʹߴ͍ͨΊɼࡉ͔͘νΣοΫ͢Δඞཁ͕͋Δ w IRRベース が理想的 w සൟʹϝϯςφϯεͰ͖ΔͷͰ͋Ε͹ खಈͰ΋໰୊ͳ͍͔΋͠Εͳ

    ͍ w GJMUFSํ๏ͷީิ w FYBDUNBUDIͳQSFGJYGJMUFS w FYBDUNBUDIͳQSFGJYGJMUFSPSJHJO"4GJMUFS ! w bogon prefix, 自ASのprefixは経路filterで除外 w #(1DPNNVOJUZ͸ಁաతʹѻ͏ 
  15. peer経路 QFFSJOHUSBOTJUΑΓ੹೚ൣғ͕খ͍͞ গͳ͍৘ใʹج͖ͮɼΏΔ͘GJMUFS͢Δ ! w Mis-Origin (経路ハイジャック) の可能性 w ࡉ͔͍GJMUFSΛઃఆͯ͠͠·͏ͱメンテナンスさ

    れなくなるかもしれない w l"4@1"5)ΛϝʔϧͰ఻͑߹͏z͘͠Έ͕ಈ͍͍ͯͨ w ΍͸Γݶք͕͋ΔͷͰɼࣗಈͰಈ͘͜ͱ͕๬·͍͠ 
  16. peer経路 ଞͷࠃͰ͸ҎԼͷ૊Έ߹Θ͕ͤଟ͍ w maximum-prefix (prefix-limit) filter w ࣮੷ϕʔε ࡢ೔͔Β૿͑ͨΒΞ΢τ ͳͲ

     w QFFSJOHECϕʔε w prefix lengthによるfilter w JQWMF w JQWMFͳͲ 
  17. bgpq3 / IRR Power Tools w *33ͷల։ DPOGJHੜ੒·Ͱͬ͘͟Γ΍ͬͯ͘ΕΔ w ͔Ώ͍ͱ͜Ζʹख͸ಧ͔ͳ͍͕ɼγϯϓϧ

    C input: IRR / peering DB/ ࣮ܦ࿏਺ / ސ٬࿈བྷ config R config ੜ੒ deploy 
  18. "4 "4 3. Path Attribute ͸ຊདྷͷ༻్ʹ࢖͓͏ – ྫ͑͹ closest exit

    – *(1ʹΑΔ੍ޚ .&%͕ҟͳΔܦ࿏Ͱ΋DMPTFTUFYJU͍ͨ͠৔߹͸.&%Λ
 ্ॻ͖͢Δඞཁ͕͋Δ  MED  MED *(1DPTU  MED 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 R1 R R2 R 
  19. 経路制御の選択肢 • transit / peer 経路 w -1ͷඍௐ੔ w "4@1"5)QSFQFOE

    w .&%ඍௐ੔ w QBTTJWF*(1 w ܦ࿏ΛࢭΊΔ ! • 顧客経路 w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍ 
  20. • LP / MED などの数値はなるべく弱くなる方に制 御する w ϔϯʹUSBGGJDΛٵ͍ࠐΉͷΛ๷͙ w .&%

    ૿΍͢
 -1 ݮΒ͢ ଟ͘ͷ࣮૷ͰEFGBVMU  w "4@1"5)QSFQFOE
 QSFQFOE͞Εͨܦ࿏͕3*#ʹ࢒ͬͯ͠·͏Մೳੑ͕͋ΔͷͰɼͳΔ ΂͘ආ͚Δ w USBOTJUΛച͍ͬͯΔ৔߹ͳͲ શମͱͯ͠ܦ࿏͕ԕ͘ݟ͑ͯ͠ ·͏ͷ͸ྑ͘ͳ͍ • passive IGPは経路ごとの制御ができない 
  21. irregularなことは 目立つように /
 消しやすく QSPUPDPMT\ CHQ\ OFJHICPSYYYY\ JNQPSU<SFHVMBSJSSFHVMBSpOBMJ[F> ^ ^

    ^ ! QPMJDZPQUJPOT\ QPMJDZTUBUFNFOUSFHVMBS\ GSPN\^ UIFO\ ௨ৗͷQPMJDZ OFYUQPMJDZ ^ ^ !  SFNPWFNFTPPO  QPMJDZTUBUFNFOUJSSFHVMBS\ GSPN\^ UIFO\ JSSFHVMBSͳQPMJDZ OFYUQPMJDZ ^ ^ QPMJDZTUBUFNFOUpOBMJ[F\ UIFOBDDFQU ^ ^ OPSPVUFNBQSPVUFpMUFS SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ !  SFNPWFNFTPPO  SPVUFNBQSPVUFpMUFSQFSNJU JSSFHVMBSͳQPMJDZ Juniper の例: Cisco の例:  template hack template hack
  22. 経路制御の選択肢 (受信) – LP 制御 – prefix MED AS_PATH 192.0.2.1/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 Ұ෦ܦ࿏͸QFFSΑΓ ༏ઌ͍ͤͨ͞ prefix LP MED AS_PATH > 192.0.2.1/32 120 1000 1 192.0.2.1/32 110 1000 2 LP policy w USBOTJU  w QFFS   My AS AS1 AS2 ސ٬ peer transit QFFS͔Βͷܦ࿏ʹ͍ͭͯ  -1ΛԼ͛Δ 
  23. prefix Next Hop MED 192.0.2.1/32 x.x.x.x 50 192.0.2.1/32 y.y.y.y 100

    prefix Next Hop MED 192.0.2.1/32 z.z.z.z 100 ͬͪ͜༏ઌ͍ͨ͠ 経路制御の選択肢 (受信) – MED 制御 – My AS prefix Next Hop MED 192.0.2.1/32 x.x.x.x 110 > 192.0.2.1/32 y.y.y.y 100 AS1 R R Ұํͷ.&%Λେ͖͘͢Δ
 େ͖ͳ஋Ληοτ͢ΔPS加算して大きくする ސ٬ 
  24. 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 経路制御の選択肢 (受信) – IGP 制御 – OFJHICPS͝ͱ
 ͬͪ͜༏ઌ͍ͨ͠ My AS AS1 R R prefix Next Hop IGP > 192.0.2.1/32 x.x.x.x 10 192.0.2.1/32 y.y.y.y 40 ௨ৗͩͱ .:"4͔ΒݟͯYYYY ZZZZ΁ͷ*(1 DPTU͸྆ํ͕ͩ Ұํ͚ͩʹ͢Δ ސ٬ 
  25. 経路の各path attributeは 誰のもの? w ҎԼͷΑ͏ͳػೳΛఏڙ͍ͯ͠Δ*41΋
 IUUQPOFTDOFUDPNNVOJUJFT w ސ٬ܦ࿏ͷMEDを上書きしない w ࣗ"4಺Ͱͷlocal

    preference(LP)を制御 するBGP communityΛސ٬޲͚ʹఏڙ͢Δ 経路受信 MED   Community  ࣗ"4 LP   MED  MEDを上書きしない R ސ٬ R R R LPを制御させる 7521:110 = LP110 
  26. eBGP Policy の基本 (広告) 顧客経路 + 自分の経路 のみ広告 w 顧客から受信した経路

    すべて w 自身の経路 顧客経路 + 自分の経路のみ広告 w 顧客から受信した経路すべて w 自身の経路 すべての経路を広告 w 自身の経路 w peer から受信した経路すべて w transit から受信した経路すべて  My AS ސ٬ͷ USBOTJU ސ٬ͷ QFFS ސ٬ͷ ސ٬ ސ٬ QFFSͷ USBOTJU QFFSͷ QFFS QFFSͷ ސ٬ QFFS USBOTJUͷ USBOTJU USBOTJUͷ QFFS USBOTJUͷ ސ٬ USBOTJU bogon filter はすべてに必要 
  27. "4 "4 1.MEDをちゃんと付ける  MED *(1DPTU  MED  MED

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

    ! ֎෦"4͕ৗʹ.&%ΛධՁͯ͘͠ΕΔͱ͸ݶΒͳ͍ɽͰ΋ w μϝ΋ͱͰ΋޿ࠂ͓ͯ͘͠Ձ஋͋Γ w ධՁͯ͠΋Β͍͍ͨͳΒ ަব QSPUPDPMT\ CHQ\ HSPVQFCHQ\ NFUSJDPVUJHQ OFJHICPSYYYY\^ ^ ^ ^ SPVUFSCHQYYYY  OFJHICPSZZZZSPVUFNBQFCHQ SPVUFNBQFCHQ  TFUNFUSJDUZQFJOUFSOBM Juniper の例: Cisco の例: 
  29. 2. 経路Filter • 内部の細かい経路は広告しない w DPOOFDUFE EJSFDU ܦ࿏͸#(1ʹSFEJTUSJCVUF͠ͳ ͍ͳͲ w

    ͢Δͱ͖ʹ͸OPFYQPSUDPNNVOJUZΛ෇͚͓ͯ͘ • bogonその他,internetに流すべきでない経路が含まれ ないかを再確認 w remove-privateしておく(private ASは削って広告) 
  30. 経路制御の選択肢 (広告) • transit / peer w "4@1"5)QSFQFOE w .&%ඍௐ੔

    w #(1DPNNVOJUZ Ұ෦USBOTJUͷΈ  w USBOTJU"4಺ͷ-1Λ੍ޚ w USBOTJU"4 ଞ"4ܦ࿏޿ࠂΛ੍ޚ ޿ࠂ͠ͳ͍QSFQFOE  w ܦ࿏޿ࠂΛࢭΊΔ ! • 顧客 w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍ 
  31. 経路制御の選択肢 (広告) ޿ࠂܦ࿏ͷ੍ޚ͕ޮ͔ͳ͍৔߹΋ଟʑ͋Δ w ސ٬QFFSJOHύʔτφʔUSBOTJUఏڙऀʹ΋൴ ΒͳΓͷQPMJDZ͕͋ΔͷͰ ΍ΉΛಘͳ͍ w 接続しているtransit /

    peer のrouting設計 を理解することがすごく重要 w .&%͸ޮ͔͘  w "4@1"5)QSFQFOEՄೳ͔  w CFTUQBUI͸ͲͷQBUIBUUSJCVUFͰܾ·͍ͬͯΔ͔  w ੍ޚܥ#(1DPNNVOJUZ͸͋Δ͔  w そのような設計になっているのはなぜか? 
  32. 以下の選択肢は 高い確率で効果が期待できる ! • BGP Community ! • 経路広告を止める w

    ଟ͘ͷ৔߹ ৑௕ੑΛଛͳ͏ w NPSFTQFDJGJDͳܦ࿏ʹ͢Δ Y  w ؅ཧ͕൥ࡶʹͳΔ 奥の手 ! 
  33. prepend community とかどうですか? DPNNVOJUZ  AS_PATH   DPNNVOJUZ /"

    AS_PATH   顧客に ࣗ"4 ֎෦"4΁ͷ޿ࠂ࣌ͷ "4@1"5)Λ੍ޚͤ͞Δ peer ސ٬ My AS 
  34. AS2 next-hop self w ࣗ"4಺ͷUSBGGJDΛࡉ੍͔͘ޚ͍ͨ͠৔߹͸OFYUIPQ TFMG͠ͳ͍΄͏͕͍͍ w 経路制御の選択肢を1つ失う w ͨ͠΄͏͕͍͍৔߹΋͋Δ

    ޙड़ J#(1 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 R R /)TFMG͋Γ AS1 R R 
  35. IX AS next-hop self したほうがいい場合 *9ܦ༝Ͱ΋Βͬͨܦ࿏ΛJ#(1ʹྲྀ͢ͱ͖ IUUQXXXKBOPHHSKQEPDKBOPHDPNNFOUKDUYU packet flow Prefix

    NH 192.0.2.0/24 x.x.x.x x.x.x.0/24 YYYY /) ʹ౸ୡ͢Δ ͷʹ*(1DPTU͕খ͍͞ ํΛબͿ dst MAC address を知らない 可能性がある R R R   S S Prefix NH 192.0.2.0/24 x.x.x.x 
  36. next-hop selfしないと ! Prefix NH 192.0.2.0/24 x.x.x.x IX F#(1 YYYZ

    YYYY next-hop self したほうがいい場合 *9ܦ༝Ͱ΋Βͬͨܦ࿏Λಉ͡*9্ͷผͷF#(1ͷྲྀ͢ͱ͖ IUUQXXXKBOPHHSKQEPDKBOPHDPNNFOUKDUYU packet flow 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) に直接転送してしまう R R S S R S Prefix NH 192.0.2.0/24 x.x.x.x 
  37. 問題1: 直接peerしているのに
 trafficが流れてこない MY AS packet flow transitを 買っている peer

    peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer "4 "4 "4 
  38. 問題1: 直接peerしているのに
 trafficが流れてこない  AS1からではなく,AS3からtrafficが入ってくる w こちらはなんとかなるかも  ΋͏Ұํ͸"4ͷऩӹʹӨڹ͢ΔͨΊࠔ೉ "4

    "4 MY AS "4 packet flow transitを 買っている peer peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer 
  39. ◦␣ 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が流れてこない 
  40. ◦␣ (特定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 গ͠ Ҡ͍ͨ͠ 
  41. 答え: 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΁ͷܦ࿏޿ࠂΛࢭΊΔ 
  42. 問題4: peer間でよくある traffic移動 peer" MY AS peer"ͷ ผͷ peer ސ٬"

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

    w ໭͢ͷ͸ࠔ೉ w F#(1ؒͷCFTUQBUITFMFDUJPO͸SPVUFS*%Ͱ͸ͳ͘ lܦ࿏ͷੜଘظؒzͰܾఆ͢Δ৔߹͕ଟ͍ packet flow 
  44. MPLS-TE • AS内のtrafficを自動で制御する技術 w ۭ͖ଳҬΛࣗಈͰ୳͠ ͦ͜΁SPVUJOH w 2P4΋Մೳ • MPLS(Multi-Protocol

    Label Switching) + RSVP(ReSerVation Protocol) • IP Packetにlabelをつけてカプセル化 w Ծ૝తͳτϯωϧ -41-BCFM4XJUDIJOH1BUI Λͭ͘Δ 
  45. MPLS + RSVP のしくみ • LSPはLSR(Label Switching Router: MPLSを設定する router)群で

    2x full mesh分 張る w -41͸ยํ޲௨৴ͷΈ w ௨৴ํ޲͕ҟͳΔͱผͷ-41͕QBDLFUΛӡͿ w 3 3 3 w 3 3 3 ͸ผ෺ • LSPを張る前にRSVP signaling w $41' $POTUSBJOUFE4IPSUFTU1BUI'JSTU  w -JOL4UBUFܕͷ*(1ʹґଘ͢Δ w 041' w *4*4 w -41ຖʹ͋Β͔͡Ίઃఆ͞Εͨ
 ଳҬ͕֬อͰ͖Δ͔Λௐ΂Δ 3 3 3 3 3 packet flow egress router MBCFMΛ֎͢ transit router MBCFMΛݟͯసૹ ingress router MBCFMΛ͚ͭΔ 
  46. MPLS-TE • network eventにより帯域が縮退  3471TJHOBMJOH  -41͕ۭ͖ଳҬʹҠΔ • 自動で空き帯域を探索してくれるので,

    手動によるTE不要 • LSPが落ちても即packet lossではない w *(1ʹGBMMCBDL͢Δ #(1ͷQSPUPDPMOFYUIPQͷղܾͷͨΊʹ -41 *(1Λ࢖͏
 ༏ઌ౓͕-41*(1  • fast reroute 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 
  47. • 利点 w खಈ5&͔Βͷ։์ w ଳҬઃܭ͕ϥΫ w ࠷ѱSFSPVUFͯ͘͠ΕΔ • 欠点

    w PWFSMBZNPEFM w MBCFMPWFSIFBE w LSP sizeを設定するため,日々LSP毎のtraffic量を カウントする必要がある w BVUPNBUJDCBOEXJEUIʹظ଴ MPLS-TE 
  48. • Mis-Origin (経路ハイジャック) w Φϖϛε w .*5.
 IUUQXXXSFOFTZTDPNNJUNJOUFSOFUIJKBDLJOH ! •

    DDoS w Ξϯϓ߈ܸ
 IUUQTSJQFSJQFOFUQSFTFOUBUJPOT 3*1&@@$3PTTPX@"NQMJGJDBUJPO@TUSJQQFEQEG ! %/4Ωϟογϡ1PJTPOJOH )FBSU#MFFE 41". 7JSVT .*5#ͳͲ͸zϧʔςΟϯάzͱ͸ҧ͏ 
  49. Mis-Origin (経路ハイジャック) の 検知 w 経路奉行
 IUUQXXXOJDBEKQKBJQJSSKQJSS@FYQIUNM w ແྉ !

    • BGPMon IUUQXXXCHQNPOOFU w QSFGJYΛ௒͑Δͱ༗ྉ w "1* w UXJUUFS w CMPH 
  50. Mis-Origin (経路ハイジャック) の 対策 w 他AS がMis-Origin されている
 .JT0SJHJOܦ࿏Λ໢಺ʹೖΕͳ͍ w

    Route Filter w 31,* ! • 自AS がMis-Origin されている ୣΘΕͨ౸ୡੑΛୣ͍ฦ͢ w more specific な経路を流す 
  51. DDoSの検知 w 既存のサービス監視 / リソース監視 w $16.FNPSZ5$1DPOOFDUJPOCBOEXJEUIͷΦʔόʔϑ ϩʔɼϩάͳͲʹΑΔϦΫΤετ਺ͷ؂ࢹ
 • トラフィック監視

    w ঎༻ΞϓϥΠΞϯεαʔϏε w 044 w GMPXUPPMT w exaddos ! %%P4ͷݕ஌ΑΓରࡦ͕ॏཁɽ
 τϥϒϧͷݪҼ͕%%P4ͩͱ෼͔ͬͨ࣌ɼରॲͰ͖ΔΑ͏ʹɽ 
  52. DDoSの予防 • Anti IP-Spoofing (BCP38) w uRPF w QBDLFUGJMUFS w

    IUUQXXXJFUGPSHSGDSGDUYU
 IUUQXXXCDQJOGP ! w アンプ除去
 オープンリゾルバー ないですよね? w /51େৎ෉  w 4/.1͸ 
  53. DDoSの対策 • Victim 上のサービスを止めてもよい w τϥϯδοτࣄۀऀ΁ͷΤεΧϨʔγϣϯ w Remote Triggered Blackholing

    w (4-#Λ࢖ͬͨ෇Ճ෼ࢄͱ࿈ಈͰ͖Ε͹ཧ૝త
 IUUQXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFTEEPTSFTJMJFODZXJUI BNB[POXFCTFSWJDFTTFDBXTSFJOWFOU ! • Victim 上のサービスを止めない w αʔόʔ্Ͱͷରࡦ 33-ͳͲ  w %%P4.JUJHBUJPOΞϓϥΠΞϯε w %%P4.JUJHBUJPOαʔϏε w ηΩϡϦςΟϓϩόΠμʔ w τϥϯδοτͷ෇ՃαʔϏε 
  54. %$ࣄۀऀ ϥοΫ ΩϟϦΞ ճઢ ϕϯμʔ ϝʔΧʔ )8 *&5' ඪ४Խ 3*3

    /*3 -*3 *$"// ΞυϨε "4/ ૯຿ল ๏ྩ 8$*5 *(' Ψόφϯε Ϋϥ΢υ ࣄۀऀ *BB4 ֤छαʔϏε ࣄۀऀ τϥϯδοτ *9 ֤छαʔϏε ސ٬ peer ωοτϫʔΫ ίϛϡχςΟ ৘ใ USBGGJD 
  55. IRR: transit providerのfilterを制御する Ͳ͔͜ͷ*OUFSOFU3PVUJOH3FHJTUSZ *33 ʹొ࿥͢Δඞ ཁ͕͋Δ ! w ೔ຊͰΑ͘࢖ΘΕ͍ͯΔ΋ͷ

    • JPIRR (jpirr.nic.ad.jp) w +1/*$؅ཧԼͷΞυϨεอ༗ऀ • RADB (whois.radb.net) w ༗ঈ Z  • NTTCOM (rr.ntt.net) w OUUOFUϢʔβʔͷΈ 
  56. l細かいことはpeering dbを見てくださいz
 ですむので便利 w XXXQFFSJOHECDPN w ৘ใӾཡ͸HVFTUΞΧ΢ϯτͰ0, w ࣗ"4ͷ৘ใΛొ࿥͢Δʹ͸
 Ϣʔβʔొ࿥

    σʔλϕʔεӡӦऀͷঝೝ͕ඞཁ w NBJMBEESFTTͷEPNBJOΛݟΒΕΔͷͰ "4ͱͷؔ ࿈͕໌Β͔ͳNBJMBEESFTTΛ࢖͏ peering db 
  57. 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छผ  peering db には いろいろ記載できる
  58. ·ͨɺ๭'PVOESZ੡඼Ͱ͸ɺ ! ! ! ! ! ͱ͍ͬͨײ͡Ͱมߋ͸ՄೳͳͷͰ͕͢ɺEFGBVMU஋͕খ͗ͯ͢͞ɺ঱ ঢ়͕ग़࢝Ί͔ͯΒ͜Εʹؾ͕෇͖ɺ͔ͱ͍͍͖ͬͯͳΓ.BY·Ͱ͋ ͛ͯ΋େৎ෉ͳ΋ͷͳͷ͔ͳͱϏΫϏΫ͠ͳ͕Β਺஋Λ֦ு͍ͯͬ͠ ͍ͯ·ͨ͠ɻ

    ! ͜Εɺࠓສܦ࿏͘Β͍ͩͱࢥ͏ͷͰ΋͏͠͹Βͨ͘͠Β.BYͰ΋ ҲΕ·͢Ͷ ?? TIPXEFGBVMUWBMVFT 4ZTUFN1BSBNFUFST%FGBVMU.BYJNVN$VSSFOU JQDBDIF JQSPVUF TOJQ XEFGBVMUWBMVFT 
  59. ਺೥લͳͷͰ΋͎େৎ෉ͩͱ͓΋͍·͕͢ɺ*1Wͷ QFFS OPUUSBOTJU ͕ݪҼͰϝϞϦ͕଍Γͳ͘ͳͬͨ͜ͱ ͕͋Γ·ͨ͠ɻ ! QFFSઌ͸ɺ͓ͦΒ͘ɺBEESFTTGBJQW͕OPBDUJWBUF ͞Ε͓ͯΒͣɺͪ͜Βͷ૝ఆ͠ͳ͍*1Wͷϑϧϧʔτ͕ *1Wτϥϯεϙʔτܦ༝ͰඈΜͰ͖͍ͯ·ͨ͠ɻ !

    ͦΕʹؾͮ͘·ͰɺϑΟϧλΛ͋·Γݫີʹ͔͚͍ͯͳ ͔ͬͨͷͰɺQFFSVQˠίϯόʔδΣϯεͷ࠷தʹϧʔ λ ඇྗ ͕ͼͬ͘Γͯ͠ɺɺɺɺɺ ! ͳΜͯࣄ͕͋Γ·ͨ͠ɻ Š+1/*$Ԭా͞Μ 
  60. S S R R HSRP group id: 10 .10 /

    x .20 / y .1 / 0a dst: .1 / 0a (0) S S R R .10 / x .20 / y .2 / 0a dst: .1 / 0a (1) HSRP group id: 10 
  61. S S R R HSRP group id: 20 .10 /

    x .20 / y .2 / 0a dst: .1 / 0a (2) (3) .1/14 HSRP group id: 10 S S R R .10 / x .20 / y .2 / 0a dst: .1 / 14 .1 / 14 HSRP group id: 10 HSRP group id: 20