目次
複数経路が存在するときのマルチキャストパケットの転送
ユニキャストルーティングでは等コストのルートが存在すれば、等コストのルート間で負荷分散することが可能です。ですが、マルチキャストパケットのルーティングではソースからレシーバまで、等コストのルートがあっても負荷分散しません。
マルチキャストパケットのルーティングは、RPFインタフェースで受信したパケットをOILに含まれるインタフェースに転送するという仕組みです。特定のIPアドレスに対するRPFインタフェースはただ一つです。RPFインタフェースがただ一つに決まることから、等コストのルートが存在していてもマルチキャストパケットのルーティングでは負荷分散を行いません。さらに、マルチキャストパケットがルーティングされる経路もRPFインタフェースによって決まってきます。
マルチキャストパケットの転送経路の例
具体的に、次のシンプルなネットワーク構成で考えます。
話を簡単にするために、PIM-DMでマルチキャストルーティングを行っているとします。R1はソースから送信されたマルチキャストパケットをPIMネイバーが存在するインタフェースであるSerial0/0とSerial0/1へフラッディングします。R2には、2つのマルチキャストパケットが届きます。マルチキャストパケットをルーティングするためには、まずRPFチェックを行います。R2のユニキャストルーティングテーブルを考えると、ソースのIPアドレス192.168.1.100に対するユニキャストルーティングテーブルのエントリは、192.168.1.0/24で等コストのルートです。そのネクストホップアドレスと出力インタフェースは、以下の通りです。
- 192.168.0.1 Serial0/0
- 192.168.0.5 Serial0/1
RPFインタフェースはただ一つ決まります。等コストのルートの場合は、ネクストホップのIPアドレスが大きいルーティングテーブルのエントリに従ってRPFインタフェースが決まります。つまり、このネットワーク構成の場合、ソースのIPアドレス192.168.1.100に対するRPFインタフェースはSerial0/1です。
R2に届く2つのマルチキャストパケットのうち、Serial0/0で受信したマルチキャストパケットはRPFチェックが失敗するので破棄されます。RPFインタフェースであるSerial0/1で受信したマルチキャストパケットはRPFチェックが成功し、ルーティングされることになります。
最終的にソースから送信されたマルチキャストパケットは、R1-R2間のSerial0/1のインタフェースを通じてルーティングされます。
このように等コストのルートがあっても、マルチキャストパケットのルーティングでは負荷分散は行いません。また、転送経路はユニキャストルーティングテーブルやルータのアドレッシングによって決まってしまうことになります。
ip mrouteコマンド
ルータのアドレッシングやユニキャストルーティングによって決まってしまうマルチキャストパケットがルーティングされる経路を明示的に指定するために、ip mrouteコマンドを利用することができます。ip mrouteコマンドは、特定のアドレス(あるいはアドレス範囲)に対するRPFインタフェース、RPFネイバーをスタティックに設定するためのコマンドです。ip mrouteコマンドの構文は次の通りです。
Router(config)#ip mroute <address> <mask> <interface>|<ip-address>
<address>:IPアドレス
<mask>:サブネットマスク
<interface>:RPFインタフェース
<ip-address>:RPFネイバーのIPアドレス
<address> <mask>で指定した範囲のアドレスに対するRPFインタフェースおよびRPFネイバーを設定することができます。
さきほどのネットワーク構成例で、R2で次のように設定すれば192.168.1.0/24に対するRPFインタフェースをSerial0/0に変更することができます。
R2 ip mrouteの設定
ip mroute 192.168.1.0 255.255.255.0 serial0/0
R2でRPFインタフェースをSerial0/0に変更すれば、マルチキャストパケットはR1-R2間のSerial0/0を通じてルーティングされるようになります。
ここでは、話を簡単にするためにPIM-DMで考えましたが、PIM-SMでも同じです。PIM-SMの場合は、RPFインタフェースを変更することで送信元ツリーや共有ツリーを作成するためのPIM Joinメッセージを送信するインタフェースが変わります。そして、その結果として変更したRPFインタフェースを通じて、マルチキャストパケットがルーティングされるようになります。
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