IPマルチキャスト / PIM
マルチキャスト経路制御プロトコルPIM(Protocol Independent Multicast)のSparseモード(PIM-SM)について解説します。
PIM-SMは下記のインターフェースでのみ使用可能です。
PIM-SM
PIM-SM(PIM Sparse Mode)は、PIM-DMと異なり、明示的に要求を出したネットワークにだけトラフィックを届けるSparseモードのマルチキャスト経路制御プロトコルです。このプロトコルは、グループのメンバーがネットワーク上に広くまばらに分散しているような環境で最適な動作をするよう設計されています。グループへの参加を表明していないルーターにトラフィックが配送されることは原則としてありません。これを実現するため、グループのトラフィックをとりまとめるランデブーポイント(RP)というルーターを用意し、RPを起点とする共有ツリーを作成してトラフィックを配送します。
PIM-SMでは、次の役割を持つルーターが必要です。
■ DR(Designated Router:代表ルーター:各サブネットに1台)
各サブネットにおいて、実際にマルチキャストパケットの転送を担当するルーター。PIM-SMでは、マルチキャストクライアントが存在するIPサブネットごとにDRが必要です。サブネット内に複数のPIMルーターが存在する場合、インターフェースに設定されたDR優先度の値がもっとも大きなルーターがDRとなります。DR優先度が同じときは、IPアドレスの大きなルーターがDRになります。同一サブネット上のPIMルーターは定期的にHelloパケットを送信して互いの状態を監視しており、DRがダウンした場合は次点のルーターがDRになります。
■ RP(Rendezvous Point:ランデブーポイント:各マルチキャストグループに1台)
PIM-SMネットワークの中核をなす重要なルーター。マルチキャストグループごとに用意します。マルチキャストパケットの送信者が接続されているネットワークのDR(FHR:ファーストホップルーター)と、受信者が接続されているネットワークのDR(LHR:ラストホップルーター)は、送受信を始めるにあたってRPにメッセージを送り、このような送信者・受信者が存在するということを伝えます。最初、ファーストホップルーターはマルチキャストパケットをRPにユニキャストします。すると、RPは通知のあったラストホップルーターに向けてのみ、パケットをマルチキャストで転送します。RPの候補(C-RP)が複数存在する場合、RP優先度値のもっとも小さいルーターがRPに選出されます。
■ BSR(Bootstrap Router:ブートストラップルーター:PIM-SMネットワークに1台)
PIM-SMネットワークにおいて、RP候補とマルチキャストグループの一覧、および、各グループのRP一覧を管理・広告するルーター。複数のBSR候補(C-BSR)が存在するときは、BSR優先度値のもっとも大きいルーターがBSRに選出されます。
次に、PIM-SMの基本的な設定手順について説明します。
なお、以下の各例では、VLANとIPユニキャストルーティングの設定までは完了しているものとします。
PIM-SMでは、マルチキャスト経路の制御に必要なユニキャスト経路情報は交換しないため、あらかじめ何らかの手段で各ルーター上にユニキャスト経路表を構築しておく必要があります。通常、そのためには、RIP、OSPFなどの設定を行っておく必要があります。
ECMP環境でマルチキャストルーティングを行う場合は、マルチキャストトラフィックが通過するすべてのECMP経路上でマルチキャストルーティングの設定を行ってください。
PIM-SMとVRRPを併用する場合は、ブートストラップルーター(BSR)を使用せず、静的にランデブーポイント(RP)を設定してください。
VLANの設定については「L2スイッチング」の「バーチャルLAN」をご覧ください。また、IPインターフェースの基本設定については「IP」の「IPインターフェース」を、静的な経路設定については「IP」の「経路制御」を、RIPについては「IP」の「経路制御(RIP)」を、OSPFについては「IP」の「経路制御(OSPF)」をご覧ください。
基本設定(動的RP)
PIM-SMでは、ランデブーポイント(RP)が重要な役割を果たします。RPの指定方法には、ブートストラップメカニズム(BSRがRPの情報を広告する)を利用して動的に決める方法と、各ルーターにRPのアドレスを静的に設定する方法があります。
ここでは、ブートストラップメカニズムを利用して、RPを動的に決定する設定を示します。この場合は、少なくともRP、BSR、その他の3種類のルーターが必要です(RPとBSRは同じルーターにしてもかまいません)。
ランデブーポイント(RP)
- IPマルチキャストルーティングを有効化します。これにはip multicast-routingコマンドを使います。
awplus(config)# ip multicast-routing ↓
- マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMとIGMP Querier機能を有効にします。これにはip pim sparse-modeコマンドとip igmpコマンドを使います。
awplus(config)# interface vlan10,vlan20,vlan30 ↓
awplus(config-if)# ip pim sparse-mode ↓
awplus(config-if)# ip igmp ↓
awplus(config-if)# exit ↓
- ランデブーポイントとして動作するよう設定します。これにはip pim rp-candidateコマンドを使います。
ここでは、すべてのマルチキャストグループに対するランデブーポイント候補(C-RP)として自らを広告するよう設定しています。広告時のアドレスとしては、vlan10のIPアドレスを使います。
awplus(config)# ip pim rp-candidate vlan10 ↓
PIM-SM使用時、ランデブーポイントがダウンしていてもマルチキャストルーティングが行われることがありますが、この状態が続くとCPU 使用率が上昇します。ランデブーポイントを設定するときはループバックインターフェースのアドレスを使用してダウンしないようにするか、ランデブーポイントを複数用意して冗長化してください。
自身のloopbackインターフェースをRPとして告知する場合や、静的RPとして設定する場合は、loopbackインターフェースでもip pim sparse-modeコマンドでPIM-SMを有効にしてください。
設定は以上です。
ブートストラップルーター(BSR)
- IPマルチキャストルーティングを有効化します。これにはip multicast-routingコマンドを使います。
awplus(config)# ip multicast-routing ↓
- マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMとIGMP Querier機能を有効にします。これにはip pim sparse-modeコマンドとip igmpコマンドを使います。
awplus(config)# interface vlan10,vlan20,vlan30 ↓
awplus(config-if)# ip pim sparse-mode ↓
awplus(config-if)# ip igmp ↓
awplus(config-if)# exit ↓
- ブートストラップルーターとして動作するよう設定します。これにはip pim bsr-candidateコマンドを使います。
ここでは、ブートストラップルーター候補(C-BSR)として自らを広告するよう設定しています。広告時のアドレスとしては、vlan10のIPアドレスを使います。
awplus(config)# ip pim bsr-candidate vlan10 ↓
設定は以上です。
その他のルーター(非RP)
- IPマルチキャストルーティングを有効化します。これにはip multicast-routingコマンドを使います。
awplus(config)# ip multicast-routing ↓
- マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMとIGMP Querier機能を有効にします。これにはip pim sparse-modeコマンドとip igmpコマンドを使います。
awplus(config)# interface vlan10,vlan20,vlan30 ↓
awplus(config-if)# ip pim sparse-mode ↓
awplus(config-if)# ip igmp ↓
設定は以上です。
基本設定(静的RP)
本製品では、BSRを使わずに、RPを静的設定する方法もサポートしています。
この例では、すべてのルーターに対し、特定のルーターがランデブーポイント(RP)であるということを静的に設定します。静的RPの構成では、ブートストラップルーター(BSR)は使用しません。
- IPマルチキャストルーティングを有効化します。これにはip multicast-routingコマンドを使います。
awplus(config)# ip multicast-routing ↓
- マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMとIGMP Querier機能を有効にします。これにはip pim sparse-modeコマンドとip igmpコマンドを使います。
awplus(config)# interface vlan10,vlan20,vlan30 ↓
awplus(config-if)# ip pim sparse-mode ↓
awplus(config-if)# ip igmp ↓
awplus(config-if)# exit ↓
- ランデブーポイント(RP)を静的に設定します。これにはip pim rp-addressコマンドを使います。
ここでは、すべてのマルチキャストグループに対して、ランデブーポイント192.168.10.1を使うよう設定しています。
awplus(config)# ip pim rp-address 192.168.10.1 ↓
ランデブーポイントの指定は、ランデブーポイントとして動作させるルーター(ここでは192.168.10.1)にも、そうでないルーターにも同じように行います。
設定は以上です。
その他
■ マルチキャスト受信者(ホスト)だけが接続されており、PIMルーターが存在しない末端ネットワークのインターフェースでは、ip pim sparse-modeコマンドでPIM-SMを有効化するときにpassiveオプションを指定することにより、PIMパケットの送信を抑制できます。
たとえば、前記の各例において、vlan20にPIMルーターが存在しないのであれば、vlan20のみ次のような設定に変更することが可能です。
awplus(config)# interface vlan20 ↓
awplus(config-if)# ip pim sparse-mode passive ↓
awplus(config-if)# ip igmp ↓
(C) 2015 - 2021 アライドテレシスホールディングス株式会社
PN: 613-002107 Rev.AN