◆ MPLS-VPNとは
IP-VPNでは、ラベルスイッチングのためのMPLS、VPNのためのVRFの技術が使われていると説明しました。
そしてカスタマーごとのVRFの経路情報を交換するために、PEルータ間でMP-BGP (Multi Protocol BGP) が
使用されています。これでようやく点と点の情報が線となり、MPLS-VPNという技術の全貌が見えてきます。
※ 以下のページのMPLS-VPN解説は、前提として MPLSをはじめから を最初から読んでいないと理解できない内容になっています。
◆ MP-BGPとは
BGPの拡張であるMP-BGP (Multi Protocol BGP) では、拡張コミュニティを使用してVRFのルーティング情報
を通知できます。MP-BGPの特徴は以下の3つでBGPとMPLSそれぞれの利点を組み合わせたプロトコルです。
※ 以下 @ 〜 B は内容が続いています。従って @ → A → B の解説の流れで、説明図にあるコンフィグの量が増えていきます。
@ カスタマーごとに存在するルートプレフィックスにRD(Route Distinguisher)を付加することで重複のない
VPNv4プレフィックスを作成できます。下図の通りA社とB社とでは同じ経路情報「10.1.1.0/24」を持ちますが
異なるRD値を設定することによって、PEルータのMP-BGPテーブル上で経路情報を区別することができます。
※ VPNv4プレフィックスとは、IPv4プレフィックスにRDを付加した96ビットのプレフィックスのことです。
A VPNv4プレフィックスにさらにアトリビュートとして、RT(Route Target)を付加して通知します。
受信側のPEルータはこのRTの情報をもとに、受信した経路情報を該当するVRFに挿入することができます。
下図のPE1は、受信したVPNv4プレフィックスに含まれたRTの値を見てimport値が同じVRFに転送します。
B PEルータ間でカスタマーごとのVRFの経路情報を交換します。(PEルータ間が隣接する必要ははない)
これが重要です。各PEルータ内でVRFの経路情報をグローバルルーティングテーブルに再配布をします。
そして、MP-BGPによってPEルータ間でこの経路情報がやりとりすることで整合性が取れた通信を行えます。
上図のコンフィグは、今回の解説に該当する部分だけのコンフィグです。MPLSの有効化などその他のコンフィグは割愛しています。
通常のBGPルータは、全てのBGPルータが宛先のプレフィックスを学習する必要があるので、IBGPネイバーは
フルメッシュにする必要があります。一方、MP-BGPの場合、MPLS網内のPルータ(LSR)はラベルスイッチング
していくだけなのでPEルータ間でのみネイバーが出来ていればOKです。従って、Pルータ(LSR)は各カスタマー
の経路情報を学習する必要はありません。なお、このラベル部分の詳細説明は、次ページ以降にて解説します。
◆ RDとRTの違い
◇ RD ( Route Distinguisher )
⇒ IPv4アドレスの前に付加してVPNv4プレフィックス(96bit) を形成できる。
⇒ MP-BGPテーブル上において、RDにより同じIPv4アドレスでも区別できる。
⇒ MP-BGPネイバーの対向のPEルータのRD値と同じ値でなくてよい(通常は同じ値にする)
◇ RT ( Route Target )
⇒ MP-BGPの拡張コミュニティ属性として、MP-BGPネイバーにアドバタイズされる。
⇒ VRFによるVPNを識別するために使用される。
⇒ MP-BGPネイバーから受信したVPNv4プレフィックスをどのVRFに取り込めばいいのか判断するために
使用。そのために、MP-BGPネイバーとなる対向のPEルータで設定するRT値と整合性を取る必要がある。
⇒ RTには、Export RTとImport RTがある。詳細は以下の通り。
2種類のRT |
説明 |
Export RT |
・ VPNv4プレフィックスを送信する際に付与されるVRFによるVPNの識別子
・ 1つのVPNv4プレフィックスに対して、複数のRT値を付与することができる。 |
Import RT |
・ 受信したVPNv4プレフィックスをどのVRFに転送するのかを判断するためのVPN識別子。
・ 受信したVPNv4プレフィックスのRT値 (対向のMP-BGPネイバーのExport RTで付与された値)を見て、
自身のPEルータ上で設定したImport RT値が合致した場合、その経路情報を該当するVRFに取り込む。
|
|