Learning OpenStack Networking
上QQ阅读APP看书,第一时间看更新

Using the Linux bridge driver

The Linux bridge Mechanism driver supports a range of traditional and overlay networking technologies, and has support for the following types of drivers:

  • Local
  • Flat
  • VLAN
  • VXLAN

When a host is configured to use the ML2 plugin and the Linux bridge Mechanism driver, the Neutron agent on the host relies on the bridge, 8021q, and vxlan kernel modules to properly connect instances and other network resources to virtual switches. These connections allow instances to communicate with other network resources in and out of the cloud. The Linux bridge Mechanism driver is popular for its dependability and ease of troubleshooting but lacks support for some advanced Neutron features such as distributed virtual routers.

In a Linux bridge-based network implementation, there are five types of interfaces managed by OpenStack Networking:

  • Tap interfaces
  • Physical interfaces
  • VLAN interfaces
  • VXLAN interfaces
  • Linux bridges

tap interface is created and used by a hypervisor such as QEMU/KVM to connect the guest operating system in a virtual machine instance to the underlying host. These virtual interfaces on the host correspond to a network interface inside the guest instance. An Ethernet frame sent to the tap device on the host is received by the guest operating system, and frames received from the guest operating system are injected into the host network stack.

A physical interface represents an interface on the host that is plugged into physical network hardware. Physical interfaces are often labeled eth0, eth1, em0, em1, and so on, and may vary depending on the host operating system.

Linux supports 802.1q VLAN tagging through the use of virtual VLAN interfaces. A VLAN interface can be created using iproute2 commands or the traditional vlan utility and 8021q kernel module. A VLAN interface is often labeled ethX.<vlan> and is associated with its respective physical interface, ethX.

A VXLAN interface is a virtual interface that is used to encapsulate and forward traffic based on parameters configured during interface creation, including a VXLAN Network Identifier (VNI) and VXLAN Tunnel End Point (VTEP). The function of a VTEP is to encapsulate virtual machine instance traffic within an IP header across an IP network. Traffic on the same VTEP is segregated from other VXLAN traffic using an ID provided by the VNI. The instances themselves are unaware of the outer network topology providing connectivity between VTEPs.

A Linux bridge is a virtual interface that connects multiple network interfaces. In Neutron, a bridge will usually include a physical interface and one or more virtual or tap interfaces. Linux bridges are a form of virtual switches.