SlideShare a Scribd company logo
1 of 28
Download to read offline
© Hitachi Solutions, Ltd. 2015. All rights reserved.
株式会社日立ソリューションズ
技術開発本部 研究開発部 オープンソース技術グループ
2015/7/13
工藤 雄大
Summitで人・ひと・ヒト。
いま熱く語ろうコンテナとNeutron DVR
-Neutron DVR Deep Dive-
周年特別企画:
OpenStack Summitの歩き方
© Hitachi Solutions, Ltd. 2015. All rights reserved. 1
1 自己紹介
 所属等
 工藤 雄大(くどう たけひろ)
 株式会社日立ソリューションズ
技術開発本部 研究開発部 オープンソース技術開発グループ 技師
 インフラ系新技術・新製品の評価・ソリューション開発を担当
 ここ7年程VDI&クラウド基盤。その前はAP仮想化、VPN製品等。
 特技(好きなこと):製品・技術を外から(not Source) 挙動解析
 Open Standard Cloud Association(OSCA™) 技術分科会 技術リーダ
 最近はこんなことをやってます
 VDI製品評価・提案支援
 VDI構築・提案のポイント検討@OSCA
 VDIガイド (http://www.osca-jp.com/solution.html)
 OpenStackネットワーク検証
 Neutron(Havana版)検証@OSCA(共同検証)
 Neutron OVSのスケーラビリティ、耐障害性調査
(http://www.osca-jp.com/solution.html)
(http://www.slideshare.net/tkkd/osc2014tf)
 Neutron(Juno版) DVR機能調査
 OpenStack(RHEL-OSP6)で試す分散仮想ルータ
(http://thinkit.co.jp/book/2015/04/11/5899)
© Hitachi Solutions, Ltd. 2015. All rights reserved. 2
OpenStack Summit Vancouver
Neutron関連セッションサマリ
© Hitachi Solutions, Ltd. 2015. All rights reserved. 3
2 Neutron関連セッションサマリ
■Neutron Kiloでの変更点
•15の新規Driver/Plug-inに対応
•IPv6のフルサポート (でもDVRではまだ)
•DVRでVLANサポート。テナントで、VLAN&GRE、VLAN&VXLAN構成が取れる。
•DVRでLBaaS、FWaaS(North/Southのみ)、VPNaaSサポート。安定化。
•Kilo & ML2ドライバで、Hierarchical Port Bindingが可能
■挙動・仕様解説
•NamespaceとPortの関係、トラフィックフロー解説
•Flat、VLAN、GRE、VXLANの特性・性能解説
•OVN(Open Source Virtual Network)概念解説
1ゲストあたり4~5個のネットワークデバイスをすっきりさせたい
•DVRパケット解説
■Libertyリリースに向けて
•IPAM、BGP Speaker、NFV対応強化
•(DVR関連) 内部構造の単純化、IPv6用DVR、Distributed SNAT
DVR関連が多い
(Tokyo Summitでは前提知識化?)
© Hitachi Solutions, Ltd. 2015. All rights reserved. 4
Neutron DVR Deep Dive
-DVRの仕組みを(外から)解析してみよう-
★状態分析編★
© Hitachi Solutions, Ltd. 2015. All rights reserved. 5
3.1 少しおさらい:Neutron Network
■元々のNeutron Network
・別テナント間通信は、Network Serverを必ず経由する
・External Networkへ出るときは、Network Serverを必ず経由する
負荷集中
*本セッションでは、neutron-serverサービスを
提供しているサーバをNetwork Serverと定義する。
*DVR有効下の場合、SNATサービスを提供している
サーバをNetwork Serverと定義する。
© Hitachi Solutions, Ltd. 2015. All rights reserved. 6
3.2 少しおさらい:Neutron Network with DVR
■DVR有効下のNeutron Network
・別テナント間通信も、インスタンスが動いているCompute Node間で通信完結
・External Networkへ出る時は、そのServer上の分散仮想ルータを経由する
実態は何??
=>解析だ!!
© Hitachi Solutions, Ltd. 2015. All rights reserved. 7
3.3 解析環境
•環境:サーバ3台(Controller+Network、Compute1、Compute2)。RDO(Kilo)を使用。
•構築手順 => 「Think IT DVR」で検索。RDO(Kilo)で動作する事を確認済。
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3.4 テナント&インスタンス
•DVR有効下で、Routerを一つ作成
•Tenantを2つ作り、Routerに紐付け、それぞれインスタンスを作成
8
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3.5 Network Serverの中身
•「ip a」[ip netns][ip netns exec ~][ovs-vsctl show]をいろいろ実行
したら、Network Serverの中身が判明
•仮想ルータの実態はLinux Namespace+α
Controller + Network eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
9
© Hitachi Solutions, Ltd. 2015. All rights reserved.
3.6 Compute Server1、2も同様に解析
•各ノードに「同一」の仮想ルータ用Namespaceが存在
(ネットワーク的に大丈夫・・?)
*以下を参考に作成
https://docs.google.com/document/d/1iXMAyVMf42FTahExmGdYNGOBFyeA4e74sAO3pvr_RjA/edit
Controller + Network eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Compute Server2 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.103]
gre-c0a81465
for Ctrl+Net
gre-c0a81466
for Compute1
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
GRE encapslation
192.168.220.0/24
インスタンス
test220-1
192.168.220.12
インスタンス
test210-1
192.168.210.12
10
© Hitachi Solutions, Ltd. 2015. All rights reserved. 11
Neutron DVR Deep Dive
-DVRの仕組みを(外から)解析してみよう-
★挙動解析編★
-テナントまたがりのインスタンス間通信-
-Floating IP【無し】でのPublic Network向けパケット-
-Floating IP【有り】でのPublic Network向けパケット-
© Hitachi Solutions, Ltd. 2015. All rights reserved.
4.1 テナントまたがり:パケットフロー
•namespace内、各インタフェースでtcpdump実行したらこのような挙動
Controller + Network eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Compute Server2 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.103]
gre-c0a81465
for Ctrl+Net
gre-c0a81466
for Compute1
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
インスタンス
test220-1
192.168.220.12
インスタンス
test210-1
192.168.210.12
request
reply
12
© Hitachi Solutions, Ltd. 2015. All rights reserved.
East/West方向は、HP真壁さんがすごくわかりやすい解説をされている
ので、そちらもご参照ください。
http://www.slideshare.net/ToruMakabe/20-openstack-neutron-deep-dive-dvr
4.2 テナントまたがり:パケットフロー 拡大図
13
© Hitachi Solutions, Ltd. 2015. All rights reserved. 14
Neutron DVR Deep Dive
-DVRの仕組みを(外から)解析してみよう-
★挙動解析編★
-テナントまたがりのインスタンス間通信-
-Floating IP【無し】でのPublic Network向けパケット-
-Floating IP【有り】でのPublic Network向けパケット-
© Hitachi Solutions, Ltd. 2015. All rights reserved.
5.1 Floating IP【無し】:パケットフロー全体概要
Controller + Network eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Compute Server2 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.103]
gre-c0a81465
for Ctrl+Net
gre-c0a81466
for Compute1
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
GRE encapslation
192.168.220.0/24
インスタンス
test220-1
192.168.220.12
インスタンス
test210-1
192.168.210.12
10.0.0.1
•namespace内、各インタフェースでtcpdump実行したらこのような挙動
•FIP無しのインスタンスは、自分が動作しているCompute Server上の仮想ルータに、パケッ
トを投げる。そのパケットは、Controller + Network ServerのSNAT用仮想ルータのインタ
フェース192.168.220.11へ転送される。
15
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Controller + Network eth0
Bridge “br-ex”
Namespace for
router
qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
GRE encapslation
192.168.220.0/24
インスタンス
test220-1
192.168.220.12
10.0.0.1
5.2 Floating IP【無し】:パケットフロー詳細
[Compute Server1の仮想ルータ用Namespaceのルーティング情報]
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c ip rule ls
3232291841: from 192.168.220.1/24 lookup 3232291841
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c ip route show table 3232291841
default via 192.168.220.11 dev qr-775574c1-99
インスタンスのGW
192.168.220.1
[Controller + NetworkのSNAT仮想ルータ用Namespaceのルーティング情報]
# ip netns exec snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c ip route show table 0
default via 10.0.0.1 dev qg-a94a356d-d1
[Compute Server1の仮想ルータ用NamespaceでのSourceアドレス変換]
# ip netns exec snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c iptables -L -n -t nat
Chain neutron-l3-agent-snat (1 references)
target prot opt source destination
SNAT all -- 0.0.0.0/0 0.0.0.0/0 to:10.0.0.11
SNAT用Namespaceの
インタフェース
192.168.220.11
SRC IP:192.168.220.12
DST IP:10.0.0.1
GW:192.168.220.1
SRC IP:192.168.220.12
DST IP:10.0.0.1
GW:192.168.220.11
SRC IP:10.0.0.11
DST IP:10.0.0.1
GW:10.0.0.1
16
© Hitachi Solutions, Ltd. 2015. All rights reserved. 17
Neutron DVR Deep Dive
-DVRの仕組みを(外から)解析してみよう-
★挙動解析編★
-テナントまたがりのインスタンス間通信-
-Floating IP【無し】でのPublic Network向けパケット-
-Floating IP【有り】でのPublic Network向けパケット-
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Controller + Network eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Compute Server2 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.103]
gre-c0a81465
for Ctrl+Net
gre-c0a81466
for Compute1
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
インスタンス
test220-1
192.168.220.12
インスタンス
test210-1
192.168.210.12
10.0.0.1
Namespace
for FIP
fip-883a8446-ad7e-
4454-9014-
a0062a510de2
fg-a24a3415-a3
[10.0.0.13]
fpr-8bb40bd2-8
[169.254.31.29]
rfp-8bb40bd2-8
[169.254.31.28]
[10.0.0.12]
6.1 Floating IP【有り】:パケットフロー全体概要
•namespace内、各インタフェースでtcpdump実行したらこのような挙動
•FIP有りのインスタンスは、自分が動作しているCompute Server上の仮想ルータに、パケットを投げる。
そのパケットは、FIP用Namespaceを通り、External Networkへ出る。
FIP有効に
すると出現
そもそもこのNamespace 大丈夫なの?疑惑
18
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Controller + Network eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.101]
gre-c0a81466
for Compute1
Namespace for SNAT
snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
sg-d4e9b791-08
[192.168.220.11]
qg-a94a356d-d1
[10.0.0.11]
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
sg-492d4732-80
[192.168.210.11]
qr-775574c1-99
[192.168.220.1]
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Compute Server2 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.103]
gre-c0a81465
for Ctrl+Net
gre-c0a81466
for Compute1
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
インスタンス
test220-1
192.168.220.12
インスタンス
test210-1
192.168.210.12
10.0.0.1
Namespace
for FIP
fip-883a8446-ad7e-
4454-9014-
a0062a510de2
fg-a24a3415-a3
[10.0.0.13]
fpr-8bb40bd2-8
[169.254.31.29]
rfp-8bb40bd2-8
[169.254.31.28]
[10.0.0.12]
6.2 Floating IP【有り】:仮想ルータ群
IP:192.168.220.12
DFGは192.168.220.1
IP:192.168.220.1
のDFG達
・・・達?!
どこがおかしいのか?
19
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
インスタンス
test220-1
192.168.220.12
10.0.0.1
Namespace
for FIP
fip-883a8446-ad7e-
4454-9014-
a0062a510de2
fg-a24a3415-a3
[10.0.0.13]
fpr-8bb40bd2-8
[169.254.31.29]
rfp-8bb40bd2-8
[169.254.31.28]
[10.0.0.12]
6.3 Floating IP【有り】:Public Network向けパケット
•他ノードへのDFG向けパケットは
br-tunがDrop!!!
[Compute Server1の、br-tunでの、br-intとの接続ポート番号が1]
# ovs-ofctl show br-tun
1(patch-int): addr:5a:b0:7b:78:03:3b
[Compute Server1での、br-tunのOVS flow table確認]
# ovs-ofctl dump-flows br-tun
(略)
cookie=0x0, duration=88568.255s, table=0, n_packets=342,
n_bytes=24261, idle_age=8652, hard_age=65534,
priority=1,in_port=1 actions=resubmit(,1)
(略)
cookie=0x0, duration=76042.928s, table=1, n_packets=0,
n_bytes=0, idle_age=65534, hard_age=65534,
priority=2,dl_vlan=2,dl_dst=fa:16:3e:e3:b5:0b actions=drop
(略)
cookie=0x0, duration=75932.181s, table=1, n_packets=3,
n_bytes=126, idle_age=65534, hard_age=65534,
priority=3,arp,dl_vlan=2,arp_tpa=192.168.220.1 actions=drop
・他のServerへ行くには、
インスタンス→br-int→br-tunを通る
・br-tunでは、他Serverの
-192.168.220.1宛arpパケットDrop
-192.168.220.1のMAC[fa:16:3e:e3:b5:0b]Drop
=>つまり、他のServerへパケットが行かない
Drop
20
© Hitachi Solutions, Ltd. 2015. All rights reserved.
6.4 ちょっと脱線
•他ノードへのDFG向けパケットは
br-tunがDrop!!!
・他のServerへ行くには、
インスタンス→br-int→br-tunを通る
・br-tunでは、他Serverの
-192.168.220.1宛arpパケットDrop
-192.168.220.1のMAC[fa:16:3e:d0:dd:d0]Drop
=>つまり、他のServerへパケットが行かない
Drop
・他ノードへのDFG向けパケットDropだと、
FIP無しのインスタンスで問題発生するのでは?
なんとよくできた仕組み!!
「Floating IP【無し】でのPublic Network向けパケット」より・・
FIP無しのインスタンスは、自分が動作しているCompute Server上
の仮想ルータに、パケット投げる。その後、Controller + Network ServerのSNAT
用仮想ルータのインタフェース192.168.220.11へ
転送される。つまり、192.168.220.1向けではないのでDropされない。
21
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729
-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
インスタンス
test220-1
192.168.220.12
10.0.0.1
Namespace
for FIP
fip-883a8446-ad7e-
4454-9014-
a0062a510de2
fg-a24a3415-a3
[10.0.0.13]
fpr-8bb40bd2-8
[169.254.31.29]
rfp-8bb40bd2-8
[169.254.31.28]
[10.0.0.12]
■Sourceアドレス変換
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c iptables -L -t nat
Chain neutron-l3-agent-float-snat (1 references)
target prot opt source destination
SNAT all -- 192.168.220.12
anywhere to:10.0.0.12
SRC IP:192.168.220.12
DST IP:10.0.0.1
GW:192.168.220.1
■Routing処理
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c ip rule ls
32768: from 192.168.220.12 lookup 16
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c ip route show table 16
default via 169.254.31.29 dev rfp-
8bb40bd2-8
■インスタンスがGWへパケット送出
6.5 Floating IP【有り】:Public Network向けパケット詳細
■10.0.0.1へ転送
# ip netns exec fip-883a8446-ad7e-4454-9014-
a0062a510de2 ip route show
default via 10.0.0.1 dev fg-a24a3415-a3
SRC IP:10.0.0.12[FIP]
DST IP:10.0.0.1
GW:10.0.0.1
SRC IP:10.0.0.12 [FIP]
DST IP:10.0.0.1
GW:169.254.31.29
22
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Compute Server1 eth0
Bridge “br-ex”
Namespace for router
qrouter-8bb40bd2-8729
-4d97-bbe6-d3420630ab4c
Bridge “br-int”
patch-tun
Bridge “br-tun”
patch-int
eth2(Tunnel)
[192.168.20.102]
gre-c0a81465
for Ctrl+Net
gre-c0a81467
for Compute2
qr-d5a61cff-0b
[192.168.210.1]
qr-775574c1-99
[192.168.220.1]
Public Network
10.0.0.0/24
インスタンス
test220-1
192.168.220.12
(FIP:10.0.0.12)
10.0.0.1
Namespace
for FIP
fip-883a8446-ad7e-
4454-9014-
a0062a510de2
fg-a24a3415-a3
[10.0.0.13]
fpr-8bb40bd2-8
[169.254.31.29]
rfp-8bb40bd2-8
[169.254.31.28]
[10.0.0.12]
インスタンス
test220-3
192.168.220.14
(FIP:10.0.0.14)
■Destinationアドレス変換
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c iptables -L –n -t nat
Chain neutron-l3-agent-PREROUTING (1 references)
target prot opt source destination
DNAT all -- 0.0.0.0/0 10.0.0.12
to:192.168.220.12
DNAT all -- 0.0.0.0/0 10.0.0.14
to:192.168.220.14
SRC IP:10.0.0.1
DST IP:192.168.220.12
■Routing処理
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c ip rule ls
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
32768: from 192.168.220.12 lookup 16
32769: from 192.168.220.14 lookup 16
(略)
# ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-
d3420630ab4c ip route show table 0
192.168.220.0/24 dev
qr-775574c1-99 proto kernel scope link
src 192.168.220.1
6.6 Floating IP【有り】:Public Networkからのパケット詳細(逆方向)
SRC IP:10.0.0.1
DST IP:10.0.0.12
23
© Hitachi Solutions, Ltd. 2015. All rights reserved.
 仮想ルータ/分散仮想ルータの実態は、Linux Namespace + OVS
 DVRを有効にすると、各サーバで全く同一のLinux Namespaceが
作成されるが、OVS側で余計なパケットをDrop
 Floating IP割当の有無で、パケットの流れは大きく異なる
 Floating IP割当無しの場合
 East/West方向
インスタンスが動作しているCompute Node同士で直接通信
 North/South方向
SNAT用Namespaceが動作しているサーバ(Network Server)を経由
 Floating IP割当有りの場合
 East/West方向
インスタンスが動作しているCompute Node同士で直接通信
 North/South方向
インスタンスが動作しているCompute Node(のFIP用Namespace)が直接通信
まとめ
24
Network
(SNAT)
Compute
1
Compute
2インス
タンス
インス
タンス
Network
(SNAT)
Compute
1
Compute
2インス
タンス
インス
タンス
© Hitachi Solutions, Ltd. 2015. All rights reserved.
Vancouver Summitでは、DVRに触れているセッションが多かったです。
Tokyo Summitでは、”知っていて当たり前”になりそうな印象を受けました。
DVRはかなり良く考えられて面白いです。
Libertyでどう進化するのか、お楽しみに!
- 作り方:検索「Think IT DVR」
→第2回:RHEL-OSP6でのDVR環境構築手順
http://thinkit.co.jp/story/2015/05/19/6017
- パケット解析方法:検索「Think IT DVR」
→第3回:Neutron DVR環境でのパケット処理を探る
http://thinkit.co.jp/story/2015/06/17/6135
- 本日の資料
http://www.slideshare.net/tkkd
最後に
25
© Hitachi Solutions, Ltd. 2015. All rights reserved.
・Linuxは,Linus Torvalds氏の日本およびその他の国における登録商標または商標です。
・OpenStack®の文字表記とOpenStackのロゴは,米国とその他の国におけるOpenStack Foundationの登録商標/サービスマークま
たは商標/サービスマークのいずれかであり,OpenStack Foundationの許諾を得て使用しています。日立製作所は,OpenStack
FoundationやOpenStackコミュニティの関連企業ではなく、また支援や出資を受けていません。
・ OSCA™(Open Standard Cloud Association)は、デル株式会社の登録商標です。
・ Red Hat、Red Hat Enterprise Linuxは、米国およびその他の国におけるRed Hat, Inc. の登録商標です。
・その他、記載の商標やロゴは、各社の商標または登録商標です。
・本講演は、情報提供のみを目的としており、誤字脱字、技術上の誤りには一切責任を負いません。
・本講演の内容は一般的な原則を記しており、すべての環境での動作を保証するものではありません。
・本講演の内容は検証時のものであり、明示的、暗示的を問わず、いかなる内容も保証いたしません
免責事項 / 商標等について
26
© Hitachi Solutions, Ltd. 2015. All rights reserved.
株式会社日立ソリューションズ
技術開発本部 研究開発部 オープンソース技術グループ
Summitで人・ひと・ヒト。
いま熱く語ろうコンテナとNeutron DVR
-Neutron DVR Deep Dive-
2015/7/13
工藤 雄大
END
周年特別企画:
OpenStack Summitの歩き方

More Related Content

What's hot

知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
EMC様講演 OpenStack最新情報セミナー 2014年6月
EMC様講演 OpenStack最新情報セミナー 2014年6月EMC様講演 OpenStack最新情報セミナー 2014年6月
EMC様講演 OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
日本HP様講演 OpenStack最新情報セミナー 2014年12月
日本HP様講演 OpenStack最新情報セミナー 2014年12月日本HP様講演 OpenStack最新情報セミナー 2014年12月
日本HP様講演 OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムsatsuki fukazu
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
レッドハット様講演 OpenStack最新情報セミナー 2014年8月
レッドハット様講演 OpenStack最新情報セミナー 2014年8月レッドハット様講演 OpenStack最新情報セミナー 2014年8月
レッドハット様講演 OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性Hirofumi Ichihara
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはBrocade
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」VirtualTech Japan Inc.
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFWTomoya Hibi
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドMasanori Itoh
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016VirtualTech Japan Inc.
 

What's hot (20)

知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
 
EMC様講演 OpenStack最新情報セミナー 2014年6月
EMC様講演 OpenStack最新情報セミナー 2014年6月EMC様講演 OpenStack最新情報セミナー 2014年6月
EMC様講演 OpenStack最新情報セミナー 2014年6月
 
日本HP様講演 OpenStack最新情報セミナー 2014年12月
日本HP様講演 OpenStack最新情報セミナー 2014年12月日本HP様講演 OpenStack最新情報セミナー 2014年12月
日本HP様講演 OpenStack最新情報セミナー 2014年12月
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 
レッドハット様講演 OpenStack最新情報セミナー 2014年8月
レッドハット様講演 OpenStack最新情報セミナー 2014年8月レッドハット様講演 OpenStack最新情報セミナー 2014年8月
レッドハット様講演 OpenStack最新情報セミナー 2014年8月
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFW
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
 

Viewers also liked

OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
BGP Dynamic Routing and Neutron
BGP Dynamic Routing and NeutronBGP Dynamic Routing and Neutron
BGP Dynamic Routing and Neutronrktidwell
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsThomas Morin
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1Jinho Shin
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsThomas Morin
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towardsAkihiro Motoki
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler Peeyush Gupta
 

Viewers also liked (9)

Keystone fernet token
Keystone fernet tokenKeystone fernet token
Keystone fernet token
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
 
BGP Dynamic Routing and Neutron
BGP Dynamic Routing and NeutronBGP Dynamic Routing and Neutron
BGP Dynamic Routing and Neutron
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNs
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNsOpenstack Neutron & Interconnections with BGP/MPLS VPNs
Openstack Neutron & Interconnections with BGP/MPLS VPNs
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler
 

Similar to openstack_neutron-dvr_os5thaniv_20150713

【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~日本マイクロソフト株式会社
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介NTT Communications Technology Development
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」Nobuyuki Tamaoki
 
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンTomokazu Kizawa
 
ここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンド
ここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンドここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンド
ここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンドVirtualTech Japan Inc.
 
Singularityで分散深層学習
Singularityで分散深層学習Singularityで分散深層学習
Singularityで分散深層学習Hitoshi Sato
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側masahito12
 
ETロボコン2020 競技会場システムのおはなし
ETロボコン2020 競技会場システムのおはなしETロボコン2020 競技会場システムのおはなし
ETロボコン2020 競技会場システムのおはなしTetsuya Odashima
 
Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)shintaro mizuno
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側Yusuke Naka
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyoManaMurakami1
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
OpenVINOとAzure こう連携できるのでは?
OpenVINOとAzure こう連携できるのでは?OpenVINOとAzure こう連携できるのでは?
OpenVINOとAzure こう連携できるのでは?Hiroshi Ouchiyama
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson NanoNVIDIA Japan
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF CloudIDC Frontier
 
ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料直久 住川
 

Similar to openstack_neutron-dvr_os5thaniv_20150713 (20)

【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
【de:code 2020】 AI on IA 最新情報 ~ CPU で AI を上手に動かすための 5 つのヒント ~
 
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon201510大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
PreadNet
PreadNetPreadNet
PreadNet
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオン
 
ここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンド
ここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンドここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンド
ここで差がつく「仮想化導入」性能、信頼性、コストの最新トレンド
 
Singularityで分散深層学習
Singularityで分散深層学習Singularityで分散深層学習
Singularityで分散深層学習
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側
 
ETロボコン2020 競技会場システムのおはなし
ETロボコン2020 競技会場システムのおはなしETロボコン2020 競技会場システムのおはなし
ETロボコン2020 競技会場システムのおはなし
 
Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyo
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
OpenVINOとAzure こう連携できるのでは?
OpenVINOとAzure こう連携できるのでは?OpenVINOとAzure こう連携できるのでは?
OpenVINOとAzure こう連携できるのでは?
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson Nano
 
2015-ShowNet-報告資料
2015-ShowNet-報告資料2015-ShowNet-報告資料
2015-ShowNet-報告資料
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
 
Argo CDについて
Argo CDについてArgo CDについて
Argo CDについて
 
ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料
 

openstack_neutron-dvr_os5thaniv_20150713

  • 1. © Hitachi Solutions, Ltd. 2015. All rights reserved. 株式会社日立ソリューションズ 技術開発本部 研究開発部 オープンソース技術グループ 2015/7/13 工藤 雄大 Summitで人・ひと・ヒト。 いま熱く語ろうコンテナとNeutron DVR -Neutron DVR Deep Dive- 周年特別企画: OpenStack Summitの歩き方
  • 2. © Hitachi Solutions, Ltd. 2015. All rights reserved. 1 1 自己紹介  所属等  工藤 雄大(くどう たけひろ)  株式会社日立ソリューションズ 技術開発本部 研究開発部 オープンソース技術開発グループ 技師  インフラ系新技術・新製品の評価・ソリューション開発を担当  ここ7年程VDI&クラウド基盤。その前はAP仮想化、VPN製品等。  特技(好きなこと):製品・技術を外から(not Source) 挙動解析  Open Standard Cloud Association(OSCA™) 技術分科会 技術リーダ  最近はこんなことをやってます  VDI製品評価・提案支援  VDI構築・提案のポイント検討@OSCA  VDIガイド (http://www.osca-jp.com/solution.html)  OpenStackネットワーク検証  Neutron(Havana版)検証@OSCA(共同検証)  Neutron OVSのスケーラビリティ、耐障害性調査 (http://www.osca-jp.com/solution.html) (http://www.slideshare.net/tkkd/osc2014tf)  Neutron(Juno版) DVR機能調査  OpenStack(RHEL-OSP6)で試す分散仮想ルータ (http://thinkit.co.jp/book/2015/04/11/5899)
  • 3. © Hitachi Solutions, Ltd. 2015. All rights reserved. 2 OpenStack Summit Vancouver Neutron関連セッションサマリ
  • 4. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3 2 Neutron関連セッションサマリ ■Neutron Kiloでの変更点 •15の新規Driver/Plug-inに対応 •IPv6のフルサポート (でもDVRではまだ) •DVRでVLANサポート。テナントで、VLAN&GRE、VLAN&VXLAN構成が取れる。 •DVRでLBaaS、FWaaS(North/Southのみ)、VPNaaSサポート。安定化。 •Kilo & ML2ドライバで、Hierarchical Port Bindingが可能 ■挙動・仕様解説 •NamespaceとPortの関係、トラフィックフロー解説 •Flat、VLAN、GRE、VXLANの特性・性能解説 •OVN(Open Source Virtual Network)概念解説 1ゲストあたり4~5個のネットワークデバイスをすっきりさせたい •DVRパケット解説 ■Libertyリリースに向けて •IPAM、BGP Speaker、NFV対応強化 •(DVR関連) 内部構造の単純化、IPv6用DVR、Distributed SNAT DVR関連が多い (Tokyo Summitでは前提知識化?)
  • 5. © Hitachi Solutions, Ltd. 2015. All rights reserved. 4 Neutron DVR Deep Dive -DVRの仕組みを(外から)解析してみよう- ★状態分析編★
  • 6. © Hitachi Solutions, Ltd. 2015. All rights reserved. 5 3.1 少しおさらい:Neutron Network ■元々のNeutron Network ・別テナント間通信は、Network Serverを必ず経由する ・External Networkへ出るときは、Network Serverを必ず経由する 負荷集中 *本セッションでは、neutron-serverサービスを 提供しているサーバをNetwork Serverと定義する。 *DVR有効下の場合、SNATサービスを提供している サーバをNetwork Serverと定義する。
  • 7. © Hitachi Solutions, Ltd. 2015. All rights reserved. 6 3.2 少しおさらい:Neutron Network with DVR ■DVR有効下のNeutron Network ・別テナント間通信も、インスタンスが動いているCompute Node間で通信完結 ・External Networkへ出る時は、そのServer上の分散仮想ルータを経由する 実態は何?? =>解析だ!!
  • 8. © Hitachi Solutions, Ltd. 2015. All rights reserved. 7 3.3 解析環境 •環境:サーバ3台(Controller+Network、Compute1、Compute2)。RDO(Kilo)を使用。 •構築手順 => 「Think IT DVR」で検索。RDO(Kilo)で動作する事を確認済。
  • 9. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3.4 テナント&インスタンス •DVR有効下で、Routerを一つ作成 •Tenantを2つ作り、Routerに紐付け、それぞれインスタンスを作成 8
  • 10. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3.5 Network Serverの中身 •「ip a」[ip netns][ip netns exec ~][ovs-vsctl show]をいろいろ実行 したら、Network Serverの中身が判明 •仮想ルータの実態はLinux Namespace+α Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] 9
  • 11. © Hitachi Solutions, Ltd. 2015. All rights reserved. 3.6 Compute Server1、2も同様に解析 •各ノードに「同一」の仮想ルータ用Namespaceが存在 (ネットワーク的に大丈夫・・?) *以下を参考に作成 https://docs.google.com/document/d/1iXMAyVMf42FTahExmGdYNGOBFyeA4e74sAO3pvr_RjA/edit Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6- d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Compute Server2 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.103] gre-c0a81465 for Ctrl+Net gre-c0a81466 for Compute1 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 GRE encapslation 192.168.220.0/24 インスタンス test220-1 192.168.220.12 インスタンス test210-1 192.168.210.12 10
  • 12. © Hitachi Solutions, Ltd. 2015. All rights reserved. 11 Neutron DVR Deep Dive -DVRの仕組みを(外から)解析してみよう- ★挙動解析編★ -テナントまたがりのインスタンス間通信- -Floating IP【無し】でのPublic Network向けパケット- -Floating IP【有り】でのPublic Network向けパケット-
  • 13. © Hitachi Solutions, Ltd. 2015. All rights reserved. 4.1 テナントまたがり:パケットフロー •namespace内、各インタフェースでtcpdump実行したらこのような挙動 Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6- d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Compute Server2 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.103] gre-c0a81465 for Ctrl+Net gre-c0a81466 for Compute1 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 インスタンス test220-1 192.168.220.12 インスタンス test210-1 192.168.210.12 request reply 12
  • 14. © Hitachi Solutions, Ltd. 2015. All rights reserved. East/West方向は、HP真壁さんがすごくわかりやすい解説をされている ので、そちらもご参照ください。 http://www.slideshare.net/ToruMakabe/20-openstack-neutron-deep-dive-dvr 4.2 テナントまたがり:パケットフロー 拡大図 13
  • 15. © Hitachi Solutions, Ltd. 2015. All rights reserved. 14 Neutron DVR Deep Dive -DVRの仕組みを(外から)解析してみよう- ★挙動解析編★ -テナントまたがりのインスタンス間通信- -Floating IP【無し】でのPublic Network向けパケット- -Floating IP【有り】でのPublic Network向けパケット-
  • 16. © Hitachi Solutions, Ltd. 2015. All rights reserved. 5.1 Floating IP【無し】:パケットフロー全体概要 Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Compute Server2 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.103] gre-c0a81465 for Ctrl+Net gre-c0a81466 for Compute1 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 GRE encapslation 192.168.220.0/24 インスタンス test220-1 192.168.220.12 インスタンス test210-1 192.168.210.12 10.0.0.1 •namespace内、各インタフェースでtcpdump実行したらこのような挙動 •FIP無しのインスタンスは、自分が動作しているCompute Server上の仮想ルータに、パケッ トを投げる。そのパケットは、Controller + Network ServerのSNAT用仮想ルータのインタ フェース192.168.220.11へ転送される。 15
  • 17. © Hitachi Solutions, Ltd. 2015. All rights reserved. Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 GRE encapslation 192.168.220.0/24 インスタンス test220-1 192.168.220.12 10.0.0.1 5.2 Floating IP【無し】:パケットフロー詳細 [Compute Server1の仮想ルータ用Namespaceのルーティング情報] # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c ip rule ls 3232291841: from 192.168.220.1/24 lookup 3232291841 # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c ip route show table 3232291841 default via 192.168.220.11 dev qr-775574c1-99 インスタンスのGW 192.168.220.1 [Controller + NetworkのSNAT仮想ルータ用Namespaceのルーティング情報] # ip netns exec snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c ip route show table 0 default via 10.0.0.1 dev qg-a94a356d-d1 [Compute Server1の仮想ルータ用NamespaceでのSourceアドレス変換] # ip netns exec snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c iptables -L -n -t nat Chain neutron-l3-agent-snat (1 references) target prot opt source destination SNAT all -- 0.0.0.0/0 0.0.0.0/0 to:10.0.0.11 SNAT用Namespaceの インタフェース 192.168.220.11 SRC IP:192.168.220.12 DST IP:10.0.0.1 GW:192.168.220.1 SRC IP:192.168.220.12 DST IP:10.0.0.1 GW:192.168.220.11 SRC IP:10.0.0.11 DST IP:10.0.0.1 GW:10.0.0.1 16
  • 18. © Hitachi Solutions, Ltd. 2015. All rights reserved. 17 Neutron DVR Deep Dive -DVRの仕組みを(外から)解析してみよう- ★挙動解析編★ -テナントまたがりのインスタンス間通信- -Floating IP【無し】でのPublic Network向けパケット- -Floating IP【有り】でのPublic Network向けパケット-
  • 19. © Hitachi Solutions, Ltd. 2015. All rights reserved. Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Compute Server2 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.103] gre-c0a81465 for Ctrl+Net gre-c0a81466 for Compute1 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 インスタンス test220-1 192.168.220.12 インスタンス test210-1 192.168.210.12 10.0.0.1 Namespace for FIP fip-883a8446-ad7e- 4454-9014- a0062a510de2 fg-a24a3415-a3 [10.0.0.13] fpr-8bb40bd2-8 [169.254.31.29] rfp-8bb40bd2-8 [169.254.31.28] [10.0.0.12] 6.1 Floating IP【有り】:パケットフロー全体概要 •namespace内、各インタフェースでtcpdump実行したらこのような挙動 •FIP有りのインスタンスは、自分が動作しているCompute Server上の仮想ルータに、パケットを投げる。 そのパケットは、FIP用Namespaceを通り、External Networkへ出る。 FIP有効に すると出現 そもそもこのNamespace 大丈夫なの?疑惑 18
  • 20. © Hitachi Solutions, Ltd. 2015. All rights reserved. Controller + Network eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.101] gre-c0a81466 for Compute1 Namespace for SNAT snat-8bb40bd2-8729-4d97-bbe6-d3420630ab4c sg-d4e9b791-08 [192.168.220.11] qg-a94a356d-d1 [10.0.0.11] gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] sg-492d4732-80 [192.168.210.11] qr-775574c1-99 [192.168.220.1] Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Compute Server2 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.103] gre-c0a81465 for Ctrl+Net gre-c0a81466 for Compute1 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 インスタンス test220-1 192.168.220.12 インスタンス test210-1 192.168.210.12 10.0.0.1 Namespace for FIP fip-883a8446-ad7e- 4454-9014- a0062a510de2 fg-a24a3415-a3 [10.0.0.13] fpr-8bb40bd2-8 [169.254.31.29] rfp-8bb40bd2-8 [169.254.31.28] [10.0.0.12] 6.2 Floating IP【有り】:仮想ルータ群 IP:192.168.220.12 DFGは192.168.220.1 IP:192.168.220.1 のDFG達 ・・・達?! どこがおかしいのか? 19
  • 21. © Hitachi Solutions, Ltd. 2015. All rights reserved. Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729-4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 インスタンス test220-1 192.168.220.12 10.0.0.1 Namespace for FIP fip-883a8446-ad7e- 4454-9014- a0062a510de2 fg-a24a3415-a3 [10.0.0.13] fpr-8bb40bd2-8 [169.254.31.29] rfp-8bb40bd2-8 [169.254.31.28] [10.0.0.12] 6.3 Floating IP【有り】:Public Network向けパケット •他ノードへのDFG向けパケットは br-tunがDrop!!! [Compute Server1の、br-tunでの、br-intとの接続ポート番号が1] # ovs-ofctl show br-tun 1(patch-int): addr:5a:b0:7b:78:03:3b [Compute Server1での、br-tunのOVS flow table確認] # ovs-ofctl dump-flows br-tun (略) cookie=0x0, duration=88568.255s, table=0, n_packets=342, n_bytes=24261, idle_age=8652, hard_age=65534, priority=1,in_port=1 actions=resubmit(,1) (略) cookie=0x0, duration=76042.928s, table=1, n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534, priority=2,dl_vlan=2,dl_dst=fa:16:3e:e3:b5:0b actions=drop (略) cookie=0x0, duration=75932.181s, table=1, n_packets=3, n_bytes=126, idle_age=65534, hard_age=65534, priority=3,arp,dl_vlan=2,arp_tpa=192.168.220.1 actions=drop ・他のServerへ行くには、 インスタンス→br-int→br-tunを通る ・br-tunでは、他Serverの -192.168.220.1宛arpパケットDrop -192.168.220.1のMAC[fa:16:3e:e3:b5:0b]Drop =>つまり、他のServerへパケットが行かない Drop 20
  • 22. © Hitachi Solutions, Ltd. 2015. All rights reserved. 6.4 ちょっと脱線 •他ノードへのDFG向けパケットは br-tunがDrop!!! ・他のServerへ行くには、 インスタンス→br-int→br-tunを通る ・br-tunでは、他Serverの -192.168.220.1宛arpパケットDrop -192.168.220.1のMAC[fa:16:3e:d0:dd:d0]Drop =>つまり、他のServerへパケットが行かない Drop ・他ノードへのDFG向けパケットDropだと、 FIP無しのインスタンスで問題発生するのでは? なんとよくできた仕組み!! 「Floating IP【無し】でのPublic Network向けパケット」より・・ FIP無しのインスタンスは、自分が動作しているCompute Server上 の仮想ルータに、パケット投げる。その後、Controller + Network ServerのSNAT 用仮想ルータのインタフェース192.168.220.11へ 転送される。つまり、192.168.220.1向けではないのでDropされない。 21
  • 23. © Hitachi Solutions, Ltd. 2015. All rights reserved. Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729 -4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 インスタンス test220-1 192.168.220.12 10.0.0.1 Namespace for FIP fip-883a8446-ad7e- 4454-9014- a0062a510de2 fg-a24a3415-a3 [10.0.0.13] fpr-8bb40bd2-8 [169.254.31.29] rfp-8bb40bd2-8 [169.254.31.28] [10.0.0.12] ■Sourceアドレス変換 # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c iptables -L -t nat Chain neutron-l3-agent-float-snat (1 references) target prot opt source destination SNAT all -- 192.168.220.12 anywhere to:10.0.0.12 SRC IP:192.168.220.12 DST IP:10.0.0.1 GW:192.168.220.1 ■Routing処理 # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c ip rule ls 32768: from 192.168.220.12 lookup 16 # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c ip route show table 16 default via 169.254.31.29 dev rfp- 8bb40bd2-8 ■インスタンスがGWへパケット送出 6.5 Floating IP【有り】:Public Network向けパケット詳細 ■10.0.0.1へ転送 # ip netns exec fip-883a8446-ad7e-4454-9014- a0062a510de2 ip route show default via 10.0.0.1 dev fg-a24a3415-a3 SRC IP:10.0.0.12[FIP] DST IP:10.0.0.1 GW:10.0.0.1 SRC IP:10.0.0.12 [FIP] DST IP:10.0.0.1 GW:169.254.31.29 22
  • 24. © Hitachi Solutions, Ltd. 2015. All rights reserved. Compute Server1 eth0 Bridge “br-ex” Namespace for router qrouter-8bb40bd2-8729 -4d97-bbe6-d3420630ab4c Bridge “br-int” patch-tun Bridge “br-tun” patch-int eth2(Tunnel) [192.168.20.102] gre-c0a81465 for Ctrl+Net gre-c0a81467 for Compute2 qr-d5a61cff-0b [192.168.210.1] qr-775574c1-99 [192.168.220.1] Public Network 10.0.0.0/24 インスタンス test220-1 192.168.220.12 (FIP:10.0.0.12) 10.0.0.1 Namespace for FIP fip-883a8446-ad7e- 4454-9014- a0062a510de2 fg-a24a3415-a3 [10.0.0.13] fpr-8bb40bd2-8 [169.254.31.29] rfp-8bb40bd2-8 [169.254.31.28] [10.0.0.12] インスタンス test220-3 192.168.220.14 (FIP:10.0.0.14) ■Destinationアドレス変換 # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c iptables -L –n -t nat Chain neutron-l3-agent-PREROUTING (1 references) target prot opt source destination DNAT all -- 0.0.0.0/0 10.0.0.12 to:192.168.220.12 DNAT all -- 0.0.0.0/0 10.0.0.14 to:192.168.220.14 SRC IP:10.0.0.1 DST IP:192.168.220.12 ■Routing処理 # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c ip rule ls 0: from all lookup local 32766: from all lookup main 32767: from all lookup default 32768: from 192.168.220.12 lookup 16 32769: from 192.168.220.14 lookup 16 (略) # ip netns exec qrouter-8bb40bd2-8729-4d97-bbe6- d3420630ab4c ip route show table 0 192.168.220.0/24 dev qr-775574c1-99 proto kernel scope link src 192.168.220.1 6.6 Floating IP【有り】:Public Networkからのパケット詳細(逆方向) SRC IP:10.0.0.1 DST IP:10.0.0.12 23
  • 25. © Hitachi Solutions, Ltd. 2015. All rights reserved.  仮想ルータ/分散仮想ルータの実態は、Linux Namespace + OVS  DVRを有効にすると、各サーバで全く同一のLinux Namespaceが 作成されるが、OVS側で余計なパケットをDrop  Floating IP割当の有無で、パケットの流れは大きく異なる  Floating IP割当無しの場合  East/West方向 インスタンスが動作しているCompute Node同士で直接通信  North/South方向 SNAT用Namespaceが動作しているサーバ(Network Server)を経由  Floating IP割当有りの場合  East/West方向 インスタンスが動作しているCompute Node同士で直接通信  North/South方向 インスタンスが動作しているCompute Node(のFIP用Namespace)が直接通信 まとめ 24 Network (SNAT) Compute 1 Compute 2インス タンス インス タンス Network (SNAT) Compute 1 Compute 2インス タンス インス タンス
  • 26. © Hitachi Solutions, Ltd. 2015. All rights reserved. Vancouver Summitでは、DVRに触れているセッションが多かったです。 Tokyo Summitでは、”知っていて当たり前”になりそうな印象を受けました。 DVRはかなり良く考えられて面白いです。 Libertyでどう進化するのか、お楽しみに! - 作り方:検索「Think IT DVR」 →第2回:RHEL-OSP6でのDVR環境構築手順 http://thinkit.co.jp/story/2015/05/19/6017 - パケット解析方法:検索「Think IT DVR」 →第3回:Neutron DVR環境でのパケット処理を探る http://thinkit.co.jp/story/2015/06/17/6135 - 本日の資料 http://www.slideshare.net/tkkd 最後に 25
  • 27. © Hitachi Solutions, Ltd. 2015. All rights reserved. ・Linuxは,Linus Torvalds氏の日本およびその他の国における登録商標または商標です。 ・OpenStack®の文字表記とOpenStackのロゴは,米国とその他の国におけるOpenStack Foundationの登録商標/サービスマークま たは商標/サービスマークのいずれかであり,OpenStack Foundationの許諾を得て使用しています。日立製作所は,OpenStack FoundationやOpenStackコミュニティの関連企業ではなく、また支援や出資を受けていません。 ・ OSCA™(Open Standard Cloud Association)は、デル株式会社の登録商標です。 ・ Red Hat、Red Hat Enterprise Linuxは、米国およびその他の国におけるRed Hat, Inc. の登録商標です。 ・その他、記載の商標やロゴは、各社の商標または登録商標です。 ・本講演は、情報提供のみを目的としており、誤字脱字、技術上の誤りには一切責任を負いません。 ・本講演の内容は一般的な原則を記しており、すべての環境での動作を保証するものではありません。 ・本講演の内容は検証時のものであり、明示的、暗示的を問わず、いかなる内容も保証いたしません 免責事項 / 商標等について 26
  • 28. © Hitachi Solutions, Ltd. 2015. All rights reserved. 株式会社日立ソリューションズ 技術開発本部 研究開発部 オープンソース技術グループ Summitで人・ひと・ヒト。 いま熱く語ろうコンテナとNeutron DVR -Neutron DVR Deep Dive- 2015/7/13 工藤 雄大 END 周年特別企画: OpenStack Summitの歩き方