VXLAN Mapping技术

VXLAN Mapping 技术用于实现跨POD之间的二三层通信——进行VNI的转换

VXLAN MAPPING

VXLAN Mapping 根据场景可以分为L2 MAPPING、L3 MAPPING,映射方式均是通过BGP的UPDATE报文进行交互,没有新的报文交互

L2 MAPPING映射DCI之间MAC/ARP表项
L3 MAPPING主要作用于DCI之间路由的表项

L2 MAPPING实现原理

控制面

L2控制面

  1. Leaf1学习server-A的MAC地址后,生成Type2 BGP EVPN路由给Border1
  2. Border1根据VXLAN-MAP的VNI查询映射表找到对应的映射VNI(2000),将Type2路由中的VNI修改为映射VNI(20——2000)
  3. Border1将修改后的BGP EVPN路由发送给Border2
  4. Border2收到BGP EVPN路由后,通过VXLAN-MAP映射表中生成Server-A的MAC表项,VNI为映射后的L2 VNI(2000)
  5. Border2需要根据VXLAN-MAP的VNI查询映射表找到对应的本地VNI(200),然后将修改收到的BGP EVPN中的VNI为本地VNI(2000——200)

转发面

L2转发面

  1. Leaf1收到Server-A发来的报文后对报文进行VXLAN封装,然后发送给Border1
  2. Border1解封装后,根据报文中的VNI找到对应的VXLAN-MAP映射,根据映射学习到目的MAC查找的MAC表,找到VXLAN隧道出接口,获取VXLAN隧道的封装信息,并对报文进行二次VXLAN封装后发出
  3. Border2解封装后,根据报文中的映射VNI查找映射表,找到对应的映射,根据目的MAC查找VXLAN-MAP映射后的MAC表,找到VXLAN隧道出接口,获取VXLAN隧道的封装信息,并对报文进行VXLAN封装发出
  4. Leaf2对收到的VXLAN报文进行解封装后进行相应的二层转发,最后发送给Server-C

L3 MAPPING实现原理

不通过防火墙L3通信

控制面

L3不过墙控制面

  1. Leaf1学习到ServerA的网段直连路由后,保存在本地L3 VNI(3000)中,并且将直连路由通过5类路由同步到Border
  2. Border1收到报文后,根据VXLAN-MAP的VNI查询映射表,找到对应的映射L3 VNI(5000),然后将路由中的L3 VNI改为映射VNI(3000-5000)。发送给Border2
  3. Border2收到报文后,绑定的VXLAN-MAP映射表中生成Server-A的IP表项,该VXLAN隧道封装信息中的VNI为映射后的L3 VNI(4000)
  4. Border2根据VXLAN-MAP的VNI查询映射表,找到对应的本地VNI(40),将路由中的修改为本地VNI

转发面

L3不过墙转发面

  1. Leaf1根据目的IP查找全局路由表,找到VXLAN隧道出接口(L3 VNI),获取VXLAN隧道的封装信息,并对报文进行VXLAN封装转发
  2. Border1根据报文中的VNI找到对应VXLAN-MAP映射,根据映射学习到目的IP查找的路由表,找到VXLAN隧道出接口,获取VXLAN隧道的封装信息,并对报文进行二次VXLAN封装后转发
  3. Border2根据报文中的映射VNI查找映射表,找到对应的映射,根据目的IP查找VXLAN-MAP映射后的路由表,找到VXLAN隧道出接口,获取VXLAN隧道的封装信息,并对报文进行VXLAN封装后转发
  4. Leaf2对收到的VXLAN报文进行解封装后进行响应的三层转发,最后送给SERVER-C

通过防火墙L3通信

控制面

与不通过防火墙L3通信的控制面实现过程一致

转发面

L3过墙转发面

Leaf1收到报文后根据目的IP查找全局路由表后进行VXLAN封装后转发。
Border1收到报文后根据报文中的VNI找到对应的VXLAN-MAP映射,根据本地静态指定的路由,找到出接口为旁挂的防火墙接口,将报文解封装后,发给防火墙(VRF-A)接口,防火墙收到报文后,查找路由表转发。
Border1从VRF-C的接口收到防火墙的报文后,通过本地映射VRF的L3-MAP映射,将原先3000的VNI映射成6001根据对端BORDER2同步过来的路由。找出下一跳为对端Border2的隧道接口,重新封装VXLAN报文并转发。
Border2收到报文后,通过本地静态路由寻址,找到出接口为旁挂的防火墙接口,将报文解封装后转发给防火墙(VRF-C)接口。防火墙收到报文后,查找路由表转发
Border2从VRF-B的接口收到防火墙的报文后,通过本地映射VRF的L3-MAP映射,将原先6001的VNI映射层6000,根据对端BORDER2同步过来的路由,找出下一跳为对应Leaf的隧道接口,重新封装VXLAN报文并转发。
Leaf收到Border2的报文后,将VXLAN报文解封装后,发送给服务器。