The concept of container networking aims to standardize and optimize container data flows. Container networks create insulated zones to make it possible for multiple containers to communicate simultaneously and independently in an efficient manner.
What is container networking?
Container networking enables containers to communicate with other containers or host and share their resources, data and applications. There are two main options when an application is run in a container:
- The application can be run in the host network namespace: This is a normal network, and if you run a program on port X, it will run on port X on the computer.
- The application can be run in its own network namespace: In a program running in its own network namespace, other programs on other computers must be able to establish a network connection with this program.
In cases where multiple containers are involved, the second option is implemented and each container should now have its own IP. A container network has now been created and it must be managed.
What are types of container networking?
There are several ways to connect from container to container and from container to host. The following are the most used of the existing container network types:
- None: This mode, as the name implies, does not configure any IP for the container. that is, the container does not have access to other containers and to the external network either. Some uses of this container network mode can be summarized as follows:
- testing containers
- preparing a container for network connection
- containers that do not need external communication.
- Bridge: This mode is the basic network mode that will allow connection to other interfaces of the host machine and other containers it contains. If containers are ready for use and if no network settings are assigned, all containers are included in the bridge network as default. They provide communication between containers or over this network. This bridge will be open to the outside if certain ports have been defined while creating containers over the network.
- Overlay: Overlays use network tunnels to communicate between hosts. In this way, the containers act as if they are on the same machine, even if they are not on the same machine, so that a network subnet can span multiple computers. Overlays seek solutions to the problem of communication between hosts. Containers connected to two different container networks on the same host cannot communicate with each other via the local bridge.
- Underlay: Underlay networks are used to connect host interfaces directly to containers running on the host computer. The two main branches of this type are
- MACvlan (media access control virtual local area network): It is used to allow multiple virtual network interfaces to be created behind the host’s single physical interface. MACvlan uses a unique IP and MAC address per container.
- IPvlan (internet protocol VLAN): IPvlan creates new virtual network interfaces and assigns a unique IP address to each. This is similar to MACvlan. The difference is that the same MAC address is used for all containers on the host computer.
What are container networking standards?
The main problems for container networking are multi host networking and rules to manage these networks. The two standardized solutions are Container Network Model by Docker and Container Network Interface by CoreOS.
- Container Network Model:The Container Network Model (CNM) is a specification proposed by Docker and adopted by projects such as libnetwork. Cisco Contiv has become a strong specification with the integration of projects and companies such as VMware and Weave. In this model there is a network controller that is responsible for pairing a driver to a network. Each driver is responsible for managing the network it owns.
- Container Network Interface: The Container Network Interface (CNI) is a specification proposed by CoreOS. Apache Mesos has become an inclusive network specification adopted by projects such as the Cloud Foundry and Kubernetes. The CNI has been created to be a simple contract between container runtime and network plugins. CNI allows multiple plugins to be run at a time.
If you still have questions about how containerization or container networking is important for your business, we can help:
Cem has been the principal analyst at AIMultiple since 2017. AIMultiple informs hundreds of thousands of businesses (as per similarWeb) including 60% of Fortune 500 every month.
Cem's work has been cited by leading global publications including Business Insider, Forbes, Washington Post, global firms like Deloitte, HPE, NGOs like World Economic Forum and supranational organizations like European Commission. You can see more reputable companies and media that referenced AIMultiple.
Throughout his career, Cem served as a tech consultant, tech buyer and tech entrepreneur. He advised businesses on their enterprise software, automation, cloud, AI / ML and other technology related decisions at McKinsey & Company and Altman Solon for more than a decade. He also published a McKinsey report on digitalization.
He led technology strategy and procurement of a telco while reporting to the CEO. He has also led commercial growth of deep tech company Hypatos that reached a 7 digit annual recurring revenue and a 9 digit valuation from 0 within 2 years. Cem's work in Hypatos was covered by leading technology publications like TechCrunch and Business Insider.
Cem regularly speaks at international technology conferences. He graduated from Bogazici University as a computer engineer and holds an MBA from Columbia Business School.
To stay up-to-date on B2B tech & accelerate your enterprise:Follow on
Next to Read
Your email address will not be published. All fields are required.