什么是overlay
Overlay网络也称为叠加网络。
它是一种在传统物理网络上构建虚拟网络的网络虚拟化技术。原始数据报文封装在VxLAN UDP报文中,跨物理二层、三层设备,进行大二层转发。
overlay解决的问题
- 突破传统VLAN网络的4094限制
- 减少物理核心交换机存储MAC地址表项压力
基于VxLAN的叠加网络,可以新建224个二层网络。VxLAN网络下,核心交换机只需要存储VTEP隧道的MAC地址表项,不需要存储单个主机的MAC地址表项。
硬件overlay方案
手动配置
管理员手动在物理交换机上配置两种信息:1) VLAN到VxLAN映射规则; 2) 本端VxLAN隧道IP地址和对端VxLAN隧道IP地址。VLAN ID决定租户ID,VxLAN ID决定进入哪条隧道。
一般使用下面四种规则来决定主机报文进入哪条隧道:
- VLAN Tag。带有特定VLAN Tag的报文进入指定的VxLAN隧道。
- QinQ。带有特定QinQ的报文进入指定的VxLAN隧道。
- VLAN 0。未带有VLAN Tag的报文进入指定的VxLAN隧道。
- 全默认。所有的报文都进入指定的VxLAN隧道。
EVPN动态学习
EVPN基于BPG协议,将本端的主机路由信息和VxLAN隧道信息发布到对端,并且接收对端的主机路由信息和VxLAN隧道信息,动态完成转发表项的建立,随后即可基于转发表项进行主机通信。
基本的BGP EVPN同步路由:1)Type2路由,用来同步主机MAC地址和主机路由信息;2)Type3路由,同步VxLAN隧道信息;3)Type5路由,通告引入外部路由和主机路由。
主机同子网overlay通信
主机同子网overlay通信,表示通信的两台主机IP地址属于同一个网段,两台主机可以属于同一个VxLAN网络,也可以属于不通的VxLAN网络,由硬件交换机上VLAN到VxLAN映射配置决定。通常情况下两台主机属于同一个VxLAN网络。
同子网overlay通信 ——ARP报文交互
一般情况下,主机通信的第一个报文为ARP请求报文,在主机接收到ARP回复报文之后,交换机已经完成链路通信的MAC转发表学习。以ARP交互过程为例,介绍overlay网络的二层通信流程和MAC转发表学习流程。
1)VM_A向VM_B发起通信,两台主机属于同一个网段,VM_A直接请求VM_B的ARP报文;
2)SW_A下行链路接口收到ARP请求报文,记录VM_A的MAC转发表项:MAC_VM_A, VLAN ID和接口信息;
3)SW_A进行VxLAN网络映射,依据配置进入VxLAN 5000,并进行报文封装,内层报文为原始ARP请求报文,不做任何修改,外层VxLAN报文源IP地址为本端VTEP 地址1.1.1.1,目的IP地址为2.2.2.2,对于存在多个VxLAN对端情况,这一步需要复制报文,进行多次封装;
4)SW_B收到VxLAN报文,进行VxLAN到VLAN网络的映射,进行解封装,得到VM_A构造的原始报文,记录MAC_VM_A到VxLAN 5000的VTEP转发映射信息,VTEP转发表的学习路径与之后报文的转发路径正好相反;
5)SW_B将解封后的报文转发给VM_B;
6)VM_B收到报文后,判断报文目的IP地址为本机IP地址&