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

網設計のためのBGP入門

 網設計のためのBGP入門

Internet Week2015 「できる網設計」 で,クラウドとオンプレミスを接続してハイブリッド構成にしたときのネットワーク設計について話しました.
https://internetweek.jp/program/t3/

Shintaro Kojima

November 18, 2015
Tweet

More Decks by Shintaro Kojima

Other Decks in Technology

Transcript

  1. 小島 慎太郎  ! " DPEFPVU http://about.me/codeout w *41೥ OUUOFU"4

     w *9 ೥ +1/"1  w Ϋϥ΢υ೥ /55ίϛϡχέʔγϣϯζ  w ωοτϫʔΫશൠ೥ ίʔμϯε
  2. 2015  Magic  Quadrant  for  Cloud   Infrastructure  as  a  Service,

     Worldwide IUUQTBXTBNB[PODPNKQSFTPVSDFTHBSUOFSNRMFBSONPSF
  3. Agenda w Ϋϥ΢υͱͷ઀ଓํ๏ w ϧʔςΟϯάฤ w #(1 w Ϋϥ΢υ΁ͷԠ༻ w

    ΦϯϓϨϛεͱͷ઀ଓฤ w - w -71/ w -71/ w Ԡ༻ฤ
  4. BGP  は   パケット転送先を探すプロトコル Network 1 Network 3 Network 2

    Network 4 10.0.0.0/24 10.0.0.0/24 に パケットを送りたい。 どこに転送すれば? ルーティング
  5. 「経路路」を交換する Network 1 Network 3 Network 2 Network 4 10.0.0.0/24

    10.0.0.0/24 は Network 1 にあるよ 10.0.0.0/24 は Network 2 経由の Network 1 にあるよ 10.0.0.0/24 は Network 3 経由の Network 1 にあるよ
  6. 「経路路」をたどってパケット転送 Network 1 Network 3 Network 2 Network 4 10.0.0.0/24

    Network 2 か Network 3 に 転送すればOK Network 1 に 転送すればOK
  7. ネットワーク   =  Autonomous  System  (AS) Network 1 Network 3

    Network 2 Network 4 AS 1 です AS 2 です AS 4 です 10.0.0.0/24 : AS1 10.0.0.0/24 : AS2 AS1 10.0.0.0/24 : AS3 AS1 AS 3 です
  8. AS_̲PATH  が同じ⻑⾧長さだったら? AS 1 AS 3 AS 2 AS 4

    10.0.0.0/24 : AS2 AS1 10.0.0.0/24 : AS3 AS1
  9. AS4  が受信時に優先度度づけ AS 3 AS 2 AS 4 10.0.0.0/24 :

    AS2 AS1 10.0.0.0/24 : AS3 AS1 10.0.0.0/24 : ༏ઌ౓100 AS2 AS1 10.0.0.0/24 : ༏ઌ౓200 AS3 AS1
  10. その他のパスアトリビュート   MULTI_̲EXIT_̲DISC  (MED) w .&%ͱݺ͹ΕΔ͜ͱ͕ଟ͍ w .&%͕খ͍͞༏ઌ౓ߴ͍ͦͬͪʹసૹͨ͠ ΄͏͕Α͍ w

    ಉ͡"4͔Βड͚औͬͨ.&%͚͕ͩൺֱ͞ΕΔ w ྫ"4͕"4ʹύέοτసૹ͍͕ͨ͠ɺͲ ͪΒͷϦϯΫʹసૹ͢Δ͔ܾΊΔͱ͖ w ʮ"4͕"4͔"4ͷͲͪΒʹύέοτస ૹ͢Δ͔ܾΊΔͱ͖ʯʹ͸ແࢹ͞ΕΔ
  11. その他のパスアトリビュート   NEXT_̲HOP Network 1 Network 3 Network 2 Network

    4 10.0.0.0/24 10.0.0.0/24 は Network 1 にあるよ 10.0.0.0/24 は Network 2 経由の Network 1 にあるよ 少しウソ
  12. その他のパスアトリビュート   NEXT_̲HOP AS 1 AS 3 AS 2 AS

    4 10.0.0.0/24 : 192.168.0.1 MED10 AS1 192.168.0.1 192.168.1.1 10.0.0.0/24 : 192.168.1.1 MED200 AS2 AS1 w ࣮ࡍ͸ɺ઀ଓ͍ͯ͠Δϧʔλʔͷ*1ΞυϨεΛ఻͑Δ
  13. BGP  まとめ w ΠϯλʔωοτΛ੍ޚ͢ΔͨΊͷϧʔςΟϯάϓ ϩτίϧ w ύεΞτϦϏϡʔτʹΑͬͯసૹઌ /&95@)01 Λ༏ઌ͚ͮΔ w

    "4@1"5) w -0$"-@13&' w .&% w ύεΞτϦϏϡʔτ͸ɺܦ࿏ૹ৴࣌ड৴࣌ʹม ߋͰ͖Δ 合わせ技も可能
  14. クラウド接続に応⽤用すると DC クラウド 172.16.0.0/24 : 192.168.0.2 LP200 MED0 AS1 172.16.0.0/24

    : 192.168.1.2 LP100 MED0 AS1 LP によって パケット転送するリンクが 選べる
  15. クラウド接続に応⽤用すると DC クラウド 10.0.0.0/24 : 192.168.0.1 MEDなし AS1 10.0.0.0/24 :

    192.168.1.1 MED20 AS1 MED によって パケット転送されてくるリンクが 選べる
  16. AS内部でもBGPを使う DC クラウド Connected (Direct) を BGP に再配布 10.0.0.0/24 :

    192.168.0.1 MEDなし AS1 10.0.0.0/24 : 192.168.1.1 MED20 AS1 10.0.0.0/24 : 192.168.2.1 MEDなし _ 10.0.0.0/24 : 192.168.2.1 MEDなし _ 挿すだけ
  17. オススメ図書 インターネット  ルーティング⼊入⾨門   • IP  の基本   • ルータの設定

      • OSPF   • RIP   • BGP   • MPLS   • 仮想ネットワーク   • etc…
  18. Agenda w Ϋϥ΢υͱͷ઀ଓํ๏ w ϧʔςΟϯάฤ w #(1 w Ϋϥ΢υ΁ͷԠ༻ w

    ΦϯϓϨϛεͱͷ઀ଓฤ w - w -71/ w -71/ w Ԡ༻ฤ
  19. L3接続  vs.  L2接続 w -ˠ࡞Γ΍͍͢◦␣ w γϯϓϧͳઃܭ w Φʔόʔϔουͳ͠ DC

    L2トンネル &UIFSOFU *1 6%1 -51 &UIFSOFU *1 Φʔόʔϔου Ϋϥ΢υͷήʔτ΢ΣΠ͕௨ৗ-ͳͷͰʜ w -ˠ-51ͳͲͷτϯωϧϓϩτίϧ w ΦϯϓϨϛεଆʹऴ୺૷ஔ͕ඞཁ
 1$Ͱऴ୺͢Δ͜ͱ΋Ͱ͖Δ  w ΦʔόʔϨΠ w Φʔόʔϔου͕େ͖͍ #d  w εϧʔϓοτ໰୊
  20. L2接続のモチベーション w -JWF.JHSBUJPO w ಉ͡-ωοτϫʔΫͷΈͰಈ͘ۀ຿ΞϓϦʁ w 1$઀ଓ؀ڥͱͯ͠͸Α͍͔΋͠Εͳ͍ w ϝϦοτബ͍ w

    ٕज़తϋʔυϧ͕ߴ͍ w &UIFSOFUࣗମͷϦεΫ w εέʔϧ͠ͳ͍-ϓϩτίϧ w ੬ऑͳϓϩτίϧߏ଄ w ϧʔϓͷՄೳੑ
  21. クラウド-‐‑‒オンプレミス  接続 -઀ଓ -઀ଓ ෺ ཧ ઐ༻ઢ 7 1 /

    *171/αʔϏε *14FD71/ -51PS1151ઐ༻ઢ -51PS1151*1 71/αʔϏε -51PS1151*14FD 71/ L3接続 + L2TP or PPTP
  22. L3接続  -‐‑‒  専⽤用線 DC クラウド 専用線 BGP ◦␣ ઐ༻ઢʹΑΔ҆ఆͨ͠઀ଓ؀ڥ w

    Ϋϥ΢υΦϯϓϨϛεؒͷ௚઀ ɹ#(1ʹΑΔࡉ΍͔ͳܦ࿏੍ޚ $ ߴίετ
 ɹ %$͕Ϋϥ΢υ઀ଓαʔϏεΛ ɹఏڙ͍ͯ͠Ε͹҆Ձʹ  w Ϋϥ΢υτϥϑΟοΫ͕ଟ͍৔ ߹޲͚
  23. L3VPN接続  -‐‑‒  IPSec-‐‑‒VPN DC クラウド IPSec BGP $ *OUFSOFUͷ௨৴඼࣭ʹґଘ w

    Ϋϥ΢υΦϯϓϨϛεؒͷ௚઀ ɹ#(1ʹΑΔࡉ΍͔ͳܦ࿏੍ޚ ◦␣ ௿ίετ w εϞʔϧελʔτ޲͚ w ଞͷํࣜͷόοΫΞοϓʹ΋ Internet
  24. IP-VPN サービス L3VPN接続  -‐‑‒  IP-‐‑‒VPNサービス DC クラウド BGP ◦␣ 71/ʹΑΔྑ޷ͳ௨৴඼࣭

    w Ϋϥ΢υΦϯϓϨϛεؒ઀ଓ͸ 71/ࣄۀऀʹ೚ͤΒΕΔ ◦␣ ௿ίετ w طʹ*171/αʔϏεΛར༻͠ ͍ͯΔ৔߹޲͚ BGP 事業者のクラウド 接続オプション
  25. Ϋϥ΢υͱͷ઀ଓํ๏ʹ͸ɺ ଟ਺ͷΦϓγϣϯ͕͋Δ w Ϋϥ΢υͷτϥϑΟοΫྔ w ཁٻ͞ΕΔɺωοτϫʔΫͷ҆ఆ౓ w τϥϑΟοΫίϯτϩʔϧͷඞཁੑ w ΦϯϓϨϛεڌ఺͸Ͳ͔͜ʁ

    ΦϑΟεʁ%$ʁ  w ͦ͜ʹΫϥ΢υࣄۀऀ΍71/ࣄۀऀ͕͍Δ͔ʁ w 71/αʔϏεΛطʹར༻͍ͯ͠Δ͔ʁ w 71/αʔϏεΫϥ΢υͷ૬ޓ઀ଓ͸͋Δ͔ʁ w ༧ࢉ w ʜ ཁ݅ʹ͋͏઀ଓํࣜͱཁૉٕज़ΛબΜͰɺ ϋΠϒϦουߏ੒Λͭ͘Δ
  26. ハイブリッド構成の現実 w அ͕࣌ؒڐ͞Εͳ͍ w ෦ॺ͝ͱʹωοτϫʔΫΛ෼཭͍ͨ͠ w %3༻ͳͷͰίετΛ͔͚ΒΕͳ͍ w Ϋϥ΢υʹ͍͚࣋ͬͯͳ͍ϋʔυ΢ΣΞɺιϑτ΢ΣΞ ͕͋Δ

    w ΦϯϓϨϛεωοτϫʔΫ͕ෳࡶ ཁ݅΍ΦϯϓϨϛεଆͷࣄ৘ʹΑΓɺΫϥ΢υͷॊೈੑ͕ ׆͔ͤͳ͍ɻશମͱͯ͠ӡ༻͕ϥΫʹͳΒͳ͍ ˠΦϯϓϨϛεଆʹ΋खΛೖΕΔ΂͖ہ໘
  27. Agenda w Ϋϥ΢υͱͷ઀ଓํ๏ w ϧʔςΟϯάฤ w #(1 w Ϋϥ΢υ΁ͷԠ༻ w

    ΦϯϓϨϛεͱͷ઀ଓฤ w - w -71/ w -71/ w Ԡ༻ฤ
  28. IP-‐‑‒VPN  に必要な技術 w .1-4 w -%1 w .1-471/ w *OUFS"40QUJPO"

    w *OUFS"40QUJPO# w .1#(1 ˠෳࡶ͕ͩɺΦϯϓϨϛεଆͰ΋࣮ݱͰ͖Δ
  29. MPLS w .VMUJ1SPUPDPM-BCFM4XJUDIJOH w 3'$  w "4಺ϧʔλʔؒΛτϯωϧ -41 Ͱ઀ଓ͠ɺ

    71/ɺ5&Λ࣮ݱ͢Δٕज़ w -%1 w 3'$ -BCFM%JTUSJCVUJPO1SPUPDPM  w -41ΛுΔͨΊͷϥϕϧ৘ใΛަ׵͢Δϓϩ τίϧ
  30. LDP R2 L10 を受け取ったら、 L20 に付け替えて R3 に転送するよ L10 をつけて

    送るよ L20 を受け取るよ w -41͝ͱʹɺ
 ϥϕϧʹؔ͢Δ৘ใΛަ׵͓ͯ͘͠ R1 R3
  31. MPLS-‐‑‒VPN w .1-471/ w 3'$
 #(1.1-4*17JSUVBM1SJWBUF/FUXPSLT  w .1-4Λ༻͍ͯ71/Λ࣮ݱ͢Δٕज़ w

    "4 ࣄۀऀ ؒͷܦ࿏ަ׵ʹ͍ͭͯɺΦϓγϣϯ"d$͕͋Δ w .1#(1 w 3'$ .VMUJQSPUPDPM&YUFOTJPOTGPS#(1  w ͞·͟·ͳωοτϫʔΫϨΠϠʔͷܦ࿏৘ใΛަ׵Ͱ͖ΔΑ͏ɺ #(1Λ֦ுͨ͠ w 71/ɺ*1W
  32. IP-VPN MPLS-‐‑‒VPN R1 R3 L10 を受け取ったら、 L20 に付け替えて R3 に転送する

    R2 VRF Aを 参照し、LA を 付けてLSP に 転送 R10 R20 VRF A VRF B - -" - -" LA が 付いていたら VRF Aを参照 VRF A VRF B w 71/ʹؔ܎͢Δͷ͸3ɺ3ͷΈ w 71/͕૿͑ͯ΋ɺ3͸ઃఆෆཁ
  33. IP-VPN MP-‐‑‒BGP R1 R3 R2 R10 はVPN A に属していて、VRF Aを使うよ。ラベルは

    LAだよ R10 R20 VRF A VRF B R20 はVPN A に属していて、VRF Aを使うよ。ラベル はLAだよ VRF A VRF B R20 に到達するた めのNEXTHOP はR3 だよ w 71/͝ͱʹ
 ϥϕϧʹؔ͢Δ৘ใΛަ׵͓ͯ͘͠ LSP MP-BGP (over LSP)
  34. MP-‐‑‒BGP  Inter-‐‑‒AS   Option-‐‑‒A IP-VPN IP-VPN VRF A VRF B

    VRF A VRF B BGP VRF ごとにVLAN で相互 接続し、 BGP によって経路交換。 パケットはVLAN 経由 MP-BGP LSP
  35. MP-‐‑‒BGP  Inter-‐‑‒AS   Option-‐‑‒B IP-VPN IP-VPN VRF A VRF B

    VRF A VRF B MP-BGP Intra-AS 向け同様、MP- BGP を張る。パケットはVPN ラベルに よってルーティングされるが、論理インター フェイスは分割されない MP-BGP LSP MPLS MPLS
  36. MP-‐‑‒BGP  Inter-‐‑‒AS   Option-‐‑‒A  vs.  Option-‐‑‒B 0QUJPO" 0QUJPO# 71/͝ͱʹτϥϑΟοΫ؅ཧ͕Ͱ͖Δ ◦␣

    $ 3PVUF5BSHFU 71/ࣝผࢠ Λ ֤"4ͰܾΊΒΕΔ ◦␣ $ τϥϑΟοΫόϥϯε΍ύε࠷దԽ͕Մೳ ◦␣ $ 71/਺ʹରͯ͠εέʔϥϒϧ $ ◦␣ .1-4Λର֎ΠϯλʔϑΣΠεͰಈ͔͞ͳ ͯ͘Α͍ ߴ৴པϞσϧ͕ෆཁ ◦␣ $ w ͲͪΒ͔͕ಛʹ༏ΕΔɺͱ͍͏͜ͱ͸ͳ͍ɻదࡐదॴ
  37. クラウド  +  MPLS-‐‑‒VPN IP-VPN DC 71/ 71/ 71/ ◦␣ εέʔϥϒϧͳ71/ɺ


    ɹ%$಺ͷ7-"/࡟ݮ ◦␣ ୯७ͳσʔλϓϨʔϯ
 ɹϦʔϯίΞ $ .1-4ʹΑΔΦʔόʔϨΠ $ ωοτϫʔΫػೳ /"5ɺ ɹ'8ͳͲ ΛڬΈʹ͍͘
  38. まとめ w ίϯτϩʔϧϓϨʔϯͷ࿩ w Ϋϥ΢υΦϯϓϨ઀ଓʹ#(1͕࢖ΘΕ࢝Ί͍ͯΔ w ಈతϓϩτίϧ͸εέʔϧ͢Δ͔Β w #(1ೖ໳ฤ w

    σʔλϓϨʔϯͷ࿩ w ઐ༻ઢPS71/αʔϏεPS*14FD71/ߏ੒ͷ ঺հ w ࣾ಺.1-471/ͷՄೳੑ