SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
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.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
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
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
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
 
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
 
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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 

Dernier (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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 ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
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
 
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 🔝✔️✔️
 
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
 
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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 

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