今回はNSX-TのオーバレイネットワークでのBUMフレームの処理についてまとめました。
概要
BUMとは
スイッチはフレームを受信した際、フレームの宛先MACアドレスを基にMACアドレステーブルを検索します。そして、その宛先MACアドレスが存在しているインタフェースに対してのみフレームを転送します。
しかし、例外なケースが3つ存在します。この3ケースに該当した場合、スイッチはフレームの着信ポート以外の全ポートに対して、フレームを転送します。(もちろん、着信ポートと異なるVLANに所属しているポートに対しては、フレームは転送されません。)
1つ目のケースは、フレームの宛先MACアドレスがBroadcastアドレスの場合です。
2つ目のケースは、フレームの宛先MACアドレスはUnicastアドレスであるが、MACアドレステーブルに宛先MACアドレスが存在しない場合です。このようなUnicastのことをUnknow Unicastと呼びます。
3つ目のケースは、フレームの宛先MACアドレスがMulticastアドレスの場合です。
一般的に、上記の3ケースのことをBUM(Broadcst , Unknown Unicast , Multicast)と呼びます。
NSX-TでのBUMフレームの複製について
NSX-Tでは各ESXiホストがSegmentに接続されている仮想マシンに対して、以下のマッピング情報を保持します。
- 仮想マシンが接続しているSegmentのVNI
- Segmentに接続している仮想マシンのvNICのMACアドレス
- 仮想マシンがデプロイされているESXiホストのTEP用のアドレス
仮想マシンがフレームを送信した場合、ESXiホストはフレームの宛先MACアドレスがどのESXiホストに存在するか確認します。もし、他のESXiホストに存在する場合は、Geneveでカプセル化して、適切なESXiホストに転送します。
しかし、仮想マシンがBUMフレームを送信した場合、ESXiホストはSegmentが展開されている他の全ESXiホストに対してフレームを複製し、Geneveでカプセル化して転送する必要があります。
この際のNSX-Tのオーバレイネットワーク上でのBUMフレームの複製方法は2種類存在します。
1つ目はHierarchical Two-Tier方式で、MTEPとも呼ばれます。(MTEPのMが何の略称かは調べても見つかりませんでした。)
仮想マシンからBUMフレームを受信したESXiホストは、自身と同じサブネットに存在する他のESXiホストに対しては、BUMフレームを複製して、ユニキャストで送信します。
自身とは異なるサブネットに存在するESXiホストに対しては、最初に、サブネット毎に代表となる1台のESXiホストを選出します。この代表となるESXiホストの事をReplicatorと呼び、Replicatorに対してのみBUMフレームを複製して、ユニキャストで送信します。
BUMフレームを受信したReplicatorは、自身と同じサブネットに所属する他のESXiホストに対して、受信したBUMフレームを複製して、ユニキャストで送信します。
2つ目はHead方式で、仮想マシンからBUMフレームを受信したESXiホストが、他の全ESXiホストに対して、BUMフレームを複製して、ユニキャストで送信します。
設定と確認方法
設定方法
SegmentのレプリケーションモードからBUMフレームの複製方法を指定可能です。
確認方法
SegmentのBUMフレームの複製方式はESXiホスト側で確認できます。
Segmentの状態はget logical-switch <SegmentのUUID>コマンドで確認可能です。(NSX-T関連のコマンドを実行するには、最初にnsxcliコマンドを実行し、NSX-T専用のCLIモードに遷移する必要があります。)
以下はHierarchical Two-Tier方式のSegmentの出力結果になります。
esxi1.local.com> get logical-switch f865bcfe-dfab-4cba-bf88-94e24e20b391
Logical Switch
-----------------------------------------------------------------
Host Kernel Entry
==================================================
DVS name : NSX-vDS1
VNI : 65536
Replication mode : unicast mtep
Multicast proxy enable : True
ARP proxy enable : True
CP connection up : True
Controller IP : 192.168.1.112
MAC entry count : 0
Remote MAC table limit : 2048
ARP entry count : 0
VIF entry count : 2
MTEP entry count : 0
Routing Domain : 390f17c5-fccc-4a2f-a17e-4529ad84aaf6
Multicast Routing Domain : 00000000-0000-0000-0000-000000000000
LCP Entry
=================================================================
Logical switch UUID : f865bcfe-dfab-4cba-bf88-94e24e20b391
Logical switch name : Segment1
VNI : 65536
Replication mode : unicast mtep
Transport binding : GENEVE
Vlan ID : None
Admin state up : True
以下はHead方式のSegmentの出力結果になります。
esxi1.local.com> get logical-switch f865bcfe-dfab-4cba-bf88-94e24e20b391
Logical Switch
-----------------------------------------------------------------
Host Kernel Entry
==================================================
DVS name : NSX-vDS1
VNI : 65536
Replication mode : source node
Multicast proxy enable : True
ARP proxy enable : True
CP connection up : True
Controller IP : 192.168.1.112
MAC entry count : 0
Remote MAC table limit : 2048
ARP entry count : 0
VIF entry count : 2
MTEP entry count : 0
Routing Domain : 390f17c5-fccc-4a2f-a17e-4529ad84aaf6
Multicast Routing Domain : 00000000-0000-0000-0000-000000000000
LCP Entry
=================================================================
Logical switch UUID : f865bcfe-dfab-4cba-bf88-94e24e20b391
Logical switch name : Segment1
VNI : 65536
Replication mode : source node
Transport binding : GENEVE
Vlan ID : None
Admin state up : True
コメント