【OpenStack知识日积月累】第008期 OpenVSwitch工作原理
OpenVSwitch工作原理
在一个接口上接收到的包不会再往那个接口上发送此包。
每个接收到的包都要学习其源MAC地址。
如果数据包是多播或者广播包(通过2层MAC地址确定)则要向接收端口以外的所有端口转发,如果上层协议感兴趣,则还会递交上层处理。
如果数据包的地址不能再CAM表中找到,则向接收端口以外的其他端口转发。
如果CAM表中能找到,则转发给相应端口,如果发送和接收都是统一端口,则不发送。
OpenVSwitch内部解析
br-int:每个虚机都通过一个Linux brige连到该OVS桥上
br-tun:转化网络packet中的VLAN ID 和 Tunnel ID
br-ex:连接物理网卡,用于和外网通信
每个虚机有个虚机网卡 eth0,eth0和host上的一个TAP设备连接,该TAP设备直接挂载在一个Linux Bridge上,该Linux Bridge和OVS integration bridge br-int相连。其实理想情况下,TAP设备能和OVS Integration Bridge 直接相连就好了,但是,因为OpenStack实现Security Group的需要,这里要多加一层Linux bridge。OpenStack使用Linux TAP设备上的iptables来实现Security Group规则,而OVS不支持直接和br-int桥相连的TAP设备上的iptables。
OpenVSwitch内部解析
br-int:每个虚机都通过一个Linux brige连到该OVS桥上
br-tun:转化网络packet中的VLAN ID 和 Tunnel ID
br-ex:连接物理网卡,用于和外网通信
每个虚机有个虚机网卡 eth0,eth0和host上的一个TAP设备连接,该TAP设备直接挂载在一个Linux Bridge上,该Linux Bridge和OVS integration bridge br-int相连。其实理想情况下,TAP设备能和OVS Integration Bridge 直接相连就好了,但是,因为OpenStack实现Security Group的需要,这里要多加一层Linux bridge。OpenStack使用Linux TAP设备上的iptables来实现Security Group规则,而OVS不支持直接和br-int桥相连的TAP设备上的iptables。