概述
建立在Underlay网络之上
构建大二层网络
VXLAN为NVo3技术的广泛应用
6.1 Overlay网络
Overlay和Underlay网络的解耦有利于SDN架构的部署
相当于将一个大二层网络叠加在现有的网络之上,利用NVo3这种隧道封装技术实现
6.2 VXLAN基础及相关概念
关键技术: L2 over L4(MAC-in-UDP)
满足需求:
- 二层网络在三层网络范围内的扩展
- 大二层虚拟迁移
- 多租户隔离
基本概念:
VTEP
VXLAN的边缘设备,VXLAN隧道的起点和终点
VNI
满足大量多租户需求达到1600万
VXLAN隧道
建立在两个VTEP之间,使用VXLAN报头封装的隧道
VXLAN对以太网帧执行以下封装
VXLAN Header: 包含24bits的VNI字段
UDP Header:目的端口4789,源端口是以太网帧Hash后的值
Outer IP Header:两端VTEP的IP
Outer MAC Header:源VTEP的MAC–>下一跳设备的MAC
VXLAN的特点:
其灵活性可以支持L2VPN和L3VPN等复杂业务
无需中间设备学习VM的MAC
无需考虑物理网络的IP和广播域
VXLAN源UDP端口号是Hash值,Underlay网络可直接进行负载分担
6.3 VXLAN Overlay网络
种类包括(取决于VTEP所在的设备形态):
- Network Overlay:两个VTEP都是物理机
- Host Overlay:虚拟机vSwitch
- Hybrid Overlay: 混合方式
6.3.1 VXLAN Overlay网络类型
Network Overly:
注意图中虚线的走向
集中式Network Overlay:
- Leaf仅做VXLAN二层网关
- Spine或Border Leaf做VXLAN三层网关
分布式Network Overlay:
- Leaf同时做VXLAN的二层和三层网关
- Spine不处理VXLAN报文
Host Overlay:
注意图中虚线的走向就是VXLAN隧道的走向
东西向的业务使用VM所在设备上的vSwitch建立VXLAN隧道,不存在集中式,只存在分布式。
南北向业务由于经过Leaf和Spine等物理机,不需要处理VXLAN报文
Hybrid Overlay:
注意图中的虚线走向,混合型的网络VXLAN隧道两端分别是物理VTEP和VM所在设备的vSwitch。
东西向流量:在Leaf和vSwitch之间建立VXLAN
南北向流量:在vSwitch/Leaf物理交换机–Spine/Edge之间建立VXLAN
6.3.2 网络类型对比
出于物理设备性能的绝对优势,最佳解决方案为Network Overlay
为防止设备过载,最佳解决方案进一步确定为分布式Network Overlay
6.4 VXLAN控制平面
没有控制平面的劣势:网络中存在大量泛洪,网络扩展难
使用EVPN作为控制平面,优势在于:
- VTEP自动发现,VXLAN隧道自动建立,提高可扩展性
- EVPN可以同时发布二三层信息
- 减少网络中的泛洪
EVPN的基本原理
Type2路由–MAC/IP路由:通告主机的MAC,ARP和路由信息
Type3路由–Inclusive Multicast路由:VTEP自动发现/VXLAN隧道的动态建立
Type5路由–IP prefix路由:取代主机的IP地址,该类路由可以通告网段
同子网互通场景下的VXLAN隧道建立
VTEP建立好之后,主机就可以在同一个二层广播域中通信,
满足以下条件即可动态建立VXLAN隧道:
- 两端VTEP的IP路由可达
- 两端VTEP之间建立BGP EVPN对等体
- 对等体之间通过Type3路由互传VNI和VTEP IP信息
跨子网互通场景下的隧道建立
Leaf之间互相发布下属主机或者网段的IP路由
对方的Leaf需要线告诉本端Leaf都有哪些网段的路由,否则就无判断是否要把数据转发过去。
此场景下VXLAN隧道的建立通过Type2和Type5路由实现的。
6.5 VXLAN数据平面
流量模型:
同一VPC内同子网流量:属于L2 VXLAN封装,由TOR处理
同一VPC内跨子网流量:属于L3 VXLAN封装,由TOR处理
不同VPC之间的流量:有安全隔离需求,需要绕行到防火墙,然后到达三层网关
数据中心内外访问流量:经过IPS(Intrusion Prevention system)/FW,LB,VXLAN网关,TOR节点,到达VPC
同子网已知单播报文转发(含有ARP请求/应答路程)
ARP请求和应答流程:
- 发起ARP请求
- 通过BD判断所属VNI,然后进行VXLAN封装后进一步扩散给所有VTEP
- 两个VTEP分别对各自收到的报文解封装,首先学习到IP A是跟VTEP_1成映射关系的,然后经检查内部的ARP报文发现,VTEP_2接收的请求中的目的IP并不在自己管辖范围,故将报文丢弃。VTEP_3则正常回应
ARP应答流程:
4. 返回的ARP应答为已知单播
5. VTEP_3顺便记录了MAC_C,VNI,入接口的对应关系,然后进行VXLAN封装
6. VTEP_1收到报文后顺便记录下MAC_C,VNI和远端VTEP_3的IP_3的对应关系,最后将解封装后的报文发给VM_A。
至此,VM_A和VM_C都学习到了对方的MAC,所有VTEP也因此获得重要MAC和VNI信息
跨子网报文转发
分布式网关场景
转发过程的几个要点:
Host1发出的报文中的目的MAC为三层网关IP,因此判断需要三层转发
VXLAN封装和解封装过程中,内层报文出现两次MAC地址替换,这也是跨子网转发的一个特点
跨VPC报文转发
该场景跨越了VRF
要点记录如下:
NVE1发现目的IP不在本VRF_A内,所以通过默认路由将报文转发给了Service Leaf,Service Leaf也通过默认路由转发报文到防火墙应用,在这里防火墙发现路由存在于VRF_B当中,因此向Service Leaf中的VRF_B发送报文到NVE2。
数据中心内外报文转发
该过程基于跨VPC通信
只是本次转发时,防火墙将报文发送到了Public vRouter而不是NVE
Public vRouter终结于Boarder Leaf
完成VXLAN转发后,BL解封装报文,通过Underlay网络将报文发送至PE节点
PE直连互联网
6.6 业务模型和网络的映射
逻辑模型是控制器上针对用户网络的建模抽象
控制器将设计好的逻辑模型翻译成配置,通过NETCONF或者OpenFlow下发给设备
常见的控制器逻辑模型功能:
以数据中心内外转发报文为例,分析物理模型:
1-4 是Server Leaf的逻辑模型配置点
Service Leaf和Boarder Leaf本质都是VTEP,因此都需要加入VTEP模型,途中的9和10之间的连接也是基于VTEP模型间的互联
路由发布与报文转发
当VM需要发送报文到数据中心外部时,控制器会在Service Leaf上配置一条默认路由,Service Leaf将该默认路由发布到EVPN中,此时控制器参与EVPN路由计算,将计算后流表下发给vSwitch