上一节创建了 vxlan100_net 并部署 instance,今天我们来分析底层网络结构。
控制节点
执行 ovs-vsctl show:
br-int
br-int 连接了如下 port:
-
tap0d4cb13a-7a 是 vxlan100_net 的 DHCP 服务对应的 interface。
-
qvoa2ac3b9a-24 将 cirros-vm1 虚拟网卡连接到 vxlan100_net。
br-tun
br-tun 上创建了一个特殊的 port “vxlan-a642100b”,它是 VXLAN 的隧道端点,指定了本地(devstack-controller)节点和远端(devstack-compute1)节点 VTEP 的 IP。
计算节点
执行 ovs-vsctl show:
![](https://i-blog.csdnimg.cn/blog_migrate/bc667c1af95821323c4768e1e7e79f0f.png)
br-int
br-int 上 qvoab219616-01 将 cirros-vm2 虚拟网卡连接到 vxlan100_net。
br-tun
br-tun 上也创建了 port “vxlan-a642100b”,配置内容与控制节点相对,指定了本地(devstack-compute1)节点和远端(devstack-controller)节点 VTEP 的 IP。
当前网络结构如下:
![](https://i-blog.csdnimg.cn/blog_migrate/d936c56e187cd28b6fe2f725fa7ec70e.jpeg)
需要特别注意的是:无论存在多少个 VXLAN,devstack-controller 与 devstack-compute1 之间所有的数据都只通过 “vxlan-a642100b” 这对 port 上建立的隧道传输。
分析完 vxlan 的结构,那么数据是如何在节点之间传输的呢?
答案就是 flow rule,下节我们详细分析。