第5編
レイヤー3

マルチキャストルーティングの機能説明

マルチキャストルーティングは、ネットワーク内にマルチキャストパケットをルーティングする機能です。マルチキャストルーティングプロトコルのPIM、およびマルチキャストグループ管理プロトコルのIGMPMLDを使用することで、複数のサブネットで構成されるネットワーク内でマルチキャストパケットをルーティングできます。

注 意

セカンダリーIPアドレスではPIMおよびIGMPは動作しません。

マルチキャストルーティング

マルチキャストルーティングの有効化

装置のマルチキャストルーティングを有効にするには、IPv4の場合はip multicast-routingコマンド、IPv6の場合はipv6 multicast-routingコマンドを使用します。

マルチキャストルーティングは、デフォルト設定で無効です。マルチキャストルーティングが無効な場合、PIMが有効でも装置はマルチキャストパケットをルーティングしません。

PIMの有効化

PIMは、複数のサブネットで構成されたネットワークでマルチキャストパケットをルーティングするためのディストリビューションツリーを作成し、管理するプロトコルです。

PIMには、スパースモード(以後、PIM-SM)とSSMモード(以後、PIM-SSM)があります。

補 足

装置単体でマルチキャストルーティングを行う場合も、PIMの設定が必要です。

PIM-SM

送信元が1台の場合、PIM-SMは送信元からレシーバー/リスナーまでのディストリビューションツリーを構成します。

ディストリビューションツリー

送信元からレシーバー/リスナーまでのディストリビューションツリーを送信元ツリーと呼びます。他の送信元が構成したディストリビューションツリーを共有するツリーを共有ツリーと呼びます。複数の送信元が存在する場合は、送信元ツリーと共有ツリーを組み合わせてディストリビューションツリーを構成できます。

共有ツリーには、中心となる装置が必要です。中心となる装置をランデブーポイント(以後、RP)と呼びます。送信元からRPまでが送信元ツリー、RPからマルチキャストグループまでが共有ツリーとなります。

共有ツリーとRP

PIM-SSM

PIM-SSMは、送信元からマルチキャストグループまでの送信元ツリーを作成します。

PIM-SMとPIM-SSMは、デフォルト設定で無効です。

PIM-SMを有効にするには、IPv4の場合はip pim sparse-modeコマンド、IPv6の場合はipv6 pim sparse-modeコマンドを使用します。

PIM-SSMを有効にするには、IPv4の場合はip pim ssmコマンド、IPv6の場合はipv6 pim ssmコマンドを使用します。

補 足

装置として、PIMネイバーが確立できる最大VLANインターフェース数は100個です。ただし、併用する機能や環境により最大数に満たない場合があります。

ip pim ssmコマンドでdefaultパラメーターを指定した場合、マルチキャストグループは232.0.0.0/8となります。ipv6 pim ssmコマンドでdefaultパラメーターを指定した場合、マルチキャストグループはff3x::/32となります。マルチキャストグループを変更する場合は、使用したいマルチキャストグループをアクセスリストで定義し、各コマンドでオプションのrangeパラメーターでアクセスリストを指定してください。

IGMP/MLDの有効化

IGMPとMLDは、マルチキャストのレシーバー/リスナーが参加するマルチキャストグループを管理するプロトコルです。IPv4の場合はIGMP、IPv6の場合はMLDを使用します。

IGMPとMLDは、デフォルト設定で無効です。IGMPを有効にするには、ip igmp enableコマンドを使用します。MLDを有効にするには、ipv6 mld enableコマンドを使用します。

スタティックマルチキャストルートの作成

PIMがネットワークに到達するためのリバースパス転送(以後、RPF)インターフェースを決定するために、スタティックマルチキャストルートを作成し、RPFアドレスを設定します。

デフォルト設定では、スタティックマルチキャストルートは作成されていません。スタティックマルチキャストルートを作成するには、IPv4の場合はip mrouteコマンド、IPv6の場合はipv6 mrouteコマンドを使用します。

RPの設定

PIM-SMによって作成されるディストリビューションツリーの中心となる装置が、RPです。

マルチキャストパケットのレシーバー/リスナーが接続されている装置の情報は、RPに登録されます。マルチキャストの送信元は、RPにマルチキャストパケットを送信します。RPがマルチキャストパケットを中継することで、レシーバー/リスナーにマルチキャストパケットが送信されます。

装置をRPにするには、IPv4の場合はip pim rp-candidateコマンド、IPv6の場合はipv6 pim bsr candidate rpコマンドを使用し、装置をRP候補に設定します。RP候補に設定された装置は、ブートストラップルーター(以後、BSR)にRP候補であることをアドバタイズします。BSRは、ディストリビューションツリーの状況に応じて、RP候補の装置の中からRPを決定します。

また、マルチキャストグループに対するスタティックなRPを定義することもできます。マルチキャストグループに対するスタティックなRPを定義するには、IPv4の場合はip pim rp-addressコマンド、IPv6の場合はipv6 pim rp-addressコマンドを使用します。

補 足

装置単体でマルチキャストルーティングを行う場合も、RPの設定が必要です。

埋め込みランデブーポイント(Embedded RP)

IPv6では、RPのアドレスをIPv6マルチキャストグループアドレス内にエンコードした埋め込みランデブーポイント(以後、Embedded RP)をデフォルトで設定しています。Embedded RPにより、スケーラブルなドメイン間マルチキャストが容易に展開可能となり、ドメイン内のマルチキャスト構成も簡素化されます。

Embedded RPが無効な状態から有効にするには、ipv6 pim rp embeddedコマンドを使用します。

BSRの設定

BSRの役割は、RPとマルチキャストグループ間のマッピングの自動化です。

BSRは、RP候補の情報を収集し、ネットワーク内のルーターにアドバタイズします。RPの情報を受信したルーターは、RPのIPアドレスを学習し、最適なRPを決定します。これにより、RPの情報はネットワーク内に周知され、RPとマルチキャストグループがマッピングされます。

BSRによるRP情報のアドバタイズ

装置をBSRにするには、IPv4の場合はip pim bsr-candidateコマンド、IPv6の場合はipv6 pim bsr candidate bsrコマンドを使用し、装置をBSR候補に設定します。

装置は、ネットワーク内にBSR候補であることをアドバタイズし、優先度の値が大きい装置がBSRになります。優先度の値が同じBSR候補がある場合、IPv4/IPv6アドレスの大きい装置がBSRになります。

代表ルーター(DR)の設定

PIM-SMを有効にした装置がネットワーク内に複数存在する場合、マルチキャストパケットを中継する際に重複して転送しないよう、中継の役割を担う代表ルーター(以後、DR)を選出します。

DRは、設定された優先度の値で決定します。優先度の値が大きい装置がDRになります。装置のDRの優先度を設定するには、IPv4の場合はip pim dr-priorityコマンド、IPv6の場合はipv6 pim dr-priorityコマンドを使用します。

優先度の値が同じ装置がある場合、IPv4/IPv6アドレスが最も大きな装置がDRになります。

DRの選出と動作

なお、PIM Helloメッセージで優先度をアドバタイズしていない装置が存在する場合、その装置に最も高い優先度が設定され、DRに選出されます。PIM Helloメッセージで優先度をアドバタイズしない装置が複数存在する場合、IPv4/IPv6アドレスが最も大きな装置がDRになります。

補 足

PIM Helloメッセージは、PIMネイバーを検索するために装置が送信するメッセージです。

ラストホップルーターが使用するディストリビューションツリーの選択

装置がラストホップルーターの場合、トラフィックのグループごとに最初のパケットが到達した後に装置が使用するツリーを選択できます。デフォルト設定では、共有ツリーを使用しています。使用するツリーを送信元ツリーに変更する場合は、パラメーター0を指定して、IPv4の場合はip pim spt-thresholdコマンド、IPv6の場合はipv6 pim spt-thresholdコマンドを使用します。

ラストホップルーターが使用するディストリビューションツリーの選択

パッシブモードの設定

パッシブモードを設定したインターフェースでは、PIMの制御パケットを送受信しません。PIMネイバーがPIMに参加することを防ぎます。

パッシブモードは、デフォルト設定では無効です。パッシブモードを有効にするには、IPv4ではip pim passiveコマンド、IPv6ではipv6 pim passiveコマンドを使用します。

IGMPによるマルチキャストグループ管理

補 足

IGMPには3種類のバージョン(v1、v2、v3)があります。バージョンによって挙動が異なる場合、説明内でバージョンを表記しています。

マルチキャストグループへの参加

マルチキャストグループへ参加するホストは、マルチキャスト用のアプリケーションでマルチキャストグループへの参加を表明するJoinメッセージを装置に送信します。装置は、ホストの存在を確認するためにIGMPクエリーを送信します。ホストはIGMPクエリーを受信すると、IGMPレポートを装置へ返信します。これにより、装置はホスト存在を確認し、ホストはレシーバーとしてマルチキャストグループに参加します。

IGMPによるマルチキャストグループへの参加

マルチキャストグループからの脱退

IGMPv1では、装置が送信するIGMPクエリーに返信がない場合、レシーバーはマルチキャストグループから脱退したと判断されます。

IGMPv2とIGMPv3では、レシーバーがマルチキャストグループから脱退するときは、装置に脱退メッセージを送信します。脱退メッセージを受信した装置は、レシーバーの存在を確認するクエリーのほかに、マルチキャストグループ固有またはマルチキャストグループ送信元固有のクエリーを送信します。これに返信がなかった場合、レシーバーは削除されます。

マルチキャストグループの削除

IGMPv1では、マルチキャストグループ内のすべてのレシーバーからIGMPクエリーに返信がない場合、マルチキャストグループは削除されます。

IGMPv2とIGMPv3では、ip igmp last-member-query-intervalコマンドで指定した送信間隔内に、マルチキャストグループ固有またはマルチキャストグループ送信元固有のクエリーにレシーバーから返信がなかった場合、装置は次のマルチキャストグループ固有またはマルチキャストグループ送信元固有のクエリーを送信します。

MLDによるマルチキャストグループ管理

マルチキャストグループへの参加

装置は、リスナーの存在を確認するためにMLDクエリーを送信します。リスナーはMLDクエリーを受信すると、MLDレポートを装置へ返信します。これにより、装置はリスナーの存在を確認し、リスナーはマルチキャストグループに参加します。装置は、マルチキャストグループ宛てにマルチキャストパケットを送信します。

MLDによるマルチキャストグループへの参加

マルチキャストグループからの脱退

リスナーがマルチキャストグループから脱退するときは、装置に脱退メッセージを送信します。脱退メッセージを受信した装置は、リスナーの存在を確認するクエリーのほかに、マルチキャストグループ固有またはマルチキャストグループ送信元固有のクエリーを送信します。これに返信がなかった場合、レシーバーは削除されます。

マルチキャストグループの削除

マルチキャストグループ内にリスナーが残っているかどうかを確認するために、グループ固有またはグループ送信元固有のクエリーの送信数を設定しています。設定された数のクエリーが送信されてもMLDレポートの返信がなかった場合、マルチキャストグループにリスナーが存在しないと判断し、マルチキャストグループが削除されます。

スタティックマルチキャストグループの作成

ホストがIGMPに対応していない場合のために、スタティックなマルチキャストグループを作成できます。

スタティックマルチキャストグループは、デフォルトでは設定されていません。スタティックマルチキャストグループを作成するには、ip igmp static-groupコマンドを使用します。

IGMPホストに対するSSMマッピングの有効化

設定済みのPIM-SSM範囲内のマルチキャストグループに所属するIGMPv1またはIGMPv2のレシーバーに対してSSMマッピングを有効化します。SSMマッピングは、装置が受信したIGMPv1またはIGMPv2レシーバーのIGMPレポートだけに適用されます。

SSMマッピングは、デフォルト設定では無効です。SSMマッピングを有効にするには、ip igmp ssm-map enableコマンドを使用します。

IGMPホストに対するスタティックSSMマッピングエントリーの作成

IGMPv1またはIGMPv2のレシーバーに対して、スタティックSSMマッピングエントリーを作成できます。

PIM-SSMが有効な場合、IGMPv3レシーバーでは、ラストホップルーターがSSMの範囲内にある(S, G)INCLUDEモード要求をIGMPv3レシーバーから受信すると、チャネル(S, G)に対する送信元ベースのツリーの確立を開始します。

IGMPv1またはIGMPv2では、(*, G)要求だけを送信する場合があり、SSMマッピングでは、マルチキャストグループ要求がSSM範囲内であれば、装置はスタティックSSMマッピングエントリーで定義したマルチキャストグループアドレスから送信元アドレスへのマッピング要求に基づき、(*, G)要求を(S, G)要求にマップできます。

補 足

(S, G)とは、ディストリビューションツリーの送信元ツリーのことです。SはSourceの略で、送信元のIPアドレスを示します。GはGroupの略で、マルチキャストグループアドレスを示します。

補 足

(*, G)とは、ディストリビューションツリーの共有ツリーのことです。*は複数の送信元によって共有されていることを示します。Gは(S, G)のGと同じくGroupの略で、マルチキャストグループアドレスを示します。

スタティックSSMマッピングは、デフォルト設定では作成されていません。スタティックSSMマッピングエントリーを作成するには、ip igmp ssm-map staticコマンドを使用します。

ダイナミックマルチキャストグループリストの削除

IGMPでダイナミックに登録したマルチキャストグループの情報を削除するには、clear ip igmp groupsコマンドを使用します。MLDでダイナミックに登録したマルチキャストグループ情報を削除するには、clear ipv6 mld groupsコマンドを使用します。

IGMPバージョンの変更

インターフェースでのIGMPバージョンを変更できます。IGMPバージョンは、デフォルト設定ではv3です。IGMPバージョンを変更するには、ip igmp versionコマンドを使用します。

MLDバージョンの変更

インターフェースでのMLDバージョンを変更できます。MLDバージョンは、デフォルト設定ではv2です。MLDバージョンを変更するには、ipv6 mld versionコマンドを使用します。

統計情報のクリア

IPv4の場合、マルチキャストプロトコルパケットの統計情報をクリアできます。統計情報をクリアするには、clear ip multicast-statisticsコマンドを使用します。

ページトップへ