包含evpn的词条

二、Vxlan VXLAN的特点是将L2的以太帧封装到UDP报文(即L2 over L4)中,并在L3网络中传输 。本质上是一种隧道技术,在源网络设备与目的网络设备之间的IP网络上,建立一条逻辑隧道,将用户侧报文经过特定的封装后通过这条隧道转发 。从用户的角度来看,接入网络的服务器就像是连接到了一个虚拟的二层交换机的不同端口上(可把蓝色虚框表示的数据中心VXLAN网络看成一个二层虚拟交换机),可以方便地通信 。
VXLAN完美地弥补了VLAN的上述不足,一方面通过VXLAN中的24比特VNI字段,提供多达16M租户的标识能力,远大于VLAN的4000;另一方面,VXLAN本质上在两台交换机之间构建了一条穿越数据中心基础IP网络的虚拟隧道,将数据中心网络虚拟成一个巨型“二层交换机”,满足虚拟机大范围动态迁移的需求 。
如上图所示,VTEP对VM发送的原始以太帧(Original L2 Frame)进行了以下“包装”:
VXLAN Header
增加VXLAN头(8字节),其中包含24比特的VNI字段,用来定义VXLAN网络中不同的租户 。此外,还包含VXLAN Flags(8比特,取值为00001000)和两个保留字段(分别为24比特和8比特) 。
UDP Header
VXLAN头和原始以太帧一起作为UDP的数据 。UDP头中,目的端口号(VXLAN Port)固定为4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值 。
Outer IP Header
封装外层IP头 。其中,源IP地址(Outer Src. IP)为源VM所属VTEP的IP地址,目的IP地址(Outer Dst. IP)为目的VM所属VTEP的IP地址 。
Outer MAC Header
封装外层以太头 。其中,源MAC地址(Src. MAC Addr.)为源VM所属VTEP的MAC地址,目的MAC地址(Dst. MAC Addr.)为到达目的VTEP的路径中下一跳设备的MAC地址 。
VXLAN在两台TOR交换机之间建立了一条隧道,将服务器发出的原始数据帧加以“包装”,好让原始报文可以在承载网络(比如IP网络)上传输 。当到达目的服务器所连接的TOR交换机后,离开VXLAN隧道,并将原始数据帧恢复出来,继续转发给目的服务器 。
VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)是VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,VXLAN对用户原始数据帧的封装和解封装均在VTEP上进行 。
VTEP是VXLAN网络中绝对的主角,VTEP既可以是一台独立的网络设备,也可以是在服务器中的虚拟交换机 。源服务器发出的原始数据帧,在VTEP上被封装成VXLAN格式的报文,并在IP网络中传递到另外一个VTEP上,并经过解封转还原出原始的数据帧,最后转发给目的服务器 。
以太网数据帧中VLAN只占了12比特的空间,这使得VLAN的隔离能力在数据中心网络中力不从心 。而VNI的出现,就是专门解决这个问题的 。
VNI(VXLAN Network Identifier,VXLAN 网络标识符),VNI是一种类似于VLAN ID的用户标识,一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信 。VXLAN报文封装时,给VNI分配了24比特的长度空间,使其可以支持海量租户的隔离 。
另外,在 分布式网关 部署场景下,VNI还可分为二层VNI和三层VNI,它们的作用不同 。
二层VNI是普通的VNI,以1:1方式映射到广播域BD,实现VXLAN报文同子网的转发 。
每个租户VRF实例映射到网络中的唯一第3层VNI 。此映射需要在网络中的所有VTEP上保持一致 。所有VXLAN间的路由流量使用VXLAN报头中的第3层VNI封装,并为接收的VTEP提供VRF实例 。接收的VTEP使用此VNI确定转发内部IP数据包时需要处于的VRF实例 。此VNI为在数据平面中实施第3层分段提供基准 。
如图所示,在将数据包从 VNI A 发送到 VNI B 时,入口 VTEP 将数据包路由到第 3 层 VNI 。它会将内部目标MAC 地址改写为出口 VTEP 的路由器 MAC 地址,并将 VXLAN 报头中的第 3 层 VNI 编码 。在出口 VTEP 接收封装的 VXLAN 数据包后,它首先通过删除 VXLAN 报头解封数据包 。然后它查看内部数据包报头 。由于内部数据包报头中的目标 MAC 地址是其自己的 MAC 地址,因此它执行第 3 层路由查找 。VXLAN 报头中的第 3 层 VNI 提供执行此路由查找时所处的 VRF 实例 。
当 EVPN VTEP 为它从其本地终端主机接收的数据包执行转发查找和 VXLAN 封装时,它使用第 2 层 VNI 或 VXLAN报头中的第 3 层 VNI,具体取决于是需要桥接还是路由数据包 。
如果原始数据包报头中的目标 MAC 地址不属于本地VTEP,则本地 VTEP 执行第 2 层查找并将数据包桥接到与源主机位于同一第 2 层 VNI 的目标终端主机 。本地VTEP 在 VXLAN 报头中嵌入此 第 2 层 VNI 。在这种情况下,源和目标主机位于同一第 2 层广播域 。

秒懂生活扩展阅读