MP-BGP(Multiprotocol BGP)とは
MP-BGPは、通常のBGPに対して拡張されたプロトコルであり、単純なIPv4経路情報だけでなく、IPv6、VPNv4、VPNv6、MPLSなど、複数のプロトコルやプレフィックスを交換できるようにするための機能を持ちます。これにより、異なるネットワークの種類やトラフィックタイプに応じた柔軟なルーティングが可能になります。
VPNv4とは
VPNv4は、MPLS VPN環境において、PE(Provider Edge)ルーター間でVPN用のIPv4プレフィックスを交換するために使用されるアドレスファミリです。VPNv4アドレスは、通常のIPv4アドレスに加えて**Route Distinguisher(RD)**が付加された形式のアドレスであり、異なる顧客(VRF)が同じIPv4アドレスを使用していても、RDによって一意に識別されます。
VPNv4アドレスの構造
- Route Distinguisher (RD): VRFごとに一意の識別子を付与するフィールド。通常は64ビットの値。
- IPv4アドレス: 通常の32ビットのIPv4アドレス。
これにより、VPNv4アドレスは「RDアドレス」という形式になり、同一のIPv4アドレス空間が複数のVPN間で重複して使用できるようになります。
VPNv4の例
- VPN1では、RD=100:1、IPv4アドレス=10.1.1.0/24
- VPN2では、RD=200:1、IPv4アドレス=10.1.1.0/24
両者は同じIPv4アドレス空間を使用していますが、RDが異なるため、VPNごとに経路情報が分離されます。
VPNv6とは
VPNv6も同様に、MPLS VPN環境で使用されるアドレスファミリであり、IPv6プレフィックスに対してもVPNv4と同様の概念が適用されます。MP-BGPを使って、VPN用のIPv6アドレス(VPNv6アドレス)をPEルーター間で交換します。
VPNv6アドレスの構造
- Route Distinguisher (RD): VPNv6でもVPNv4と同様に、各VRFを一意に識別するために使用されます。
- IPv6アドレス: 通常の128ビットのIPv6アドレス。
VPNv6の例
- VPN1では、RD=100:1、IPv6アドレス=2001:db8:1::/64
- VPN2では、RD=200:1、IPv6アドレス=2001:db8:1::/64
VPNv6アドレスも「RDアドレス」という形式で識別されるため、異なるVPNで同じIPv6プレフィックスを使用することが可能になります。
Route Distinguisher(RD)と Route Target(RT)
MP-BGPでVPNv4やVPNv6アドレスを扱う際に重要な役割を果たすのが、Route Distinguisher(RD) と Route Target(RT) です。
- RD(Route Distinguisher): 各VPNのルーティング情報を識別するためのフィールドです。RDは、同じIPv4/IPv6アドレスを使用していても、異なるVPNごとに一意の経路として識別できるようにします。RDは、アドレス空間を区別するだけでなく、各VPNが固有のルーティングエントリを持てるようにします。
- RT(Route Target): MP-BGPの経路制御のために使用されるフィールドで、経路のインポート/エクスポートを制御します。RTを使って、どのPEルーターが特定のVPN経路をインポートできるかを定義することで、VPN間の経路共有やトラフィック分離が行われます。
RTの役割
- Import RT: PEルーターが他のPEルーターから受信した経路を自身のVRFにインポートする際に適用されます。
- Export RT: PEルーターが自身のVRFから他のPEルーターに対して経路をエクスポートする際に適用されます。
MP-BGP VPNv4/VPNv6の動作原理
MP-BGPを使ってVPNv4やVPNv6経路を交換する際、以下のような手順で動作します。
- 顧客の経路情報を受信(CE-PE間):
- CE(Customer Edge)ルーターは、通常のIGP(OSPF、EIGRP、またはBGP)を使用してPEルーターに経路をアドバタイズします。PEルーターはこれを受信して、VRFにルーティング情報を追加します。
- MP-BGPを使ったVPNv4/VPNv6経路の交換(PE間):
- PEルーターは、顧客から受信した経路をVPNv4またはVPNv6形式に変換し、MP-BGPを使って他のPEルーターにアドバタイズします。この際、各VPNに固有のRDとRTが適用されます。
- MPLSラベルによるパケットの転送(PE間):
- PEルーター間では、MPLSラベルが使われてパケットが転送されます。MPLSバックボーン内でパケットはラベルスイッチングにより転送され、最終的に宛先のPEルーターに到達します。
- VPN経路のインポートとエクスポート(RTの役割):
- 各PEルーターは、MP-BGPで受信した経路に基づき、RTフィルターを使ってどのVRFに経路をインポートするかを決定します。これにより、異なる顧客の経路が適切なVRFにマッピングされます。
- パケットの転送(PE-CE間):
- 最後に、PEルーターはCEルーターにパケットを転送し、CEルーターから目的の顧客ネットワークに到達します。