8.4.1 MACアドレスの学習
MLD snoopingが設定されたVLANでMLDメッセージを受信することによってマルチキャストMACアドレスをダイナミックに学習します。学習したマルチキャストMACアドレスはMACアドレステーブルに登録します。
(1) エントリの登録
次に示すMLDメッセージを受信すると,メッセージに含まれるグループアドレスからマルチキャストMACアドレスを学習し,受信したポートにだけマルチキャストグループ宛てのトラフィックを中継するエントリを作成します。以降,これらのメッセージをMLD Report(参加要求)メッセージと呼びます。
-
MLDv1 Reportメッセージ
-
MLDv2 Report(参加要求)メッセージ
IPv6マルチキャストパケットの宛先MACアドレスはIPv6アドレスの下位32ビットをMACアドレスにコピーして生成します。IPv6マルチキャストアドレスは,マルチキャストグループを識別するグループIDフィールドが112ビット長のフォーマットと,32ビット長のフォーマットの2種類が規定されています。グループIDフィールドが112ビット長のアドレスフォーマットを使用する場合は,IPv4マルチキャストアドレスと同様にMACアドレスの重複が発生します。IPv6マルチキャストアドレスとMACアドレスの対応を次の図に示します。
|
(2) MLDv1メッセージ受信によるエントリの削除
MLDv1 Doneメッセージを受信すると,受信したポートだけエントリから削除し,このポートへのマルチキャストトラフィックの中継を停止します。VLAN内のすべてのポートにグループメンバが存在しなくなった時点で,エントリを削除します。
(a) MLDクエリア機能設定時の動作
本装置は,MLDv1 Doneメッセージを受信したポートからGroup-Specific Queryメッセージを1秒間隔で2回送信します。応答がない場合にエントリからこのポートだけを削除します。
(b) MLD即時離脱機能設定時の動作
本装置は,MLDv1 Doneメッセージを受信したポートをエントリからすぐに削除します。MLDクエリア機能を設定していても,Group-Specific Queryメッセージは送信しません。
(3) MLDv2メッセージ受信によるエントリの削除
MLDv2 Report(離脱要求)メッセージを受信すると,受信したポートだけエントリから削除し,このポートへのマルチキャストトラフィックの中継を停止します。VLAN内のすべてのポートにグループメンバが存在しなくなった時点で,エントリを削除します。
(a) MLDクエリア機能設定時の動作
本装置は,MLDv2 Report(離脱要求)メッセージを受信したポートからGroup-Specific Queryメッセージを1秒間隔で2回送信します。応答がない場合にエントリからこのポートだけを削除します。
ただし,受信したMLDv2 Report(離脱要求)メッセージのマルチキャストアドレスレコードタイプがBLOCK_OLD_SOURCESの場合,これらの削除処理が実行されるのは,該当するVLANにIPv6マルチキャストを使用していないときだけです。
(b) MLD即時離脱機能設定時の動作
本装置は,マルチキャストアドレスレコードタイプがCHANGE_TO_INCLUDE_MODEのMLDv2 Report(離脱要求)メッセージを受信したポートをエントリからすぐに削除します。
MLDクエリア機能を設定していても,Group-Specific Queryメッセージは送信しません。
(4) エントリのエージング
MLD Report(参加要求)メッセージを受信してから一定時間経過すると,マルチキャストルータは直接接続するインタフェース上にグループメンバが存在するかを確認するため,定期的にMLD Queryメッセージを送信します。本装置はルータからのMLD Queryメッセージを受信した場合,VLAN内の全ポートに中継します。MLD Queryメッセージへの応答であるMLD Report(参加要求)メッセージを受信しない場合,エントリからこのポートだけを削除します。すべてのポートから応答がない場合は,エントリ自体を削除します。
本装置では,ポートへの中継を停止するタイムアウト時間は260秒(コンフィグレーションコマンドipv6 mld query-intervalのデフォルト値から算出)であり,この間にMLD Report(参加要求)メッセージを受信しない場合,該当するポートへの中継を停止します。
次の場合,タイムアウト時間は動的に設定します。
-
他装置が代表クエリア(MLDv2での運用)
代表クエリアからのMLDv2 Queryメッセージ(QQICフィールド)から算出します。
-
自装置が代表クエリアでIPv6マルチキャストを使用
MLDv1/MLDv2に関係なく,自装置に設定したQuery Intervalで算出します。ただし,Query Intervalを設定していないときは,デフォルト値での運用となります。
-
他装置が代表クエリア(MLDv1での運用)でIPv6マルチキャストを使用
該当するVLANにIPv6マルチキャストを使用しているときは,自装置に設定したQuery Intervalで算出します。ただし,Query Intervalを設定していないときは,デフォルト値での運用となります。
また,次の場合,タイムアウト時間はデフォルト値での運用となります。
-
自装置が代表クエリアでIPv6マルチキャストは未使用
MLDv1/MLDv2に関係なく,デフォルト値での運用となります。
-
他装置が代表クエリア(MLDv1での運用)でIPv6マルチキャストは未使用
該当するVLANにIPv6マルチキャストを使用していないときは,デフォルト値での運用となります。この場合,該当するVLANではQuery Intervalを125秒で運用してください。
注 タイムアウト時間は,Query Interval(QQICフィールドの値)×2+Query Response Intervalで算出します。