目次
RPF(Reverse Path Forwarding)チェックとは
RPFチェックとは、受信したマルチキャストパケットが送信元から最短経路で転送されてきているかどうかをチェックすることです。ネットワーク構成によっては、マルチキャストパケットがループしたり重複したりする場合があります。RPFチェックによって、送信元から最短経路で転送されているマルチキャストパケットのみをルーティング対象とします。
RPFチェックの動作
次の図のように、マルチキャストソースからマルチキャストレシーバまで複数の経路がある場合、マルチキャストパケットが重複してしまう可能性が考えられます。
マルチキャストパケットの送信元IPアドレスは、マルチキャストソースのIPアドレスです。そのIPアドレスに到達するための最短経路はユニキャストルーティングテーブルに載せられています。ユニキャストルーティングテーブル上のルート情報の出力インタフェースは、目的のあて先までの最短経路のインタフェースです。マルチキャストパケットを受信したインタフェースと送信元IPアドレスに対するルート情報の出力インタフェースが一致していれば、そのマルチキャストパケットは最短経路でルーティングされてきたとみなすことができます。このような場合、RPFチェックは成功です。RPFチェックに成功したマルチキャストパケットのみをディストリビューションツリーにしたがってルーティングします。なお、RPFチェックが成功するインタフェースをRPFインタフェースと呼びます。
最短経路でルーティングされてきていないマルチキャストパケットを受信する場合、つまりRPFチェックが失敗した場合はパケットを破棄します。
RPFチェックを正しく行うためには、ユニキャストルーティングが完成している必要があります。ユニキャストルーティングの設定が不完全でルーティングテーブルが正しく構成されていないと、RPFチェックを正しく行うことができません。その結果、マルチキャストルーティングもうまく動作しなくなることがあります。マルチキャストルーティングを行う前提として、ユニキャストルーティングが完成していることが必要なので注意してください。
RPFチェックの例
具体的にRPFチェックの例を考えましょう。
マルチキャストパケットをSerial0/1で受信しました。このパケットの送信元IPアドレス192.168.1.100への最短経路のインタフェースはユニキャストルーティングテーブルよりSerial0/0です。すると、このマルチキャストパケットは最短経路でルーティングされたとはみなせません。RPFチェック失敗となるので、パケットを破棄します。
同じマルチキャストパケットをSeria0/0で受信した場合は、最短経路のインタフェースで受信していることになります。RPFチェックが成功となり、マルチキャストパケットはルーティング対象です。
このようなRPFチェックをすべてのマルチキャストルータが行います。これにより、マルチキャストパケットの重複やループを防ぐことができます。なお、CiscoルータではRPFインタフェースをshow ip rpfコマンドで確認することができます。
なお、RPFチェックを行うために、マルチキャストパケットを受信するたびにユニキャストルーティングテーブルを参照しているわけではありません。ディストリビューションツリーを作成するときに、ユニキャストルーティングテーブルからRPFインタフェースを識別して、RPFインタフェースで受信しているかどうかでRPFチェックを行います。
RPFインタフェースはユニキャストルーティングテーブルから決定されますが、ip mrouteコマンドでスタティックに設定することもできます。
IPマルチキャストの仕組み
- ユニキャスト/ブロードキャスト/マルチキャストの振り返り
- IPマルチキャストの用途 ~同じデータの同報~
- マルチキャストグループへの参加 ~マルチキャストデータを受信できるようにする~
- マルチキャストアドレス ~レイヤ3とレイヤ2のマルチキャストアドレス~
- IGMPの概要 ~マルチキャストグループへの参加を通知~
- IGMPの仕組み
- IGMPの設定と確認コマンド
- IGMPスヌーピング
- マルチキャストルーティングの概要
- ディストリビューションツリー
- RPFチェック
- PIM-DMの仕組み
- PIM-DMの設定と確認コマンド
- PIM-SMの仕組み ~ディストリビューションツリー作成~
- PIM-SMの仕組み ~ディストリビューションツリー作成例~
- PIM-SMの設定と確認コマンド
- PIM-SM ダイナミックなRPの設定 ~Auto RP/BSRの概要~
- PIM-SM AutoRPの設定例
- PIM-SM BSRの設定例
- Bidirectional PIMの設定と確認コマンド
- PIM SSMの設定と確認コマンド
- PIM-SMの設定演習 [スタティックRP]
- PIM-SMの設定演習 [Auto RP]
- PIM-SMの設定演習 [BSR]
- PIM-SMの設定演習 [Bidirectional PIM]
- PIM-SMの設定演習 [SSM]
- PIM-SMの設定演習 [トラブルシュート]
- Anycast RP ~RPの負荷分散~
- Anycast RPの設定と確認コマンド
- Anycast RPの設定例
- マルチキャストパケットの転送経路の制御 ~ip mrouteコマンド~
- ip multicast rate-limitコマンド ~マルチキャストパケットのレート制限~
- ip multicast rate-limitコマンドの設定例
- IGMPレポートの制限
- PIM-SM 設定ミスの切り分けと修正 Part1
- PIM-SM 設定ミスの切り分けと修正 Part2
- PIM-SM 設定ミスの切り分けと修正 Part3