IP-VPN(BGP MPLS/VPN) InternetWeek 2002 NTTコミュニケーションズ コミュニケーションズ( 株 ) 池 尻 雄 一 <y.ikejiri@ntt.com> Yuichi Ikejiri @ NTT Communications IP-VPN MPLSで で 実 現 できる 代 表 的 なサービスと してIP-VPNを 取 り 上 げます また そのVPNの の 種 類 としては L3VPN 及 びL2VPNがありますが ここでは 最 も 普 及 しているL3VPNを 中 心 に 説 明 しま す L2VPNの の 詳 細 については 別 セッション を 参 照 ください 1
IP-VPN Agenda BGP/MPLS-VPNとは BGP/MPLS-VPNの の 動 作 概 要 BGP/MPLS-VPNのパス 決 定 方 法 BGPにおける におけるVPN 経 路 情 報 BGP/MPLS-VPN 設 定 例 BGP/MPLS-VPNユーザ 構 築 事 例 BGP/MPLS-VPNまとめと 新 技 術 BGP/MPLS-VPNとは RFC2547bisに に 記 されたISPサービスとしての IP-VPN 実 現 技 術 インターネットVPN=オープンなネットワーク 上 で IPデータ 部 を 暗 号 化 で 実 現 MPLS-VPN=MPLS(によるカプセリン グ)により 論 理 的 なクローズドなネットワーク を 実 現 昨 今 のMPLSを 使 った 他 のIP-VPN 技 術 と 区 別 してBGP/MPLS-VPNと 呼 ばれる 2
BGP/MPLS-VPNとは ルータによる 多 様 なIFによる 提 供 が 可 能 (ATM~ ( HSDなどの 非 対 称 構 成 も 可 能 ) 暗 号 に 頼 らないセキュリティの 確 保 が 可 能 (FRなどと 同 等 の 機 能 をIPネットワークで 実 現 ) お 客 様 側 への 特 別 な 装 置 が 不 要 (a)ipsec-vpn 方 式 暗 号 化 装 置 (b)mpls-vpn 方 式 汎 用 ルータ IP-NW BGP/MPLS-VPN 暗 号 化 によりセキュリティ 確 保 エッシ にてVPN 毎 にラヘ ル 付 与 対 地 間 でメッシュにトンネル フラットなネットワーク BGP/MPLS-VPNとは 網 内 パケット 転 送 にMPLS(LDP/RSVP) VPN 経 路 情 報 交 換 にBGP(mpBGP:RFC2858, RFC3107) を 使 用 ルーティングプロトコルがエッジで 終 端 される Peerモデルの モデルのLayer3 IP-VPN VPNごとに 異 なるルーティングテーブルを 持 ちユー ザルータとルーティング 情 報 を 交 換 する Layer3ルーティングの ルーティングのISPへのアウトソーシング 3
BGP/MPLS-VPNの 動 作 概 要 Yuichi Ikejiri @ NTT Communications 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 新 宿 VPN A 大 手 町 10.0.0.0/24 10.1.0.0/24 VPN B 横 浜 VPN A 名 古 屋 VPN B 大 阪 10.0.0.0/24 192.168.0.0/24 10.1.0.0/24 VPN A 大 阪 10.2.0.0/16 4
BGP/MPLS-VPN 動 作 概 念 日 本 全 国 にまたがるお 客 様 専 用 ルータがあり アクセスポイント(AP)がそのルータの ポートに 相 当 するイメージ A 社 様 専 用 B 社 様 専 用 日 本 全 国 にまたがるお 客 様 専 用 ルータを 提 供 するイメージとなる 複 数 のVPNでバックボーンを 共 用 するが お 互 いのVPNは 論 理 的 に 独 立 し ている 特 徴 (ユーザ 側 ) お 客 様 宅 に 設 置 されるルータは 通 常 のルータで 良 い(MPLSやIP-Sec 等 の 機 能 はいらない) FRやATM 等 のようなパスの 管 理 が 必 要 ない IPアドレスはお 客 様 にて 任 意 に 設 定 可 能 であり IPv4プライベートアドレスを 自 由 に 持 ちこめる VPN 同 士 の 通 信 は ルータ 内 及 び 網 内 にて 完 全 に 分 離 されておりFR ATMと 同 等 のセキュリ ティが 保 たれている 5
特 徴 (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 6
PEルータのしくみ 複 数 のVPNを1 台 のPEルータに 収 容 するために VRFs:VPN Routing and Forwarding tables VPN CE VRF(VPN) VRF ATM/FR PEルータのしくみ VPNごとにルーティングテーブルを 保 持 する 一 部 の 実 装 では VR(Virtual Router)の の 場 合 も Serial1/0/0 ATM2/0/0.1 Ether3/0/0 Serial1/0/1 VPN-A 用 Routing Table VPN-B 用 Routing Table VPN-C 用 Routing Table ISP 内 部 用 Global Routing Table IP Backbone 向 けポート PEルータ 7
BGP/MPLS-VPN 構 成 Shimヘッダ 形 式 レイヤ2 ヘッダ 網 内 転 送 VPN 識 別 IPヘッダ+データ PEルータで 挿 入 され 出 口 のPE ルータを 目 指 してPルータをホッ プするたびにの 値 は 変 わっ ていく(LDPでhop by hopに 決 定 ) PEルータで 挿 入 され 出 口 のPEルー タに 到 着 するまでは コアネットワー ク 内 では 参 照 されず 値 も 変 わらない (mpbgpでpeルータ 同 士 で 情 報 交 換 ) MPLSスタックを スタックを2つ 使 う 32bit 固 定 長 2 BGP/MPLS-VPN 動 作 概 要 VPN 名 A 社 A 社 Route Dist. あて 先 アドレス VPN 識 別 出 口 のPEルー の タのアドレス 転 送 用 12 10.0.0.0/8 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 8
BGP/MPLS-VPN 動 作 概 要 (cont.) パケット 転 送 (CEルータからのパケット 到 着 ) 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 動 作 概 要 (cont.) VPN 名 A 社 A 社 Route Dist. PEルータでのテーブルルックアップ あて 先 アドレス 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 9
BGP/MPLS-VPN 動 作 概 要 (cont.) PEルータでのパケットへの 付 与 1 出 口 のPEルータより 得 たVPNA:10.0.0.0/8に 相 当 するVPN 識 別 用 Bを 付 与 する 2(1)VPNA:10.0.0.0/8の 出 口 のPEルータを ルータをBGP next-hopで で 知 る (2) 該 当 するBGP next-hopに に 対 応 した 転 送 用 Aを 付 与 する 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 動 作 概 要 (cont.) Pルータでのテーブルルックアップ in 転 送 用 出 口 のPEルー の out 転 送 用 タのアドレス 42 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 10
BGP/MPLS-VPN 動 作 概 要 (cont.) Pルータでのスワップ バックボーン 内 の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 動 作 概 要 (cont.) 最 後 のPルータでは 転 送 用 のを 取 ります (PHP:Penultimate Hop Popping) in 転 送 用 出 口 のPEルー の タのアドレス out 転 送 用 32 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 11
BGP/MPLS-VPN 動 作 概 要 (cont.) 最 終 PEルータでのテーブルのルック アップ 出 口 の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 動 作 概 要 (cont.) 目 的 のCEルータへ 到 着 がはずされ 通 常 のIPパケットとして CEルータに 到 着 する Dst:10.0.0.1 Lo:192.168.0.1/32 CE PE P P PE CE 10.0.0.0/8 12
BGP/MPLS-VPN 決 定 方 法 PEルータ 間 のLSPをVPN 識 別 用 でカプセル 化 さ れたパケットが 通 るイメージ Redistribute(BGP4 以 外 ) Redistribute(BGP4 以 外 ) mp-bgp Static Static IPパケット VPN LSP BGP4 BGP4 PEルータLoアドレス 間 LSP RIP RIP PE P P PE OSPF 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など など) 13
BGP/MPLS-VPN 決 定 方 法 Rd=12 10.0.0.0/24 26 RT=12 NH=PE-B 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におけるVPN 経 路 情 報 Yuichi Ikejiri @ NTT Communications 14
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 情 報 は RFC3107に 従 って Encoding 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 15
BGPにおけるVPN 経 路 mp-bgpにおける 経 路 扱 い RD(8byte)のFormat Type 2byte Value 6byte ISP Value Field Format Extended Community Extended Community Attribute(Type Code 16)が が 新 たに 定 義 その 中 の 一 つがRoute Target(RT) VRFより よりBGPにアナウンスされる 経 路 には 必 ず 一 つ 以 上 のRTを 付 与 する(Export Targets) リモートPEからの 経 路 をローカルVRFに 落 とし 込 む 際 の 選 択 に 使 用 (Import Targets) VPN 間 通 信 AS 間 通 信 の 実 現 16
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 テーブルに のせる 際 に 付 与 (Export) 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) AS Override 同 一 VPN 内 で 複 数 の 拠 点 で 同 一 のAS 番 号 を 用 いてPE-CE 間 を 接 続 するための 技 術 ユーザ 側 でAS 番 号 の 管 理 が 不 要 10.0.0.0/24 AS 65000 VPN-A 拠 点 1 AS 65000 BGP-4 VPN-A 拠 点 2 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 17
SOO(Site Of Origin) 10.0.0.0/24 CE-A AS65000 CE-B AS Overrideと と 併 用 され 冗 長 構 成 拠 点 の 同 一 AS 間 のループを 防 ぐ RTと と 同 じExtend Communityの の 一 つ 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 経 路 の 回 りこみを 防 ぐ BGP/MPLS-VPN 設 定 例 Yuichi Ikejiri @ NTT Communications 18
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 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! 19
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が 異 なれば 同 じアドレスでも 設 定 可 BGP/MPLS-VPNユーザ 構 築 例 Yuichi Ikejiri @ NTT Communications 20
MPLS-VPNユーザ 構 築 例 例 10.2.1.0/24 10.2.2.0/24 Staticの の 考 え 方 主 に 拠 点 向 き 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で 設 定 する 経 路 ( 申 込 経 路 ) MPLS-VPNユーザ 構 築 例 例 10.2.1.0/24 10.2.2.0/24 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が 消 える=ハ ックアッフ への 切 替 21
BGP/MPLS-VPNまとめ ( 実 際 と 新 技 術 ) Yuichi Ikejiri @ NTT Communications BGP/MPLS-VPN 技 術 の 実 際 22