L2スイッチング / VXLAN

概要

VXLANは、レイヤー2フレームをカプセル化することにより、L3ネットワーク上に論理的なL2ネットワークを構築するトンネリングプロトコルです。

この論理的なL2ネットワークを「オーバーレイネットワーク」と呼びます。
物理的なL3ネットワークを「アンダーレイネットワーク」と呼びます。

オーバーレイネットワークにまたがる各VLANは、24ビットの仮想ネットワーク識別子(VNI)番号にマッピングされます。

VXLANのオーバーレイネットワークのことをVXLANトンネルと呼びます。
VXLANトンネルは2つのVTEP(VXLAN Tunnel End Point)と呼ばれるエンドポイントデバイス経由で通信を行います。
送信側のVTEPでイーサネットフレームにVNIのタグ付加し、フレームをカプセル化し、もうひとつのVTEPへと転送します。
転送先のVTEPのことを「リモートVTEP」と呼びます。

仕様など

次に、VXLANの基本的な動作について説明します。

拠点Aから拠点Bへ通信を行う場合、VTEP-Aではイーサネットフレームを受信すると、まずFDBテーブルを調査します。
宛先のMACアドレスが自装置のポートではなくVXLANトンネルの先にあることを確認すると、フレームにVNIタグを付加し、パケットをカプセル化します。
フレームのVLANタグにマッピングされたVNIでFDBを再調査し、パケットを転送するVTEP(リモートVTEP)を決定します。
パケットを受け取ったVTEPではVNIタグを解除し、イーサネットフレームを取得すると、宛先ホストに転送します。

VXLANと他機能の併用について

VXLANと他の機能の併用については、以下の通りです。


基本設定

VXLANの基本設定について説明します。
ここでは次のような構成を例に各スイッチの設定方法を説明します。


前提事項


VTEP-A(スイッチA)の設定


1. VXLANではVNIタグが付加されてフレームサイズが1522バイトを超える可能性があるため、ジャンボフレームの転送機能を有効にします。
ジャンボフレームの設定はmruコマンドで行います。
awplus(config)# interface port1.1.1
awplus(config-if)# mru 9394
awplus(config-if)# exit

2. VXLAN機能を使用するため、トンネルへのルーティングとトンネルからのルーティングを有効にします。
これにはplatform l3-vxlan enableコマンドを使用します。

awplus(config)# platform l3-vxlan enable

3. VXLANモードに移行して、VXLANパケットの送信元としてループバックインターフェース(lo)を指定します。
VXLANモードに移行にはnvo vxlanコマンド、VXLANパケットの送信元アドレスの設定はsource-interfaceコマンドを使用します。
awplus(config)# nvo vxlan
awplus(config-vxlan)# source-interface lo

4. リモートVTEP「VTEP-B」を構成し、リモートVTEPのIPv4アドレス「2.2.2.2」を指定します。
リモートVTEPの設定はremote-vtepコマンドを使用します。
awplus(config-vxlan)# remote-vtep VTEP-B 2.2.2.2

5. VXLAN用VLANにVNIを紐づけます。
ここでは「vlan100」とVNI「vni1000」のマッピングを作成します。
VLANとVNIのマッピングはmap-access vlan vniコマンドを使用します。
awplus(config-vxlan)# map-access vlan 100 vni 1000
awplus(config-vxlan)# exit

6. VXLAN用VLAN「vlan100」でIGMP SnoopingとMLD Snoopingを無効にします。
IGMP Snoopingを無効にするには、ip igmp snoopingコマンドをno形式で実行します。
また、MLD Snoopingを無効にするには、ipv6 mld snoopingコマンドをno形式で実行します。
awplus(config)# interface vlan100
awplus(config-if)# no ip igmp snooping
awplus(config-if)# no ipv6 mld snooping
awplus(config-if)# exit

7. VXLANパケットの送受信を行うインターフェースのMTUを1550以上に設定します。
MTUの設定はmtuコマンドを使用します。
awplus(config)# interface vlan100
awplus(config-if)# mtu 1550

設定は以上です。

VTEP-B(スイッチB)の設定


1. VXLANではVNIタグが付加されてフレームサイズが1522バイトを超える可能性があるため、ジャンボフレームの転送機能を有効にします。
ジャンボフレームの設定はmruコマンドで行います。
awplus(config)# interface port1.1.1
awplus(config-if)# mru 9394
awplus(config-if)# exit

2. VXLAN機能を使用するため、トンネルへのルーティングとトンネルからのルーティングを有効にします。
これにはplatform l3-vxlan enableコマンドを使用します。

awplus(config)# platform l3-vxlan enable

3. VXLANモードに移行して、VXLANパケットの送信元としてループバックインターフェース(lo)を指定します。
VXLANモードに移行にはnvo vxlanコマンド、VXLANパケットの送信元アドレスの設定はsource-interfaceコマンドを使用します。
awplus(config)# nvo vxlan
awplus(config-vxlan)# source-interface lo

4. リモートVTEP「VTEP-A」を構成し、リモートVTEPのIPv4アドレス「1.1.1.1」を指定します。
リモートVTEPの設定はremote-vtepコマンドを使用します。
awplus(config-vxlan)# remote-vtep VTEP-A 1.1.1.1

5. VXLAN用VLANにVNIを紐づけます。
ここでは「vlan100」とVNI「vni1000」のマッピングを作成します。
VLANとVNIのマッピングはmap-access vlan vniコマンドを使用します。
awplus(config-vxlan)# map-access vlan 100 vni 1000
awplus(config-vxlan)# exit

6. VXLAN用VLAN「vlan100」でIGMP SnoopingとMLD Snoopingを無効にします。
IGMP Snoopingを無効にするには、ip igmp snoopingコマンドをno形式で実行します。
また、MLD Snoopingを無効にするには、ipv6 mld snoopingコマンドをno形式で実行します。
awplus(config)# interface vlan100
awplus(config-if)# no ip igmp snooping
awplus(config-if)# no ipv6 mld snooping
awplus(config-if)# exit

7. VXLANパケットの送受信を行うインターフェースのMTUを1550以上に設定します。
MTUの設定はmtuコマンドを使用します。
awplus(config)# interface vlan100
awplus(config-if)# mtu 1550

設定は以上です。