今回はNSX-Tのマルチキャストにおけるクライアントの生存確認に関する処理をまとめました。
概要
Leave GroupとGroup Specific Queryについて
前回の記事で、クライアントがマルチキャストグループから離脱する際、Leave Groupを送信することを説明しました。
しかし、バッテリー切れ等により、クライアントがLeave Groupを送信せずに、ネットワークから離脱してしまうケースがあります。この場合、LHRにマルチキャストグループの情報が残ってしまいます。その結果、LHRは既にクライアントが存在しないマルチキャストグループ宛のトラフィックを転送し続けてしまいます。
上記の問題を回避するために、LHRは定期的にGeneral Queryを送信し、マルチキャストグループに参加しているクライアントが存在するか確認します。
マルチキャストグループに参加しているクライアントはMembership Reportを返信し、自身の存在をLHRに通知します。
もし、LHRが特定のマルチキャストグループに関するMembership Reportを受信できない場合、そのマルチキャストグループにはクライアントが参加していないと判断し、そのマルチキャストグループ宛のトラフィックの転送を中止します。
検証結果
検証内容、構成
Tier-0 GWでSegment 1を収容します。
NSX EdgeにTier-0 GWのSRを配置し、物理ネットワークとNSX-Tの仮想ネットワークを接続します。
Tier-0 GWとR2でPIM-SMを動作させます。
R2の20.0.0.2/32をRPとして使用します。
Tier-0 GWとR2ではRPのアドレスを手動で指定します。
ネットワーク機器のCLIの設定
ip multicast-routing distributed
!
interface Loopback0
ip address 20.0.0.2 255.255.255.255
!
interface GigabitEthernet2
ip address 20.1.1.100 255.255.255.0
ip pim sparse-mode
!
interface GigabitEthernet3
ip address 20.2.2.2 255.255.255.0
ip pim sparse-mode
!
ip pim rp-address 20.0.0.2
!
ip route 0.0.0.0 0.0.0.0 20.1.1.1
interface GigabitEthernet2
ip address 20.2.2.3 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.2.2.2
IGMPのタイマーがデフォルト値の場合
IGMP Profileの設定
IGMPの各種タイマーはデフォルト値とします。
Tier-0 GWの設定
先程定義したIGMP ProfileをTIer-0 GWに関連づけます。
Tier-0 GWのDRが送信したGeneral Queryの様子
以下は10.1.1.0/24上でTier-0 GWのDRが送信したGeneral Queryのみをキャプチャした結果になります。Tier-0 GWのDRが30秒間隔でGeneral Queryを送信していることが確認できます。
以下はTier-0 GWのDRが送信したGeneral Queryのキャプチャになります。Group Specific Queryとは異なり、マルチキャストアドレスが0.0.0.0なことが確認できます。また、Max Resp Timeが10秒であることが確認できます。
General Queryの送信間隔を変更
IGMP Profileの設定
General Queryの送信間隔を20秒に変更します。
Tier-0 GWのDRが送信したGeneral Queryの様子
以下は10.1.1.0/24上でTier-0 GWのDRが送信したGeneral Queryのみをキャプチャした結果になります。Tier-0 GWのDRのGeneral Queryの送信間隔が30秒から20秒に変化したことが確認できます。
General QueryのMax Resp Timeを変更
IGMP Profileの設定
General QueryのMax Resp Timeを5秒に変更します。
Tier-0 GWのDRが送信したGeneral Queryの様子
以下はTier-0 GWのDRが送信したGeneral Queryのキャプチャになります。Max Resp Timeが10秒から5秒に変化したことが確認できます。
コメント