RPF ( Reverse Path Forwarding )
RPFとは、受信したマルチキャストパケットを転送するか破棄するかを決めるために、その受信した
インターフェースをチェックするメカニズムです。このメカニズムによりループを回避することが出来ます。
マルチキャストパケットを受信した時、その受信したインターフェースが
Sender(送信元) のいる上流に
あるインターフェースで受信した場合、マルチキャストパケットを転送して、そうでなければ破棄します。
下図の一般的なRPF Check説明図では理解しにくいと思いますが、要するに着信してきたパケットの
ソースアドレスを見て適切なインターフェースに到着したのか確認します。では分かり易く説明します。

ユニキャスト伝送では、インターフェースに着信したユニキャストパケットの宛先アドレスをみて、
ルーティングテーブルに従い、宛先への経路上にあるインターフェースからパケットを転送します。
マルチキャスト伝送では、インターフェースに着信したマルチキャストパケットの送信元アドレス
を先ず最初に見ます。次に、その送信元アドレスがユニキャストのルーティングテーブル上で、
送信元ネットワークに戻るためのパス上にあるインターフェースから着信したのかを確認して、
そうであればRPF Checkは成功してパケットが転送され、そうでなければパケットは破棄されます。
※ 「一体どこへ向かうのだろうか・・・」ではなく「一体どこから来たのだろうか・・・」なので、Reverse Path Forwarding !
RPF Checkは、ルーティングループを防ぐ為に「PIM-DM」と「PIM-SM」のどちらでも必ず実行されます。
送信元ツリーでは送信元サーバ、共有ツリーでは送信元サーバとRPのアドレスへの RPF Checkが実行。

※ 上図では全ルータが PIM-DM 有効。「PIM
W 」は、PIM Assertメカニズムにより決定されたAssert Winnerとします。
Senderから送信されるマルチキャストパケットの送信元は
192.168.1.1/24 です。Sender から Receiver
へ
流れるマルチキャストパケットが、PIM Wというルータに到達した時、そのトラフィックは、「PIM
4」と「PIM 5」に
フラッディングされることになります。「PIM
4」 のFa0/1側で送信元が 192.168.1.1/24
のパケットを受信すると、
そのパケットの送信元 ( 192.168.1.1/24 )
をルーティングテーブルで見てみると、ネクストホップが
「 PIM2 」で
あるという何気ない事実を 「PIM4 」は知ることになります。つまり、このトラフィックを
Fa0/1 で受信するのは
おかしなことだと判断して、その結果、Fa0/1で受信するとパケットを破棄してくれます。これが
RPF Check !
以上のことから、show ip rpf で見える情報は、マルチキャスト通信での送信元(送信者)に対するネクストホップ
であることも分かると思います。ちなみに破棄されるマルチキャストパケットのことを非RPFトラフィックといいます。
※ 最後に、マルチキャストパケットが ( S,G
) エントリによりフォワーディングされる処理手順を再確認しましょう
by 感謝な参考書
@ マルチキャストパケットがインターフェースに着信
A マルチキャストルーティングテーブル上で受信パケットに対応する
( S,G )エントリを検索
B 検索マッチした ( S,G ) エントリの RPF
Check!→ Success !
C OIL ( Outgoing Interface List ) をチェックし、「Foward」
インターフェースへのパケット転送
※ Resource : IPマルチキャストネットワーク開発ガイド Vol
1 BCMSN認定テキスト 第二版 マスタリングTCP/IP マルチキャスト編 |