SlideShare a Scribd company logo
One Network To Rule Them All:
Open, Scalable & Integrated Networking
for Containers and VMs
Phil Estes <estesp@us.ibm.com> @estesp
Kyle Mestery <mestery@us.ibm.com> @mestery
Container Introduction
Mount
IPC
Network
User
UTS
PID
“Containers are a lie we tell a process.” - Mark Shuttleworth
Why Containers?
● Extremely lightweight (only a
Linux process)
● Fast startup (process start + small
overhead for containment setup)
● Container ecosystem has created
simple and standard packaging
model for applications
● Great fit with current
development and cloud-era
initiatives: a) CI/CD; b)
microservice architectures
Container Introduction: Networking
> There is no such thing as (Linux) container networking!
You may create a new network namespace in Linux.
• Processes in this network namespace will have a unique list of network
interfaces
• This namespace will have its own routing table
• Methods for creating, connecting and routing these virtual interfaces is up
to the implementor of the container runtime.
• Many runtimes default to using a Linux bridge with virtual ethernet pairs
assigned to the container network namespace; this is the original Docker
default networking style
What Is Software Defined Networking?
Fundamentally, it’s about:
• Operational scale
• Agility and speed
• Moving complexity from HW to SW
Software-defined networking (SDN) is an umbrella term
encompassing several kinds of network technology aimed at
making the network as agile and flexible as the virtualized server
and storage infrastructure of the modern data center.”
Neutron Abstractions
Virtual Machine
(or container)
Virtual Interface (VIF)
Virtual Port
Virtual Network
Virtual Subnet
net1
10.10.10.0/24
vm1
IP: 10.10.10.100
vm2
IP: 10.10.10.200
...You Can Then Build This:
Public Network
10.50.50.0/24
Tenant A
net1
192.168.1.0/0
Tenant A
net2
192.168.5.0/0
A-vm1
IP: 192.168.1.5
A-vm2
IP: 192.168.1.5
IP: 192.168.5.2
A-vm3
IP: 192.168.5.9
Tenant B
net1
192.168.1.0/0
Tenant B
net2
192.168.9.0/0
B-vm1
IP: 192.168.1.3
B-vm2
IP: 192.168.1.5
IP: 192.168.9.3
B-vm3
IP: 192.168.9.7
Open vSwitch 101
• Open vSwitch is a virtual switch
which runs on a host or hypervisor
• Open vSwitch is composed of:
• Linux Kernel module
• ovs-vswitchd daemon
• ovsdb-server daemon
Open vSwitch
Open Virtual Networking 101
• OVN is a virtual networking system which:
• manages Open vSwitch across a cluster of hosts
• integrates with a cloud management system (CMS)
• OVN adds the following components to an OVS
environment:
• ovn-northd daemon
• Central ovsdb-server with OVN NB and SB databases
• ovn-controller daemon on each host in the cluster
OVN
(Open Virtual Network)
OVN Architecture
ovn-northd
Hypervisor-1
ovn-controller
ovs-vswitchd ovsdb-server
Hypervisor-2
ovn-controller
ovs-vswitchd ovsdb-server
OVN Northbound DB
OVN Southbound DB
OpenStack
Plugin
Current Ecosystem: Containers & Networking
There is more than one model for Linux container networking:
> Container Network Interface (CNI)
• Developed via CoreOS appc project; used by K8s, rkt, others
> Container Network Model (CNM)
• Developed by Socketplane team; acquired by Docker
• libnetwork is an implementation of CNM
• Project Kuryr supports CNM by way of implementing a libnetwork
plugin
Ecosystem Players: Container Networking
Growing list of ecosystem players for container networking
Docker has enabled pluggability at
several layers in the engine:
storage, networking, authorization,
layer (graph) store
Several 3rd party networking
plugins available for libnetwork
Project Calico
Weave.works
OVN
(Open Virtual Network)
Container Networking: libnetwork
Network Sandbox
Endpoint
Network Sandbox
Endpoint
Network Sandbox
Endpoint
Frontend Network
Endpoint
Backend Network
Project Kuryr: Docker Networking for Neutron
● Our required network plugin for Docker’s libnetwork
API translation to Neutron is found in Project Kuryr
● Kuryr is a Docker network plugin that utilizes the
Neutron API to:
○ Provide network services to Docker containers
and will provide containerized images for common
Neutron network plugins
https://github.com/openstack/kuryr
Docker Engine
Kuryr
Neutron
libnetwork
Kuryr: Docker to Neutron Mapping
Sandbox
Network
Endpoint
Neutron Network
Neutron Port
Neutron Subnet
plug() and unplug()
requires code for different vif
types: OVS, LB, ...
Network
Endpoint
IPAM
Join/Leave
Advantages of Kuryr
• Use your existing OpenStack Neutron networking layer!
• Tie together your VMs and containers (and bare metal with
Ironic!) into the same virtual networking layer!
IBM Bluemix: Built on Open (Networking)
● Bluemix container service runs on
OpenStack
○ Neutron provides networking layer to
Docker containers
● Next-generation container service
implementation using Kuryr
○ Will allow unified networking across
containers, VMs, and bare metal
○ Continue to exploit underlayer of
Neutron + OVS / OVN improvements
Demo
Demo Components:
• Docker (1.10.3)
• Kuryr (Newton)
• Neutron (Newton)
• OVN (from master)
Awesome! Questions?

More Related Content

PPTX
Docker networking
PDF
Unikernels: the rise of the library hypervisor in MirageOS
PPTX
Docker summit : Docker Networking Control-plane & Data-Plane
PPTX
Docker networking tutorial 102
PDF
Docker: the road ahead
PDF
How Networking works with Data Science
PDF
Secure Containers with EPT Isolation
PPTX
Docker Online Meetup #29: Docker Networking is Now GA
Docker networking
Unikernels: the rise of the library hypervisor in MirageOS
Docker summit : Docker Networking Control-plane & Data-Plane
Docker networking tutorial 102
Docker: the road ahead
How Networking works with Data Science
Secure Containers with EPT Isolation
Docker Online Meetup #29: Docker Networking is Now GA

What's hot (20)

PDF
An Updated Performance Comparison of Virtual Machines and Linux Containers
PDF
Docker 1.12 networking deep dive
PDF
Container Orchestration Integration: OpenStack Kuryr
PDF
Open vSwitch Introduction
PDF
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
PDF
Control Your Network ASICs, What Benefits switchdev Can Bring Us
PPTX
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
PDF
OpenStack Neutron Tutorial
PDF
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
PPTX
Global Operations with Docker Enterprise
PPTX
Docker meetup
PPTX
Docker Networking Overview
PDF
Open stack networking vlan, gre
PPTX
Neutron behind the scenes
PDF
Linux Tag 2014 OpenStack Networking
PDF
Docker Multihost Networking
PDF
The Open vSwitch and OVN Projects
PDF
Status of Embedded Linux
PPTX
OVN - Basics and deep dive
An Updated Performance Comparison of Virtual Machines and Linux Containers
Docker 1.12 networking deep dive
Container Orchestration Integration: OpenStack Kuryr
Open vSwitch Introduction
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Control Your Network ASICs, What Benefits switchdev Can Bring Us
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
OpenStack Neutron Tutorial
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Global Operations with Docker Enterprise
Docker meetup
Docker Networking Overview
Open stack networking vlan, gre
Neutron behind the scenes
Linux Tag 2014 OpenStack Networking
Docker Multihost Networking
The Open vSwitch and OVN Projects
Status of Embedded Linux
OVN - Basics and deep dive
Ad

Viewers also liked (11)

PDF
OVN Basic Live Broadcast (1)
PPTX
Neutron upgrades
PDF
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
PDF
Open Source Cloud alternatives
PDF
Anatomy of neutron from the eagle eyes of troubelshoorters
PDF
NFV for beginners
PPTX
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
PPT
MPLS SDN NFV WORLD'17 - SDN NFV deployment update
PDF
Introduction to Software Defined Networking (SDN)
PDF
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
PPTX
Introduction to OpenFlow, SDN and NFV
OVN Basic Live Broadcast (1)
Neutron upgrades
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Open Source Cloud alternatives
Anatomy of neutron from the eagle eyes of troubelshoorters
NFV for beginners
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
MPLS SDN NFV WORLD'17 - SDN NFV deployment update
Introduction to Software Defined Networking (SDN)
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
Introduction to OpenFlow, SDN and NFV
Ad

Similar to "One network to rule them all" - OpenStack Summit Austin 2016 (20)

PDF
KubernetesNetworkingAndImplementation-Lecture.pdf
PPTX
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
PPTX
OpenStack Israel Meetup - Project Kuryr: Bringing Container Networking to Neu...
PDF
OpenStack Tokyo 2015: Connecting the Dots with Neutron
PDF
Conatiner Networking with MidoNet
PPTX
Container world hybridnetworking_rev2
PPTX
COE Integration - OPNFV
PPTX
Optimising nfv service chains on open stack using docker
PPTX
Optimising nfv service chains on open stack using docker
PPTX
Optimising nfv service chains on open stack using docker
PDF
DockerCon SF 2015: Networking Breakout
PDF
Networking in Docker
PDF
Docker meetup talk - chicago March 2014
PDF
Container Networking Deep Dive
PDF
Demystfying container-networking
PPTX
Meetup docker using software defined networks
PPTX
Docker networking basics & coupling with Software Defined Networks
PPTX
Networking in Docker Containers
PDF
Kuryr & Fuxi: OpenStack networking and storage for Docker Swarm containers
PDF
Docker Online Meetup #22: Docker Networking
KubernetesNetworkingAndImplementation-Lecture.pdf
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
OpenStack Israel Meetup - Project Kuryr: Bringing Container Networking to Neu...
OpenStack Tokyo 2015: Connecting the Dots with Neutron
Conatiner Networking with MidoNet
Container world hybridnetworking_rev2
COE Integration - OPNFV
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
DockerCon SF 2015: Networking Breakout
Networking in Docker
Docker meetup talk - chicago March 2014
Container Networking Deep Dive
Demystfying container-networking
Meetup docker using software defined networks
Docker networking basics & coupling with Software Defined Networks
Networking in Docker Containers
Kuryr & Fuxi: OpenStack networking and storage for Docker Swarm containers
Docker Online Meetup #22: Docker Networking

More from Phil Estes (20)

PDF
Enabling Security via Container Runtimes
PDF
Extended and embedding: containerd update & project use cases
PDF
Cloud Native TLV Meetup: Securing Containerized Applications Primer
PDF
Securing Containerized Applications: A Primer
PDF
Securing Containerized Applications: A Primer
PDF
Let's Try Every CRI Runtime Available for Kubernetes
PDF
CraftConf 2019: CRI Runtimes Deep Dive: Who Is Running My Pod?
PDF
JAX Con 2019: Containers. Microservices. Cloud. Open Source. Fantasy or Reali...
PDF
Giving Back to Upstream | DockerCon 2019
PDF
What's Running My Containers? A review of runtimes and standards.
PDF
Docker London Meetup: Docker Engine Evolution
PDF
FOSDEM 2019: A containerd Project Update
PDF
CRI Runtimes Deep-Dive: Who's Running My Pod!?
PDF
Docker Athens: Docker Engine Evolution & Containerd Use Cases
PDF
It's 2018. Are My Containers Secure Yet!?
PDF
Docker Engine Evolution: From Monolith to Discrete Components
PDF
An Open Source Story: Open Containers & Open Communities
PDF
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
PDF
Containerd Project Update: FOSDEM 2018
PDF
Embedding Containerd For Fun and Profit
Enabling Security via Container Runtimes
Extended and embedding: containerd update & project use cases
Cloud Native TLV Meetup: Securing Containerized Applications Primer
Securing Containerized Applications: A Primer
Securing Containerized Applications: A Primer
Let's Try Every CRI Runtime Available for Kubernetes
CraftConf 2019: CRI Runtimes Deep Dive: Who Is Running My Pod?
JAX Con 2019: Containers. Microservices. Cloud. Open Source. Fantasy or Reali...
Giving Back to Upstream | DockerCon 2019
What's Running My Containers? A review of runtimes and standards.
Docker London Meetup: Docker Engine Evolution
FOSDEM 2019: A containerd Project Update
CRI Runtimes Deep-Dive: Who's Running My Pod!?
Docker Athens: Docker Engine Evolution & Containerd Use Cases
It's 2018. Are My Containers Secure Yet!?
Docker Engine Evolution: From Monolith to Discrete Components
An Open Source Story: Open Containers & Open Communities
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Containerd Project Update: FOSDEM 2018
Embedding Containerd For Fun and Profit

Recently uploaded (20)

PPTX
Introduction to Artificial Intelligence
PDF
Digital Strategies for Manufacturing Companies
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
top salesforce developer skills in 2025.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
history of c programming in notes for students .pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPT
Introduction Database Management System for Course Database
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Introduction to Artificial Intelligence
Digital Strategies for Manufacturing Companies
Upgrade and Innovation Strategies for SAP ERP Customers
top salesforce developer skills in 2025.pdf
Operating system designcfffgfgggggggvggggggggg
VVF-Customer-Presentation2025-Ver1.9.pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Online Work Permit System for Fast Permit Processing
Navsoft: AI-Powered Business Solutions & Custom Software Development
How to Choose the Right IT Partner for Your Business in Malaysia
PTS Company Brochure 2025 (1).pdf.......
history of c programming in notes for students .pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
ISO 45001 Occupational Health and Safety Management System
Understanding Forklifts - TECH EHS Solution
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Introduction Database Management System for Course Database
CHAPTER 2 - PM Management and IT Context
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...

"One network to rule them all" - OpenStack Summit Austin 2016

  • 1. One Network To Rule Them All: Open, Scalable & Integrated Networking for Containers and VMs Phil Estes <estesp@us.ibm.com> @estesp Kyle Mestery <mestery@us.ibm.com> @mestery
  • 2. Container Introduction Mount IPC Network User UTS PID “Containers are a lie we tell a process.” - Mark Shuttleworth Why Containers? ● Extremely lightweight (only a Linux process) ● Fast startup (process start + small overhead for containment setup) ● Container ecosystem has created simple and standard packaging model for applications ● Great fit with current development and cloud-era initiatives: a) CI/CD; b) microservice architectures
  • 3. Container Introduction: Networking > There is no such thing as (Linux) container networking! You may create a new network namespace in Linux. • Processes in this network namespace will have a unique list of network interfaces • This namespace will have its own routing table • Methods for creating, connecting and routing these virtual interfaces is up to the implementor of the container runtime. • Many runtimes default to using a Linux bridge with virtual ethernet pairs assigned to the container network namespace; this is the original Docker default networking style
  • 4. What Is Software Defined Networking? Fundamentally, it’s about: • Operational scale • Agility and speed • Moving complexity from HW to SW Software-defined networking (SDN) is an umbrella term encompassing several kinds of network technology aimed at making the network as agile and flexible as the virtualized server and storage infrastructure of the modern data center.”
  • 5. Neutron Abstractions Virtual Machine (or container) Virtual Interface (VIF) Virtual Port Virtual Network Virtual Subnet net1 10.10.10.0/24 vm1 IP: 10.10.10.100 vm2 IP: 10.10.10.200
  • 6. ...You Can Then Build This: Public Network 10.50.50.0/24 Tenant A net1 192.168.1.0/0 Tenant A net2 192.168.5.0/0 A-vm1 IP: 192.168.1.5 A-vm2 IP: 192.168.1.5 IP: 192.168.5.2 A-vm3 IP: 192.168.5.9 Tenant B net1 192.168.1.0/0 Tenant B net2 192.168.9.0/0 B-vm1 IP: 192.168.1.3 B-vm2 IP: 192.168.1.5 IP: 192.168.9.3 B-vm3 IP: 192.168.9.7
  • 7. Open vSwitch 101 • Open vSwitch is a virtual switch which runs on a host or hypervisor • Open vSwitch is composed of: • Linux Kernel module • ovs-vswitchd daemon • ovsdb-server daemon Open vSwitch
  • 8. Open Virtual Networking 101 • OVN is a virtual networking system which: • manages Open vSwitch across a cluster of hosts • integrates with a cloud management system (CMS) • OVN adds the following components to an OVS environment: • ovn-northd daemon • Central ovsdb-server with OVN NB and SB databases • ovn-controller daemon on each host in the cluster OVN (Open Virtual Network)
  • 10. Current Ecosystem: Containers & Networking There is more than one model for Linux container networking: > Container Network Interface (CNI) • Developed via CoreOS appc project; used by K8s, rkt, others > Container Network Model (CNM) • Developed by Socketplane team; acquired by Docker • libnetwork is an implementation of CNM • Project Kuryr supports CNM by way of implementing a libnetwork plugin
  • 11. Ecosystem Players: Container Networking Growing list of ecosystem players for container networking Docker has enabled pluggability at several layers in the engine: storage, networking, authorization, layer (graph) store Several 3rd party networking plugins available for libnetwork Project Calico Weave.works OVN (Open Virtual Network)
  • 12. Container Networking: libnetwork Network Sandbox Endpoint Network Sandbox Endpoint Network Sandbox Endpoint Frontend Network Endpoint Backend Network
  • 13. Project Kuryr: Docker Networking for Neutron ● Our required network plugin for Docker’s libnetwork API translation to Neutron is found in Project Kuryr ● Kuryr is a Docker network plugin that utilizes the Neutron API to: ○ Provide network services to Docker containers and will provide containerized images for common Neutron network plugins https://github.com/openstack/kuryr Docker Engine Kuryr Neutron libnetwork
  • 14. Kuryr: Docker to Neutron Mapping Sandbox Network Endpoint Neutron Network Neutron Port Neutron Subnet plug() and unplug() requires code for different vif types: OVS, LB, ... Network Endpoint IPAM Join/Leave
  • 15. Advantages of Kuryr • Use your existing OpenStack Neutron networking layer! • Tie together your VMs and containers (and bare metal with Ironic!) into the same virtual networking layer!
  • 16. IBM Bluemix: Built on Open (Networking) ● Bluemix container service runs on OpenStack ○ Neutron provides networking layer to Docker containers ● Next-generation container service implementation using Kuryr ○ Will allow unified networking across containers, VMs, and bare metal ○ Continue to exploit underlayer of Neutron + OVS / OVN improvements
  • 17. Demo Demo Components: • Docker (1.10.3) • Kuryr (Newton) • Neutron (Newton) • OVN (from master)