neutron 网卡间通讯流程和原理?

物理机(宿主机)上多个虚机,虚机上的服务通讯通过虚机的tap\br-ex\br-int等虚机接口出去到物理机,再通过物理机出去访问,能详细描述一下虚机tap\br-ex\br-int等接口之间tcp包如何流转及其原理吗

参与7

1同行回答

chinesezzqiangchinesezzqiang课题专家组信息技术经理M
我找了一下之前的学习笔记,供您参考。ca0oogeb3r7这张图是网络节点上的网络实现,以流量流入网络节点方向为例,从底层物理网络流量通过eth1进入ovs br-eth1(Overlay模型中为ovs br-tun)开始分析:1)ovs br-eth1将网络节点与计算节点连接起来,根据neutron-server中OVS Plugin的指导...显示全部

我找了一下之前的学习笔记,供您参考。
ca0oogeb3r7

ca0oogeb3r7

这张图是网络节点上的网络实现,以流量流入网络节点方向为例,从底层物理网络流量通过eth1进入ovs br-eth1(Overlay模型中为ovs br-tun)开始分析:

1)ovs br-eth1将网络节点与计算节点连接起来,根据neutron-server中OVS Plugin的指导,完成流量送入网络节点前的处理:根据底层物理网络租户VLAN与本地租户VLAN间的映射关系进行VLAN ID的转换(Overlay模型中此处进行解封装,并进行VNI与本地租户VLAN ID间的映射)。注意,虽然同一租户在底层物理网络上的VLAN ID(Overlay模型中为VNI)唯一,但是在网络节点与计算节点,不同计算节点中同一租户对应的本地VLAN ID可能有所不同。另外由于网络节点也要在ovs br-int上使用本地VLAN,而租户跨网段流量与公网流量都要经过网络节点,因此使用单个网络节点时,Neutron最多能支持4K租户,可采用部署多个网络节点的方式来解决这一问题。

2)送入网络节点的流量,由ovs br-eth1(ovs br-tun)通过veth-pair送给ovs br-int,ovs br-int连接了本地不同的namespace,包括实现dhcp功能的dhcp-agent——dnsmasq,以及实现路由功能的l3-agent——router。Dnsmasq负责给对应租户的虚拟机分配IP地址,而router负责处理租户内跨网段流量以及公网流量。不同的租户有不同的dnsmasq和router实例,因此不同租户间可以实现IP地址的复用。

3)Router namesapce通过qr接口(Quantum Router)接收到租户内跨网段流量以及公网流量,在ns的IP内核中对跨网段流量进行路由,改写MAC地址并通过相应的qr接口向ovs br-int送出数据包。在ns的IP内核中对公网流量进行NAT,并通过qg接口(Quantum Gateway)发送给ovs br-ex。

4)Ovs br-ex通过关物理联宿主机的硬件网卡eth1将流量送至Internet路由器。

5)上述两幅图中,ovs br-int与ovs br-ex间有直连,据说主要是防止l3-agent出现问题时能够保证流量不中断,但实际上看来很少出现此问题。

收起
IT其它 · 2018-08-17

提问者

milo.meng
项目经理ccbft
擅长领域: 数据安全数据复制备份

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-08-17
  • 关注会员:2 人
  • 问题浏览:3427
  • 最近回答:2018-08-17
  • X社区推广