HOME情報セキュリティ資料・報告書・出版物調査・研究報告書情報セキュリティ技術動向調査(2011 年下期)

本文を印刷する

情報セキュリティ

情報セキュリティ技術動向調査(2011 年下期)

6. クラウドコンピューティングセキュリティ
- VXLAN/NVGREによるネットワーク分離

馬場 達也

6.1. はじめに

 近年、ソフトウェアやハードウェアなどのリソースをネットワーク経由で利用する形態である「クラウドコンピューティング」が流行っている。クラウドコンピューティングには、SaaS(Software as a Service)やPaaS(Platform as a Service)、IaaS(Infrastructure as a Service)などの「パブリッククラウド」や、企業毎に自社のデータセンタ上でサーバ仮想化技術を使用して、社内の部門に対して仮想サーバの貸し出しサービスを行う「プライベートクラウド」などが存在するが、複数の企業のプライベートクラウドを物理的に同じインフラ上で実現することでコスト削減を実現する「仮想プライベートクラウド」が注目されてきている。仮想プライベートクライドでは、サーバの論理分割だけでなく、ネットワークの論理分割を行い、各社のプライベートクラウド間のセキュリティを確保する必要がある。本稿では、この論理分割を実現するための新しいネットワーク技術であるVXLANおよびNVGREについて説明する。

6.2. 「仮想プライベートクラウド」実現の課題

 現在は、各社が自社のデータセンタに独自にプライベートクラウドを構築している。この状態では、サーバの集約効果はあるものの、コスト削減効果は限定的であった。このため、サーバだけでなく、データセンタやネットワークも他社と共有することでコストを削減する「仮想プライベートクラウド」が注目されている(図1)。
 1台の物理サーバを複数の企業が共同利用するためには、サーバ仮想化技術を利用するが、ネットワークを複数の企業が共同利用するためには、VLAN(Virtual Local Area Network)などのネットワーク仮想化技術が必要となる。ネットワークの論理分割の方法としてVLANをはじめとする従来技術を使用する場合は、パケットにVID(VLAN ID)を付与し、図2のように、レイヤ3スイッチ、ファイアウォール、ロードバランサ、レイヤ2スイッチ、サーバなどを垂直に並べる方法が取られる。


図1: 仮想プライベートクラウドの仕組みとメリット


図2: ネットワークの論理分割のイメージ

6.3. VLANの課題と解決の方向性

 この仮想プライベートクラウド環境においては、いくつかの問題が指摘されている。ひとつは、VIDが不足するという問題である。VLANでは、図3のように、イーサヘッダに12ビットの長さのVID(VLAN Identifier)を含むVLANタグを埋め込むことで、レイヤ2レベルでテナントを識別する。このVIDは0と4095を除いて、最大4,094個割り当てが可能である。しかし、仮想プライベートクラウドを利用する企業が増えると、4,094では足りないという問題がある。


図3: タグVLANのプロトコルフォーマット


 ふたつめは、ライブマイグレーションへの対応である。ライブマイグレーションに対応するためには、仮想マシンが移動した後でも、同じネットワーク設定(IPアドレスおよびデフォルトゲートウェイ)で利用できるように、フラットなレイヤ2ネットワークで構成する必要がある(図4)。しかし、既存の環境では、レイヤ3スイッチやルータなどのレイヤ3機器が存在することが多く、このような機器を越えてライブマイグレーションを行うことができない。


図4: ライブマイグレーション時のVLANの問題


 このため、テナントを識別するための識別子の上限を増やし、さらに、トンネル技術によって、レイヤ3ネットワーク上にレイヤ2ネットワークをオーバーレイで実現する仕組みを備えたVXLAN(Virtual Extensible Local Area Network)およびNVGRE(Network Virtualization using Generic Routing Encapsulation)というプロトコルの提案がされている。

6.4. VXLANの概要

 VXLANは、VMwareとCiscoが中心となって提案している、現在のVLANを拡張する技術である。2011年8月に、VMware、Cisco、Arista、Broadcom、Citrix、Red Hatの共著で、“VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks”(draft-mahalingam-dutt-dcops-vxlan-00.txt)[1]というインターネットドラフトが提出された。
 図5のように、VXLANでは、12ビットのVIDの上限(4,094)を拡張するために、24ビット(1,677万)の「VNI(VXLAN Network Identifier)」を含むVXLANヘッダを使用する。また、ライブマイグレーションに対応するため、イーサフレーム全体をUDPおよびVXLANヘッダでカプセル化することによって、レイヤ3ネットワーク上にフラットなレイヤ2ネットワークを実現することが可能となっている。


図5: VXLANのフォーマット


 図6にVXLANのアーキテクチャを示す。VXLANに対応した仮想スイッチの間で同じテナントに所属する仮想サーバを結ぶトンネルを構築し、テナントは24ビットのVNIで識別される。間に存在する物理スイッチや仮想サーバはVXLANに対応する必要はない。

図6: VXLANのアーキテクチャ

6.5. NVGREの概要

 NVGREは、Microsoftが中心となって提案している、現在のVLANを拡張する技術である。2011年9月に、Microsoft、Arista、Intel、Dell、HP、Broadcom、Emulexの共著で、“NVGRE: Network Virtualization using Generic Routing Encapsulation”(draft-sridharan-virtualization-nvgre-00.txt)[2]というインターネットドラフトが提出された。
 図7のように、NVGREでは、12ビットのVIDの上限(4,094)を拡張するために、24ビット(1,677万)の「TNI(Tenant Network Identifier)」を含むGREヘッダを使用する。また、ライブマイグレーションに対応するため、イーサフレーム全体をGREでカプセル化することによって、レイヤ3ネットワーク上にフラットなレイヤ2ネットワークを実現することが可能となっている。


図7: NVGREのフォーマット


 図8にNVGREのアーキテクチャを示す。NVGREに対応した仮想スイッチの間で同じテナントに所属する仮想サーバを結ぶトンネルを構築し、テナントは24ビットのTNIで識別される。間に存在する物理スイッチや仮想サーバはNVGREに対応する必要はない。


図8: NVGREのアーキテクチャ

6.6. VXLANとNVGREの違い

 VXLANとNVGREは、同じようなアーキテクチャであるが、以下のふたつの点が異なっている。

    (1) 実装の容易さ

     NVGREは、トンネリングに汎用のGREを使っているが、多くのネットワークチップはGREをサポートしているため、実装が容易であるという特徴がある。

    (2) ECMPへの対応

     ECMP(Equal-Cost Multi-Path)は、5つの情報(送信元IPアドレス、宛先IPアドレス、プロトコル、送信元ポート、宛先ポート)を使って回線のロードバランシングを行う技術である。VXLANはUDPでカプセル化するため、UDPのポート番号が使用できるが、NVGREは、カプセル化にGREを使用しており、TCP/UDPのポート番号が存在しない。このため、NVGREでは、ECMPによるロードバランシング機能が十分に機能しないという問題が指摘されている。

6.7. VXLANおよびNVGREのセキュリティ

 VXLANおよびNVGREのセキュリティレベルは、VLANとほぼ同じレベルであるが、管理すべきIDの数が多くなるため、設定ミスが増加し、セキュリティレベルが下がる可能性がある。

    (1) 論理分割のレベル

     VXLANおよびNVGREは、両方ともレイヤ2レベルでの仮想化を実現しており、論理分割のレベルはVLANと同じである。

    (2) 運用面での課題

     VLANと同様にVNIやTNIと呼ばれているIDの管理が課題となる。1677万のIDを管理すると、設定ミスが増加し、セキュリティレベルが下がる可能性がある。このため、何らかのIDの自動割り当てが可能なコントローラ機能が必要となる。

6.8. 実装状況

 VMwareの仮想スイッチや、VMware上で動作する仮想スイッチ「Cisco Nexus 1000V」においてVXLANのサポートが予定されている。

6.9. VXLANおよびNVGREの導入上の課題

 VXLANおよびNVGREは、トンネルで構築されたレイヤ2ネットワーク上で、マルチキャスト通信およびブロードキャスト通信を行うために、物理インフラのマルチキャスト機能を使用する。つまり、物理インフラ上のルータに、DVMRP(Distance Vector Multicast Routing Protocol)、PIM-DM (Protocol Independent Multicast-Dense Mode)、PIM-SM(Protocol Independent Multicast-Sparse Mode)などのマルチキャストルーティングの設定を行い、テナント毎にマルチキャストグループを対応付けする作業が必要となる。
 また、VXLANでは48バイト、NVGREでは40バイトのトンネル用のヘッダが付加されるため、MTUが減少し、フラグメントが発生するという問題がある。このため、サーバ側で経路MTU探索を行い、フラグメントが発生しないように注意する必要がある。

6.10. まとめと今後の展開

 VXLANおよびNVGREの両仕様ともインターネットドラフトの初版の段階ではあるが、VMware、Citrix、Microsoft、Red Hat、Ciscoといった大手ベンダが強力にサポートしており、標準化に先行して仮想スイッチへの実装が進むと予想される。
 VLAN IDの枯渇の問題と、レイヤ2フラットなネットワークの実現という意味では、OpenFlowも解決策のひとつであり、今後、VXLAN、NVGRE、OpenFlow [3]の3方式の動向をチェックしていく必要がある。

以上

参考資料

[1]

“VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks”,
http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-00

[2]

“NVGRE: Network Virtualization using Generic Routing Encapsulation”,
http://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-00

[3]

IPA,『情報セキュリティ技術動向調査(2010 年下期)』「8. OpenFlowによるネットワーク分離」,
http://www.ipa.go.jp/security/fy22/reports/tech1-tg/b_08.html

 

目次へ 次へ