https://www.cnblogs.com/chris-cp/p/6846772.html
https://blog.csdn.net/Hdnrnfgf/article/details/84960763#t0
https://blog.csdn.net/jj1130050965/article/details/118070335
https://blog.csdn.net/qq_42533216/article/details/119751505
在 Open vSwitch 环境中,一个数据包从 instance 发送到物理网卡大致会经过下面几个类型的设备:
-
tap interface 命名为 tapXXXX。
-
linux bridge 命名为 qbrXXXX。
-
veth pair 命名为 qvbXXXX, qvoXXXX。
-
OVS integration bridge 命名为 br-int。
-
OVS patch ports 命名为 int-br-ethX 和 phy-br-ethX(X 为 interface 的序号)。
-
OVS provider bridge 命名为 br-ethX(X 为 interface 的序号)。
-
物理 interface 命名为 ethX(X 为 interface 的序号)。
-
OVS tunnel bridge 命名为 br-tun。
#其他
1、patch端口只用来连接ovs内部的网桥。效果优于linux的bridge
2、patch不存在于流表中,属于1-1,直接发送流量
3、端口组可基于iptables,也可以基于ovs的流表实现。(ovs实现性能优于iptables。)
通过配置文件的firewalled_driver指定。
4、openstack同一个网络的不同子网端口的tag是同一个tag。不同子网的tag不一致
5、openstack同一网络在不同服务器上时,一个tunnelid在两个服务器上可能对应不同的tag ,由于tag在经过tun口时已经替换为tunid,所以不需要俩节点同步id一致。
6、openvswitch可以实现任何转发规则,所谓openstack网络下的ovs转发逻辑只是openstack的ovs-agent插件实现的逻辑。
7、openstack 支持aware trunk模式,将一组接口设置为trunk,类似linux的vlan子接口,以达到复用vif的效果,减少接口数量。vlan只在turnk接口中使用,进入不同子网时会剥掉vlantag(通过流表实现)。
参考:
https://blog.csdn.net/bc_vnetwork/article/details/53927687