17
MidoNet 10 min Cooking 20131011ミドクラジャパン株式会社 @r_takashima

VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Embed Size (px)

Citation preview

Page 1: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

MidoNet 10 min Cooking

2013年10月11日 ミドクラジャパン株式会社

@r_takashima

Page 2: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

2 Photo Credit: sirwiseowl via Compfight cc

転職しました!

Page 3: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

3

What’s “MidoNet”?

Photo Credit: Micky Aldridge via flickr cc

Page 4: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

FAQ

4

SDN 製品ってきいたんだけど…

あ、OpenFlow とか?

”No” ではないけど “Yes” とも答え辛い…

過去に使ってたこともあるらしい…

Page 5: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

Answer

5

MidoNet は、 Server-side Edge Overlay な IaaS 向けのネットワークスタック です

Page 6: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

Server-side Edge overlay ?

6

概念図

Virtual Switch VM VM VM

Virtual Switch VM VM VM

Virtual Switch VM VM VM

Virtual Switch VM VM VM

Virtual Switch VM VM VM

Virtual Switch VM VM VM

Physical Network

Ø  NVGRE, VXLAN 等、IP based tunneling を利用 Ø  Underlay Network は IP Reachability さえあれば良い

Ø  どうエッジに情報を同期するかが結構ミソ

Page 7: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

どんな実装?

7 Photo Credit: [martin] via Compfight cc

Page 8: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

Summary

8

VM

Upstream ISP vP

ort

vPor

t

vPor

t

vPor

t

VM VM

vPor

t

vPor

t

VM VM

vPor

t

Tenant A Router

Tenant A Bridge 1

Tenant A Bridge 2

Tenant B Bridge 1

Tenant B Router

The Internet

よくある IaaS の論理トポロジ

BGP uplink

Provider Router

Upstream ISP

The Internet

VM

MidoNet

Compute Node VM

MidoNet

Compute Node VM

MidoNet

Compute Node

MidoNet

Gateway Node

MidoNet

Gateway Node

Back-end Network Network

State Node

NW State DB NW State

DB NW State DB

MidoNet の物理トポロジ

BGP uplink

API Node

Cloud Mgmt System

Only requirement is

an IP reachability!

個々のNW機器ではなく、論理トポロジ全体をエミュ

レート

Page 9: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

MidoNet Implementation Deep-dive

9

Upstream ISP

The Internet

VM

MidoNet

Compute Node VM

MidoNet

Compute Node VM

MidoNet

Compute Node

MidoNet

Gateway Node

MidoNet

Gateway Node

Back-end Network Network

State Node

NW State DB NW State

DB NW State DB

MidoNet のコンポーネント

BGP uplink

API Node

Cloud Mgmt System

ホストOS上のOVS kernel module Data path

ホストOSで動作するプロセス。 NSDBからオンデマンドで必要な情報をダウンロードしトポロジエミュレーションを実施。 結果を Data path にプログラミング。

Agent

Zookeeper, Cassandra. トポロジ情報の保持、IP-MAC table、接続ホスト情報等の全体情報を持つ 「コントローラ」ではなく「データベース」。プッシュ配信を極力行わない

NSDB

Page 10: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

How does it work ? / For 1st packet

10

Upstream ISP

The Internet

VM

MidoNet

Compute Node VM

MidoNet

Compute Node VM

MidoNet

Compute Node

MidoNet

Gateway Node

MidoNet

Gateway Node

Back-end Network Network

State Node

NW State DB NW State

DB NW State DB

BGP uplink

API Node

Cloud Mgmt System

VM sends packet and OVS receives it. 11

If OVS doesn’t has an entry matches with the packet, then

22

11

MidoNet Agent checks local topology data. If it doesn’t have enough data for it, then

33

33

33

44

MidoNet Agent downloads information that is necessary for topology emulation of the packet.

44

44

Page 11: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

How does it work ? / For 1st packet

11

Upstream ISP

The Internet

VM

MidoNet

Compute Node VM

MidoNet

Compute Node VM

MidoNet

Compute Node

MidoNet

Gateway Node

MidoNet

Gateway Node

Back-end Network Network

State Node

NW State DB NW State

DB NW State DB

BGP uplink

API Node

Cloud Mgmt System

MidoNet Agent simulates the topology and programs local OVS data-path according to the result.

55

Local OVS modifies header, encapsulates GRE and forwards it.

66

55

Remote OVS decaps GRE and forwards it to destination VM.

77

66

77

Page 12: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

何がうれしいの? 12

Page 13: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

1. East-West トラフィックの最適化

13

従来のVirtual Router

Upstream ISP Upstream ISP

Back-end Network

Upstream ISP Upstream ISP

Back-end Network

Network機器をVMとしてエミュレーション Network Topology全体をエミュレーション

MidoNet

Drop Drop Drop

Drop

Ingressでのトポロジエミュレートにより、目的地となるホストに直接転送する為、”行って来い” が発生しない

Page 14: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

2. ボトルネックとなるルータVMの排除

14

Upstream ISP Upstream ISP

Back-end Network

トポロジエミュレーションによりエッジで分散処理する為、ルータVMが存在しない

各MidoNet Agent が IP-MAC対応表を持ち、同一ホスト内VMからのARPに代理応答

VMではなく、ホストOSでのフォワーディング処理

Page 15: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

3. スケーラビリティ

15

Upstream ISP

VM

MidoNet

Compute Node VM

MidoNet

Compute Node VM

MidoNet

Compute Node

MidoNet

Gateway Node

MidoNet

Gateway Node

Back-end Network Network

State Node

NW State DB NW State

DB NW State DB

BGP uplink

Cloud Mgmt System

API Node

VLANを利用しないトポロジエミュレーションの為、4,096 の壁に制限されずスケールアウトが可能

全体のMAC table は分散DB上に格納される為、スケールアウト可能

各サーバのデータパスにプログラミングされるものは収容するVMの通信のみ

Page 16: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

Copyright ©2013 Midokura All rights reserved

4. Underlay Network の簡易性

16

Upstream ISP

VM

MidoNet

Compute Node VM

MidoNet

Compute Node VM

MidoNet

Compute Node

MidoNet

Gateway Node

MidoNet

Gateway Node

Back-end Network Network

State Node

NW State DB NW State

DB NW State DB

BGP uplink

Cloud Mgmt System

API Node

各 MidoNet Agent 間通信は GRE で���カプセル化 → IP Reachability さえあればよい → IGP を用いた L3 スケールアウト ��� が利用可能

Page 17: VYATTA USERS MEETING Autumn 2013 / MidoNet tech deep-dive by Midokura

17

Thank you!