Container Network Interface (CNI)
The simplest possible interface between a container and the network.
A CNI essentially enables the container to have the capabilities of a host – even though containers replicate and move with an average lifespan of 12 hours when in use with an orchestrator, or 6 days otherwise in 2018 surveys. The runtime service of a container, such as the Docker daemon, uses a CNI to communicate network configuration requests to a network plug in, which configures the network. (This requires associating the container network namespace, ie a container’s network services stack, with the right network interface on the host.) There are many network plug ins for various types of network and network services, including setting up a peer to peer connection, establishing a vLAN or managing IP address ranges. The Cloud Native Compute foundation is working to standardize CNI.