OSSだけで実装する
仮想ネットワークの全て  
株式会社あくしゅ	
  
⼭山崎泰宏	
  
(axsh.jp	
  /	
  @sparklegate)
株式会社あくしゅ  
• IaaS基盤  “Wakame-­‐vdc”を	
  
ゼロから開発する会社	
  
• OSSとして公開	
  
• 開発、メンテナンス	
  
• プロフェッショナルサービス	
  
• 導⼊入⽀支援	
  
• ...
開発当初(2009)からの
コンセプト  
•  Wakame-­‐vdc	
  (Virtual	
  Data	
  Center)	
  
•  「データセンターを丸ごと仮想化しよう!」	
  
•  「データセンターをポケットに⼊入れて...
事例
NNTTTT  PPCC  CCoommmmuunniiccaattiioonnss  IInncc..  
WWeebbAARREENNAA  VVPPSS  CClloouudd
KKYYOOCCEERRAA  CCoommmmuunniiccaattiioonn  SSyysstteemmss,,  CCoo..,,  LLttdd..  
GGrreeeennOOffffiiccee  UUnniiffiieedd ...
歴史・背景
ネットワークの機能  
•  2010/04	
  ...	
  ファーストリリース	
  (Ruby)	
  
•  2010/11	
  ...	
  エッジネットワーキング構成に	
  
•  Linux	
  NetfilterによるSe...
弊社の周�辺動向�	
  
二〇一二年頃  
•  VDCのコンセプトは良良い	
  
•  でも、今のところSecurity	
  Groupsだけでも⼗十分	
  
•  仮想ネットワークについては、	
  
IaaSに内蔵してあるよりも	...
Wakame-­‐vdcから	
  
仮想ネットワークの機能を抽出して、	
  
別のオープンソースプロダクトとして	
  
まとめよう
構造
Data  Center
Physical  Network
データセンターの  
ネットワークモデル  
WAN  Edge  Network
LAN  Edge  Network
Resources
External  Network  
...
エージェントを分散配置  
Data  Center
Network
Internet
Physical  /  Virtual
Server  Cluster
パケットを	
  
コントロールするために、	
  
Agentsを配置する	
  
メッセージキューによる
連携  
Data  Center
Network
Internet
Physical  /  Virtual
Server  Cluster
Queue
Agentは、	
  
相互にメッセージを交換し、	
  
連携...
エージェントと	
  
その他コンポーネント  
•  vna	
  (Virtual	
  Network	
  Agent)	
  
•  Open	
  vSwitch	
  1.10.xの設定を変更更するのが主な役⽬目	
  
•  T...
全体像  
Data  Center
Network
Internet
Physical  /  Virtual
Server  Cluster
Queue
vna vna vna
vna vna vna
vnmgr
vnapi
vna
Ope...
Control	
  
Program
Control	
  
Program
Network	
  OS
Packet	
  
Forwarding
Packet	
  
Forwarding
Packet	
  
Forwarding
Op...
Virtual	
  Network	
  
(Multi-­‐Tenant)
Security	
  Group	
  
(Firewall)
Open	
  vSwitch Open	
  vSwitch
Open	
  vSwitch
V...
Data  Center
Physical  Network
デプロイメント  
WAN  Edge  Network
LAN  Edge  Network
Resources
External  Network  
(Internet)
Ge...
物理サーバへの配置  
Data  Center  
Physical  Network
LAN  Edge
Resources Physical  Server Physical  Server
Open  
vSwitch
vna
eth0...
仮想と物理のレイヤ分け  
Physical  Server Physical  Server
Open  
vSwitch
vna
eth0 eth1 eth0 eth1
Management  Line
Public  Line
VM VM...
パケットの物理転送方式  
•  ⼀一般によく知られた⽅方法	
  
•  GRE	
  Tunnel	
  
•  VXLAN	
  (予定)	
  
•  独⾃自の⽅方法	
  
•  MAC2MAC	
  
MAC2MAC  
•  ARPのブロードキャストドメインをコントロールして	
  
物理理L2配下をアイソレートする⼿手法	
  
•  ブロードキャストパケットを、	
  
MACアドレスを頼りにユニキャスト通信するため、	
  
この名前...
その他の	
  
ネットワーク機能  
•  GRE	
  Tunnel	
  /	
  VXLAN	
  
•  物理理L3を越えた際のMAC2MACの代替⼿手法	
  
•  物理理ネットワーク構成を⾒見見て、⾃自動で適⽤用する	
  
•...
できるだけエッジで応答する	
  
例)	
  DHCP	
  Server  
各VMが仮想ネットワークへ放出するDHCP	
  Discoveryは、	
  
Open	
  vSwitch上でフックされ、OF1.3に乗ってvnaへ到達する...
デモ
br0
VM-­‐5
Vif
eth0
Vif
vna3
vna
VM-­‐6
br0
VM-­‐3
Vif
eth0
Vif
vna2
vna
VM-­‐4
br0
VM-­‐1
Vif
eth0
Vif
vna1
VM-­‐2
vnadba...
ご覧頂くデモ  
•  Virtual	
  Networkを構築して仮想マシンを起動する	
  
•  仮想マシンからのIPアドレス取得要求を	
  
分散DHCPで応答し、付与する	
  
•  2つのVirtual	
  Network間...
これから  
Wakame-­‐vdcがあったので、ここまで5ヶ⽉月と少し
現在開発中のもの  
•  Packet	
  Filtering	
  
•  vif毎にSecurity	
  Groups	
  +	
  Firewallルールを	
  
設定できる機能	
  
•  WAN	
  Edge	
  Ne...
まとめ  
•  Wakame-­‐vnetは、分散したOVSを管理理し、	
  
エッジオーバレイ仮想ネットワークを	
  
OSSだけで実現できます	
  
•  物理理ネットワーク上に、	
  
任意の仮想ネットワークを複数構築できます	...
Upcoming SlideShare
Loading in...5
×

Wakame-vnet / Open Source Project for Virtual Network & SDN

1,994

Published on

Wakame-vnet is a toolkit for Virtual Networking based on the Edge Networking Architecture. The user can freely design own L2/L3 network on top of physical network using Wakame-vnet.

Published in: Technology

Wakame-vnet / Open Source Project for Virtual Network & SDN

  1. 1. OSSだけで実装する 仮想ネットワークの全て 株式会社あくしゅ   ⼭山崎泰宏   (axsh.jp  /  @sparklegate)
  2. 2. 株式会社あくしゅ • IaaS基盤  “Wakame-­‐vdc”を   ゼロから開発する会社   • OSSとして公開   • 開発、メンテナンス   • プロフェッショナルサービス   • 導⼊入⽀支援   • カスタマイズ   • 技術教育
  3. 3. 開発当初(2009)からの コンセプト •  Wakame-­‐vdc  (Virtual  Data  Center)   •  「データセンターを丸ごと仮想化しよう!」   •  「データセンターをポケットに⼊入れて     持ち運べるようにしよう!」   •  「世界中のデータセンターを     ひとつのコンピュータにしよう!」   •  必要な技術要素   •  Virtual  Server  /  Virtual  Network  /  Virtual  Storage   •  SDNは本コンセプトの実現に向けて、   重要な考え⽅方の⼀一つ  
  4. 4. 事例
  5. 5. NNTTTT PPCC CCoommmmuunniiccaattiioonnss IInncc.. WWeebbAARREENNAA VVPPSS CClloouudd
  6. 6. KKYYOOCCEERRAA CCoommmmuunniiccaattiioonn SSyysstteemmss,, CCoo..,, LLttdd.. GGrreeeennOOffffiiccee UUnniiffiieedd CClloouudd
  7. 7. 歴史・背景
  8. 8. ネットワークの機能 •  2010/04  ...  ファーストリリース  (Ruby)   •  2010/11  ...  エッジネットワーキング構成に   •  Linux  NetfilterによるSecurity  Groupsが動作   •  Tagged  VLANを⼀一切切使わずに実現した   •  2011/12  ...  OpenFlow  1.0対応   •  Trema  +  OVS  1.6   •  Security  Groupsを移植   •  2012/03  ...  仮想ネットワークの実現   •  オーバレイでL2マルチテナントを実現   •  VMが複数NICを持ち、それぞれ任意に作成された 異異なるネットワークへ接続できる
  9. 9. 弊社の周�辺動向�   二〇一二年頃 •  VDCのコンセプトは良良い   •  でも、今のところSecurity  Groupsだけでも⼗十分   •  仮想ネットワークについては、   IaaSに内蔵してあるよりも   独⽴立立性の⾼高いプロダクトとして利利⽤用したい   •  プロプライエタリ製品が多く、   無償で気軽に試せるオープンソース製品とか   ないの?  
  10. 10. Wakame-­‐vdcから   仮想ネットワークの機能を抽出して、   別のオープンソースプロダクトとして   まとめよう
  11. 11. 構造
  12. 12. Data  Center Physical  Network データセンターの ネットワークモデル WAN  Edge  Network LAN  Edge  Network Resources External  Network   (Internet) General   Servers Appliance   Servers Storage   Servers Data  Center Network Internet DNAT  /  LB Tunnel  & SNAT  /  DHCP  /  DNS Physical  /  Virtual Server  Cluster
  13. 13. エージェントを分散配置 Data  Center Network Internet Physical  /  Virtual Server  Cluster パケットを   コントロールするために、   Agentsを配置する  
  14. 14. メッセージキューによる 連携 Data  Center Network Internet Physical  /  Virtual Server  Cluster Queue Agentは、   相互にメッセージを交換し、   連携しながら動作をする  
  15. 15. エージェントと   その他コンポーネント •  vna  (Virtual  Network  Agent)   •  Open  vSwitch  1.10.xの設定を変更更するのが主な役⽬目   •  Trema-­‐edgeによるOpenFlow  1.3のコントローラを内蔵する •  vnmgr  (Virtual  Network  Manager)   •  データセンター全体のネットワーク構成を把握し、   vnaへの司令令塔となる   •  その他、MySQLをバックエンドとした   永続的データベースアクセスのサービスを提供する •  vnapi  (Virtual  Network  API)   •  Web  APIのエンドポイントになる   •  外部システムから、vnmgrへ指⽰示を引き渡す連携窓⼝口   •  vnctl  (Virtual  Network  Controller)   •  コマンドラインインターフェイス   •  vnapiと対話する   エージェント その他   コンポーネント
  16. 16. 全体像 Data  Center Network Internet Physical  /  Virtual Server  Cluster Queue vna vna vna vna vna vna vnmgr vnapi vna OpenFlow   Controller   (Trema  Edge) OpenFlow   Switch   (OVS  1.10) OF1.3                   vnctl https http
  17. 17. Control   Program Control   Program Network  OS Packet   Forwarding Packet   Forwarding Packet   Forwarding OpenFlow  Protocol スイッチネットワーク データセンター全体に   散らばるスイッチ資源を   管理理するもの スイッチネットワークに   対する司令令を出す   任意のプログラム SDNのモデル
  18. 18. Virtual  Network   (Multi-­‐Tenant) Security  Group   (Firewall) Open  vSwitch Open  vSwitch Open  vSwitch Virtual  Network  Manager vna vna vna Trema-­‐edgeTrema-­‐edgeTrema-­‐edge OpenFlow  1.3 RubyレベルでのCall ZeroMQによる通信 RubyレベルでのCall Unix  Socket通信 各コンピュートノード内の   独⽴立立したOVS群 VM   VM   VM   VM   VM   VM   貸し出される仮想マシン群 今回の場合
  19. 19. Data  Center Physical  Network デプロイメント WAN  Edge  Network LAN  Edge  Network Resources External  Network   (Internet) General   Servers Appliance   Servers Storage   Servers
  20. 20. 物理サーバへの配置 Data  Center   Physical  Network LAN  Edge Resources Physical  Server Physical  Server Open   vSwitch vna eth0 eth1 eth0 eth1 Management  Line Public  Line VM VM VM VM Open   vSwitch vna General  Servers
  21. 21. 仮想と物理のレイヤ分け Physical  Server Physical  Server Open   vSwitch vna eth0 eth1 eth0 eth1 Management  Line Public  Line VM VM VM VM Open   vSwitch vna Virtual  Server Virtual  Network  (Virtual  L2  /  L3) Physical  Network  (Physical  L2  /  L3) Physical   Server
  22. 22. パケットの物理転送方式 •  ⼀一般によく知られた⽅方法   •  GRE  Tunnel   •  VXLAN  (予定)   •  独⾃自の⽅方法   •  MAC2MAC  
  23. 23. MAC2MAC •  ARPのブロードキャストドメインをコントロールして   物理理L2配下をアイソレートする⼿手法   •  ブロードキャストパケットを、   MACアドレスを頼りにユニキャスト通信するため、   この名前で呼んでいる   •  Pros.   •  ⾼高速   •  カプセリングしないためパケットが太らない   •  通常のL2スイッチでも動作する   •  他の製品には無さそう   •  Cons.   •  物理理L3を越えられない  (その時はトンネリングを使う)
  24. 24. その他の   ネットワーク機能 •  GRE  Tunnel  /  VXLAN   •  物理理L3を越えた際のMAC2MACの代替⼿手法   •  物理理ネットワーク構成を⾒見見て、⾃自動で適⽤用する   •  仮想ルータ   •  分散したままエッジで処理理ができるルータ   •  Security  Groups(開発中)   •  動的なファイアウォール機能   •  External  IP   •  いわゆるNAT   •  グローバルIPアドレスと、   ローカルIPアドレスの相互変換を⾏行行う
  25. 25. できるだけエッジで応答する   例)  DHCP  Server 各VMが仮想ネットワークへ放出するDHCP  Discoveryは、   Open  vSwitch上でフックされ、OF1.3に乗ってvnaへ到達する。   vnaはパケットクラフトし、DHCPの応答をする。   Physical  Server Physical  Server Open   vSwitch vna eth0 eth1 eth0 eth1 Management  Line Public  Line VM VM VM VM Open   vSwitch vna
  26. 26. デモ
  27. 27. br0 VM-­‐5 Vif eth0 Vif vna3 vna VM-­‐6 br0 VM-­‐3 Vif eth0 Vif vna2 vna VM-­‐4 br0 VM-­‐1 Vif eth0 Vif vna1 VM-­‐2 vnadbavnmgr Demo  Environment Virtual  Network-­‐1   10.102.0.0/24 Virtual  Network-­‐2   10.102.0.0/24 172.16.20.11 172.16.30.11172.16.20.12 物理理Segmentが異異なる Router eth1eth1eth1 dhcp dhcp dhcp 管理理⽤用ネットワーク  191.168.2.0/24 VIF  /  Same  IP  Addr  Range  /  L2-­‐L3
  28. 28. ご覧頂くデモ •  Virtual  Networkを構築して仮想マシンを起動する   •  仮想マシンからのIPアドレス取得要求を   分散DHCPで応答し、付与する   •  2つのVirtual  Network間の疎通確認をする •  MAC2MAC   •  GRE  Tunnel  (Full-­‐mesh)
  29. 29. これから Wakame-­‐vdcがあったので、ここまで5ヶ⽉月と少し
  30. 30. 現在開発中のもの •  Packet  Filtering   •  vif毎にSecurity  Groups  +  Firewallルールを   設定できる機能   •  WAN  Edge  Networking   •  External  IP  (グローバルIPアドレスのNAT)   •  既存LANへの拡張   •  仮想ネットワークと既存LANの接続を提供   •  双⽅方向の通信を橋渡しするゲートウェイ  
  31. 31. まとめ •  Wakame-­‐vnetは、分散したOVSを管理理し、   エッジオーバレイ仮想ネットワークを   OSSだけで実現できます   •  物理理ネットワーク上に、   任意の仮想ネットワークを複数構築できます   •  OpenFlow  1.3に対応しています   •  OVS  1.10系   •  Trema-­‐edge   •  近⽇日公開いたします   •  Ruby  /  LGPL  3  
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×