In Chapter 3, SDN Protocols, we learned about the key protocols enabling SDN-based solutions and Open vSwitch implementation of OpenFlow. In this chapter, we will build on the knowledge to gain insights into how these components fit together to implement SDN networking. We will begin with lightweight virtual networking with a Linux network namespace and Open vSwitch functioning as a conventional L2 switch. We will then bring OpenFlow into the mix to depict the flow-based networking with virtual machines, interfacing with SDN Controller. We will introduce Mininet, a network emulation tool for prototyping network topologies. Finally, we will depict the architecture of Neutron, the networking component of OpenStack.
We will cover the following topics in this chapter:
The Linux operating system has a single routing table and global set of network interfaces. Network namespace scales this limitation by providing independent instances of network interfaces and routing tables. This feature enables network isolation and independent operation of multiple network instances. The following diagram depicts network topology with OVS interconnecting hosts isolated by network:
Figure 1: Network topology with OVS connecting with Network namespace hosts
The network interface within the namespace interconnects with Virtual Ethernet Port of open vSwitch via Virtual Ethernet (VETH) port pair. Virtual Ethernet ports are equivalent to a pair of physical Ethernet interfaces interconnected by a cable, albeit implemented purely using software. Virtual Ethernet is implemented as tunnel driver working at link layer (L2) connecting pair of Virtual Ethernet ports.
In this example, we will create two network namespaces and interconnect them with Open vSwitch. We will see how the Network namespace isolates the Network instance:
blue_host
and green_host
:
ovs_br
has learned the MAC addresses of the interfaces in the network namespace.
ovs-ofctl
command, we will show that the packet count starts increasing.
As we can see with the preceding example, Open vSwitch works like a regular MAC learning and forwarding switch when no controller is configured and OpenFlow rules are not programmed.
3.129.67.38