Fully Scalable Networking with MidoNet

Post on 11-Feb-2017

273 views 0 download

transcript

Fully Scalable Networking with MidoNet

Sandro MathysCommunity Manager

Sandro Mathys

⚫ Swiss but living in Tokyo, Japan⚫ MidoNet Community Manager at Midokura⚫ Former Linux Systems Engineer⚫ Long standing contributor to Fedora & RDO⚫ Twitter / IRC: red_trela, Slack: red⚫ E-Mail: sandro@midokura.com

Agenda

1. Self Introduction2. Open vSwitch vs MidoNet3. MidoNet Advantages4. Understanding MidoNet5. MidoNet Community

Open vSwitchvs MidoNet

Neutron Plugin Comparison

Neutron Open vSwitch (OVS) Plugin Architecture

MidoNet (MN) Architecture

OVS: Centralized Controller Model (I)

MN: Distributed Controller Model

OVS: Centralized Controller Model (II)

MN: Distributed Edge Model

OVS: Active / Standby Gateway Model

MN: Fully Distributed Gateway Model

MidoNet Advantages

Overview

Distributed Networking Services

⚫ Logical Switching⚫ Logical Routing⚫ Logical Firewall⚫ Logical Layer 4 Load Balancer⚫ MidoNet API

Distributed Controller

⚫ Resiliency: No Single Point of Failure (SPOF)⚫ Scalability: Fully Distributed Architecture⚫ Performance: Single Virtual Hop

Distributed Architecture

⚫ SDN intelligence at edges⚫ Resource usage at edge⚫ Grows with the cloud⚫ Fully Distributed Gateways

⚪ L3 GW: Multiple BGP Border Nodes⚪ L2 GW: Multiple HW VXLAN Tunnel End-Points

(VTEP)

Additional Features

⚫ Only L3 connectivity required⚫ Firewall bound to each vPort

⚪ Filtered before reaching physical network⚫ Docker Networking via nova-docker⚫ Puppet Modules (others upcoming)⚫ Apache License 2.0⚫ many many more...

Understanding MidoNet

MidoNet 101

MidoNet Topology

Gatew

ay

Physical Topology (Underlay)

ExistingInfrastructure

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Physical Topology (Underlay)

ExistingInfrastructure

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

MidoN

etG

ateway

Gatew

ay

MidoN

etG

ateway

Physical Topology (Underlay)

ExistingInfrastructure

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Net

wor

kSt

ate

Dat

abas

e

ExternalNetwork

Virtual Topology (Overlay)

Virtual Topology (Overlay)

ProviderRouter

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

TenantNetwork

10.0.0.0/24(subnet)

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

TenantNetwork

10.0.0.0/24(subnet)

NAT: 10.0.0.0/24<-> external

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

TenantNetwork

10.0.0.1

10.0.0.0/24(subnet)

NAT: 10.0.0.0/24<-> external

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

TenantNetwork

10.0.0.1

10.0.0.0/24(subnet)

NAT: 10.0.0.0/24<-> external

ExternalNetwork

Virtual Topology (Overlay)

ProviderRouter

TenantRouter

TenantNetwork

10.0.0.310.0.0.2

10.0.0.1

10.0.0.0/24(subnet)

NAT: 10.0.0.0/24<-> external

ExternalNetwork

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

ProviderRouter

TenantRouter

TenantNetwork

10.0.0.310.0.0.2

10.0.0.1

10.0.0.0/24(subnet)

NAT: 10.0.0.0/24<-> external

ExternalNetwork

Virtual Topology Stored in NSDB

Let’s send a package from VM1 to VM2

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

Let’s send a package from VM1 to VM2

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Query Topology, Simulate Data Flow

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Establish Tunnel & Route Packet

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Establish Tunnel & Route Packet

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Establish Tunnel & Route Packet

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Establish Tunnel & Route Packet

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Establish Tunnel & Route Packet

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Subsequent Packages Travel Near Line-Speed

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Subsequent Packages Travel Near Line-Speed

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Same for Traffic to/from External Network

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Same for Traffic to/from External Network

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Same for Traffic to/from External Network

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Same for Traffic to/from External Network

ProviderRouter

TenantRouter

TenantNetwork

ExternalNetwork

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Same for Traffic to/from External Network

ExistingInfrastructure

MidoN

etG

atewayN

etw

ork

Stat

eD

atab

ase

Exis

ting

Infr

astr

uctu

re

ExternalNetwork

Same for Traffic to/from External Network

MidoNet Community

Join us to find out more!

Mission

The MidoNet Community strives to create the best (vendor neutral) SDN solution available, and for MidoNet to become the default networking plugin in OpenStack and Docker.

Learn More

⚫ Homepage: http://www.midonet.org/⚫ Documentation: http://doc.midonet.org/⚫ Wiki: http://wiki.midonet.org/⚫ Blog: http://blog.midonet.org/⚫ Planet: http://planet.midonet.org/

Communication

⚫ Slack: https://slack.midonet.org/⚫ Mailing Lists: https://lists.midonet.org/⚫ Ask: https://ask.midonet.org/⚫ Twitter: @midonet

Questions?ask.midonet.org