7. VXLANについて

VXLAN(Virtual eXtensible Local Area Network)とは、L3ネットワーク上に論理的なL2ネットワークを構築するトンネリングプロトコルのことであり、VXLAN IDを使用してイーサネットフレームをカプセル化することでトンネリングを実現する。

VXLAN は、802.1Q プロトコルの4,096個という制限に縛られないので、スケーラビリティが向上する。アドレス空間を24bitsで持つので、理論上、最大1,600万個のVXLAN ネットワークに対応する。元のイーサネットフレームから50bytesを追加したものである。VXLANネットワークID(VNI)に関して、NSX for vSphereではVNI 5000番から開始する。

VXLANのVirtual Tunneling End Point(VTEP)はvDSを管理するVMkernelとなり、VXLANトラフィックをカプセル化またはカプセル化解除を行っている。Layer2フレーム全体をUDPにカプセル化しており、仮想マシンはVXLANを意識しない。

VTEPプロキシという概念をおさえる。リモートセグメントにある別のVTEPから受け取ったVXLANトラフィックをローカルセグメントに転送するVTEPのことをVTEPプロキシと呼び、2種類存在する。ユニキャストモードではこのプロキシをUnicast Tunneling End Point(UTEP)と呼び、ハイブリッドモードではこのプロキシをMultiCast Tunneling End Point(MTEP)と呼び、

VXLANのレプリケーションについて確認する。ここでのレプリケーションだが、故障等が発生したときの可用性についてでは無い。ローカルセグメントとリモートセグメントの通信を実現するために、カプセル化もしくはカプセル化解除を行うことを、レプリケーションと総称する。

vDSの追加・停止に伴い適宜VTEPのテーブルがNSX Controllerで更新される。NSX Controllerインスタンスがリモートセグメントごとに、VTEPテーブルから1個のVTEPをVTEPプロキシとして選択する。(この選択はVNI単位で実施される)

ブロードキャスト、不明なユニキャスト、およびマルチキャスト(BUM)のトラフィックの処理について確認する。NSX for vSphereでは、トラフィックのレプリケーションで使用されるデフォルトのモードはユニキャストである。 

■ ユニキャストモード
ローカルセグメントにはユニキャストで通信を行い、リモートセグメントに対してはUTEPに対してユニキャストパケットを送信する。UTEPは受け取ったパケットをローカルセグメントへユニキャストとして送信する。ユニキャスト モードの短所の 1 つは、オーバーヘッドが多いことである。ユニキャストモードでは、 送信元のVTEPとプロキシが、レイヤー2サブネット内のすべての VTEPに、同じフレームを複数回 コピーする必要がある。同じフレームを複数回コピーするため、VXLAN のトランスポートゾーンとクラスタの規模が拡大すると、ホストのCPUの使用率が高くなる。

■ ハイブリットモード
トラフィックレプリケーションのオーバーヘッドを削減するため、マルチキャストのプロキシを最適化に使用するモードを考える。このモードは、NSX for vSphere のデフォルトの動作モードではないが、大規模な環境にとっては重要となる。また、マルチキャストルーティングと比較して、IGMPの構成のオーバーヘッドや複雑性が大幅に低くなる。前提として、Layer2でIGMPが有効化されている必要がある。ローカルセグメントに対してはマルチキャストで通信を行い、リモートセグメントに対してはMTEPへユニキャストパケットを送信する。MTEPは受け取ったパケットをローカルセグメントへマルチキャストとして通信する。

■ マルチキャストモード
Layer2でIGMPが有効化されていて、かつ、Layer3でマルチキャストルーティングが有効化されている必要がある。ローカルセグメントもリモートセグメントのどちらのトラフィックも、マルチキャストのパケットで通信する。

最後に、QoSに関して、Layer2のフレームでは、802.1QのヘッダにあるCoSの情報で、Layer3のIPパケットにはDSCPという6ビットのフィールドがそれぞれあり、それらをそのまま利用することが可能である。仮想マシンから送信されるトラフィックは、複数のレベルでタグ付けされる。トラフィックは、仮想マシン単位、NSX Virtual Switch単位、または物理スイッチ単位でタグ付けが可能である。

この記事が気に入ったらサポートをしてみませんか?