21. IPv6
21.7 IPv6 マルチキャストパケットの転送の設定
MLDv1、MLDv2、MLD プロキシの機能を提供します。MLDv1 と MLDv2 については、ホスト側とルータ側の双方に対応し、インタ フェースごとにホストとルータの機能を使い分けることができます。MLDv1 は RFC2710、MLDv2 は draft-vida-mld-v2-07.txt に対 応します。MLD プロキシは、下流のインタフェースに存在するリスナーの情報を、上流のインタフェースに中継する機能であり、
draft-ietf-magma-igmp-proxy-04.txt に基づいて実装しています。
マルチキャストは、マルチキャストのルーティングに対応した特別な網で実現されます。マルチキャスト網を構成するルータは、特 定の端末が送信するマルチキャストパケットを複製して、複数の端末に配送します。マルチキャストパケットを送信する端末をソース (source) と呼び、それを受信する端末をリスナー (listener) と呼びます。以下の説明では、マルチキャストパケットを単にパケット と書きます。
ソースが送信するパケットは原則としてすべてのリスナーに届きます。しかし、リスナーによって受信するパケットを変えたけれ ば、リスナーをグループに分けることができます。同じグループに属する端末は同じパケットを受信し、異なるグループに属する端末 は異なるパケットを受信します。それぞれのグループには識別子として マルチキャストアドレスが割り当てられます。
パケットの IP ヘッダーの終点アドレスには、グループに対応するマルチキャストアドレスが格納されます。網内のルータは、このマ ルチキャストアドレスを見て、パケットの転送先のグループを確認します。網内のルータはグループごとに編成された経路表を持って いるので、その経路表にしたがってパケットを配布します。経路表は、通常、PIM-SM、PIM-DM、DVMRP などのルーティングプロト コルによって自動的に生成されます。
MLD(Multicast Listener Discovery) の目的は、端末がマルチキャスト網に対して、端末が参加するグループを通知することです。
網内のルータは端末に対してクエリー (Query) というメッセージを送信します。クエリーを受信した端末は、ルータに対してレポー ト (Report) というメッセージを返信します。レポートの中には、端末が参加するグループのマルチキャストアドレスを格納します。
レポートを受信したルーターはその情報をルーティングに反映します。
[ 適用モデル ] RTX3000 RTX1100 RT107e
MLDv2 では、受信するパケットのソースを制限することができますが、この機能を実現するためにフィルタモード (Filter Mode) と ソースリスト (Source List) を使用します。フィルタモードには INCLUDE と EXCLUDE があり、INCLUDE では許可するソースを列挙 し、EXCLUDE では許可しないソースを列挙します。
例えば、次の場合には、2001:x:x:x::1 と 2001:x:x:x::2 をソースとするパケットだけが転送の対象になります。
○ フィルタモード : INCLUDE
○ ソースリスト : { 2001:x:x:x::1, 2001:x:x:x::2 }
MLD のメッセージは原則としてルータを超えることができません。そこで、端末とマルチキャスト網の間にルータが介在する場合に は、ルータが MLD プロキシの機能を持つ必要があります。MLD プロキシの機能を持つルータは、LAN 側に対してクエリを送信し、
LAN 側からレポートを受信します。また、そのレポートに含まれる情報を WAN 側に転送します。
21.7.1 MLD の動作の設定
[ 書式 ] ipv6 interface mld type[option ... ] ipv6 pp mld type[option ... ] ipv6 tunnel mld type[option ... ] no ipv6 interface mld [type [option ... ]]
no ipv6 pp mld [type [option ... ]]
no ipv6 tunnel mld [type [option ... ]]
[ 設定値 ] ○ interface...LAN インタフェース名
○ type...MLD の動作方式
● off...MLD は動作しない
● router...MLD ルータとして動作する
● host...MLD ホストとして動作する
○ option...オプション
● version=version... MLD のバージョン
■ 1... MLDv1
■ 2... MLDv2
■ 1,2... MLDv1 と MLDv2 の両方に対応する。(MLDv1 互換モード )
● syslog=switch...詳細な情報を syslog に出力するか否か
■ on... 表示する
■ off... 表示しない
● robust-variable=VALUE (1 .. 10)
■ MLD で規定される Robust Variable の値を設定する。
[ 説明 ] インターフェースの MLD の動作を設定する。
[ 初期値 ] type=off version=1,2 syslog=off robust-variable=2
[ 適用モデル ] RTX3000 RTX1100 RT107e
21.7.2 MLD の静的な設定を登録するコマンド
[ 書式 ] ipv6 interface mld static group [ filter_modesource ... ] ipv6 pp mld static group [ filter_modesource ... ] ipv6 tunnel mld static group [ filter_modesource ... ] no ipv6 interface mld static [group [filter_modesource ...]]
no ipv6 pp mld static [group [filter_modesource ...]]
no ipv6 tunnel mld static [group [filter_modesource ...]]
[ 設定値 ] ○ interface... LAN インタフェース名
○ group... グループのマルチキャストアドレス
○ filter_mode... フィルタモード
● include... MLD の "INCLUDE" モード
● exclude... MLD の "EXCLUDE" モード
○ source... マルチキャストパケットの送信元のアドレス
[ 説明 ] 指定したグループについて、常にリスナーが存在するものとみなす。
このコマンドは、MLD をサポートするリスナーがいないときに設定する。
filter_modeとsourceは、マルチキャストパケットの送信元を限定するものである。filter_modeとして includeを 指定したときには、sourceとして受信したい送信元を列挙する。filter_modeとして excludeを指定したときに
は、sourceとして受信したくない送信元を列挙する。
[ ノート ] このコマンドで設定されたリスナーは、ipv6 interface mldコマンドで hostを設定したインタフェースで通知 される。もし、このインタフェースが MLDv1 を使う場合には、filter_modeや sourceの値は無視される。
21.7.3 IPv6 マルチキャストの転送モードの設定
[ 書式 ] ipv6 multicast routing process mode no ipv6 multicast routing process
[ 設定値 ] ○ mode
● fast... ファストパスで処理する
● normal... ノーマルパスで処理する
[ 説明 ] IPv6 マルチキャストの転送モードを設定する。
[ ノート ] パケットの受信インタフェースと送信インタフェースが、LAN インタフェースか PPPoE インタフェースのいずれ かであれば、ファストパスで処理することができる。そうでなければ、このコマンドの設定に関係なく、ノーマ ルパスとなる。
[ 初期値 ] fast
[ 適用モデル ] RTX3000 RTX1100 RT107e
[ 適用モデル ] RTX3000 RTX1100 RT107e