《深入理解OpenStack Neutron》—3.2.4 计算节点的实现模型小结
3.2.4 计算节点的实现模型小结
通过前面的介绍,我们可以总结出计算节点的实现模型,如图3-15所示。
如果我们考虑网络层面的话,计算节点一共分为两层:用户网络层、本地网络层。
(1)用户网络层
用户网络层(User Network),指的是Open-Stack的用户创建的网络,也就是前文一直说的外部网络,这个外部网络是相对于Host内部网络而言的。用户网络层对应的Bridge是br-ethx(对应Flat、VLAN等非隧道型二层网络)或者br-tun(对应VXLAN、GRE等隧道型二层网络),其实现载体一般来说是OVS。用户网络层的功能是将用户网络与本地网络(Host内部的本地网络)进行相互转换,比如我们前面介绍的:内外VID转换,VXLAN封装与解封装,等等。为“用户网络层”是对本地网络层的一个屏蔽,即不管用户网络采用什么技术(比如VXLAN,GRE等),本地网络永远感知的仅仅是一个技术:VLAN。
(2)本地网络层
本地网络指的是Host内部的本地网络。由于用户网络层(Local Network)对这一层的屏蔽,本地网络层只需要感知一种技术:VLAN。本地网络层再分为两层。根据前文介绍,qbr的实现载体是Linux Bridge,它仅仅是负责安全,所以称之为安全层。br-int的实现载体一般是OVS,它负责内部交换,所以称之为Bridge层。
Bridge层是对VM层的一个屏蔽。从VM发出的Untag报文,被Bridge层转换为Tag报文转发到br-ethx/br-tun;从br-ethx/br-tun转发到br-int的Tag报文,被br-int剥去Tag,变成Untag报文,然后再转发给VM。
VM也有可能会收发带有Tag的报文,关于这一点,请参阅4.3节。
最后强调一下,位于同一个Host的本地网络中的不同VM之间的通信,它们经过本地网络层(即经过br-int)即可完成,不需要再往外走到用户网络层,如图3-16所示:
图3-16中,VM1-1与VM1-3在同一个Host内,同时也属于同一个本地网络,它们之间的通信只需经过br-int转发即可。
- 点赞
- 收藏
- 关注作者
评论(0)