BGP/MPLS-VPN NTTコミュニケーションズ ( 株 ) 池尻雄一 <ikejiri@ntt.ocn.ne.jp> InternetWeek2000 BGP/MPLS-VPN とは MPLS の技術を利用して IP-VPN を実現する技術 従来の VPN 技術 = オーフ ンネットワーク上で IP データ部を暗号化で実現 (IP-Sec など : インターネット VPN) MPLS-VPN=MPLS( ラベルによるカプセリング ) により 論理的なクロース ト ネットワークを実現 (IP-VPN) 昨今の MPLS を使った他の IP-VPN 技術と区別して BGP/MPLS-VPN と呼ばれる 1
BGP/MPLS-VPN とは ルータによる 多様な IF による提供が可能 (ATM~ HSD などの非対称構成も可能 ) 暗号に頼らないセキュリティの確保が可能 (FR などと同等の機能を IP ネットワークで実現 ) お客様側への特別な装置が不要 (a)ipsec-vpn 方式 暗号化装置 (b)mpls-vpn 方式 汎用ルータ IP-NW BGP/MPLS-VPN 暗号化によりセキュリティ確保対地間でメッシュにトンネル エッシ にて VPN 毎にラヘ ル付与フラットなネットワーク BGP/MPLS-VPN とは Cisco 社を中心として RFC2547(Informational) に記された ISP サービスとしての IP-VPN 実現技術 網内パケット転送に MPLS(LDP/TDP) VPN 経路情報交換に BGP(mpBGP:RFC2858) を使用 ルーティングプロトコルがエッジで終端されるPeer モデルのLayer3 IP-VPN VPNごとに異なるルーティングテーブルを持ちお客様ルータとルーティング情報を交換する Layer3ルーティングのISPへのアウトソーシング 2
BGP/MPLS-VPN の動作概要 InternetWeek2000 BGP/MPLS-VPN 動作概念 内では ラベルによって転送が行われる MPLS-VPN ではラベルは 2 つ使用される PE ルータで VPN を識別し 該当するあて先に対応したラベルを付与して にパケットを送信する P ルータ A IP ラベルラベル P ルータ B 出口の PE ルータでは ラベル情報から得られた該当 VPN に対して ラベルが除去して通常の IP パケットとして送信する IP PE ルータ A PE ルータ B PE ルータ C IP MPLS 通信 IP 通信 CE ルータ CE ルータ CE ルータ CE ルータ CE ルータ CE ルータ VPN A 新宿 10.0.0.0/24 VPN A 大手町 10.1.0.0/24 VPN B 横浜 10.0.0.0/24 VPN A 名古屋 192.168.0.0/24 VPN B 大阪 10.1.0.0/24 VPN A 大阪 10.2.0.0/16 3
BGP/MPLS-VPN 動作概念 日本全国にまたがるお客様専用ルータがあり アクセスポイント (AP) がそのルータのポートに相当するイメージ A 社様専用 B 社様専用 日本全国にまたがるお客様専用ルータを提供するイメージとなる 複数の VPN でバックボーンを共用するが お互いの VPN は論理的に独立している 特徴 ( ユーザ側 ) お客様宅に設置されるルータは通常のルータで良い (MPLS や IP-Sec 等の機能はいらない ) FRやATM 等のようなパスの管理が必要ない IPアドレスはお客様にて任意に設定可能でありプライベートアドレスを自由に持ちこめる VPN 同士の通信は ルータ内及び網内にて完全に分離されておりFR ATMと同等のセキュリティが保たれている 4
特徴 (ISP 側 ) 既存のルータによる IP ネットワークをそのまま使って IP-VPN サービスを提供できる 複数のルーティングプロトコルを使ってお客様を収容できるので柔軟なサービスが提供できる 複数の VPN を 1 台のルータに収容できるため効率の良い IP-VPN サービスを提供できる 異なる VPN 間で同じアドレスが使えるためサービス性が良い 閉じたネットワークなので QoS 関係のサービスも実現しやすい BGP/MPLS-VPN 構成ルータ PE ルータ :Provider Edge Router( お客様を収容するルータ MPLS エッジルータ ) P ルータ :Provider Router(MPLS コアルータ ) CE ルータ :Customer Edge Router(PE ルータにつながるお客様ルータ ) VPN 収容とラベル付けラベルのみで転送通常の IP ルータ CE PE P P PE CE 5
PE ルータのしくみ 複数の VPN を 1 台の PE ルータに収容するために VRFs:VPN Routing and Forwarding tables VPN CE VRF(VPN) VRF ATM/FR PE ルータのしくみ VPN ごとにルーティングテーブルを保持する Serial1/0/0 ATM2/0/0.1 VPN-A 用 Routing Table Ether3/0/0 Serial1/0/1 VPN-B 用 Routing Table VPN-C 用 Routing Table ISP 内部用 Global Routing Table IP ラベルラベル Backbone 向けポート PE ルータ 6
ラベルフォーマット BGP/MPLS-VPN ラベルフォーマット レイヤ 2 ヘッダ 網内転送ラベル VPN 識別ラベル IP ヘッダ + データ PE ルータで挿入され 出口の PE ルータを目指して P ルータをホップするたびにラベルの値は変わっていく (LDP で hop by hop に決定 ) PE ルータで挿入され 出口の PE ルータに到着するまでは コアネットワーク内では参照されず値も変わらない (mpbgp で PE ルータ同士で情報交換 ) MPLS ラベルスタックを 2 つ使う 32bit 固定長ラベル BGP/MPLS-VPN 動作概要 VPN 名 A 社 A 社 Route Dist. あて先アドレス VPN 識別ラベル 出口の PE ルータのアドレス 転送用ラベル 12 10.0.0.0/8 26 192.168.0.1/32 42 12 11.0.0.0/8 989 192.168.0.1/32 42 in 転送用ラベル 42 出口の PE ルータのアドレス out 転送用ラベル 192.168.0.1/32 32 Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 7
BGP/MPLS-VPN 動作概要 VPNA; 拠点 B:10.0.0.1 行きパケット到着 Dst:10.0.0.1 Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 BGP/MPLS-VPN 動作概要 VPN 名 A 社 A 社 Route Dist. あて先アドレス VPN 識別ラベル 出口の PE ルータのアドレス 転送用ラベル 12 10.0.0.0/8 26 192.168.0.1/32 42 12 11.0.0.0/8 989 192.168.0.1/32 42 Dst:10.0.0.1 Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 8
BGP/MPLS-VPN 動作概要 1(1)VPNA:10.0.0.0/8 の出口の PE ルータを BGP next-hop で知る (2) 該当する BGP next-hop に対応した転送用ラベル A を付与する 2 出口の PE ルータより得た VPNA:10.0.0.0/8 に相当する VPN 識別用ラベル B を付与する Dst:10.0.0.1 ラベル B(26) ラベル A(42) Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 BGP/MPLS-VPN 動作概要 in 転送用ラベル 42 出口の PE ルータのアドレス out 転送用ラベル 192.168.0.1/32 32 Dst:10.0.0.1 ラベル B(26) ラベル A(42) Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 9
BGP/MPLS-VPN 動作概要 バックボーン内の P ルータでは 転送用ラベル A だけを参照 値はホップバイホップで変わります Dst:10.0.0.1 ラベルB(26) ラベル A(32) Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 BGP/MPLS-VPN 動作概要 最後の P ルータでは転送用のラベルを取ります in 転送用ラベル 32 出口の PE ルータのアドレス out 転送用ラベル 192.168.0.1/32 - Dst:10.0.0.1 ラベルB(26) ラベル A(32) Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 10
BGP/MPLS-VPN 動作概要 出口の PE ルータでは ラベル B の値を頼りに VPN を識別 & 出力インタフェースを決定し CE ルータへパケットを転送 Dst:10.0.0.1 ラベル B(26) Lo:192.168.0.1/32 CE PE P P PE CE 26 10.0.0.0/8 BGP/MPLS-VPN 動作概要 ラベルがはずされ通常の IP パケットとして CE ルータに到着する Dst:10.0.0.1 Lo:192.168.0.1/32 CE PE P P PE CE 10.0.0.0/8 11
Static BGP4 RIP OSPF BGP/MPLS-VPN プロトコル構成 Redistribute(BGP4 以外 ) PE mp-bgp(vpn 経路を伝播 ) (Route Reflector:iBGP フルメッシュ ) Redistribute(BGP4 以外 ) P P PE LDP( 転送ラベルの決定 ) Static BGP4 RIP OSPF CE (OSPF など ) CE BGP/MPLS-VPN ラベル決定方法 PE ルータ P ルータ間で OSPF にて経路のやり取りをし その経路情報にラベル情報を対応 (LDP) 特に PE ルータの Loopback アドレスが最終的に VPN の出口を示すので重要 Lo:192.168.0.1 Lo:192.168.0.2 PEルータLoアドレスへLSP 確立 PE P P PE LDP( 転送ラベルの決定 ) (OSPF など ) 12
Rd=12 10.0.0.0/24 ラベル 26 RT=12 NH=PE-B BGP/MPLS-VPN ラベル決定方法 PE-CE 間のルーティングプロトコルで得た VPN 経路情報をラベルの情報とともに PE ルータ間で交換 PE-A mp-bgp (VPN サイトラベルの決定 ) P P Redistribute PE-B 例 : Static VPN-A 10.0.0.0/24 ラベル =26 CE CE BGP/MPLS-VPN ラベル決定方法 PEルータ間のLSPをVPN 識別用ラベルでカプセル化されたパケットが通るイメージ Redistribute(BGP4 以外 ) Static BGP4 RIP OSPF PE mp-bgp IPパケット VPNラベル LSPラベル PEルータLoアドレス間 LSP Redistribute(BGP4 以外 ) P P PE Static BGP4 RIP OSPF CE (OSPF など ) CE 13
BGP における VPN 経路情報 InternetWeek2000 BGP における VPN 経路 RFC2858 Multiprotocol extensions for BGP-4 を使用 MP_REACH_NLRI(Type Code 14) MP_UNREACH_NLRI(Type Code 15) AFI=1 & SAFI =128 MPLS-labeled VPN-IPv4 address 14
BGP における VPN 経路 mp-bgp における経路扱い VPN-IPv4 Address Family 通常のIPv4アドレスに8byteの識別子 Route Distinguisher(RD) を付与し 12byteのアドレス空間に拡大 VPN-IPv4 Address(12byte) =RD(8byte)+IPv4(4byte) RD IPv4 アドレス 12byte BGP における VPN 経路 mp-bgp における経路扱い RD(8byte) のFormat Type 2byte Value 6byte ISP Value Field Format 15
Extended Community Extended Community Attribute(Type Code 16) が新たに定義 その中の一つが Route Target(RT) VRF より BGP にアナウンスされる経路には 必ず一つ以上の RT を付与する Export Targets: ローカル PE にて CE からの経路の付与 Import Targets: リモート PE からの経路をローカル VRF に落とし込む際の選択に使用 VPN 間通信 AS 間通信の実現 Extended Community RTをもとに VPNv4-prefixをどの VPNのRouting Table 突っ込むかを選択 (Import) VPN-A 用 Routing Table ISP 内部用 VPN-B 用 Global Routing Table Routing Table VPN-C 用 Routing Table BGP テーブル RD:9598:1(VPN-A) 10.0.0.0/24 RT:9598:1(Export) 10.0.1.0/24 RT:9598:1(Export) RD:9598:2(VPN-B) 10.0.0.0/24 RT:9598:2(Export) 10.0.1.0/24 RT:9598:2(Export) RD:9598:3(VPN-C) 10.0.0.0/8 RT:9598:3(Export) 16
AS Override 同一 VPN 内で複数の拠点で同一の AS 番号を用いて PE-CE 間を接続するための技術 ユーザ側で AS 番号の管理が不要 10.0.0.0/24 AS 65000 VPN-A 拠点 1 AS 65000 VPN-A 拠点 2 BGP-4 BGP-4 ISP 内部では普通どおり 10.0.0.0/24 AS65000 VPN-A BGP/MPLS-VPN 網 AS 9598 拠点 1 の AS65000 を ISP AS に置き換えて伝える 10.0.0.0/24 AS9598 BGP-4 AS 65000 VPN-A 拠点 3 SOO(Site Of Origin) AS Override と併用され冗長構成拠点の同一 AS 間のループを防ぐ RT と同じ Extend Community の一つ 10.0.0.0/24 CE-A AS65000 CE-B BGP-4 BGP-4 ISP 内部では 同一 SOO を付与 10.0.0.0/24 AS65000 From CE-A SOO=65000:1 10.0.0.0/24 AS65000 From CE-B SOO=65000:1 VPN-A BGP/MPLS-VPN 網 AS 9598 VPN-A 拠点 1 経路の回りこみを防ぐ 17
BGP/MPLS-VPN 設定例 InternetWeek2000 PE ルータ Config 例 VPN の定義 ip vrf VPN-TEST rd 9598:1 route-target import 9598:1 route-target export 9598:1 インタフェースの VPN へ括り付け Interface Serial1/0/0 ip vrf forwarding VPN-TEST ip address 10.0.0.1 255.255.255.252 18
PE ルータ Config 例 (Cont.) mpbgp 部分の設定 (CE ルータ Static): 抜粋 router bgp 9598 no bgp default ipv4-unicast neighbor 192.168.0.1 remote-as 9598 他 PE ルータ向け Peer! address-family ipv4 vrf VPN-TEST VPN 用設定 redistribute static no auto-summary no synchronization exit-address-family! address-family vpnv4 route-target 情報用 neighbor 192.168.0.1 send-community extended! PE ルータ Config 例 (Cont.) VPN 用 Static 設定 ip route vrf VPN-TEST 10.0.0.0 255.0.0.0 Serial1/0/0 10.0.0.2 ip route vrf OTHER-VPN 10.0.0.0 255.0.0.0 Serial1/1/0 10.0.0.2 VPN が異なれば同じアドレスでも設定可 19
BGP/MPLS-VPN ユーザ構築例 InternetWeek2000 MPLS-VPN ユーザ構築例 Static の考え方 主に拠点向き 例 10.2.1.0/24 10.2.2.0/24 CE 側はテ フォルトルートを利用した 簡素な設定 0.0.0.0/0 CE CE 0.0.0.0/0 10.2.1.0/24 10.2.2.0/24 VPN A 社 0.0.0.0/0 0.0.0.0/0 CE CE Internet 10.1.1.0/24 192.1.0.0/24 CEで設定する経路 PEで設定する経路 ( 申込経路 ) 20
10.2.1.0/24 10.2.2.0/24 MPLS-VPN ユーザ構築例 BGP の考え方 主にセンタ向き 動的ルーチンク を生かしたハ ックアッフ 構成の実現 例 0.0.0.0/0 0.0.0.0/0 ISDN BGP 10.2.1.0/24 VPN A 社 10.2.1.0 0.0.0.0 10.2.2.0 を配信 10.2.2.0/24 を配信 Internet 10.1.1.0/24 192.1.0.0/24 障害時は 10.2.1.0 が消える = ハ ックアッフ への切替 BGP/MPLS-VPN まとめ ( 実際と新技術 ) InternetWeek2000 21
BGP/MPLS-VPN 技術の実際 Informational RFC から draft-ietf-ppvpnrfc2547bis-00.txt にて改定中 IETF PPVPN-WG にて IP-VPN 実現 1 手法として提案 Cisco 社中心から 現在では 複数のメーカの実装が出始めている 同じ MPLS を使った VPN 技術として VR 方式やルーティングのアウトソーシングを受けない Layer2 MPLS-VPN など新しい技術がどんどん現れ IP-VPN を実現するための唯一の解ではなくなってきている BGP/MPLS-VPN 技術の実際 ISP 内部の設計に関しては バックボーンは軽くなったが エッジルータは VPN をハンドルするため負荷がかかる傾向 ISP にてルーティングのアウトソーシングを受けるため ISP としては 経路数が莫大に増える可能性 1VPN*1000 経路 200VPN=20 万経路! リフレクタを分ける PE ルータ収容を分ける BGP Peer 構成を分ける等のスケーラビリティ対応要 22
BGP/MPLS-VPN 関連新機能 BGP/MPLS-VPN 事業者間接続 Inter-mpls-vpn 機能を使った MPLS-VPN の ebgp による事業者間接続 Carrier s Carrier 機能 ISP のバックボーンを MPLS-VPN を使って作る機能 既存の IP ネットワークを MPLS-VPN の統一プラットフォーム上に実現できる BGP/MPLS-VPN と Traffic Engineering との組合せ 特定の VPN に対して TE の機能を適用して Qos(Diffserve) や FRR 等の機能を提供 23