Chapter 9. Software-Defined Networking and Networking for Containers Flashcards
What problem does the virtualization of the network solve?
- high demands that traditional networks cannot cope with (mobile devices, cloud computing,…)
- similiar flexibility needed for the connection of devices, applications, VMs, containers
- can be achieved by virtualization of network
What does Software-Defined Networking (SDN) allow?
- decoupling of the network control layer from the traffic forwarding layer
- allows SDN to program the control layer and to create custom rules in order to meet new networking requirements
What planes are categorized in networking?
- Data Plane
- Control Plane
- Management Plane
What is the Data Plane in networking responsible for?
- responsible for handling data packets and applying actions to them based on rules which we program into lookup-tables
- also called Forwarding plane
What is the Control Plane in networking responsible for?
- tasked with calculating and programming the actions for the Data Plane
- here are forwarding decisions made and where services such as Quality of Service (QoS) and VLANs are implemented
What is the Management Plane in networking responsible for?
- is the place where we can configure, monitor and manage network devices
What kind of activities has every network device to perform?
- Ingress and egress packets
- Collect, process and manage network information
- monitor and manage the network
Where is the network device activity of “Ingress and egress packets” performed?
What is part of these plane activities?
- at the lowest layer
- which decides what to do with packets based on forwarding tables
- these activities are mapped as Data plane activities
- all routers, switches, modems, etc are part of this plane
Where is the network device activity of “Collect, process and manage the network information” performed?
What is part of these plane activities?
- the network device makes forwarding decisions by collecting, processing and managing the network information, which the Data plane follows
- these activities are mapped by the Control plane
- some protocols which run on Control plane are routing and adjacent device discovery
Where is the network device activity of “Monitor and manage the network” performed?
What is part of these plane activities?
- using tools available in the Management plane we can interact with the network device to configure it and monitor it with tools like Simple Network Management Protocol (SNMP)
How does networking work in Software-defined networking (SDN)?
- decoupling of Control Plane and Data Plane
- Control Plane has centralized view of the overall network, allows it to create forwarding tables of interest
- these tables are then submitted to Data Plane to manage network traffic
- Control Plane has well defined APIs that receive requests from applications to configure the network
- after preparing the desired state, the Control plane communicates that to the Data plane, using a well defined Protocol like Open Flow
What is important in regards to communication with containers?
- containers need to be able to communicate with other containers on the same or different hosts
- network namespaces are used to isolate the network from one container to another on the host system
- network namespaces can be shared between containers
As an example how does the container communication on hosts work?
- on single host, using virtual Ethernet feature with Linux brdiging, a virtual network interface can be given to each container while assinging an IP address
- with tools like Macvlan and IPVlan each container can be configured to have a unique worldwide routable IP address
How can multi-host networking be achieved with containers?
- usually by using some sort of Overlay network driver
- that usually encapsulates the Layer 2 traffic to a higher layer
- examples: Docker Overlay Driver, Flannel, and Weave
Which standards have been proposed for container networking?
- Container Network Model (CNM)
- Container Networking Interface (CNI)