突然ですが、VXLANって何か恰好良い響きの言葉ですよね。ネットワークを学習しているとVLANって言葉はよく出てきますが、VLANの更に上をいく技術がVXLANとなります。
今回はVXLANの仕組みに関して調べてみました!
VXLANとは?
VXLAN(Virtual eXtensible Local Area Network)とはズバリ「オーバーレイネットワークを実現するプロトコル」のことです。
そうすると「オーバーレイネットワーク」ってなんじゃ?って話にもなりますが、要はL3ネットワーク上でL2ネットワークを実現している「L2層 over L3層」のプロトコルです。
もっと噛み砕くと、インターネット越しでローカルネットワーク(LAN)を実現するための技術です。
他のトンネリングプロトコルとの違いとして、VXLANはイーサネットフレームをカプセル化しています。IPsecなどのインターネットVPNはIPパケットのカプセル化をしていますね。

VLANとの違いは?
VXLANとVLANって言葉が似てますよね。そうなんです。関係性があるのです。
VLANは物理的な接続形態とは独立して、仮想的なLANを形成する技術です。パケットにVLANタグを付けることで、レイヤー2のセグメントを分けることができます。
VLANのIDは12ビットなので「4096(厳密には4094)」のネットワークしか構成できません。大きなネットワークになると足りなくなってしまうことがるようです(私には想像できませんが...)。
そこでVXLANでは24ビットのIDを持つことで、1600万近いネットワークを構成することができ、大規模な仮想ネットワークを構築することができるようです!
仮想化技術におけるVXLANの有効活用
仮想マシンは仮想マシンが乗っている物理サーバの障害時などに、別のサーバに移動(ライブマイグレーション)することができます。ディザスタリカバリの観点からも、移動先のサーバは離れた場所(別のネットワーク)にすることも多く、その場合はL3ネットワークを超えることが必要となってきます。
VXLANにおいては、送信元側でイーサネットフレームにVXLAN IDを付加してUDP/IPでカプセル化することで、L3ネットワークを超えることができ、仮想マシンを別の離れたネットワークに仮想マシン自体のアドレスを変更せずに移動することができます。
また、VXLANセグメント同士は、VTEP (Virtual Tunnel End Point)という機能が カプセル化を行うため、VTEPを経由して通信を行っています。 インターネット越しの遠くにあるVTEPを見つけるためにマルチキャストが利用されますので、マルチキャストのパケットが通るネットワークである必要がありますね。
まとめ
今回はL2ネットワークのエリアをL3ネットワークを使って論理的に広げるためのプロトコルであるVXLANとオーバーレイ方式の概念に関して調べてみました。
VXLANを使うことで、仮想化技術における仮想マシンのネットワーク越しの移動も実現できているのですね。
また、インターネットそのものも様々な回線網をくぐりぬけて透過的にIPパケットを届けているので、オーバーレイネットワークと捉えることもできるようですね。
以上です!
参考URL)