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単位、または物理スイッチ単位でタグ付けが可能である。
この記事が気に入ったらサポートをしてみませんか?