VxLAN简介

发布时间:2026/8/13 10:20:09
VxLAN简介 一、为什么VxLAN会出现它有什么用1数据中心网络架构层面在以前的传统数据中心内采用的是和园区网一样的MSTPVRRP冗余技术这套设计在园区网内比较适用但是在数据中心网络内网络规模非常巨大单纯的园区网冗余技术已经无法支撑数据中心的大规模条目2虚拟化技术需求层面云计算对于底层vm虚拟机的弹性迁移技术已成为刚需但是传统技术上定义了跨网络就得改IP的特性这无疑无法满足云计算虚拟化的需求因此跨三层网络迫切建立一个大二层网络来保证迁移前后IP地址不变就是保证各种上层服务不会因为IP改变而中断由此一种新的技术应运而生VxLAN个人认为它是一种封装方式二、VxLAN的原理1VxLAN的基本概念概念描述租户租户是数据中心、园区等企业网络业务的购买者可以是运营商、服务提供商或使用服务的最终用户等。当购买网络业务的租户是运营商或服务提供商时那么租户通常获得的是利用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 EndpointsVTEP是VXLAN隧道端点封装在NVE中用于VXLAN报文的封装和解封装。VTEP与物理网络相连分配有物理网络的IP地址该地址与虚拟网络无关。VXLAN报文中源IP地址为本节点的VTEP地址VXLAN报文中目的IP地址为对端节点的VTEP地址一对VTEP地址就对应着一个VXLAN隧道。VNIVXLAN Network IdentifierVXLAN网络标识VNI类似VLAN ID用于区分VXLAN段不同VXLAN段的虚拟机不能直接二层相互通信。一个VNI表示一个租户即使多个终端用户属于同一个VNI也表示一个租户。VNI由24比特组成支持多达16M的租户。在分布式网关部署场景下VNI分为二层VNI和三层VNI。二层VNI是普通的VNI以11方式映射到广播域BD实现VXLAN报文同子网的转发。三层VNI和VPN实例进行关联用于VXLAN报文跨子网的转发。BDBridge DomainBD是VXLAN网络中转发数据报文的二层广播域。在VXLAN网络中将VNI以1:1方式映射到广播域BDBD成为VXLAN网络转发数据报文的实体。VBDIF接口Virtual Bridge Domain Interface基于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虚拟网络的跨子网通信以及外部网络的访问。2VxLAN的报文格式VxLAN就是将原始的mac帧作为UDP的负载通过三层网络的传输将其输送到另一个二层网络中字段描述VXLAN headerVXLAN Flags8比特取值为00001000。VNIVXLAN网络标识24比特用于区分VXLAN段。Reserved24比特和8比特必须设置为0。Outer UDP headerDestPort目的UDP端口号是4789。Source Port源端口号是内层报文通过哈希算法计算后的值。Outer IP headerIP SA源IP地址是VXLAN隧道本端VTEP的IP地址。IP DA目的IP地址是VXLAN隧道远端VTEP的IP地址。如果Underlay网络为IPv4网络VTEP IP为IPv4类型如果Underlay网络为IPv6网络VTEP IP为IPv6类型Outer Ethernet headerMAC DA在发送报文的虚拟机所属VTEP上根据目的VTEP地址查找路由表路由表中下一跳IP地址对应的MAC地址。MAC SA发送报文的虚拟机所属VTEP的MAC地址。802.1Q Tag可选字段该字段为报文中携带的VLAN Tag。Ethernet Type以太报文类型。三、配置EVPN VxLAN实现同网段通信拓扑图1配置思路采用如下思路配置通过VXLAN实现相同网段用户通信分别在Device1、Device2和Device3上配置路由协议保证网络三层互通。分别在Device1和Device3上配置业务接入点实现区分业务流量。使能EVPN作VXLAN控制平面功能。配置BGP EVPN对等体关系Device2作为路由反射器。配置EVPN实例。配置头端复制功能。其实就是NVE接口中使能使用BGP协议建立VxLAN隧道2配置步骤1、配置IGP路由协议# 配置Device1。Device2和Device3的配置与Device1类似这里不再赘述。配置OSPF时注意需要发布转发器的32位Loopback接口地址。HUAWEI system-view [~HUAWEI] sysname Device1 [*HUAWEI] commit [~Device1] interface loopback 1 [*Device1-LoopBack1] ip address 2.2.2.2 32 [*Device1-LoopBack1] quit [*Device1] interface 10ge 1/0/1 [*Device1-10GE1/0/1] undo portswitch [*Device1-10GE1/0/1] ip address 192.168.1.1 24 [*Device1-10GE1/0/1] quit [*Device1] ospf 1 router-id 2.2.2.2 [*Device1-ospf-1] area 0 [*Device1-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0 [*Device1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 [*Device1-ospf-1-area-0.0.0.0] quit [*Device1-ospf-1] quit [*Device1] commit2、配置业务接入点# 配置Device1。Device3的配置与Device1类似这里不再赘述。[~Device1] bridge-domain 20 [*Device1-bd20] quit [*Device1] interface 10ge 1/0/2.1 mode l2 [*Device1-10GE1/0/2.1] encapsulation dot1q vid 30 [*Device1-10GE1/0/2.1] bridge-domain 20 [*Device1-10GE1/0/2.1] quit [*Device1] commit3、使能EVPN作为VxLAN控制平面# 配置Device1。Device2和Device3的配置与Device1类似这里不再赘述。[~Device1] evpn-overlay enable [*Device1] commit4、配置BGP EVPN对等体关系# 在Device2上建立与Device1和Device3之间的BGP EVPN对等体关系并配置反射器功能指定Device1和Device3作为反射器的客户机。# 在Device2上配置BGP EVPN对等体关系。[~Device2] bgp 100 [*Device2-bgp] router-id 3.3.3.3 [*Device2-bgp] peer 2.2.2.2 as-number 100 [*Device2-bgp] peer 2.2.2.2 connect-interface LoopBack1 [*Device2-bgp] peer 4.4.4.4 as-number 100 [*Device2-bgp] peer 4.4.4.4 connect-interface LoopBack1 [*Device2-bgp] l2vpn-family evpn [*Device2-bgp-af-evpn] peer 2.2.2.2 enable Warning: This operation will reset the peer session. Continue? [Y/N]: y [*Device2-bgp-af-evpn] peer 2.2.2.2 reflect-client [*Device2-bgp-af-evpn] peer 4.4.4.4 enable Warning: This operation will reset the peer session. Continue? [Y/N]: y [*Device2-bgp-af-evpn] peer 4.4.4.4 reflect-client [*Device2-bgp-af-evpn] undo policy vpn-target [*Device2-bgp-af-evpn] quit [*Device2-bgp] quit [*Device2] commit# 在Device1、Device3上配置BGP EVPN对等体关系。Device3的配置与Device1类似这里不再赘述。[~Device1] bgp 100 [*Device1-bgp] router-id 2.2.2.2 [*Device1-bgp] peer 3.3.3.3 as-number 100 [*Device1-bgp] peer 3.3.3.3 connect-interface LoopBack1 [*Device1-bgp] l2vpn-family evpn [*Device1-bgp-af-evpn] peer 3.3.3.3 enable Warning: This operation will reset the peer session. Continue? [Y/N]: y [*Device1-bgp-af-evpn] quit [*Device1-bgp] quit [*Device1] commit5、分别在Device1和Device3上配置EVPN实例# 配置Device1。Device3的配置与Device1类似这里不再赘述。[~Device1] bridge-domain 20 [~Device1-bd20] vxlan vni 5020 [*Device1-bd20] evpn [*Device1-bd20-evpn] route-distinguisher 10:1 [*Device1-bd20-evpn] vpn-target 100:5020 both [*Device1-bd20-evpn] quit [*Device1-bd20] quit [*Device1] commit6、配置使用BGP来建立VxLAN隧道也可以称为配置头端复制# 配置Device1。Device3的配置与Device1类似这里不再赘述。[~Device1] interface nve 1 [*Device1-Nve1] source 2.2.2.2 [*Device1-Nve1] vni 5020 head-end peer-list protocol bgp [*Device1-Nve1] quit [*Device1] commit7、结果观察[~Device1] display vxlan tunnel Number of vxlan tunnel : 1 Tunnel ID Source Destination State Type Uptime ----------------------------------------------------------------------------------- 4026531844 2.2.2.2 4.4.4.4 up dynamic 0032h22m [~Device1] display vxlan vni Number of vxlan vni : 1 VNI BD-ID State --------------------------------------- 5020 20 up