SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
OpenStack の仮想ネットワーク
~Neutron の今~

Akihiro Motoki (@ritchey98)
NEC / 日本 OpenStack ユーザー会
Oct 11st , 2013
自己紹介
• 元木 顕弘 (@ritchey98)

– NEC 情報・ナレッジ研究所
– IPルータ、広域Ethernet装置、迷惑メールフィルタなど
の開発をやっていました。
– ここ数年は、ネットワーク仮想化、OpenStack,
OpenFlow 周りで活動しています。

• OpenStack Developer

– Neutron and Horizon Core Developer
– I18N team

• Linux JM (日本語マニュアル) Project Maintainer
OpenStack Networking (Neutron)
• Network-as-a-Service (NaaS) を提供する
– テナントが自由なネットワーク操作を提供
• 複数のプライベートなネットワークの作成
• IPアドレスの制御

– L2/L3 に限らず、さまざまなネットワークサービス
の提供

• Neutron API
– API は論理操作のみを定義。物理操作を分離。
– 物理操作は Neutron Plugin が行う
OpenStack の仮想ネットワークモデル
TenantA-VM1
10.0.0.2

TenantA-VM2
10.0.0.3

Tenant-A Net1
10.0.0.0/24

External
Net
88.0.0.0/18

•
•
•
•
•

TenantA-VM3
9.0.0.2

virtual server
virtual interface (VIF)

Tenant-A Net2
9.0.0.0/24

SNAT for external traffic
Floating IP

ネットワークの自由な作成
IP overlapping Tenant Networks
複数 NIC を持った VM の)作成
ルータ経由で Subnet 間通信
Floating IP での外部からの接続 (Elastic IP@AWS)

virtual port
L2 virtual network
virtual subnet
Network API の例
•
•
•

API モデルは基本的に REST
一般ユーザー向けの API では、論理情報のみが見える
管理者権限であれば、物理情報を指定した操作も一部では定義。

GET http://localhost:9696/v2.0/networks/20b49737c718-4f10-8edc-7fe9f8ee7cfd

GET http://localhost:9696/v2.0/networks/20b49737c718-4f10-8edc-7fe9f8ee7cfd

{

{

}

"network": {
"admin_state_up": true,
"id": "20b49737-c718-4f10-8edc-7fe9f8ee7cfd",
"name": "net1",
"router:external": false,
"shared": false,
"status": "ACTIVE",
"subnets": [
"644f729f-1c86-48b3-91a2-761e29398e81"
],
"tenant_id": "be11ce3cabc74ee68d4f22253ffbb5e8"
}

一般ユーザー

}

"network": {
"admin_state_up": true,
"id": "20b49737-c718-4f10-8edc-7fe9f8ee7cfd",
"name": "net1",
"router:external": false,
"shared": false,
"status": "ACTIVE",
"subnets": [
"644f729f-1c86-48b3-91a2-761e29398e81"
],
"tenant_id": "be11ce3cabc74ee68d4f22253ffbb5e8",
"provider:network_type": "vlan",
"provider:physical_network": "physnet_1",
"provider:segmentation_id": 201
}

管理者ユーザー
Network Service Insertion

Service Insertion

Network 2

Network 1

External
Network
VPN Connection
Neutron の基本構造
•

API に対応して、物理操作を行う Plugin が存在

– Plugin を切り替えることで、様々なネットワーク技術を利用可能
– 複数のPlugin (Core + Service *N) が併存。一つのPluginで複数のAPIも対応可

•

OpenStack の一部だが、Neutron 単体でも利用可能

– Neutron API を使うことで、特定のベンダーAPI に Lock-In されにくくなるかも

Neutron API
LBaaS
API

FWaaS
API

L3 API

Compute API

Neutron
LBaaS
Plugin

FWaaS
Plugin

Nova

L2 API

Compute Node

L2/L3 Plugin

VM
Agent

XXX
HAProxy
Driver
Agent

L3
Agent

Network
Controller
OpenFlow Controller など

VM

vSwitch

HW Switch
仮想ルータの実現方法
•

現状の Neutron では
下線付きのものが存在

Network Namespace (l3-agent)

– Linux Kernel の名前空間機能を利用

•

Distributed Router

– 仮想スイッチ、OpenFlow スイッチをコントローラで制御して実現

•

Router as Service VM

– 仮想ルータ単位に VM を用意する。通常の VM と同じ。

•

VRF on normal router

– いわゆるハードウェアルータで、複数の論理ルーティングテーブルがあるものを利用

VM

net1
VM

R

net2

VM

分散ルータの例

ルータの振りをして
nexthopのARPに応答

VM
VM vSW

同じサブネットなら
そのまま転送

Controller

vSW

VM
VM
L3-agent での仮想ルータ
• Linux Kernel の機能を組み合わせて実現
– Network Namespace + iptables

• Network Namespace (netns)

– ネットワークのプロトコル・スタックを一つの OS 上に複数持つ仕組み。
IPアドレスや NW インタフェース等が分離した空間を複数構成可能。
– LXC などのコンテナ技術で発展

netns for router1

netns for router2

Routing + iptables

Routing + iptables

qg-xxx

qr-yz1

qr-yz2

qr-zz1

qr-zz2

veth pair
qg-xxx

qr-yz1

qr-yz2

qr-zz1

Open vSwitch
eth1

eth2

qr-zz2
おまけ
l3-agent netns example (1/3)
ubuntu@ostack02:~$ ip netns
qdhcp-07b6df1f-bb88-4cc5-8903-45c543143f9f
qdhcp-373ed983-b2e9-4c6b-90f2-92c347302675
qrouter-6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648
qrouter-b920913b-22ca-48ad-843b-e8ab78ae22a7
qdhcp-20b49737-c718-4f10-8edc-7fe9f8ee7cfd
ubuntu@ostack02:~$ neutron router-list
+--------------------------------------+---------+--------------------------------------------------------+
| id
| name
| external_gateway_info
|
+--------------------------------------+---------+--------------------------------------------------------+
| 6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 | router2 | null
|
| b920913b-22ca-48ad-843b-e8ab78ae22a7 | router1 | {"network_id": "e4ad0d48-d0ee-42f8-889b-72283fdd607f", |
|
|
| "enable_snat": true}
|
+--------------------------------------+---------+--------------------------------------------------------+
l3-agent netns example (2/3)
(router1)
ubuntu@ostack02:~$ sudo ip netns exec qrouter-b920913b-22ca-48ad-843b-e8ab78ae22a7 ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: qr-656aebdc-61: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode
DEFAULT qlen 1000
link/ether fa:16:3e:a2:1b:62 brd ff:ff:ff:ff:ff:ff
3: qg-215b9b04-9e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode
DEFAULT qlen 1000
link/ether fa:16:3e:f3:c9:4c brd ff:ff:ff:ff:ff:ff
4: qr-8357d717-fa: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode
DEFAULT qlen 1000
link/ether fa:16:3e:c9:c9:41 brd ff:ff:ff:ff:ff:ff
ubuntu@ostack02:~$ sudo ip netns exec qrouter-b920913b-22ca-48ad-843b-e8ab78ae22a7 netstat -nr
Kernel IP routing table
Destination
Gateway
Genmask
Flags MSS Window irtt Iface
0.0.0.0
172.24.4.225
0.0.0.0
UG
0 0
0 qg-215b9b04-9e
10.0.0.0
0.0.0.0
255.255.255.0 U
0 0
0 qr-656aebdc-61
10.2.2.0
0.0.0.0
255.255.255.0 U
0 0
0 qr-8357d717-fa
172.24.4.224
0.0.0.0
255.255.255.240 U
0 0
0 qg-215b9b04-9e
l3-agent netns example (3/3)
(router2)
ubuntu@ostack02:~$ sudo ip netns exec qrouter-6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: qr-04c3c871-55: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode
DEFAULT qlen 1000
link/ether fa:16:3e:ef:af:b6 brd ff:ff:ff:ff:ff:ff
4: qr-1b1091ed-41: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode
DEFAULT qlen 1000
link/ether fa:16:3e:da:9e:50 brd ff:ff:ff:ff:ff:ff
ubuntu@ostack02:~$ sudo ip netns exec qrouter-6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 ip route
10.2.2.0/24 dev qr-1b1091ed-41 proto kernel scope link src 10.2.2.2
10.3.3.0/24 dev qr-04c3c871-55 proto kernel scope link src 10.3.3.1
20131011_openstack-neutron-vyattameeting

Weitere ähnliche Inhalte

Was ist angesagt?

OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介Takashi Sogabe
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019Takehiro Kudou
 
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-Takashi Sogabe
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...VirtualTech Japan Inc.
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料Etsuji Nakai
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?Naoto Gohko
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月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.
 
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
Openstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LTOpenstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LTNaoto Gohko
 
OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateHirofumi Ichihara
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet ServicesNaoto Gohko
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたTakashi Sogabe
 
OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門Dell TechCenter Japan
 
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI toolNaoto Gohko
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVRToru Makabe
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 

Was ist angesagt? (20)

OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
 
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019
 
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
Cumulus Linux 導入事例 -ネットワークをDevOpsに統合した、エンジニアが幸せになるインフラ運用手法のご紹介-
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
 
Openstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LTOpenstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LT
 
OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron Update
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
 
OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門OpenStack 向けネットワーク入門
OpenStack 向けネットワーク入門
 
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 

Ähnlich wie 20131011_openstack-neutron-vyattameeting

OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2Etsuji Nakai
 
OpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークOpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークM Hagiwara
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...VirtualTech Japan Inc.
 
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)Hirofumi Ichihara
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1Etsuji Nakai
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) VirtualTech Japan Inc.
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch UsecasesSakiko Kawai
 
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介Takeshi Take
 
JOSUG 34th Meetup
JOSUG 34th Meetup JOSUG 34th Meetup
JOSUG 34th Meetup irix_jp
 
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...Kenichiro MATOHARA
 
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.
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
 
OpenStack Kuryrについて
OpenStack KuryrについてOpenStack Kuryrについて
OpenStack Kuryrについてskipping classes
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlowToshiki Tsuboi
 
デバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボデバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボTakao Setaka
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Masaru Oki
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlowToshiki Tsuboi
 

Ähnlich wie 20131011_openstack-neutron-vyattameeting (20)

OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
 
OpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークOpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワーク
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
 
JOSUG 34th Meetup
JOSUG 34th Meetup JOSUG 34th Meetup
JOSUG 34th Meetup
 
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
 
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...
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
OpenStack Kuryrについて
OpenStack KuryrについてOpenStack Kuryrについて
OpenStack Kuryrについて
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlow
 
デバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボデバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボ
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
 
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 

Mehr von Akihiro Motoki

20190722 OpenStack community past present future
20190722 OpenStack community past present future20190722 OpenStack community past present future
20190722 OpenStack community past present futureAkihiro Motoki
 
20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStackAkihiro Motoki
 
20190118-josug-open stack-community-goals
20190118-josug-open stack-community-goals20190118-josug-open stack-community-goals
20190118-josug-open stack-community-goalsAkihiro Motoki
 
OpenStack Neutron IPv6 Lessons
OpenStack Neutron IPv6 LessonsOpenStack Neutron IPv6 Lessons
OpenStack Neutron IPv6 LessonsAkihiro Motoki
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Akihiro Motoki
 
20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in JapanAkihiro Motoki
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution HowtoAkihiro Motoki
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack QuantumAkihiro Motoki
 
Horizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyHorizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyAkihiro Motoki
 
Horizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyHorizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyAkihiro Motoki
 
Quantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringQuantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringAkihiro Motoki
 

Mehr von Akihiro Motoki (12)

20190722 OpenStack community past present future
20190722 OpenStack community past present future20190722 OpenStack community past present future
20190722 OpenStack community past present future
 
20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack
 
20190118-josug-open stack-community-goals
20190118-josug-open stack-community-goals20190118-josug-open stack-community-goals
20190118-josug-open stack-community-goals
 
OpenStack Neutron IPv6 Lessons
OpenStack Neutron IPv6 LessonsOpenStack Neutron IPv6 Lessons
OpenStack Neutron IPv6 Lessons
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?
 
20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution Howto
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum
 
Horizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyHorizon Quantum Integration grizzly
Horizon Quantum Integration grizzly
 
Horizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyHorizon quantum-integration-grizzly
Horizon quantum-integration-grizzly
 
Quantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringQuantum-grizzly-packet-filtering
Quantum-grizzly-packet-filtering
 

Kürzlich hochgeladen

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Kürzlich hochgeladen (9)

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

20131011_openstack-neutron-vyattameeting

  • 1. OpenStack の仮想ネットワーク ~Neutron の今~ Akihiro Motoki (@ritchey98) NEC / 日本 OpenStack ユーザー会 Oct 11st , 2013
  • 2. 自己紹介 • 元木 顕弘 (@ritchey98) – NEC 情報・ナレッジ研究所 – IPルータ、広域Ethernet装置、迷惑メールフィルタなど の開発をやっていました。 – ここ数年は、ネットワーク仮想化、OpenStack, OpenFlow 周りで活動しています。 • OpenStack Developer – Neutron and Horizon Core Developer – I18N team • Linux JM (日本語マニュアル) Project Maintainer
  • 3. OpenStack Networking (Neutron) • Network-as-a-Service (NaaS) を提供する – テナントが自由なネットワーク操作を提供 • 複数のプライベートなネットワークの作成 • IPアドレスの制御 – L2/L3 に限らず、さまざまなネットワークサービス の提供 • Neutron API – API は論理操作のみを定義。物理操作を分離。 – 物理操作は Neutron Plugin が行う
  • 4. OpenStack の仮想ネットワークモデル TenantA-VM1 10.0.0.2 TenantA-VM2 10.0.0.3 Tenant-A Net1 10.0.0.0/24 External Net 88.0.0.0/18 • • • • • TenantA-VM3 9.0.0.2 virtual server virtual interface (VIF) Tenant-A Net2 9.0.0.0/24 SNAT for external traffic Floating IP ネットワークの自由な作成 IP overlapping Tenant Networks 複数 NIC を持った VM の)作成 ルータ経由で Subnet 間通信 Floating IP での外部からの接続 (Elastic IP@AWS) virtual port L2 virtual network virtual subnet
  • 5. Network API の例 • • • API モデルは基本的に REST 一般ユーザー向けの API では、論理情報のみが見える 管理者権限であれば、物理情報を指定した操作も一部では定義。 GET http://localhost:9696/v2.0/networks/20b49737c718-4f10-8edc-7fe9f8ee7cfd GET http://localhost:9696/v2.0/networks/20b49737c718-4f10-8edc-7fe9f8ee7cfd { { } "network": { "admin_state_up": true, "id": "20b49737-c718-4f10-8edc-7fe9f8ee7cfd", "name": "net1", "router:external": false, "shared": false, "status": "ACTIVE", "subnets": [ "644f729f-1c86-48b3-91a2-761e29398e81" ], "tenant_id": "be11ce3cabc74ee68d4f22253ffbb5e8" } 一般ユーザー } "network": { "admin_state_up": true, "id": "20b49737-c718-4f10-8edc-7fe9f8ee7cfd", "name": "net1", "router:external": false, "shared": false, "status": "ACTIVE", "subnets": [ "644f729f-1c86-48b3-91a2-761e29398e81" ], "tenant_id": "be11ce3cabc74ee68d4f22253ffbb5e8", "provider:network_type": "vlan", "provider:physical_network": "physnet_1", "provider:segmentation_id": 201 } 管理者ユーザー
  • 6. Network Service Insertion Service Insertion Network 2 Network 1 External Network VPN Connection
  • 7. Neutron の基本構造 • API に対応して、物理操作を行う Plugin が存在 – Plugin を切り替えることで、様々なネットワーク技術を利用可能 – 複数のPlugin (Core + Service *N) が併存。一つのPluginで複数のAPIも対応可 • OpenStack の一部だが、Neutron 単体でも利用可能 – Neutron API を使うことで、特定のベンダーAPI に Lock-In されにくくなるかも Neutron API LBaaS API FWaaS API L3 API Compute API Neutron LBaaS Plugin FWaaS Plugin Nova L2 API Compute Node L2/L3 Plugin VM Agent XXX HAProxy Driver Agent L3 Agent Network Controller OpenFlow Controller など VM vSwitch HW Switch
  • 8. 仮想ルータの実現方法 • 現状の Neutron では 下線付きのものが存在 Network Namespace (l3-agent) – Linux Kernel の名前空間機能を利用 • Distributed Router – 仮想スイッチ、OpenFlow スイッチをコントローラで制御して実現 • Router as Service VM – 仮想ルータ単位に VM を用意する。通常の VM と同じ。 • VRF on normal router – いわゆるハードウェアルータで、複数の論理ルーティングテーブルがあるものを利用 VM net1 VM R net2 VM 分散ルータの例 ルータの振りをして nexthopのARPに応答 VM VM vSW 同じサブネットなら そのまま転送 Controller vSW VM VM
  • 9. L3-agent での仮想ルータ • Linux Kernel の機能を組み合わせて実現 – Network Namespace + iptables • Network Namespace (netns) – ネットワークのプロトコル・スタックを一つの OS 上に複数持つ仕組み。 IPアドレスや NW インタフェース等が分離した空間を複数構成可能。 – LXC などのコンテナ技術で発展 netns for router1 netns for router2 Routing + iptables Routing + iptables qg-xxx qr-yz1 qr-yz2 qr-zz1 qr-zz2 veth pair qg-xxx qr-yz1 qr-yz2 qr-zz1 Open vSwitch eth1 eth2 qr-zz2
  • 11. l3-agent netns example (1/3) ubuntu@ostack02:~$ ip netns qdhcp-07b6df1f-bb88-4cc5-8903-45c543143f9f qdhcp-373ed983-b2e9-4c6b-90f2-92c347302675 qrouter-6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 qrouter-b920913b-22ca-48ad-843b-e8ab78ae22a7 qdhcp-20b49737-c718-4f10-8edc-7fe9f8ee7cfd ubuntu@ostack02:~$ neutron router-list +--------------------------------------+---------+--------------------------------------------------------+ | id | name | external_gateway_info | +--------------------------------------+---------+--------------------------------------------------------+ | 6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 | router2 | null | | b920913b-22ca-48ad-843b-e8ab78ae22a7 | router1 | {"network_id": "e4ad0d48-d0ee-42f8-889b-72283fdd607f", | | | | "enable_snat": true} | +--------------------------------------+---------+--------------------------------------------------------+
  • 12. l3-agent netns example (2/3) (router1) ubuntu@ostack02:~$ sudo ip netns exec qrouter-b920913b-22ca-48ad-843b-e8ab78ae22a7 ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: qr-656aebdc-61: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether fa:16:3e:a2:1b:62 brd ff:ff:ff:ff:ff:ff 3: qg-215b9b04-9e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether fa:16:3e:f3:c9:4c brd ff:ff:ff:ff:ff:ff 4: qr-8357d717-fa: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether fa:16:3e:c9:c9:41 brd ff:ff:ff:ff:ff:ff ubuntu@ostack02:~$ sudo ip netns exec qrouter-b920913b-22ca-48ad-843b-e8ab78ae22a7 netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 172.24.4.225 0.0.0.0 UG 0 0 0 qg-215b9b04-9e 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-656aebdc-61 10.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-8357d717-fa 172.24.4.224 0.0.0.0 255.255.255.240 U 0 0 0 qg-215b9b04-9e
  • 13. l3-agent netns example (3/3) (router2) ubuntu@ostack02:~$ sudo ip netns exec qrouter-6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: qr-04c3c871-55: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether fa:16:3e:ef:af:b6 brd ff:ff:ff:ff:ff:ff 4: qr-1b1091ed-41: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether fa:16:3e:da:9e:50 brd ff:ff:ff:ff:ff:ff ubuntu@ostack02:~$ sudo ip netns exec qrouter-6ce6df1a-0eb8-4bf8-8ad6-fe6855d5e648 ip route 10.2.2.0/24 dev qr-1b1091ed-41 proto kernel scope link src 10.2.2.2 10.3.3.0/24 dev qr-04c3c871-55 proto kernel scope link src 10.3.3.1