Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
「Neutronになって理解する 
OpenStack Network」 
~Neutronとその周辺技術(OpenvSwitch等)~ 
ユニアデックス株式会社 
SDNエバンジェリスト吉本昌平 
佐々木智一
アジェンダ 
 はじめに 
Nova-Networkではなく、Neutronを選択する 
 Neutronが目指すネットワーク構成 
 Neutronの実装 
 君にもできる。Neutronになってみよう 
 Neutronが利用す...
Photo by Wojciech Szywalski https://www.flickr.com/photos/atomicforce/2204236813 
0章 
はじめに 
Copyright©2014 UNIADEX, Ltd. A...
吉本自己紹介 
 どんな人? 
› MSX → IBM PS/V Master → 自作 
→ NE (ASP) → PG(Linux) 
→ NE (企業コア) 
→ 企画(仮想化→ SDN) 
› 自宅に山ほどある某社ネットワーク機器を処...
佐々木自己紹介 
ソフトウェア開発 
›Javaメイン。 
IP電話関連のプロダクトなど 
›最近はSDNやOpenStack 
› OpenStakは今年度から 
趣味 
›バックカントリースキー:過去 
›サンデープログラミング:過去 ...
はじめに 
OpenStackでつまずくことの一つにネットワーク設 
定がありますよね? 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 5 
br-intって何?? 
とか思ったこと 
あ...
Photo by Martin Fisch https://www.flickr.com/photos/marfis75/14481855815 
1章 
Nova-Networkではなく 
Neutronを選択する 
Copyright©20...
Nova-NetworkではなくNeutronを選択する 
今日のお話のメインディッシュ 
Neutronのお話がしたい! 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 7
Nova-NetworkではなくNeutronを選択する 
OpenStackでネットワークを構築する場合の選択肢 
 Nova-Network 
› まだまだ現役な、いにしえの技術 
› OpenStackマニュアルでは「レガシーネットワー...
Nova-NetworkとNeutronのざっくりとした比較 
Nova-Network 
›機能は限られるがシンプルで動作実績が豊富 
› 高度なネットワークは実現出来ない 
›将来的に廃止が予定されている 
› いつかはNeutronへの...
Nova-NetworkとNeutronのざっくりとした比較 
 Neutron 
›OpenStack商用環境の半数程度で使われている 
› 2014年春OpenStack Summit(Atlanta)サーベイ結果(次スライド) 
›No...
実際の利用状況は? 
商用環境のデプロイ209のうち 
半数以上の135でNeutron(OpenStack Network) 
が利用されている 
http://www.slideshare.net/ryan-lane/openstack-...
Neutronを選択する理由 
(Nova-networkは枯れてますし 
シンプルで間違いはないですが) 
これから始めるなら 
Neutronをオススメしたい!! 
Copyright©2014 UNIADEX, Ltd. All righ...
2章 
Neutronが目指す 
ネットワーク構成 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 13 
Photo by Stuart Chalmers 
https://www.fli...
OpenStackが目指しているのは 
全部自分で管理するのは大変。利用者にあ 
る程度好きに設定して欲しいけど、コント 
ロールが効かなくなるのは嫌だ 
なるべく自分たちの思い通りにしたい。 
管理者にいちいち頼むと遅いし。だけど、 
必要以...
Neutronが目指すもの 
 テナント分割に必要なネットワーク機能の実装 
1. テナント単位で仮想サーバーとネットワークを分離 
2. 各テナント毎に仮想サーバへIPアドレスを割当/管理 
3. 各テナントから外部ネットワークへの通信 
...
3章 
Neutronの実装 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 16 
Photo by PEO ACWA 
https://www.flickr.com/photos/acw...
Neutronの実装 
要件実装 
1. 各テナント毎に仮想サーバへIPアドレス 
を割当/管理 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 17 
Network Namespace内...
登場人物(詳細は後ほど・・・) 
 Linux Bridge 
› Linux kernel標準のソフトウェアスイッチ 
 Open vSwitch (OVS) 
› ソフトウェアスイッチ 
 Network Namespace 
› 仮...
Neutronの内部構成 
外接用 
ブリッジ 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 19 
外部ネットワーク 
192.168.1.1 
Open vSwitch 
Namesp...
Neutronの動作 
特定の場面について,具体的な動作,通信の流れを 
説明します。 
① インスタンス(仮想サーバ)へ内部IPを割り当てる 
② インスタンスから外部ネットワークへの通信 
③ 外部ネットワークからインスタンスへの通信 
...
①仮想サーバへ内部IPアドレスを割り当てる 
neutron-dhcp-agent 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 21 
dnsmasq 
Namespace: 
qdhc...
②仮想サーバから外部ネットワークへの通信 
外部ネットワーク 
②インスタンスの 
default gatewayは 
10.0.0.1 
①インスタンスが外部 
向けに通信開始 
Namespace: 
qrouter-674d7792-.....
③ 外部ネットワークから仮想サーバへの通信 
外部ネットワーク 
Namespace: 
qrouter-674d7792-... 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 23 
イ...
④テナント単位でネットワークを分離 
br-ex 
Open vSwitch 
テナントA テナントB 
Namespace: 
qrouter-38dc3480-... 
10.0.0.2 
インスタンス 
外部ネットワーク 
133.1.1...
Photo by Juhan Sonin https://www.flickr.com/photos/juhansonin/1778188040 
4章 
君にもできる 
Neutronになってみよう 
Copyright©2014 UNIAD...
Photo by waferboard https://www.flickr.com/photos/waferboard/5321533361 
5章 
Neutronが利用する周辺技術 
Open vSwitch 
Network Names...
Open vSwitch(OVS)とは? 
 http://openvswitch.org 
 商用品質のソフトウェアスイッチ 
› 基本機能はLinux Bridgeと同等 
› 商用レベル機能の充実 
› Stp, LACP, Poli...
Open vSwitchの実装 
OVSはKernelスペースから、条件によってユーザスペ 
ース(処理プロセス)へパケットを引き渡せる 
›Linux BridgeはKernelスペースでのみ動作 
›パケットを高速転送させたいので、できる...
Open vSwitchの実装 
 OVSDBとOpenFlowプロトコルを利用することで、外部からプ 
ログラマブルな制御が可能 
 多くのサードパーティーがOVSを利用 
› VMware、Big Switch、Midokura、Nua...
外部ネットワーク 
192.168.1. 
Open vSwitch 
Namespace: 
qrouter-674d7792-... 
Namespace: 
qdhcp-b2f5dbb6-... 
1 
Copyright©2014 UN...
Open vSwitch のまとめ 
 商用品質のソフトウェアスイッチ 
›Kernel Bridgeと比較して(特にLayer2では)高機能 
› iptables適用などkernel bridgeにしか出来ない部分もある 
 柔軟な制御...
Network Namespaceとは? 
 ホスト内で複数の独立したネットワークを作る 
 ネットワークのデバイス,アドレス,ポート,ルーティン 
グ,フィルター 
hao@ub1% /bin/ls /proc/net 
anycast6...
Network Namespaceとは? 
 ip netns addで新たなnamespaceが作られる 
arp 
dev 
lo 
icmp 
ip_tables_names 
route 
複数のnamespace 
arp 
dev...
Network Namespaceとは? 
 各プロセスはいずれかのnamespaceに所属 
プロセスA プロセスB プロセスC プロセスD 
/proc/net /proc/net /proc/net /proc/net 
arp 
de...
Network Namespaceとは? 
 プロセスはどのnamespaceを参照しているか? 
› /proc/PID/ns/netが参照先のnamespaceを表すフラグ 
› Symbolic linkが/var/run/netnsの...
Network Namespaceとは? 
 Namespace間を接続するには? 
arp 
dev 
lo 
qr-veth 
icmp 
ip_tables_names 
route 
Tcp 
: 
: 
qrouter 
複数のna...
veth pairとTAP 
 それぞれ物理デバイスをエミュレート 
veth pair TAP 
Copyright©2014 UNIADEX, Ltd. All rights reserved. 37
Photo by Tim Dorr https://www.flickr.com/photos/timdorr/200171271 
6章 
OpenStackの実環境適用と 
SDN製品連携の必要性 
Copyright©2014 UNIAD...
OpenStackの実環境適用 
 我々が最初に通る道 
› オールインワン(シングルノード)構成のOpenStack 
 実環境 
› マルチノード構成のOpenStack 
› スケーラビリティ、構成の柔軟性と管理、品質の維持/管理 
...
OpenStack実環境におけるネットワークの課題 
 スケーラビリティ 
› ノード(物理サーバ)追加時にネットワークも迅速に追加できるか? 
› 4k VLAN問題 
 構成の柔軟性と管理 
› IPアドレス・セグメントの重複 
› 冗...
OpenStack実環境におけるSDNの必要性 
 SDN製品による解決 
› OpenStackノード/スイッチ追加のゼロタッチコンフィグを実現 
› ノードにOpenStack Neutron Pluginをインストールすることで、スイッ...
BigSwitch Neutron Pluginの実装(一部) 
 Big Cloud Fabric紹介 
› 2014/7プレスリリース、10/1に製品正式リリース 
› Neutron Pluginからの情報とLLDPを使って自動的構成 ...
Photo by Branden Williams https://www.flickr.com/photos/captbrando/3336992646 
7章 
残課題 
Copyright©2014 UNIADEX, Ltd. All r...
ソフトウェア処理でのパフォーマンスは心配・・・ 
 OVSのパケット転送はKernelモジュール上で行われるとはいえパ 
フォーマンスに懸念 
 カーネルモードからユーザーモードになるためには、コンテキストス 
イッチングが必要 
› コン...
まだまだ課題は続く… 
 分散L3でどの程度のスケールアウトが可能か 
› Big Switchの実装とJunoの実装を比較してベンチマーク 
 各社SDNプロダクトとの連携評価 
› Cisco ACI, VMware NSX, Nuag...
Photo by Panos Photographia https://www.flickr.com/photos/mediterraneaaan/14520243103 
10章 
おわりに 
Copyright©2014 UNIADEX, ...
おわりに 
マルチベン 
ダ 
ワンストッ 
プ 
• 2012年より全社横断プロジェクトでのOpenStack検証開始 
• 社内SE向けサービス基盤「S-Cloud」で環境構築・検証実施 
• Red Hat社とのOpenStackアライア...
Copyright©2014 UNIADEX, Ltd. All rights reserved.
Upcoming SlideShare
Loading in …5
×

「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - OpenStack最新情報セミナー 2014年10月

32,741 views

Published on

講師:ユニアデックス 吉本
日時:2014/10/08
タイトル:「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~
概要:
- はじめに
- Nova-Networkではなく、Neutronを選択する
- Neutronが目指すネットワーク構成
- Neutronの実装
- 君にもできる。Neutronになってみよう
- Neutronが利用する周辺技術 Open vSwitch, Network Namespace
- OpenStackの実環境適用とSDN製品連携の必要性  残課題
- おわりに

5章はこちらの資料を参照ください。
http://www.slideshare.net/VirtualTech-JP/05-39915657

Published in: Technology
  • Be the first to comment

「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - OpenStack最新情報セミナー 2014年10月

  1. 1. 「Neutronになって理解する OpenStack Network」 ~Neutronとその周辺技術(OpenvSwitch等)~ ユニアデックス株式会社 SDNエバンジェリスト吉本昌平 佐々木智一
  2. 2. アジェンダ  はじめに Nova-Networkではなく、Neutronを選択する  Neutronが目指すネットワーク構成  Neutronの実装  君にもできる。Neutronになってみよう  Neutronが利用する周辺技術 Open vSwitch, Network Namespace  OpenStackの実環境適用とSDN製品連携の必要性  残課題  おわりに Copyright©2014 UNIADEX, Ltd. All rights reserved. 1
  3. 3. Photo by Wojciech Szywalski https://www.flickr.com/photos/atomicforce/2204236813 0章 はじめに Copyright©2014 UNIADEX, Ltd. All rights reserved. 2
  4. 4. 吉本自己紹介  どんな人? › MSX → IBM PS/V Master → 自作 → NE (ASP) → PG(Linux) → NE (企業コア) → 企画(仮想化→ SDN) › 自宅に山ほどある某社ネットワーク機器を処分中  日々の仕事 › 今年からSDNエバンジェリスト/アーキテクト  趣味 › 自作→卒業 › コンピュータ全般→卒業? › 写真 › 車→稟議中 Copyright©2014 UNIADEX, Ltd. All rights reserved. 3
  5. 5. 佐々木自己紹介 ソフトウェア開発 ›Javaメイン。 IP電話関連のプロダクトなど ›最近はSDNやOpenStack › OpenStakは今年度から 趣味 ›バックカントリースキー:過去 ›サンデープログラミング:過去 ›家事全般←今ココ ›プラレール←最近 Copyright©2014 UNIADEX, Ltd. All rights reserved. 4
  6. 6. はじめに OpenStackでつまずくことの一つにネットワーク設 定がありますよね? Copyright©2014 UNIADEX, Ltd. All rights reserved. 5 br-intって何?? とか思ったこと ありませんか? そもそも、ネット ワーク設定って何 が正しいかわから なくないですか? OpenvSwitchを 構成するコマン ド… 使ったこ とありますか? devstack fuXX とか思った 人?? つながらないと 何週間も悩んだ ことはありませ んか? 諦めて投げ出し たことはありま せんか?
  7. 7. Photo by Martin Fisch https://www.flickr.com/photos/marfis75/14481855815 1章 Nova-Networkではなく Neutronを選択する Copyright©2014 UNIADEX, Ltd. All rights reserved. 6
  8. 8. Nova-NetworkではなくNeutronを選択する 今日のお話のメインディッシュ Neutronのお話がしたい! Copyright©2014 UNIADEX, Ltd. All rights reserved. 7
  9. 9. Nova-NetworkではなくNeutronを選択する OpenStackでネットワークを構築する場合の選択肢  Nova-Network › まだまだ現役な、いにしえの技術 › OpenStackマニュアルでは「レガシーネットワーク」と表記  Neutron › 次世代のOpenStack Networkingを目指す後発プロジェクト Copyright©2014 UNIADEX, Ltd. All rights reserved. 8
  10. 10. Nova-NetworkとNeutronのざっくりとした比較 Nova-Network ›機能は限られるがシンプルで動作実績が豊富 › 高度なネットワークは実現出来ない ›将来的に廃止が予定されている › いつかはNeutronへの移行を行う必要がある › 廃止に関しては、微妙な動きがあった・・・ › Neutronが廃止されることはないと信じたい。 Nova-Networkは、Havanaで非推奨としたものの、Icehouseで一旦解除。 解除の理由はFlatDHCPなどのマイグレーションパスが欠如していた。期 間限定で、Nova-networkのパッチ受け付け再開 http://docs.openstack.org/openstack-ops/content/nova-network-deprecation.html Copyright©2014 UNIADEX, Ltd. All rights reserved. 9
  11. 11. Nova-NetworkとNeutronのざっくりとした比較  Neutron ›OpenStack商用環境の半数程度で使われている › 2014年春OpenStack Summit(Atlanta)サーベイ結果(次スライド) ›Nova-Networkに無い高度なネットワーク機能をサポート ›Nova-Networkを代替する上で不足している部分も › マイグレーションパス、単一障害点 › https://wiki.openstack.org/wiki/Governance/TechnicalCommittee /Neutron_Gap_Coverage ›開発途上 › 直近のIcehouseでプラグイン機構のアーキテクチャ変更(ML2化)が あり、不安定な印象もある ›トラブルシューティングが難しい・・・ Copyright©2014 UNIADEX, Ltd. All rights reserved. 10
  12. 12. 実際の利用状況は? 商用環境のデプロイ209のうち 半数以上の135でNeutron(OpenStack Network) が利用されている http://www.slideshare.net/ryan-lane/openstack-atlanta-user-survey Production =209 Copyright©2014 UNIADEX, Ltd. All rights reserved. 11 Neutron=135
  13. 13. Neutronを選択する理由 (Nova-networkは枯れてますし シンプルで間違いはないですが) これから始めるなら Neutronをオススメしたい!! Copyright©2014 UNIADEX, Ltd. All rights reserved. 12
  14. 14. 2章 Neutronが目指す ネットワーク構成 Copyright©2014 UNIADEX, Ltd. All rights reserved. 13 Photo by Stuart Chalmers https://www.flickr.com/photos/gertcha/6945114788
  15. 15. OpenStackが目指しているのは 全部自分で管理するのは大変。利用者にあ る程度好きに設定して欲しいけど、コント ロールが効かなくなるのは嫌だ なるべく自分たちの思い通りにしたい。 管理者にいちいち頼むと遅いし。だけど、 必要以上の運用は嫌だ 管理者と利用者間で適切な権限移譲を行える基盤の実装 Copyright©2014 UNIADEX, Ltd. All rights reserved. 14 利用者 管理者 マルチテナント(テナント分割)機能で解決 › テナント=一つのシステムやプロジェクト › テナント単位で、管理対象を分けて利用者に移譲 › テナント内の操作の影響がテナントの外に及ばない
  16. 16. Neutronが目指すもの  テナント分割に必要なネットワーク機能の実装 1. テナント単位で仮想サーバーとネットワークを分離 2. 各テナント毎に仮想サーバへIPアドレスを割当/管理 3. 各テナントから外部ネットワークへの通信 4. 外部ネットワークから仮想サーバーへの通信 5. 更に高度なネットワークの実装(SDNコントローラ連携やService Chaining、自動化) (外部)ネットワーク テナントA 仮想 サーバ 仮想 ルータ 仮想 スイッチ Copyright©2014 UNIADEX, Ltd. All rights reserved. 15 テナントB 仮想 サーバ 仮想 ルータ 仮想 スイッチ
  17. 17. 3章 Neutronの実装 Copyright©2014 UNIADEX, Ltd. All rights reserved. 16 Photo by PEO ACWA https://www.flickr.com/photos/acwa/8677845611
  18. 18. Neutronの実装 要件実装 1. 各テナント毎に仮想サーバへIPアドレス を割当/管理 Copyright©2014 UNIADEX, Ltd. All rights reserved. 17 Network Namespace内で実行 されるdnsmasq 2. 各テナント内部から外部ネットワーク への通信 Network Namespace内で実行 されるiptables (NAT)、Linux ip forwarding 3. 外部ネットワークから各テナント内部 への通信 Network Namespace内で実行 されるiptables (NAT) 、Linux ip forwarding 4. テナント単位で仮想サーバーとネット ワークを分離 Network Namespace, VLAN, GRE, VXLAN • その他(ネットワーク接続) Open vSwitch, veth pair, tap
  19. 19. 登場人物(詳細は後ほど・・・)  Linux Bridge › Linux kernel標準のソフトウェアスイッチ  Open vSwitch (OVS) › ソフトウェアスイッチ  Network Namespace › 仮想ネットワーク, 仮想ルータ、マルチテナントネットワーク環境を作る  veth pair › 仮想NICのペア=仮想LANケーブル  TAP device › 仮想サーバーが利用する仮想NIC Copyright©2014 UNIADEX, Ltd. All rights reserved. 18
  20. 20. Neutronの内部構成 外接用 ブリッジ Copyright©2014 UNIADEX, Ltd. All rights reserved. 19 外部ネットワーク 192.168.1.1 Open vSwitch Namespace: qrouter-674d7792-... Namespace: qdhcp-b2f5dbb6-... 10.0.0.2 10.0.0.3 10.0.0.1 br-ex br-int Network Namespace Linux Bridge veth pair TAP device Tenant 仮想 サーバ 仮想 ルータ (外部)ネットワーク 外接用 ブリッジ 内部接続用 ブリッジ DHCP サーバ テナント テナント DHCP サーバ インスタンス 内部接続用 ブリッジ 仮想 ルータ
  21. 21. Neutronの動作 特定の場面について,具体的な動作,通信の流れを 説明します。 ① インスタンス(仮想サーバ)へ内部IPを割り当てる ② インスタンスから外部ネットワークへの通信 ③ 外部ネットワークからインスタンスへの通信 ④ テナント単位でネットワークを分離 Copyright©2014 UNIADEX, Ltd. All rights reserved. 20
  22. 22. ①仮想サーバへ内部IPアドレスを割り当てる neutron-dhcp-agent Copyright©2014 UNIADEX, Ltd. All rights reserved. 21 dnsmasq Namespace: qdhcp-b2f5dbb6-... インスタンス 10.0.0.3 10.0.0.2 br-int Open vSwitch ①インスタンス起 動、DHCP問い合わ せ ②dnsmasqが内部IP アドレスを返す /var/lib/neutron/dhcp/ b2f5dbb6-…/host 前提: neutron-dhcp-agentが、 namespace内に dnsmasqを起動する。 Network Namespace Linux Bridge veth pair TAP device Tenant
  23. 23. ②仮想サーバから外部ネットワークへの通信 外部ネットワーク ②インスタンスの default gatewayは 10.0.0.1 ①インスタンスが外部 向けに通信開始 Namespace: qrouter-674d7792-... Copyright©2014 UNIADEX, Ltd. All rights reserved. 22 インスタンス 10.0.0.3 133.1.1.1 10.0.0.1 br-ex br-int 133.1.1.2 neutron-l3-agent ip forward iptables ④src:192.168.1.2とな るようNATされる。 ③namespace内の default gatewayは 192.168.1.1 Open vSwitch Network Namespace Linux Bridge veth pair TAP device Tenant 前提 neutron-l3-agentが Namespace内で iptables,ip forwardingを実行 インスタンスに紐付い たNAT用IPが生成され る(Floating IP)
  24. 24. ③ 外部ネットワークから仮想サーバへの通信 外部ネットワーク Namespace: qrouter-674d7792-... Copyright©2014 UNIADEX, Ltd. All rights reserved. 23 インスタンス 10.0.0.3 133.1.1.1 10.0.0.1 br-ex br-int 133.1.1.2 neutron-l3-agent route iptables ④インスタンスにパ ケットが返る ②dst:10.0.0.3となる ようNATされる。 ①外部からはインスタ ンスへ133.1.1.2にアク セス ③namespace内の 10.0.0.0/24向けgwは 10.0.0.1 Open vSwitch Network Namespace Linux Bridge veth pair TAP device Tenant
  25. 25. ④テナント単位でネットワークを分離 br-ex Open vSwitch テナントA テナントB Namespace: qrouter-38dc3480-... 10.0.0.2 インスタンス 外部ネットワーク 133.1.1.3 133.1.1.1 Copyright©2014 UNIADEX, Ltd. All rights reserved. 24 Namespace: qrouter-674d7792-... インスタンス 10.0.0.3 10.0.0.2 10.0.0.3 10.0.0.1 10.0.0.1 Namespace: qdhcp-d5s3kvb8-... Namespace: qdhcp-b2f5dbb6-... br-int Network Namespace Linux Bridge veth pair TAP device Tenant
  26. 26. Photo by Juhan Sonin https://www.flickr.com/photos/juhansonin/1778188040 4章 君にもできる Neutronになってみよう Copyright©2014 UNIADEX, Ltd. All rights reserved. 25
  27. 27. Photo by waferboard https://www.flickr.com/photos/waferboard/5321533361 5章 Neutronが利用する周辺技術 Open vSwitch Network Namespace Copyright©2014 UNIADEX, Ltd. All rights reserved. 26
  28. 28. Open vSwitch(OVS)とは?  http://openvswitch.org  商用品質のソフトウェアスイッチ › 基本機能はLinux Bridgeと同等 › 商用レベル機能の充実 › Stp, LACP, Policing(per vNIC), NetFlow, BFD, 802.1ag等 › プログラマブル・自動化を見据えた実装 › OpenFlow, OVSDB, VXLAN等 › Distributed vSwitch  高い移植性  機能リスト › http://openvswitch.org/features/ Copyright©2014 UNIADEX, Ltd. All rights reserved. 27
  29. 29. Open vSwitchの実装 OVSはKernelスペースから、条件によってユーザスペ ース(処理プロセス)へパケットを引き渡せる ›Linux BridgeはKernelスペースでのみ動作 ›パケットを高速転送させたいので、できるだけKernelスペース で処理させたほうがよい。なので、初回パケットはだけはユー ザスペースの処理で判断し、Kernelスペースに条件を設定する ことで、以後は高速なパケット転送を行える http://openvswitch.org/slides/OpenStack-131107.pdf Linux Bridge Copyright©2014 UNIADEX, Ltd. All rights reserved. 28 OVS
  30. 30. Open vSwitchの実装  OVSDBとOpenFlowプロトコルを利用することで、外部からプ ログラマブルな制御が可能  多くのサードパーティーがOVSを利用 › VMware、Big Switch、Midokura、Nuage Networks, OpenDaylight、 etc... http://openvswitch.org/slides/OpenStack-131107.pdf Copyright©2014 UNIADEX, Ltd. All rights reserved. 29
  31. 31. 外部ネットワーク 192.168.1. Open vSwitch Namespace: qrouter-674d7792-... Namespace: qdhcp-b2f5dbb6-... 1 Copyright©2014 UNIADEX, Ltd. All rights reserved. 30 10.0.0.2 10.0.0.3 10.0.0.1 br-ex br-int Network Namespace Linux Bridge veth pair TAP device Tenant テナント DHCP サーバ インスタンス 外接用 ブリッジ 仮想 ルータ Linux Bridgeとの機能差 Linux Bridgeでないと出来ないことも ›iptablesを適用することはOVSのブリッジ上では出来ない › インスタンスのセキュリティグループのために一部Linux Bridge が残った結果
  32. 32. Open vSwitch のまとめ  商用品質のソフトウェアスイッチ ›Kernel Bridgeと比較して(特にLayer2では)高機能 › iptables適用などkernel bridgeにしか出来ない部分もある  柔軟な制御を可能とする仕組み › プログラマブル・自動化対応(ovsdb/openflow)  より進んだネットワーク制御の提供の前提となる › ユーザースペースでの機能実装 › 分散L3 Copyright©2014 UNIADEX, Ltd. All rights reserved. 31
  33. 33. Network Namespaceとは?  ホスト内で複数の独立したネットワークを作る  ネットワークのデバイス,アドレス,ポート,ルーティン グ,フィルター hao@ub1% /bin/ls /proc/net anycast6 igmp mcfilter raw6 tcp arp igmp6 mcfilter6 route tcp6 connector ip6_flowlabel netfilter rt6_stats udp dev ip6_mr_cache netlink rt_acct udp6 dev_mcast ip6_mr_vif netstat rt_cache udplite dev_snmp6 ip_mr_cache packet snmp udplite6 fib_trie ip_mr_vif pnp snmp6 unix fib_triestat ip_tables_matches protocols sockstat wireless icmp ip_tables_names psched sockstat6 icmp6 ip_tables_targets ptype softnet_stat if_inet6 ipv6_route raw stat Copyright©2014 UNIADEX, Ltd. All rights reserved. 32
  34. 34. Network Namespaceとは?  ip netns addで新たなnamespaceが作られる arp dev lo icmp ip_tables_names route 複数のnamespace arp dev lo icmp ip_tables_names route : global Copyright©2014 UNIADEX, Ltd. All rights reserved. 33 : qrouter arp dev lo icmp ip_tables_names route : qdhcp root@ub1:~# ip netns add qrouter root@ub1:~# ip netns add qdhcp
  35. 35. Network Namespaceとは?  各プロセスはいずれかのnamespaceに所属 プロセスA プロセスB プロセスC プロセスD /proc/net /proc/net /proc/net /proc/net arp dev icmp ip_tables_names route Tcp : qrouter 複数のnamespace arp dev icmp ip_tables_names route Tcp : global Copyright©2014 UNIADEX, Ltd. All rights reserved. 34 arp dev icmp ip_tables_names route Tcp : qdhcp
  36. 36. Network Namespaceとは?  プロセスはどのnamespaceを参照しているか? › /proc/PID/ns/netが参照先のnamespaceを表すフラグ › Symbolic linkが/var/run/netnsのi-node番号を指している root@ub1:~# ip netns exec qrouter bash root@ub1:~# echo $$ 53042 root@ub1:~# ls -l /proc/53042/ns/net lrwxrwxrwx 1 root root 0 9月17 16:54 /proc/53042/ns/net -> net:[4026532473] root@ub1:~# ls -li /var/run/netns total 0 4026532528 -r--r--r-- 1 root root 0 9月17 16:56 qdhcp 4026532473 -r--r--r-- 1 root root 0 9月17 16:52 qrouter Copyright©2014 UNIADEX, Ltd. All rights reserved. 35 qrouterに入って /proc/PID/ns/net を見る この数値がi-node 番号と一致 している
  37. 37. Network Namespaceとは?  Namespace間を接続するには? arp dev lo qr-veth icmp ip_tables_names route Tcp : : qrouter 複数のnamespace arp dev lo eth0 eth1 qr-peer ns-veth ns-peer icmp ip_tables_names route : : global Copyright©2014 UNIADEX, Ltd. All rights reserved. 36 arp dev lo icmp ip_tables_names route tcp : : qdhcp qr-vethとqr-peer がveth pair。 globalとqrouterが 接続されている デモでは、globalで 作ったveth pairの一 方をnamespaceに 移していた。
  38. 38. veth pairとTAP  それぞれ物理デバイスをエミュレート veth pair TAP Copyright©2014 UNIADEX, Ltd. All rights reserved. 37
  39. 39. Photo by Tim Dorr https://www.flickr.com/photos/timdorr/200171271 6章 OpenStackの実環境適用と SDN製品連携の必要性 Copyright©2014 UNIADEX, Ltd. All rights reserved. 38
  40. 40. OpenStackの実環境適用  我々が最初に通る道 › オールインワン(シングルノード)構成のOpenStack  実環境 › マルチノード構成のOpenStack › スケーラビリティ、構成の柔軟性と管理、品質の維持/管理 コントローラ ノード ネットワーク ノード Copyright©2014 UNIADEX, Ltd. All rights reserved. 39 コンピュート ノード
  41. 41. OpenStack実環境におけるネットワークの課題  スケーラビリティ › ノード(物理サーバ)追加時にネットワークも迅速に追加できるか? › 4k VLAN問題  構成の柔軟性と管理 › IPアドレス・セグメントの重複 › 冗長設計がネットワーク設計を硬直化 › 構成管理が甘ければ一瞬でスパゲッティ化 › 商用ファイアウォールやロードバランサ、VPN装置の導入・リソースプール化  品質の維持/管理 › 仮想マシン集約によるネットワークトラフィックの増大に耐えうるか? › サービス品質の監視は十分に行えるか? › ヒューマンエラーを防止するには? Copyright©2014 UNIADEX, Ltd. All rights reserved. 40
  42. 42. OpenStack実環境におけるSDNの必要性  SDN製品による解決 › OpenStackノード/スイッチ追加のゼロタッチコンフィグを実現 › ノードにOpenStack Neutron Pluginをインストールすることで、スイッチとノードの 接続、OpenStackのテナントやネットワークセグメント、インスタンスなどを自動認識 › マルチテナントの実現 › リソース制限(4k VLAN)からの開放 › 冗長設計は考慮不要(自動的に冗長) › 構成管理(セグメント、IP、ホスト)等はOpenStackと連携して自動 › 商用ファイアウォール/ロードバランサ製品の簡易サービスチェイニング › サービス品質の監視機能有、モニタリング製品との連携も可能 › 更に様々な機能をREST API経由で開発可能  SDN製品  Cisco ACI, BigSwitch, VMware NSX, Midonet, Nuage Networks, etc....  Hardware製品/ Software製品 Copyright©2014 UNIADEX, Ltd. All rights reserved. 41
  43. 43. BigSwitch Neutron Pluginの実装(一部)  Big Cloud Fabric紹介 › 2014/7プレスリリース、10/1に製品正式リリース › Neutron Pluginからの情報とLLDPを使って自動的構成 Spine 自動構成 Leaf Big Cloud Fabric コントローラ OpenStack コンピュートノード Copyright©2014 UNIADEX, Ltd. All rights reserved. 42 エンドポイント 等を生成、管理 API Big Switch Neutron Plugin OpenStack コントローラノード LLDP Horizon(GUI)
  44. 44. Photo by Branden Williams https://www.flickr.com/photos/captbrando/3336992646 7章 残課題 Copyright©2014 UNIADEX, Ltd. All rights reserved. 43
  45. 45. ソフトウェア処理でのパフォーマンスは心配・・・  OVSのパケット転送はKernelモジュール上で行われるとはいえパ フォーマンスに懸念  カーネルモードからユーザーモードになるためには、コンテキストス イッチングが必要 › コンテキストスイッチングは高コストな処理 › パケットが届くたびに行っていると、パフォーマンスに悪影響が出ないか?  割り込み処理自体がオーバーヘッド? › 割り込み処理が多すぎてCPU使い過ぎちゃいませんか  マルチコアを生かせない? › 割り込みが分散しない問題とか  そもそもプロトコル処理は重い? Copyright©2014 UNIADEX, Ltd. All rights reserved. 44
  46. 46. まだまだ課題は続く…  分散L3でどの程度のスケールアウトが可能か › Big Switchの実装とJunoの実装を比較してベンチマーク  各社SDNプロダクトとの連携評価 › Cisco ACI, VMware NSX, Nuage, Midonet, etc...  L4-7サービスチェイニング › FWaaS, LBaaS, VPNaaS › 各社商用製品との連携  SDN/OpenStack連携の自動化アプリケーション開発 Copyright©2014 UNIADEX, Ltd. All rights reserved. 45
  47. 47. Photo by Panos Photographia https://www.flickr.com/photos/mediterraneaaan/14520243103 10章 おわりに Copyright©2014 UNIADEX, Ltd. All rights reserved. 46
  48. 48. おわりに マルチベン ダ ワンストッ プ • 2012年より全社横断プロジェクトでのOpenStack検証開始 • 社内SE向けサービス基盤「S-Cloud」で環境構築・検証実施 • Red Hat社とのOpenStackアライアンス発表 • マルチベンダの特徴を活かしたOpenStack構成のご支援 OpenStackの検討/検証のご相談はUNIADEXまで Copyright©2014 UNIADEX, Ltd. All rights reserved. 47 密なメーカ ーリレーシ SDN連携ョン 検証済み検証 H/W構成
  49. 49. Copyright©2014 UNIADEX, Ltd. All rights reserved.

×