高士涛-学习日报

姓名

高士涛

日期

2023/07/19

部门

云服务业务部

导师

王晓明

学习工作内容

VXLAN基础知识(华为官网)

VXLAN基本概念

VXLANNVO3中的一种网络虚拟化技术,通过将虚拟机发出的数据包封装在UDP中,并使用物理网络的IPMAC作为outer-header进行封装,然后在IP网络上传输,到达目的地后由隧道终结点解封装并将数据发送给目标虚拟机。

3-1 VXLAN结构示意图

通过VXLAN,虚拟网络可接入大量租户,且租户可以规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,降低了网络管理的难度。3-1介绍VXLAN相关概念。

3-1 VXLAN基本概念

概念

描述

租户

租户是数据中心、园区等企业网络业务的购买者,可以是运营商、服务提供商或使用服务的最终用户等。当购买网络业务的租户是运营商或服务提供商时,那么租户通常获得的是利用VXLAN技术构建的虚拟网络,此时一个租户对应一个VNI

Underlay网络和Overlay网络

VXLAN技术将已有的物理网络作为Underlay网络,在其上构建出虚拟的二层或三层网络,即Overlay网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户报文在不同站点间传递。对于租户来说,Underlay网络是透明的,只能感知到Overlay网络。

NVENetwork Virtualization Edge

网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。

说明:

设备和服务器上的虚拟交换机VSwitch都可以作为NVE

按照NVE部署位置的不同,可以分为以下三种模式:

·        硬件模式:所有的NVE都部署在支持NVE的设备上,所有的VXLAN报文封装与解封装都在设备上进行。

·        软件模式:所有的NVE都部署在vSwitch上,所有的VXLAN报文封装与解封装都在vSwitch上进行。

·        混合模式:部分NVE部署在vSwitch上,部分NVE部署在支持NVE的设备上,在vSwitch和设备上都有可能会进行VXLAN报文封装与解封装。

VTEPVXLAN Tunnel Endpoints

VTEPVXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。

VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。

VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。

VNIVXLAN Network Identifier

VXLAN网络标识VNI类似VLAN ID,用于区分VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。

一个VNI表示一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。VNI24比特组成,支持多达16M的租户。

在分布式网关部署场景下,VNI分为二层VNI和三层VNI

·        二层VNI是普通的VNI,以11方式映射到广播域BD,实现VXLAN报文同子网的转发。

·        三层VNIVPN实例进行关联,用于VXLAN报文跨子网的转发。

BDBridge Domain

BDVXLAN网络中转发数据报文的二层广播域。

VXLAN网络中,将VNI1:1方式映射到广播域BDBD成为VXLAN网络转发数据报文的实体。

VBDIF接口

基于BD创建的三层逻辑接口。通过VBDIF接口配置IP地址可实现不同网段的VXLAN间,及VXLAN和非VXLAN的通信,也可实现二层网络接入三层网络。

VAPVirtual Access Point

虚拟接入点VAP,即VXLAN业务接入点,可以是二层子接口或VLAN

·        当接入节点是二层子接口时,通过在二层子接口上配置流封装类型实现不同的接口接入不同的数据报文,将二层子接口关联广播域BD后,可实现数据报文通过BD转发。

·        当业务接入点是VLAN时,需要将VLAN绑定到广播域BD,也可以实现数据报文通过BD转发。

网关(Gateway

VLAN类似,不同VNI之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,VXLAN引入了VXLAN网关。

VXLAN网关分为:

·        二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。

·        三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。

报文流封装类型

当业务接入点是二层子接口时,通过在二层子接口上配置不同的流封装类型以实现不同的接口接入不同的数据报文,将二层子接口关联广播域BDBridge-Domain)后,可实现数据报文通过BD转发,如3-2所示。

3-2 报文流封装类型

流封装类型

说明

dot1q

对于带有一层VLAN Tag的报文,该类型接口只接收与指定VLAN Tag匹配的报文;对于带有两层VLAN Tag的报文,该类型接口只接收外层VLAN Tag与指定VLAN Tag匹配的报文。

·        该类型接口在对原始报文进行VXLAN封装时,会剥离最外层的VLAN Tag

·        在解封装VXLAN报文时,会添加指定的VLAN Tag后再转发。

配置流封装类型为dot1q时,存在如下限制:

·        二层子接口封装的vid,不能与对应二层主接口允许通过的VLAN相同。

·        二层子接口和三层子接口封装的VLAN ID不能相同。

·        同一主接口下的Dot1q的二层子接口VLAN ID不能重叠。

untag

该类型接口只接收不带VLAN Tag的报文。

·        该类型接口在对原始报文进行VXLAN封装时,不会为其添加任何VLAN Tag

·        对于安装了G/K系列单板的CE16800,在解封装VXLAN报文时,不会对内层报文进行任何VLAN Tag处理。

配置流封装类型为untag时,存在如下限制:

·        请确保该二层子接口对应的物理接口上没有任何配置,且对应的物理接口已退出默认VLAN

·        仅支持为二层物理接口(包括Eth-Trunk接口)创建untag类型二层子接口。

·        一个主接口下仅允许创建一个untag类型的二层子接口。

qinq

该类型接口只接收带有指定两层VLAN Tag的报文。

·        该类型接口在对原始报文进行VXLAN封装时,如果配置的二层子接口的VLAN Tag操作为剥除两层VLAN Tag操作,则将报文的所有VLAN Tag全部剥离,如果配置二层子接口的VLAN Tag操作为剥除两层VLAN Tag操作,则将报文的VLAN Tag全部保留;

·        在解封装VXLAN报文时,如果配置的二层子接口的VLAN Tag操作为剥除两层VLAN Tag操作,则添加指定的两层VLAN Tag后再转发,如果配置二层子接口的VLAN Tag操作为剥除两层VLAN Tag操作,则保持报文的VLAN Tag不变直接转发。

当有流封装类型为Default类型或QinQ透传(没有配置rewrite pop double命令)类型的二层子接口绑定BD后,该BD不支持配置DHCP Snooping、不支持创建VBDIF,不支持配置ARP广播报文抑制。

说明:

设备上绑定同一个BDQinQ接口的流动作类型要一致。同一VXLAN组网中,不同设备上相同BDQinQ接口的流动作类型也要一致。

QinQ二层子接口上配置VLAN段后,不支持再配置rewrite pop double命令;反之,设备上配置了rewrite pop double命令后,也不支持在QinQ二层子接口上配置VLAN段。

QinQ二层子接口上封装的外层VLAN不能和对应二层主接口配置的缺省VLAN以及允许通过的VLAN相同。

default

允许接口接收所有报文,不区分报文中是否带VLAN Tag

不论是对原始报文进行VXLAN封装,还是解封装VXLAN报文,该类型接口都不会对原始报文进行任何VLAN Tag处理,包括添加、替换或剥离。

配置流封装类型为default时,存在如下限制:

·        必须确保对应的主接口没有加入VLAN

·        仅支持为二层物理接口(包括Eth-Trunk接口)创建default类型二层子接口。

·        一个主接口下仅允许创建一个default类型的二层子接口,创建后不允许再创建其他类型二层子接口。

 

 

遗留问题

 

明日计划

继续深入学习