連載:クラウド基盤とネットワーク【第3回】
VXLANとは何か、どう使われていくのか
大規模クラウドにおけるネットワークの課題に対応する標準の1つとして提案されているVXLANとは何かを説明し、この技術が今後どのように使われていくかを考える。
前回の記事「VMware環境を複数の論理ネットワークに分割するには」では、大規模クラウドへの変革に伴うネットワークの課題を3つ挙げた。「拡張性に関する課題」「迅速性に関する課題」「柔軟性に関する課題」である。そしてこれら3つの課題を解消するテクノロジーとして、VMwareが提供する「vCD-NI」を説明した。しかしvCD-NIはVMware独自のテクノロジーであるため、“物理ファイアウォールや物理負荷分散装置が、カプセル化されたパケットを解釈できない”という課題があった。
その課題を克服するための技術として、VMware、Cisco Systems、Arista Networks、Broadcom、Citrix Systems、Red Hatの各社が標準化団体のIETFにドラフト(草案)を提出した「VXLAN(Virtual eXtensible Local Area Network)」が挙げられる。今回は、このVXLANを取り上げる。まず、VXLANの技術を、メリットとデメリットを含めて説明し、続いて今後の普及における課題を説明する。
VXLANの概要
VXLANのトンネルの張り方
まず、VXLANでのトンネルの張り方を説明する。例えば図1のように、VXLAN ID 10001が239.1.1.1のマルチキャストアドレスにひも付いている場合、VXLAN ID 10001に所属している仮想マシンが起動すると、VTEP(VXLAN Tunnel End Point:VXLAN終端ポイント)から、239.1.1.1のIGMP reportが送出される。VMwareの場合、VTEPはVMkernel(ハイパーバイザー)になる。
このとき、上位のスイッチでIGMP snoopingがdisable(無効)だとVXLANのパケットがフラッディングされてしまうため、IGMP snoopingをenable(有効)にする必要がある。
起動した仮想マシンが通信を開始したとき、送信元の仮想マシンが配置されているハイパーバイザーの仮想スイッチでは、どのホストのハイパーバイザーに配置された仮想スイッチとトンネルを張る必要があるのか把握することができない。
現在リリースされているVXLANでは、通信を行うべき対象を見つけるためにマルチキャストを使用しており、VXLAN IDとマルチキャストアドレスがひも付いている。1つのマルチキャストアドレスに複数のVXLAN IDを所属させることも可能だが、ホストは不必要なマルチキャストパケットを受信する環境となるため、1対1で割り当てる設計が望ましい。また、これによりVXLANのトラブルシューティングも容易となる。
マルチキャストの使われ方
マルチキャストが使われるのは、対向のVTEPを探すときのみであり、その後はユニキャストの通信になる。
まず、VXLAN ID 10001の仮想マシンがARPリクエストを送出すると、ARPリクエストをVXLANでカプセル化したマルチキャストパケットが、VTEPから送出され、VXLAN ID 10001を保持する全てのホストに届く。このパケットを受け取ったホストは、VTEPでVXLANのカプセル化を解き、ARPリクエストを仮想マシンに送信する。仮想マシンは、自分宛てのARPリクエストであればARPリプライを送信し、違う場合は破棄する。
次に、VTEPからARPリプライをVXLANでカプセル化したユニキャストパケットを送信する。VXLANヘッダのカプセル化とカプセル化解除は、VTEPで行われるため、仮想マシン自体はVXLANを認識する必要はない。VTEPからVXLANでカプセル化したarpリプライを送出するとき、送信元IPアドレスは、自身のVMkernelのIPアドレスとなり、宛先IPアドレスは、ARPリクエストを送信した VTEPのIPアドレスになる。
このように、VXLANではマルチキャストの機能を使ってARP解決を行うため、マルチキャストルーティングを使ったネットワークを構築する必要がある。つまりデータセンター全体でVXLANを使用する場合、データセンターネットワーク全域で、マルチキャストの設計・構築が必要になる。特に、データセンター間通信で WANを越える場合には、さらに複雑な環境となるため、設計に十分な注意が必要となる。
VXLANのフレームフォーマット
次にVXLANのフレームフォーマットについて、各ヘッダの内容を踏まえながら説明する。
Dest MAC (宛先MACアドレス)とDest IP(宛先IPアドレス)
先に説明した通り、通信相手の仮想マシンが接続されているホストのVTEPを探すときにはマルチキャストが使用されるため、通常のマルチキャスト通信と同様、Dest MAC(宛先MACアドレス)は 01-00-5e-xx-xx-xx になり、Dest IP(宛先IPアドレス)はマルチキャストアドレスになる。
例えば、VXLAN ID 10001が 239.1.1.1 にひも付いている場合、Dest MACは01-00-5e-01-01-01になり、Dest IPは 239.1.1.1 になる。その後、同セグメントのときの Dest MACは対向のVMkernelのアドレスになり、Dest IPも対向のVMkernelのアドレスになる。
マルチキャストルーティングをするときのDest MACは、レイヤー3デバイスのアドレスになる。
IEEE 802.1Q(オプショナル)
IEEE 802.1Qはオプショナルではあるが、VXLANの通信を管理用の通信などと分離するために使うことがある。
IEEE 802.1Qを使う場合、VXLANで使われるVMkernelが設定されているポートグループのVLAN IDが入る。つまり、VXLANに必要なVLANは、VXLANで使われるVMkernelのVLANだけということだ。この点は、従来の環境と比べて大きな利点となる。
従来は、仮想化環境に接続されていた物理ネットワークでは、仮想化環境側でVLANを追加した際に、物理ネットワーク側でVLANの追加作業が発生した。物理ネットワーク側にVLANを追加するためには多くの場合で時間を要するため、ソフトウェア側の担当者には不満があった。また、ネットワーク全体でVLANの追加作業が必要になることから、1台のスイッチでVLANの追加漏れがあると、ネットワーク全体に影響を与えることにもなる。
これらのことを踏まえて、仮想化環境に接続されている物理スイッチには、事前に全てのVLANに対して通信許可の設定を行う場合がある。全てのVLANに対して事前に通信許可設定を行えば、運用上は楽になる。しかし、一部のベンダーのスイッチでは、スイッチで処理できるVLAN数の合計(1000個のVLANを20ポートでトランクした場合、合計2万になる)に制限があり、全てのVLANをトランクすると、すぐにこの制限に達してしまう。
この課題に対してVXLANでは、必要なVLANは1つであるため、VLAN数の合計を意識する必要はなくなっている。さらに、物理ネットワーク側がマルチキャストルーティングに対応していれば、VXLAN IDを追加したときに、物理ネットワーク側で設定変更の必要がないため、新たに追加したVXLAN IDの仮想マシンはすぐに通信が可能になり、ソフトウェア担当者の不満もなくなる。
Source MAC(送信元MACアドレス)とSource IP(送信元IPアドレス)
Source MACとSource IPには、VTEP(VMkernel)のアドレスが入る。上位のスイッチは、仮想マシンごとのMACアドレスを学習するのではなく、VTEP(VMkernel)のMACアドレスだけを学習することになり、ネットワーク全体で学習するMACアドレスの数を削減できる。
UDPヘッダ
VXLANにはUDPヘッダがあるため、CiscoのFabricPathやBrocade NetworksのVCSなどのファブリック・ネットワーク環境において、VXLANでカプセル化されたフレームの負荷分散が可能になる。これによって、ネットワーク全体を効率的に使用できるようになり、一部の経路が輻輳(ふくそう)する可能性も低くなる。
VXLANヘッダ
VXLANヘッダには、VNI(VXLAN Network Identifier)フィールドがある。VNIは 24ビットあるため、論理的には最大約1677万のIDが作成可能だ。現在問題になっている VLAN ID不足を解消できる。一方、VLAN IDは12ビットのため、最大4096までしか作成できない。実際には予約されている VLAN IDもあるため、使えるVLAN IDはさらに少なくなってしまっている。
VXLANフレーム全体
VXLANのフレームフォーマットを見ると分かるように、ジャンボフレームとなっている。ジャンボフレームに対応する手法として、パケットを送出する際にデータ部分を小さくする方法もあるが、パフォーマンスが犠牲となってしまう。そのため、現実的には物理ネットワークをジャンボフレーム対応にする検討が必要である。
ただし、ジャンボフレームがWANを越える際にはフラグメントが必要となることから、ルータの性能によってはパフォーマンスが問題になる可能性がある。
Original Ethernet Payload
VXLANのドラフトでは、内部のVLANタグは破棄すべきと記載されている。
これからのVXLAN普及に向けた課題
まず、VXLANゲートウェイ機能への対応が挙げられる。VXLANの通信を行うためには、VTEPが必要となり、このVTEPは仮想化環境上のVMkernelで構成される。つまり、多くの場合、VXLANの通信は仮想化環境間での通信となる。では、VXLANを用いた仮想化されていない物理サーバとの通信は、どのように実施できるのか。
物理サーバはVXLAN ではなくVLANで接続されているため、VXLANをVLANに変換するVXLANゲートウェイ機能が必要になる。VXLANゲートウェイに関しては、一部ベンダーのハードウェアスイッチや、ソフトウェアでの対応が始まっている。今後も対応製品が増えていくと思われる。
次に、VXLANと同様のオーバレイテクノロジーである STT(Stateless Transport Tunneling)とのパフォーマンス比較も普及への課題として挙げられる。STTはVXLANよりパフォーマンスが優れている、という意見があるからだ。この意見の根拠は、STTはTCPの通信として見せかける仕組みを保持しており、サーバに搭載されたNICにTSO(TCP Segmentation Offload)機能が搭載されている場合、STTの通信をNICの機能によりオフロードし、パフォーマンスを向上できるという点だ。
しかし、VXLANでもサーバに搭載されたNICへのオフロードの仕組みが検討されており、最終的にはどちらの方式のパフォーマンスが優れているかは、実際に検証をして確認する必要がある。
最後に、これまで説明してきたように、VXLANを使用するためには、マルチキャストルーティングが必要になってしまう点も課題だ。これを克服するために、ユニキャストバージョンのVXLANもリリースされた。
このように、幾つかの設計上の課題や注意点は存在するものの、複数のベンダーでのサポート等にも後押しされ、今後浸透していくテクノロジーがVXLANであると考えている。
次回は、Cisco Nexus 1000Vでサポートされたユニキャストバージョンの VXLANの動作と、VMware vCloud Directorのネットワークの今後の展開について説明する。
Copyright © ITmedia, Inc. All Rights Reserved.
連載:クラウド基盤とネットワーク
この記事の著者
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー