2017年1月10日星期二

OVS 中的各种网络设备


初始网络状态
查看一下当前的网络状态。

控制节点

ifconfig 显示控制节点上有三个网桥 br-ex,br-int 和 br-tun。
从命名上看我们大致能猜出他们的用途:
br-ex
连接外部(external)网络的网桥
br-int
集成(integration)网桥,所有 instance 的虚拟网卡和其他虚拟网络设备都将连接到该网桥。
br-tun
隧道(tunnel)网桥,基于隧道技术的 VxLAN 和 GRE 网络将使用该网桥进行通信。
这些网桥都是 Neutron 自动为我们创建的,但是通过 brctl show 命令却看不到它们。
这是因为我们使用的是 Open vSwitch 而非 Linux Bridge,需要用 Open vSwitch 的命令 ovs-vsctl show 查看,如下图所示:

输出内容后面会详细讲解。

计算节点


计算节点上也有 br-int 和 br-tun,但没有 br-ext。
这是合理的,因为发送到外网的流量是通过网络节点上的虚拟路由器转发出去的,所以 br-ext 只会放在网络节点(devstack-controller)上。

了解 Open vSwitch 环境中的各种网络设备

在 Open vSwitch 环境中,一个数据包从 instance 发送到物理网卡大致会经过下面几个类型的设备:
  1. tap interface 命名为 tapXXXX。
  2. linux bridge 命名为 qbrXXXX。
  3. veth pair 命名为 qvbXXXX, qvoXXXX。
  4. OVS integration bridge 命名为 br-int。
  5. OVS patch ports 命名为 int-br-ethX 和 phy-br-ethX(X 为 interface 的序号)。
  6. OVS provider bridge 命名为 br-ethX(X 为 interface 的序号)。
  7. 物理 interface 命名为 ethX(X 为 interface 的序号)。
  8. OVS tunnel bridge 命名为 br-tun。
OVS provider bridge 会在 flat 和 vlan 网络中使用;OVS tunnel bridge 则会在 vxlan 和 gre 网络中使用。 Open vSwitch 支持 local, flat, vlan, vxlan 和 gre 所有五种 network type。
vxlan 和 gre 非常类似,接下来我们将深入学习 Open vSwitch 是如何实现 local, flat, vlan 和
地点: 中国甘肃省兰州市