OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)_第1张图片

上一节我们启用了 Open vSwitch,本节将查看当前的网络状态并介绍 Open vSwitch 涉及的各种网络设备

初始网络状态

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

控制节点

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)_第2张图片

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 查看,如下图所示:

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)_第3张图片

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

计算节点

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

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)_第4张图片

了解 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 和 vlxan 的。

下一节将从 local network 开始。

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)_第5张图片

你可能感兴趣的:(OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128))