SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
DaoliNet
Lightweight and Simple
Networking for Docker
DaoliCloud Company
www.daolicloud.com
November, 2015
2
Docker is Awesome!
• A Linux Container Engine
• Highly efficient CPU virtualization, an X86 server can be
partitioned (virtualized) into thousands of Linux containers!
• Likely to become future cloud CPUs!
Docker Networking Question
3
• Every Docker host is created
independently, therefore containers
in different Docker hosts are not
connected one another by
default
• There are several Docker
networking offers, e.g., Weave,
Flannel, Libnetwork, Colico, etc.,
all seemingly require Docker hosts
to know containers in other hosts,
e.g., require containers to have
externally visible IP addresses
Containers: To know or not to know each other? That is the question.
Better NOT to know! Too complex to mind other people’s business!
To Know or Not to Know Each Other?
OpenFlow: Know your Controller is Enough
4
OpenFlow: from Clean Slate
Program at Stanford
University, for Software
Defined Network (SDN)
In Standardization by Open
Network Foundation (ONF)
Separation of control and
forwarding planes:
• Forwarding devices do not
know each other;
• Let a knowing-all Controller
tell forwarding devices
what to do, in real time of
communications
Network forwarding devices: they do not know each other
Knowing
everything
Controller
OpenFlow for Docker Networking
Keep it Simple!
5
Let Docker hosts not know each other, leave communications
open, and let a Controller tell Docker hosts how to forward
packets when containers start to communicate
DaoliNet: An Openflow Approach
6
Ubiquitously distributed Open-V-Switch in
Docker hosts: They will ask the Controller
what to do upon containers start talk
Connection of Trans-Docker-Host Containers
7
How it Works
What Controller can see from packet-in:
• src-mac = ID of communication
initiator (C1)
• dst-ip = ID of communication
responder (C2)
These IDs suffice Controller to judge
legitimacy of the connection request
Controller can also see
• src,dst ports (32-bits): src-port is
random, Controller can make use it
8
Controller can packet-out a NAT-out flow to OVS in Server1, and a NAT-in
flow in Server2: these two NATs are uniquely identified by src-port of C1
Hot-plug connection is lightweight, and very simple to manage!
9
Overlay Network No Packet Encapsulation
Overlay/underlay
packets L2/L3/L4
header data are
NAT translated
When a packet travels between a container and its Docker host,
src-ip, dst-ip are those of containers
The packet is an overlay packet
When a packet travels between two Docker hosts,
src-ip, dst-ip are NAT translated to those of the servers
The packet is NAT translated to underlay packet
These NAT translations are uniquely identified by src-port of the
communication initiator container, i.e., src-port of C1 (in slide 8)
Controller uses src-port of C1 to uniquely identify:
NAT-out flow for Server1
NAT-in flow for Server2
User-mode Connection of Overlay Network
Lightweight and Simple to Manage
2. Real-time configures
two OVSes letting them
co-work = hot-plug
1. Openflow Controller sees connection request
a, b: plug
a, c: unplug
b, c: plug
a, b: plug
a, c: unplug
b, c: plug
Controller only sees and handles the first packet as connection request
The remainder packets are shortcut directly between OVS servers
10
OVS OVS
Improved Cloud Security
• Physically distributed controllers are only deployed in intranet,
protected by firewalls
• SSL security protocol to protect (1) synchronization of network
metadata, and (2) packet-in and packet-out flows (Openflow
standard
• Overlay nodes can talk one another only if the Controller
packet-out flows, thus, ARP attack using a wrong MAC
address won’t work, even for containers in one Docker host
11
Lightweight and Simple
• NAT flows will be deleted from the flow table upon overtime of an
inactive network session, to release host resource
• OVS never memorizes MAC addresses of containers over other
OVS, no need of ARP flood, switching is purely enabled by
packet-out flow from Controller
• Controller only needs to record very few network metadata: MACs
and IPs of containers, MACs and IPs of Docker servers, and
security group information of containers
• No packet encapsulation, therefore no packet fragmentation
12
Overlay/underlay
packets L2/L3/L4
header data are
NAT translated
OVS on Every Docker Server: Completely
Distributed Switches, Routers and Gateways
• OVS in distributed Docker hosts form: vSwitch, vRouter,
vGateway, vFirewall for Docker networking
• Containers in different Docker hosts, if allowed to connect,
connect in layer 2
• Containers within the same Docker host: if not allowed to
connect, are isolated one another
• Containers have usual intranet IP subnets: 10.0.0/8,
172.16.0/16, 192.168.0/24, OVS forming distributed vRouters
forwarding between these subnets
• If a Docker host has external IP addresses, then OVS in the
host forms a vGateway, and vFirewall, for containers to
communicate with outside world
13
To Know More About DaoliNet
14
Open Source: github.com/daolinet (work in progress)
Demo System: www.daolicloud.com
DaoliNet: Lightweight and Simple Networking for Docker

Weitere ähnliche Inhalte

Was ist angesagt?

Designing scalable Docker networks
Designing scalable Docker networksDesigning scalable Docker networks
Designing scalable Docker networksMurat Mukhtarov
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker ContainersAttila Kanto
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on LinuxEtsuji Nakai
 
Pipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and DockerPipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and DockerJérôme Petazzoni
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksAdrien Blind
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATThomas Graf
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2Fei Ji Siao
 
LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSThomas Graf
 
Docker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-PlaneDocker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-PlaneMadhu Venugopal
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016Phil Estes
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep diveTrinath Somanchi
 
LF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitchLF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitchLF_OpenvSwitch
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouverMason Mei
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingLorisPack Project
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking OptionsScott Lowe
 

Was ist angesagt? (20)

Designing scalable Docker networks
Designing scalable Docker networksDesigning scalable Docker networks
Designing scalable Docker networks
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker Containers
 
How VXLAN works on Linux
How VXLAN works on LinuxHow VXLAN works on Linux
How VXLAN works on Linux
 
Pipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and DockerPipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and Docker
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NAT
 
Sdnds tw-meetup-2
Sdnds tw-meetup-2Sdnds tw-meetup-2
Sdnds tw-meetup-2
 
LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVS
 
Docker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-PlaneDocker summit : Docker Networking Control-plane & Data-Plane
Docker summit : Docker Networking Control-plane & Data-Plane
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
LF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitchLF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitch
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouver
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networking
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking Options
 
Open Dayligth usando SDN-NFV
Open Dayligth usando SDN-NFVOpen Dayligth usando SDN-NFV
Open Dayligth usando SDN-NFV
 
Docker network
Docker networkDocker network
Docker network
 

Ähnlich wie DaoliNet: Lightweight and Simple Networking for Docker

Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerJorge Juan Mendoza
 
Meetup docker using software defined networks
Meetup docker   using software defined networksMeetup docker   using software defined networks
Meetup docker using software defined networksOCTO Technology
 
Open stackaustinmeetupsept21
Open stackaustinmeetupsept21Open stackaustinmeetupsept21
Open stackaustinmeetupsept21Brent Doncaster
 
Overlay/Underlay - Betting on Container Networking
Overlay/Underlay - Betting on Container NetworkingOverlay/Underlay - Betting on Container Networking
Overlay/Underlay - Betting on Container NetworkingLee Calcote
 
Docker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarDocker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarNeependra Khare
 
Networking in Docker
Networking in DockerNetworking in Docker
Networking in DockerKnoldus Inc.
 
Network Design patters with Docker
Network Design patters with DockerNetwork Design patters with Docker
Network Design patters with DockerDaniel Finneran
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerHolger Winkelmann
 
Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18
Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18
Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18DaoliCloud Ltd
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingSreenivas Makam
 
OpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking ArchitectureOpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking ArchitectureRandy Bias
 
CV-Chapitre8 (2).pdf
CV-Chapitre8 (2).pdfCV-Chapitre8 (2).pdf
CV-Chapitre8 (2).pdfoumaimaziat1
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron InsightsAtul Pandey
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar
 

Ähnlich wie DaoliNet: Lightweight and Simple Networking for Docker (20)

Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
 
Meetup docker using software defined networks
Meetup docker   using software defined networksMeetup docker   using software defined networks
Meetup docker using software defined networks
 
Open stackaustinmeetupsept21
Open stackaustinmeetupsept21Open stackaustinmeetupsept21
Open stackaustinmeetupsept21
 
Overlay/Underlay - Betting on Container Networking
Overlay/Underlay - Betting on Container NetworkingOverlay/Underlay - Betting on Container Networking
Overlay/Underlay - Betting on Container Networking
 
Janus & docker: friends or foe
Janus & docker: friends or foe Janus & docker: friends or foe
Janus & docker: friends or foe
 
Docker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarDocker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman Kumar
 
Networking in Docker
Networking in DockerNetworking in Docker
Networking in Docker
 
Network Design patters with Docker
Network Design patters with DockerNetwork Design patters with Docker
Network Design patters with Docker
 
FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18
Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18
Connecting Docker for Cloud IaaS (Speech at CSDN-Oct18
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental Networking
 
OpenStack sdn
OpenStack sdnOpenStack sdn
OpenStack sdn
 
OpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking ArchitectureOpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking Architecture
 
CV-Chapitre8 (2).pdf
CV-Chapitre8 (2).pdfCV-Chapitre8 (2).pdf
CV-Chapitre8 (2).pdf
 
Kubernetes networks
Kubernetes networksKubernetes networks
Kubernetes networks
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron Insights
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar Leibovich
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
Demystfying container-networking
Demystfying container-networkingDemystfying container-networking
Demystfying container-networking
 

Kürzlich hochgeladen

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

DaoliNet: Lightweight and Simple Networking for Docker

  • 1. DaoliNet Lightweight and Simple Networking for Docker DaoliCloud Company www.daolicloud.com November, 2015
  • 2. 2 Docker is Awesome! • A Linux Container Engine • Highly efficient CPU virtualization, an X86 server can be partitioned (virtualized) into thousands of Linux containers! • Likely to become future cloud CPUs!
  • 3. Docker Networking Question 3 • Every Docker host is created independently, therefore containers in different Docker hosts are not connected one another by default • There are several Docker networking offers, e.g., Weave, Flannel, Libnetwork, Colico, etc., all seemingly require Docker hosts to know containers in other hosts, e.g., require containers to have externally visible IP addresses Containers: To know or not to know each other? That is the question. Better NOT to know! Too complex to mind other people’s business!
  • 4. To Know or Not to Know Each Other? OpenFlow: Know your Controller is Enough 4 OpenFlow: from Clean Slate Program at Stanford University, for Software Defined Network (SDN) In Standardization by Open Network Foundation (ONF) Separation of control and forwarding planes: • Forwarding devices do not know each other; • Let a knowing-all Controller tell forwarding devices what to do, in real time of communications Network forwarding devices: they do not know each other Knowing everything Controller
  • 5. OpenFlow for Docker Networking Keep it Simple! 5 Let Docker hosts not know each other, leave communications open, and let a Controller tell Docker hosts how to forward packets when containers start to communicate
  • 6. DaoliNet: An Openflow Approach 6 Ubiquitously distributed Open-V-Switch in Docker hosts: They will ask the Controller what to do upon containers start talk
  • 8. How it Works What Controller can see from packet-in: • src-mac = ID of communication initiator (C1) • dst-ip = ID of communication responder (C2) These IDs suffice Controller to judge legitimacy of the connection request Controller can also see • src,dst ports (32-bits): src-port is random, Controller can make use it 8 Controller can packet-out a NAT-out flow to OVS in Server1, and a NAT-in flow in Server2: these two NATs are uniquely identified by src-port of C1 Hot-plug connection is lightweight, and very simple to manage!
  • 9. 9 Overlay Network No Packet Encapsulation Overlay/underlay packets L2/L3/L4 header data are NAT translated When a packet travels between a container and its Docker host, src-ip, dst-ip are those of containers The packet is an overlay packet When a packet travels between two Docker hosts, src-ip, dst-ip are NAT translated to those of the servers The packet is NAT translated to underlay packet These NAT translations are uniquely identified by src-port of the communication initiator container, i.e., src-port of C1 (in slide 8) Controller uses src-port of C1 to uniquely identify: NAT-out flow for Server1 NAT-in flow for Server2
  • 10. User-mode Connection of Overlay Network Lightweight and Simple to Manage 2. Real-time configures two OVSes letting them co-work = hot-plug 1. Openflow Controller sees connection request a, b: plug a, c: unplug b, c: plug a, b: plug a, c: unplug b, c: plug Controller only sees and handles the first packet as connection request The remainder packets are shortcut directly between OVS servers 10 OVS OVS
  • 11. Improved Cloud Security • Physically distributed controllers are only deployed in intranet, protected by firewalls • SSL security protocol to protect (1) synchronization of network metadata, and (2) packet-in and packet-out flows (Openflow standard • Overlay nodes can talk one another only if the Controller packet-out flows, thus, ARP attack using a wrong MAC address won’t work, even for containers in one Docker host 11
  • 12. Lightweight and Simple • NAT flows will be deleted from the flow table upon overtime of an inactive network session, to release host resource • OVS never memorizes MAC addresses of containers over other OVS, no need of ARP flood, switching is purely enabled by packet-out flow from Controller • Controller only needs to record very few network metadata: MACs and IPs of containers, MACs and IPs of Docker servers, and security group information of containers • No packet encapsulation, therefore no packet fragmentation 12 Overlay/underlay packets L2/L3/L4 header data are NAT translated
  • 13. OVS on Every Docker Server: Completely Distributed Switches, Routers and Gateways • OVS in distributed Docker hosts form: vSwitch, vRouter, vGateway, vFirewall for Docker networking • Containers in different Docker hosts, if allowed to connect, connect in layer 2 • Containers within the same Docker host: if not allowed to connect, are isolated one another • Containers have usual intranet IP subnets: 10.0.0/8, 172.16.0/16, 192.168.0/24, OVS forming distributed vRouters forwarding between these subnets • If a Docker host has external IP addresses, then OVS in the host forms a vGateway, and vFirewall, for containers to communicate with outside world 13
  • 14. To Know More About DaoliNet 14 Open Source: github.com/daolinet (work in progress) Demo System: www.daolicloud.com