◆ Anycast RPとは
Anycast RPは、複数のRPにAnycastアドレスを設定して「RPの冗長化と負荷分散を実現」する機能です。
Anycast通信では、複数のインターフェースに同じアドレスを設定して、1つのアドレスを複数のインター
フェースで共有しています。この共有アドレスをAnycastアドレスと言いますが、Anycast RPにおいては
複数のRPにAnycastアドレス(下図では10.0.0.1)を設定して、RPの冗長化と負荷分散を実現しています。
Anycastアドレスとして使用するIPアドレスは、loopback I/Fに32ビットのホストアドレスを設定します。
なお、RPアドレスの設定は「スタティックRP、Auto-RP、BSR」のどのような設定方法で問題ありません。
上図ではRP1(10.0.0.1)がRPアドレスと認識しているルータ群と、RP2(10.0.0.1)がRPアドレスと認識
しているルータ群があり、RP1とRP2は「10.0.0.1」のIPアドレスを共有しています。そして、RP1に近い
Senderが接続されているFHR(ファーストホップルータ)は、RP1へとPIM Registerメッセージを送信して
RP2に近いReceiverが接続しているLHR(ラストホップルータ)は、RP2へとJoinメッセージを送信します。
以上のようにRP1とRP2とでRPの役割を分散していることになり、規模が大きいほどその効果がでてきます。
※ Auto-RPやBSRでもRPの冗長化は可能ですが切り替わり時間が長く、RPの負荷分散も実現できません。
◆ MSDP(Multicast Source Discovery Protocol)とは
上図のような構成で、PIM-SMでは複数のRP間のマルチキャストトラフィックを転送することはできません。
複数のRP間でマルチキャストパケットを転送するためにはMSDPを利用します。MSDPは、本来は、異なる
AS間マルチキャストパケットを転送するためのプロトコルで、異なるASのRP間でMSDPピアを確立できます。
そのMSDPをAnycast RPにおいて利用すると、SenderがあるRP(RP1)へRegisterメッセージを送信する時、
MSDPのSAメッセージがもう一方のRP(RP2)に送信されてアクティブなSenderがいることが通知されます。
その結果、それぞれのRPはアクティブなSenderの存在を認識するようにします。RPのいずれかが Failed に
なるとIPルーティングで収束されて、もう一方のRPが両方のエリアにおいてアクティブな位置づけとなります。
※ 下図の通りマルチキャストパケットはMSDPのSA(Source Active)メッセージでカプセル化して、もう一方のRPへ転送されます。
上図ではRP1とRP2との間でMSDPピアを確立しています。Senderから送信されたマルチキャストパケットは
送信元ツリーに従ってRP1まで転送され、RP1でそのマルチキャストパケットをMSDM SAメッセージによって
カプセル化してRP2に転送します。RP2はMSDP SAメッセージのカプセル化を解除して、共有ツリーに従って
マルチキャストパケットをReceiverへと転送していきます。
MSDP SAメッセージによるカプセル化とカプセル解除は最初のパケットのみとなります。最初の1パケット目で
RP2は受信したMSDP SAメッセージでSenderのIPアドレスが分かります。結果、RP2はRP1へPIM(S,G)Join
メッセージを送信して送信元ツリーに参加します。RP2が送信元ツリーに参加することで、SAメッセージにより
カプセル化されることなく、マルチキャストパケットままSenderからのReceiverへとルーティングされます。
|