华为云Stack 8.X流量模型分析(四)

2023-12-25 18:39:37

四、VPC内部三层流量模型分析

首先需要注意的是二层流量模型与三层流量模型的最大区别在于Host1与Host2不在同一网段下。

image.png

  1. VM1在本地会做判断是同子网访问还是跨子网访问,,由于此次分析为三层流量模型,请求为跨子网访问,VM1发送arp请求网关MAC,arp报文根据流表到达br-tun,br-tun给予VM1网关的MAC信息。此时arp报文不出宿主机(Host1);
  2. 首次封装时目的MAC 为自身网关MAC(GW1);

**注意:**br-int网桥存放各个子网网关,网关为分布式,在8.0.3及以后版本网关在br-router网桥上。

  1. 数据包到br-tun网桥后,封装时替换源MAC 为该宿主机1的关于该网关的MAC(DVR1 MAC),同时增加VNI 为目的子网VNI(VNI-2);
  2. br-tun将报文处理完后,通过查询找到br-physnet网桥上的tunnel_bearing网卡口,在这个网桥上打上tunnel_bearing的VLAN,然后从对应的物理网卡将报文发出;
  3. 目的宿主机收到报文后,tunnel_bearing 会剥离VLAN,送到br-tun,然后拆除VXLAN封装,拆封时替换源MAC为自身网关MAC(GW2),最后基于MAC学习通过网桥送到目的主机(VM2)。

**注意:**流表的下发顺序为:

Pecado → kafka → loca controller → agent → ovs → vSwitchD

五、VPC Peer流量模型分析

VPC Peering即对等连接,用于VPC和VPC之间互通。通过VPC Peering使原来隔离的VPC可以路由互通,满足用户不同VPC业务互通需求。

image.png

  1. VM1发送arp请求,arp报文根据流表到达br-tun,br-tun给予VM1到达VM2的MAC信息。此时arp报文不出宿主机(Host1);
  2. 以太网封装,在封装的时候源MAC为DVR1:MAC,目的MAC 为SG1:MAC;由于外层目的MAC 因为不清楚目的地址的位置,所以将报文送往自己tunnel_bearing网关,因此外层目的MAC 为网关MAC;

**注意:**VPC 子网网关为分布式网关,所以在每台宿主机上针对子网网关都有一个MAC,同一个子网网关不同的宿主机上DVR:MAC 是不同的。

**注意:**vRouter在VPC内注册生成的SG Port 口的MAC(SG-A MAC),vRouter 会给每个VPC创建一个SG口。如下图红框所示:

image.png

  1. br-tun将报文处理完后,通过查询找到br-physnet网桥上的tunnel_bearing网卡口,在这个网桥上打上tunnel_bearing的VLAN,然后从对应的物理网卡将报文发出;
  2. 报文被网络节点接收,vRouter 网络节点不仅包含流表还有路由信息,这些信息都是由控制平面下发的,包含有不同的VPC下VM对应的MAC以及外层封装信息。通过对路由表的查询,将目的MAC地址修改为VM2的MAC地址,并将报文发出。
  3. 目的宿主机收到报文后,tunnel_bearing 会剥离VLAN,送到br-tun,然后拆除VXLAN封装,拆封时替换源MAC为自身网关MAC(GW2),最后基于MAC学习通过网桥送到目的主机(VM2)。

文章来源:https://blog.csdn.net/weixin_46706771/article/details/135204661
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。