What these projects have in common is trying to control the container’s networking configurations, thus to capture and inject network packets. 2015, Docker support the Multi-host Overlay Networking itself. A number of projects put their focus on this problem such as Calico, Flannel and Weave, and also since Nov. Unfortunately, this prevents Docker clusters from scale out to multiple hosts. Docker Multi-host Networking Introductionĭocker kicked off with a simple single-host networking from the very beginning. If you want to see the results directly, directly jump to the Conclusion chapter. This post provides a battlefiled for these 4 Docker multi-host network solutions, including features and performances.
Calico: A Solution of Multi-host Network For Docker.
You can see more details on how to install, config and tune features of them from previous posts:
When you create overlay network as mentioned in the swarm series, two network drivers are create The original L2 frame from c1 is passed to c2's eth0 interface and up to the listening application. * The packet arrives at the eth0 interface of host-B and is decapsulated by the overlay network driver. The physical network is responsible of routing or bridging the VXLAN packet to the correct host. That address becomes the destination address of the underlay IP header. The distributed overlay control plane manages the locations and state of each VXLAN tunnel endpoint so it knows that c2 resides on host-B at the physical address of 192.168.0.3. * The frame is encapsulated with a VXLAN header by the overlay network driver. * If this is the first time c1 has contacted c2, c1 issues an ARP request for c2, which is answered by the local operating system using an entry statically programmed by the local Docker Engine. * An overlay network is a L2 segment so c1 generates an L2 frame destined for the MAC address of c2. Since both containers are on the same overlay network the Docker Engine local DNS server resolves c2 to its overlay IP address 10.0.0.3. Here are the steps that take place when c1 sends c2 packets across their shared overlay network: * c1 does a DNS lookup for c2. In this diagram, the packet flow on an overlay network is shown.
How Packets flow through the Overlay Network Driver In this series lets try to understand concepts of the Docker Overlay Network Driver.Docker Swarm uses overlay networking to communicate between multiple Docker Hosts.Refer Here for Docker Swarm related info.