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

網設計のためのBGP入門

 網設計のためのBGP入門

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

A31d1c25ddaa3692377a488f0b64ef2b?s=128

Shintaro Kojima

November 18, 2015
Tweet

Transcript

  1. Internet  week  2015   できる網設計   網設計のための   BGP⼊入⾨門

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

     w *9 ೥ +1/"1  w Ϋϥ΢υ೥ /55ίϛϡχέʔγϣϯζ  w ωοτϫʔΫશൠ೥ ίʔμϯε
  3. 本パートの話題 どうやって つなぐ? クラウド データセンター オフィス ルーティング は?

  4. # 早速ですがアンケートです 2Ϋϥ΢υαʔϏεɺ࢖ͬͯ·͔͢ʁ w ύϒϦοΫΫϥ΢υ w ϗεςουϓϥΠϕʔτΫϥ΢υ

  5. # 早速ですがアンケートです 2Ϋϥ΢υͱͷϧʔςΟϯά͸ʁ w ੩త w ಈత

  6. DC プライベートクラウドとの   接続 クラウド 専用線

  7. DC プライベートクラウドとの   接続 VPN サービス クラウド 動的 動的 静的

    $
  8. DC プライベートクラウドとの   接続 VPN サービス クラウド ルーティングを 設定しないと $

    ラックが増えた = ネットワークが増えた
  9. ΊΜͲ͍͘͞

  10. DC マルチクラウドアクセス VPN サービス クラウド ルーティングを 設定しないと $ クラウド 新しい

    クラウドサービスを 使い始めた
  11. ΊΜͲ͍͘͞ ここが 本パートの スタート地点です

  12. リーダーたちは   どうやっているか

  13. 2015  Magic  Quadrant  for  Cloud   Infrastructure  as  a  Service,

     Worldwide IUUQTBXTBNB[PODPNKQSFTPVSDFTHBSUOFSNRMFBSONPSF
  14. DC クラウドへのルーティングを動的に VPN サービス AWS Azure GCP vCloud Air BGP

    で クラウドにルーティング できる
  15. 本パートの話題 どうやって つなぐ? クラウド データセンター オフィス ルーティング は?

  16. εέʔϧ͢Δ Ϋϥ΢υ઀ଓํ๏ ʹ͍ͭͯ ཧղΛਂΊ͍ͨ

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

    ΦϯϓϨϛεͱͷ઀ଓฤ w - w -71/ w -71/ w Ԡ༻ฤ
  18. クラウドとの接続⽅方法   (ルーティング編)   BGP

  19. BGP  とは w 3'$
 "#PSEFS(BUFXBZ1SPUPDPM  w ΠϯλʔωοτΛ੍ޚ͢ΔͨΊͷϧʔςΟϯ άϓϩτίϧ w

    ΠϯλʔωοτωοτϫʔΫΛ૬ޓ઀ଓ͠ ͨ΋ͷ
  20. BGP  は   パケット転送先を探すプロトコル Network 1 Network 3 Network 2

    Network 4 10.0.0.0/24 10.0.0.0/24 に パケットを送りたい。 どこに転送すれば? ルーティング
  21. 「経路路」を交換する 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 にあるよ
  22. 「経路路」をたどってパケット転送 Network 1 Network 3 Network 2 Network 4 10.0.0.0/24

    Network 2 か Network 3 に 転送すればOK Network 1 に 転送すればOK
  23. ネットワーク   =  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 です
  24. AS_̲PATH "4"4 w "4@1"5)ͱݺͿ w "4@1"5)͕୹͍͍ۙͦͬͪʹసૹ͠ ͨ΄͏͕Α͍ w "4@1"5)ͷΑ͏ͳܦ࿏ͷଐੑͷ͜ͱΛ
 ύεΞτϦϏϡʔτͱݺͿ

    AS_PATH
  25. AS_̲PATH  が同じ⻑⾧長さだったら? AS 1 AS 3 AS 2 AS 4

    10.0.0.0/24 : AS2 AS1 10.0.0.0/24 : AS3 AS1
  26. 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
  27. LOCAL_̲PREF   (Local  Preference,  LP) ༏ઌ౓"4"4 w -0$"-@13&'ͱݺͿ w -0$"-@13&'͕େ͖͍༏ઌ౓ߴ͍ͦͬ

    ͪʹసૹͨ͠΄͏͕Α͍ w ΄͔ͷ"4ʹ͸సૹ͞Εͳ͍ɻ"4಺෦ͰͷΈ ༗ޮ LOCAL_PREF
  28. その他のパスアトリビュート   MULTI_̲EXIT_̲DISC  (MED) AS 1 AS 2 10.0.0.0/24 :

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

    ಉ͡"4͔Βड͚औͬͨ.&%͚͕ͩൺֱ͞ΕΔ w ྫ"4͕"4ʹύέοτసૹ͍͕ͨ͠ɺͲ ͪΒͷϦϯΫʹసૹ͢Δ͔ܾΊΔͱ͖ w ʮ"4͕"4͔"4ͷͲͪΒʹύέοτస ૹ͢Δ͔ܾΊΔͱ͖ʯʹ͸ແࢹ͞ΕΔ
  30. その他のパスアトリビュート   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 にあるよ 少しウソ
  31. その他のパスアトリビュート   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ΞυϨεΛ఻͑Δ
  32. BGP  まとめ w ΠϯλʔωοτΛ੍ޚ͢ΔͨΊͷϧʔςΟϯάϓ ϩτίϧ w ύεΞτϦϏϡʔτʹΑͬͯసૹઌ /&95@)01 Λ༏ઌ͚ͮΔ w

    "4@1"5) w -0$"-@13&' w .&% w ύεΞτϦϏϡʔτ͸ɺܦ࿏ૹ৴࣌ड৴࣌ʹม ߋͰ͖Δ 合わせ技も可能
  33. クラウドとの接続⽅方法   (ルーティング編)   クラウドへの応⽤用

  34. クラウド接続に応⽤用すると 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 によって パケット転送するリンクが 選べる
  35. クラウド接続に応⽤用すると DC クラウド 10.0.0.0/24 : 192.168.0.1 MEDなし AS1 10.0.0.0/24 :

    192.168.1.1 MED20 AS1 MED によって パケット転送されてくるリンクが 選べる
  36. 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なし _ 挿すだけ
  37. クラウドへの応⽤用  まとめ w Ϋϥ΢υͷઃఆΛม͑ͣʹɺύέοτసૹ Λ੍ޚͰ͖Δ w ωοτϫʔΫ͕૿͑ͯ΋ɺૹ৴͢Δܦ࿏Λ ૿΍͚ͩ͢ #(1ʹΑͬͯɺωοτϫʔΫมߋ࣌ʹม͑Δ ΂͖ϙΠϯτΛݮΒ͢εέʔϧ͢Δωοτ

    ϫʔΫ͕࡞ΕΔ
  38. オススメ図書 インターネット  ルーティング⼊入⾨門   • IP  の基本   • ルータの設定

      • OSPF   • RIP   • BGP   • MPLS   • 仮想ネットワーク   • etc…
  39. ͳΔ΄Ͳɺ#(1͕ศར ͦ͏ͳͷ͸Θ͔ͬͨɻ Ͱ΋ɺΫϥ΢υͱͷ෺ ཧ઀ଓʹΑΔͷͰ͸ʁ

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

    ΦϯϓϨϛεͱͷ઀ଓฤ w - w -71/ w -71/ w Ԡ༻ฤ
  41. クラウドのインスタンス、   どう⾒見見せたい? DC L3接続 DC L2接続

  42. L3接続  vs.  L2接続 w -ˠ࡞Γ΍͍͢◦␣ w γϯϓϧͳઃܭ w Φʔόʔϔουͳ͠ DC

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

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

    *171/αʔϏε *14FD71/ -51PS1151ઐ༻ઢ -51PS1151*1 71/αʔϏε -51PS1151*14FD 71/ L3接続 + L2TP or PPTP
  45. クラウドとの接続⽅方法   (オンプレミスとの接続編)   L3接続

  46. L3接続  -‐‑‒  専⽤用線 DC クラウド 専用線 BGP ◦␣ ઐ༻ઢʹΑΔ҆ఆͨ͠઀ଓ؀ڥ w

    Ϋϥ΢υΦϯϓϨϛεؒͷ௚઀ ɹ#(1ʹΑΔࡉ΍͔ͳܦ࿏੍ޚ $ ߴίετ
 ɹ %$͕Ϋϥ΢υ઀ଓαʔϏεΛ ɹఏڙ͍ͯ͠Ε͹҆Ձʹ  w Ϋϥ΢υτϥϑΟοΫ͕ଟ͍৔ ߹޲͚
  47. クラウドとの接続⽅方法   (オンプレミスとの接続編)   L3VPN接続

  48. L3VPN接続  -‐‑‒  IPSec-‐‑‒VPN DC クラウド IPSec BGP $ *OUFSOFUͷ௨৴඼࣭ʹґଘ w

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

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

    ΦϑΟεʁ%$ʁ  w ͦ͜ʹΫϥ΢υࣄۀऀ΍71/ࣄۀऀ͕͍Δ͔ʁ w 71/αʔϏεΛطʹར༻͍ͯ͠Δ͔ʁ w 71/αʔϏεΫϥ΢υͷ૬ޓ઀ଓ͸͋Δ͔ʁ w ༧ࢉ w ʜ ཁ݅ʹ͋͏઀ଓํࣜͱཁૉٕज़ΛબΜͰɺ ϋΠϒϦουߏ੒Λͭ͘Δ
  51. Ϋϥ΢υ ΦϯϓϨϛεͷ ϋΠϒϦουߏ੒ʹ ͨ͠ͱ͖ͷɺӡ༻·Ͱ Πϝʔδ͍ͯͩ͘͠͞

  52. ハイブリッド構成の現実 w அ͕࣌ؒڐ͞Εͳ͍ w ෦ॺ͝ͱʹωοτϫʔΫΛ෼཭͍ͨ͠ w %3༻ͳͷͰίετΛ͔͚ΒΕͳ͍ w Ϋϥ΢υʹ͍͚࣋ͬͯͳ͍ϋʔυ΢ΣΞɺιϑτ΢ΣΞ ͕͋Δ

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

    ΦϯϓϨϛεͱͷ઀ଓฤ w - w -71/ w -71/ w Ԡ༻ฤ
  54. アイデア:  クラウドの柔軟性を   オンプレミスに IP-VPN サービス DC クラウド IP-VPN DC

    クラウド
  55. IP-‐‑‒VPN  に必要な技術 w .1-4 w -%1 w .1-471/ w *OUFS"40QUJPO"

    w *OUFS"40QUJPO# w .1#(1 ˠෳࡶ͕ͩɺΦϯϓϨϛεଆͰ΋࣮ݱͰ͖Δ
  56. クラウドとの接続⽅方法   (応⽤用編)   MPLS

  57. MPLS w .VMUJ1SPUPDPM-BCFM4XJUDIJOH w 3'$  w "4಺ϧʔλʔؒΛτϯωϧ -41 Ͱ઀ଓ͠ɺ

    71/ɺ5&Λ࣮ݱ͢Δٕज़ w -%1 w 3'$ -BCFM%JTUSJCVUJPO1SPUPDPM  w -41ΛுΔͨΊͷϥϕϧ৘ใΛަ׵͢Δϓϩ τίϧ
  58. IP-VPN MPLS R1 R3 - - L10 を受け取ったら、 L20 に付け替えて

    R3 に転送する R2 ラベル
  59. MPLS R2 LSP トンネル経由で パケット転送 R1 R3

  60. LDP R2 L10 を受け取ったら、 L20 に付け替えて R3 に転送するよ L10 をつけて

    送るよ L20 を受け取るよ w -41͝ͱʹɺ
 ϥϕϧʹؔ͢Δ৘ใΛަ׵͓ͯ͘͠ R1 R3
  61. MPLS LSP は単方向 → ルーター間で 2本ずつ フルメッシュ

  62. クラウドとの接続⽅方法   (応⽤用編)   MPLS-‐‑‒VPN

  63. 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
  64. 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͸ઃఆෆཁ
  65. 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)
  66. クラウドとの接続⽅方法   (応⽤用編)   MPLS-‐‑‒VPN   Inter-‐‑‒AS

  67. 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
  68. 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
  69. MP-‐‑‒BGP  Inter-‐‑‒AS   Option-‐‑‒A  vs.  Option-‐‑‒B 0QUJPO" 0QUJPO# 71/͝ͱʹτϥϑΟοΫ؅ཧ͕Ͱ͖Δ ◦␣

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


    ɹ%$಺ͷ7-"/࡟ݮ ◦␣ ୯७ͳσʔλϓϨʔϯ
 ɹϦʔϯίΞ $ .1-4ʹΑΔΦʔόʔϨΠ $ ωοτϫʔΫػೳ /"5ɺ ɹ'8ͳͲ ΛڬΈʹ͍͘
  71. Ϋϥ΢υͷॊೈੑͱ #(1ɺ.1-471/͸૬ੑ͕͍͍ɻ 4%/·Ͱߦ͔ͣͱ΋ɺ ཁૉٕज़Λ͏·͘બͿ͜ͱͰ Ϋϥ΢υωΠςΟϒͳωοτϫʔ ΫΛ࡞Δ͜ͱ͕Ͱ͖Δ

  72. まとめ w ίϯτϩʔϧϓϨʔϯͷ࿩ w Ϋϥ΢υΦϯϓϨ઀ଓʹ#(1͕࢖ΘΕ࢝Ί͍ͯΔ w ಈతϓϩτίϧ͸εέʔϧ͢Δ͔Β w #(1ೖ໳ฤ w

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