VXLAN笔记3. Vxlan 转发 网关

vBDIF:BD域的三层路由接口,用于二层流量进入三层进行路由转发。
VXLAN 网关。和VLAN类似,不同VNI之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,VXLAN引入了VXLAN网关。
  • L2 VXLAN网关(VXLAN Bridging),用于将非VXLAN流量接入VXLAN虚拟网络,也可用于同一VXLAN虚拟网络的二层通信。
  • L3 VXLAN网关(VXLAN Routing或VXLAN IP Gateway),用于VXLAN虚拟网络的跨子网三层通信。
VM通过OVS上送的封装有vlan tag的帧,在通过BD进入vxlan隧道时,会把vlan tag剥离。到了隧道对端,再根据vni与BD、DMAC与L2出接口&vlan的对应关系,封装对应的vlan后发出。
 
三层分布式网关(VXLAN L3 Gateway,也称东西网关)是指连接服务器或虚拟机的网关,为数据中心内部不同虚拟机之间的通信提供寻址功能。
出口三层网关(VXLAN Exit Gateway,也称南北网关)是指连接Edge设备(通往Internet或外部私有网络的边缘设备)的网关,实现数据中心内部访问Internet或外部私有网络的寻址功能。
 
ping vxlan命令用来检测VXLAN网络的连通性。overlay连通性较难测试,需要依靠SDN工具来做。
VXLAN隧道建立和维护都是单向的。
 

一、VXLAN 转发流程

NVE设备中Vxlan分布式网关的 vbdif 接口会配置相同的 mac 地址【使用vrrp的mac地址范围:0000-5e00-01**,一般也作为router's mac】,用处:
  • vm在迁移时,对网络变化无感知;
  • 分布式网关与其它子网通信时,下一跳mac保持一致;
 

1.1 同子网转发流程(BUM-头端复制/组播)

一、 A到B的ARP request 广播【BUM帧处理流程相同】:
  1. NVE1物理接口收到ARP请求报文,根据二层子接口的封装配置【如vlan+BD】,判断报文需通过vxlan网络转发。
  2. 同时NVE1学习到服务器A的mac+VNI1+入接口信息,记录到VNI1的mac地址表中。
  3. NVE1发现是广播报文,在VNI1内广播ARP request报文【根据NVE接口头端复制列表中配置的邻居,进行多播转发】。对报文做隧道封装,overlay单播/多播转发;
    1. 也有underlay组播模式复制,需要underlay开启组播协议,此方式基本已废弃。
  4. 中间节点,IP透传overlay报文;
  5. NVE2/3/4/5 接收报文,解隧道封装,将原始报文在本地VNI1内广播(泛洪)。并学习到服务器A mac+VNI1+远端NVE1的对应关系,记录到VNI1的mac地址表中;
二、 B回复A的ARP reply 单播:
  1. NVE2物理接口收到服务器B的ARP应答报文,根据二层子接口的封装配置【如vlan+BD】,判断报文需通过vxlan网络转发,通过BD可获取VNI信息。
  2. 同时NVE2学习到服务器B的mac+VNI1+入接口信息,记录到VNI1的mac地址表中。
  3. NVE2查找VNI1的mac地址表,发现服务器A的mac命中出接口为隧道(远端VTEP为NVE1);报文进行vxlan封装后三层转发;
  4. 中间节点,IP透传overlay报文;
  5. NVE1接收报文并解封装,在本地查表,通过具体的出接口转发。NVE1学习到服务器B的mac+VNI1+远端NVE2的对应关系;
三、 A到B的单播转发流程:
  • NVE1 和 NVE2都学习到了服务器A和B的MAC地址;后续查找MAC则命中;单播流程,和VLAN一样的;
  • 和vlan唯一不同的是外层封装了隧道【vxlan封装】;underlay是IP转发;
 

1.2 VXLAN 跨子网单播转发流程

三层网关在NVE5上,A VNI1,E VNI2。
  • NVE1 物理接口收到报文,通过VNI1的mac转发表找到vbdif网关,封装隧道;使用VNI1;
  • vbdif网关解封装报文,根据内层IP头查路由,替换内层以太头【目的MAC改为远端设备NVE接口的MAC(隧道目的端),源MAC为自身NVE接口的MAC(隧道源端)】,并封装VXLAN头部,使用VNI2。VNI是由目的nve上的配置决定的,源nve只进行记录,并在封装转发时查找对应的记录【对于同一个vrf,L2/L3的vni的号码甚至在不一致时也能互通。通过BD与L2vni、VRF与L3vni的对应关系来互通】。
  • NVE6 接收报文并解封装,内层报文根据目的MAC转发;
 

1.3 VXLAN 防环机制——水平分割,VXLAN QoS

VXLAN使用水平分割防环。即:一个设备从vxlan隧道收到数据帧后,只会在此VNI所关联BD的本地接口进行转发或泛洪【如BUM帧只在南向BD接口泛洪】,不会重新封装发送到其它vtep。
在DCI Segment vxlan场景中,DC间的ASBR需要重封装vxlan报文给其它设备。此时需要配置vxlan水平分割组,并配合evpn路由重生成,来解决水平分割在DCI互联时造成的问题。参见2.8 DC 互联.note
VXLAN QoS用来实现原始报文携带的QoS优先级、设备内部优先级(又称为本地优先级,是设备内部区分报文服务等级的优先级)与封装后报文优先级之间的转换,从而设备根据内部优先级提供有差别的QoS服务质量。
  1. 原始报文由二层子接口进入设备,按照二层子接口上应用的DiffServ域进行映射,将原始报文的802.1p或DSCP优先级映射为设备内部优先级(PHB行为和报文颜色),以此入队列。
  2. 报文进入隧道,对报文进行VXLAN加封装,加封装报文外层的802.1p优先级和DSCP优先级与原始报文相同【实现原始报文优先级到vxlan报文优先级的映射】。
  3. 报文出隧道时,根据隧道接口上配置的信任类型802.1p或DSCP(以太网接口处于三层模式时只能信任DSCP),按照缺省DiffServ域进行映射,映射为设备内部优先级,进入队列进行传输。
  4. 最后,由设备内部优先级按照二层子接口或物理出接口上应用的DiffServ域进行映射。报文按照映射后的优先级进行传输。
 

二、VXLAN 组网方案

2.1 Network/Host/Hybrid OverLay 组网方案

纯硬(Network 网络)overlay方案【node computer:节点计算机】,使用TOR Leaf交换机做NVE,在硬件交换机上完成VXLAN封装。华为的方案中,集中式网关一般放在Spine交换机上。
纯软(主机)overlay方案,使用vSwitch做NVE,直接在主机内部完成VXLAN封装。
混合overlay方案:

2.2 VxLAN OverLay 的分布式网关和集中式网关

 
硬件集中 Overlay 网关方案:
  • VXLAN二层VTEP功能:部署在Leaf。L2 GW二层网关:桥接VXLAN和VLAN。NVE都是二层网关。
  • VXLAN三层网关功能:部署在核心层,或直接部署在Spine上。使用int vbdif配置三层网关,不需要创建对应的vlan。
  • Spine:普通路由。
  • 集中式网关指租户的 VRF及三层网关集中部署在某一台设备之上。
  
 
硬件分布式 Overlay 网关方案:
  • Leaf 节点既是VxLAN二层VTEP网关,又是东西向流量的三层VxLAN网关。
  • 南北向流量的网关部署在核心层(GW),或直接部署在Spine上。
  • Spine:普通路由。
 
 

三、集中式网关优缺点【多活、多组网关】

优点:结构简单,管理难度低。
缺点1:网关都在一个Spine上,有潜在的单点故障风险。应对:
多活VXLAN网关。
    1. 多个Spine上的vbdif VXLAN网关IP要一致;
    2. 多个Spine上的vbdif VXLAN网关MAC要一致;
    3. 多个Spine上的Loopback接口地址(Vtep IP)要一致;
    4. 在Spine上配置Dynamic Fabric Service动态交换服务组dfs-group 1,用以同步ARP信息,确保VXLAN双活接入场景正常运行【为了对应FW的主备,Spine一般是双活或四活,基本没有奇数的】。IP层的连接是无状态的,不要求往返路径一致。DFS要多占用一个Loopback接口(配置为全网唯一的地址),用以各个Spine间通信。
[] dfs-group 1
[dfs] active-active-gateway #创建多活网关并进入多活网关视图。
[dfs-多活网关] peer 10.2.2.2 #最多可以配置15个多活网关邻居的IP地址。
 
缺点2:网关都在一个Spine上,负载过重。在网关集中式组网中,网关资源规格(如VRF、Subnet、ACL)有一定的上限。应对:
多组网关。每个多活网关组,建议最多配置4K的VNI和网关。更多的网关,需要增加更多的多活网关组。
 
缺点3:网关都在Spine上,同一Leaf下不同子网的虚机互访,要绕路Spine,形成次优路径。一个Leaf下的虚机数量可能有很多,互访流量不可忽视,集中式网关无法解决这个问题。
部署模式
描述(C8128做网关)
可靠性
分担
配置
网关单机/
堆叠部署
单机/堆叠设备独立做VXLAN网关,规格:4K租户(租户有VPN接入需求时支持2K租户),4K VRF,4K 子网,4K VNI,125K VM(或者25KMM+BM),32K~1M RIB,5K ACL
简单
网关主备部署
两台独立设备建立VRRP组、且有独立的隧道端点地址,主备网关使用相同的VRRP虚地址作为VXLN L3网关地址, VM看到一个逻辑网关
网关多活部署
两台或四台独立设备建立DFS组,配量相同的网关地址和隧道端点地址,VM看到一个逻辑网关
复杂
多组网关部署
增加独立的网关设备,接入额外的子网,扩展网络规格,但单组网关内转发容量和可靠性没有变化
 

posted @ 2021-06-22 21:00  飞飞6779  阅读(2570)  评论(0编辑  收藏  举报