VXLAN
-
**拡張性の向上。**サーバ仮想化とクラウドコンピューティングアーキテクチャは、データセンター内の分離されたレイヤ2ネットワークの需要を劇的に増加させました。VLAN 仕様では、12 ビット VLAN ID を使用してレイヤ 2 ネットワークを識別するため、4094 VLAN を超えて拡張することはできません。数千もの孤立したレイヤ 2 ネットワークが要求される場合は、この数が不十分になる可能性があります。24 ビット VNI は、同じ管理ドメイン内で最大 1,600 万の VXLAN セグメントに対応します。
-
**高い柔軟性。**VXLAN はレイヤ 3 パケットを介してレイヤ 2 データフレームを伝送するため、VXLAN は L2 ネットワークをデータセンターのさまざまな部分および地理的に離れたデータセンターに拡張します。データセンターの異なる部分と異なるデータセンターでホストされているが、同じ VXLAN の一部であるアプリケーションは、1 つの連続したネットワークとして表示されます。
VXLAN のしくみ
-
ユニキャストモード:このモードでは、Citrix ADCでVXLANを構成する際に、VTEPのIPアドレスを指定します。Citrix ADCは、ブロードキャスト、マルチキャスト、および未知のユニキャストフレームをレイヤー3経由でこのVXLANのすべてのVTEPに送信します。
-
マルチキャストモード:このモードでは、Citrix ADCでVXLANを設定する際に、マルチキャストグループのIPアドレスを指定します。Citrix ADCは、インターネットグループ管理プロトコル(IGMP)プロトコルをサポートしていません。Citrix ADCは、共通のマルチキャストグループIPアドレスを共有するマルチキャストグループに参加するためにアップストリームルーターに依存します。Citrix ADCは、ブロードキャスト、マルチキャスト、および未知のユニキャストフレームをレイヤー3経由でこのVXLANのマルチキャストグループIPアドレスに送信します。
VXLAN の使用例:データセンター間の負荷分散
-
NS-ADCは、S2のARP要求をブロードキャストして、IP/MACマッピングを解決します。このパケットには、次のものがあります。
-
送信元 IP アドレス = サーバに対する SNIP サブネット IP アドレス (192.0.1.50)
-
送信元 MAC アドレス = パケットの送信元 NS-ADC のインターフェイスの MAC アドレス = NS-MAC-1
-
-
NS-ADC は、パケットを次のヘッダーでカプセル化することによって、VXLAN 9000 経由で送信する ARP パケットを準備します。
-
ID(VNI)が9000のVXLANヘッダー
-
標準 UDP ヘッダー、UDP チェックサムを 0×0000 に設定し、宛先ポートを 4789 に設定します。
-
-
NS-ADCは、生成されたカプセル化されたパケットをVXLAN-9000上の開発VTEP-1と開発VTEP-2に送信します。カプセル化されたパケットには、次のものがあります。
-
送信元 IP アドレス = SNIP-VTEP-0 (203.0.100.100)。
-
-
Dev-VTEP-2 は UDP パケットを受信し、UDP ヘッダーをカプセル化解除します。このヘッダーから Dev-VTEP-2 は、パケットが VXLAN 関連パケットであることを学習します。次に、Dev-VTEP-2 は VXLAN ヘッダーのカプセル化を解除し、パケットの VXLAN ID を学習します。結果のパケットは S2 の ARP 要求パケットです。これはステップ 1 と同じです。
-
VXLAN パケットの内部ヘッダーと外部ヘッダーから、VXLAN9000 の MAC アドレス(NS-MAC-1)とSNIP-VTEP-0(203.0.100.100)のマッピングを示すVXLAN マッピングテーブルにエントリを作成します。
-
開発-VTEP-2 は ARP パケットを S2 に送信します。S2 の応答パケットは開発-VTEP-2 に到達します。Dev-VTEP-2 は VXLAN マッピングテーブル内で検索を実行し、宛先 MAC アドレス NS-MAC-1 の一致を取得します。このリリースでは、NS-MAC-1 が VXLAN 9000 経由でSNIP-VTEP-0(203.0.100.100)を介して到達可能であることを認識しています。
-
S2 は MAC アドレス(MAC-S2)で応答します。ARP 応答パケットには、次のものがあります。
-
宛先 IP アドレス = サーバに対する SNIP サブネット IP アドレス (192.0.1.50)
-
宛先MACアドレス = NS-MAC-1
-
-
S2 の応答パケットは開発-VTEP-2 に到達します。Dev-VTEP-2 は VXLAN マッピングテーブル内で検索を実行し、宛先 MAC アドレス NS-MAC-1 の一致を取得します。このリリースでは、NS-MAC-1 が VXLAN 9000 経由でSNIP-VTEP-0(203.0.100.100)を介して到達可能であることを認識しています。デベロッパー VTEP-2 は、ARP 応答を VXLAN ヘッダーと UDP ヘッダーでカプセル化し、その結果パケットを NS-ADC の SNIP-VTEP-0(203.0.100.100)に送信します。
-
NS-ADC は、パケットを受信すると、VXLAN および UDP ヘッダーを削除してパケットのカプセル化を解除します。結果のパケットは S2 の ARP 応答です。NS-ADCは、それがS2のMACアドレスのためのVXLANマッピングテーブルを更新します (MAC-S2) 開発VTEP-2のIPアドレス (203.0.102.102) VXLAN9000. NS-ADCはまた、S2のMACアドレス(MAC-S2)でS2のIPアドレス(192.0.1.102)のARPテーブルを更新します。
-
クライアント CL は NS-ADC の LBVS に要求パケットを送信します。要求パケットには次のものがあります。
-
送信元 IP アドレス = クライアント CL の IP アドレス (198.51.100.90)
-
宛先 IP アドレス = LBVS の IP アドレス (VIP) = 198.51.110.100
-
-
NS-ADC の LBVS は要求パケットを受信し、ロードバランシングアルゴリズムはデータセンター DC2 のサーバ S2 を選択します。
-
NS-ADC は要求パケットを処理し、宛先 IP アドレスを S2 の IP アドレスに変更し、送信元 IP アドレスを NS-ADC で設定されたサブネット IP(SNIP)アドレスのいずれかに変更します。要求パケットには次のものがあります。
-
送信元 IP アドレス = NS-ADC 上のサブネット IP アドレス = サーバに対するSNIP(192.0.1.50)
-
宛先 IP アドレス = S2 の IP アドレス (192.0.1.102)
-
-
NS-ADC は、ブリッジテーブル内で S2 の VXLAN マッピングエントリを検出します。このエントリは、S2 が VXLAN 9000 経由でデベロッパー VTEP-2 を介して到達可能であることを示しています。
-
NS-ADC は、パケットを次のヘッダーでカプセル化することによって、VXLAN 9000 経由で送信するパケットを準備します。
-
ID(VNI)が9000のVXLANヘッダー
-
標準 UDP ヘッダー、UDP チェックサムを 0×0000 に設定し、宛先ポートを 4789 に設定します。
-
-
NS-ADCは、生成されたカプセル化されたパケットをDev-VTEP-2に送信します。要求パケットには次のものがあります。
-
送信元 IP アドレス = SNIP アドレス = SNIP アドレス-VTEP-0 (203.0.100.100)
-
宛先 IP アドレス = デベロッパー VTEP-2 の IP アドレス (203.0.102.102)
-
-
Dev-VTEP-2 は UDP パケットを受信し、UDP ヘッダーをカプセル化解除します。このヘッダーから Dev-VTEP-2 は、パケットが VXLAN 関連パケットであることを学習します。次に、Dev-VTEP-2 は VXLAN ヘッダーのカプセル化を解除し、パケットの VXLAN ID を学習します。結果のパケットは、手順 3 と同じパケットです。
-
その後、Dev-VTEP-2 はパケットを S2 に転送します。
-
S2は要求パケットを処理し、NS-ADCのSNIPアドレスに応答を送信します。応答パケットには次のものがあります。
-
送信元 IP アドレス = S2 の IP アドレス (192.0.1.102)
-
宛先IPアドレス = NS-ADC上のサブネットIPアドレス = サーバに対するSNIP(192.0.1.50)
-
-
Dev-VTEP-2 は、NS-ADC がステップ 4 および 5 で要求パケットをカプセル化するのと同じ方法で、応答パケットをカプセル化します。その後、Dev-VTEP-2は、カプセル化されたUDPパケットをNS-ADCのサーバ向けSNIPアドレス(192.0.1.50)に送信します。
-
NS-ADC は、カプセル化された UDP パケットを受信すると、ステップ 7 で Dev-VTEP-2 がパケットをカプセル化解除するのと同じ方法で UDP ヘッダーと VXLAN ヘッダーを削除してパケットのカプセル化を解除します。結果のパケットは、ステップ 9 と同じ応答パケットです。
-
次に、NS-ADCはセッションテーブルを使用して仮想サーバーLBVSをロードバランシングし、応答パケットをクライアントCLに転送します。応答パケットには次のものがあります。
-
送信元 IP アドレス = クライアント CL の IP アドレス (198.51.100.90)
-
宛先 IP アドレス = LBVS の IP アドレス (VIP) (198.51.110.100)
-
VXLAN の設定で考慮すべきポイント
-
Citrix ADCでは、最大2048のVXLANを構成できます。
-
VXLAN は、クラスタではサポートされません。
-
リンクローカル IPv6 アドレスは、各 VXLAN に対して設定できません。
-
Citrix ADCは、マルチキャストグループを形成するためのインターネットグループ管理プロトコル(IGMP)プロトコルをサポートしていません。Citrix ADCは、アップストリームルーターのIGMPプロトコルを使用して、共通のマルチキャストグループIPアドレスを共有するマルチキャストグループに参加します。VXLAN ブリッジテーブルエントリの作成時にマルチキャストグループ IP アドレスを指定できますが、マルチキャストグループはアップストリームルータで設定する必要があります。Citrix ADCは、ブロードキャスト、マルチキャスト、および未知のユニキャストフレームをレイヤー3経由でこのVXLANのマルチキャストグループIPアドレスに送信します。次に、アップストリームルータは、マルチキャストグループの一部であるすべての VTEP にパケットを転送します。
-
VXLAN カプセル化により、各パケットに 50 バイトのオーバーヘッドが追加されます。外部イーサネットヘッダー(14)+ UDP ヘッダー(8)+ IP ヘッダー(20)+ VXLAN ヘッダー(8)= 50 バイトフラグメンテーションとパフォーマンスの低下を回避するには、VXLAN パケットの 50 バイトのオーバーヘッドを処理するために、VXLAN VTEP デバイスを含む VXLAN パスウェイ内のすべてのネットワークデバイスの MTU 設定を調整する必要があります。重要:ジャンボフレームは、Citrix ADC VPX仮想アプライアンス、Citrix ADC SDXアプライアンス、およびCitrix ADC MPX 15000/17000アプライアンスではサポートされていません。これらのアプライアンスは、わずか 1500 バイトの MTU サイズをサポートしており、VXLAN パケットの 50 バイトのオーバーヘッドを処理するように調整することはできません。これらのアプライアンスの 1 つが VXLAN 経路内にあるか、VXLAN VTEP デバイスとして機能している場合、VXLAN トラフィックが断片化したり、パフォーマンスが低下したりすることがあります。
-
Citrix ADC SDXアプライアンスでは、VXLANパケットに対してVLANフィルタリングが機能しません。
-
VXLAN では MTU 値を設定できません。
-
インターフェイスを VXLAN にバインドすることはできません。
構成の手順
-
VXLAN エンティティを追加します。正の整数で一意に識別される VXLAN エンティティを作成します。これは VXLAN ネットワーク識別子 (VNI) とも呼ばれます。この手順では、VXLAN プロトコルが実行されているリモート VTEP の宛先 UDP ポートを指定することもできます。デフォルトでは、VXLAN エンティティの宛先 UDP ポートパラメータは 4789 に設定されています。この UDP ポート設定は、この VXLAN のすべてのリモート VTEP の設定と一致する必要があります。VLAN をこの VXLAN にバインドすることもできます。バインドされたすべての VLAN のトラフィック(ブロードキャスト、マルチキャスト、不明なユニキャストを含む)は、この VXLAN 上で許可されます。VXLANにバインドされたVLANがない場合、Citrix ADCは、このVXLAN上の他のVXLANの一部ではないすべてのVLANのトラフィックを許可します。
-
ローカル VTEP IP アドレスと VXLAN エンティティ にバインドします。設定済みの SNIP アドレスの 1 つを VXLAN にバインドし、発信 VXLAN パケットを送信します。
-
ブリッジ可能なエントリを追加します。作成する VXLAN の VXLAN の ID とリモート VTEP IP アドレスを指定するブリッジ可能なエントリを追加します。
-
(任意)設定された VXLAN に異なるフィーチャエンティティをバインドします。VXLANはVLANと同様に機能しますが、VLANを分類パラメータとしてサポートするCitrix ADC機能のほとんどは、VXLANもサポートしています。これらの機能には、VXLAN VNI を指定するオプションの VXLAN パラメータ設定が含まれます。
-
(任意)VXLAN マッピングテーブルを表示します。VXLAN マッピングテーブルを表示します。このテーブルには、特定の VXLAN の VTEP IP アドレスへのリモートホストの MAC アドレスのマッピングエントリが含まれます。つまり、VXLAN マッピングでは、ホストが特定の VXLAN 上の VTEP を介して到達可能であることを示します。Citrix ADCはVXLANマッピングを学習し、受信したVXLANパケットからマッピングテーブルを更新します。Citrix ADCは、VXLANマッピングテーブルを使用して、レイヤー2フレームの宛先MACアドレスを検索します。このMACアドレスのエントリがVXLANテーブルに存在する場合、Citrix ADCは、VXLANプロトコルを使用して、レイヤー3上のレイヤー2フレームを、VXLANのマッピングエントリで指定されたマッピングされたVTEP IPアドレスに送信します。
CLI のプロシージャ
-
vxlan を追加する \<id>
-
vxlan を表示する\<id>
-
bind vxlan \<id> -SrcIP \<IPaddress>
-
show vxlan \<id>
-
マック -bridgetableを追加 < macaddress>-vxlan < ID>-vtep < IPアドレス>
-
show bridgetable
-
show bridgetable
GUIのプロシージャ
-
MAC
-
VTEP
-
VXLAN ID
Example
> add vxlan 9000
Done
> bind vxlan 9000 -srcIP 203.0.100.100
Done
> add bridgetable -mac 00:00:00:00:00:00 -vxlan 9000 -vtep 203.0.101.101
Done
> add bridgetable -mac 00:00:00:00:00:00 -vxlan 9000 -vtep 203.0.102.102
Done
VXLAN での IPv6 ダイナミックルーティングプロトコルのサポート
-
show vxlan
In the following sample configuration, VXLAN-9000 is created and has IPv6 dynamic routing protocols enabled on it. Then, using the VTYSH command line, process for the IPv6 OSPF protocol is started on the VXLAN.
> add vxlan 9000 -ipv6DynamicRouting ENABLED
Done
> bind vxlan 9000 -srcIP 203.0.100.100
Done
> add bridgetable -mac 00:00:00:00:00:00 -vxlan 9000 -vtep 203.0.101.101
Done
> VTYSH
NS# configure terminal
NS(config)# ns IPv6-routing
NS(config)# interface VXLAN-9000
NS(config-if)# ipv6 router OSPF area 3
VXLAN-VLAN マップを使用した複数の企業からクラウドへの VLAN の拡張
-
VXLAN VLAN マップを作成します。
-
クラウド上のCitrix ADCアプライアンス上のネットワークブリッジベースまたはPBRベースのCloudBridge Connectorトンネル構成にVXLAN-VLANマップをバインドします。
-
(任意)VXLAN 構成で VLAN タグ付けを有効にします。
CLI のプロシージャ
-
add vxlanVlanMap \<name>
-
show vxlanVlanMap \<name>
-
show vxlanVlanMap \<name>
-
show netbridge \<name>
-
show netbridge \<name>
-
show pbr \<name>
-
show pbr \<name>
-
add vxlan \<vnid> -vlanTag (ENABLED \| DISABLED)
-
show vxlan \<vnid>
-
set vxlan \<vnid> -vlanTag (ENABLED \| DISABLED)
-
show vxlan \<vnid>
GUIのプロシージャ
> add vxlanVlanMap VXLANVLAN-DC1
Done
> bind vxlanvlanmap VXLANVLAN-DC1 -vxlan 3000 -vlan 3
Done
> bind vxlanvlanmap VXLANVLAN-DC1 -vxlan 3500 -vlan 4
Done
>add vxlanVlanMap VXLANVLAN-DC2
Done
> bind vxlanvlanmap VXLANVLAN-DC1 -vxlan 8000 -vlan 3 4
Done
> set pbr PBR-CBC-DC-1-CLOUD ALLOW -ipTunnel CBC-DC-1-CLOUD -vxlanVlanMap VXLANVLAN-DC1
Done
> set pbr PBR-CBC-DC-2-CLOUD ALLOW -ipTunnel CBC-DC-2-CLOUD -vxlanVlanMap VXLANVLAN-DC2
Done