CloudEngine12800交换机VXLAN技术白皮书.docx
CIoudEngine系列交换机VXLAN技术白皮书文档版本03发布日期2015-05-301 VXLAN配置11.1 VXLAN简介21.2 原理描述31.2.1 基本概念41.2.2 报文格式51.2.3 VXLAN部署方案61.2.4 数据报文转发101.2.5 VXLANQoS181.2.6 VXLAN增强特性181.2.6.1 ARP/MAC动态学习191.2.6.2 ARP广播抑制201.2.6.3 VXLAN集中式多活网关221.2.6.4 VXLAN分布式网关281.2.6.5 VXLAN双活接入371.3 应用场景431.3.1 同网段终端用户通信的应用431.3.2 不同网段终端用户通信的应用441.3.3 在虚拟机迁移场景中的应用451.3.4 VXLAN分布式网关的应用471.3.5 VXLAN集中式多活网关的应用481.3.6 VXLAN双活接入的应用491.4 配置注意事项5()1.5 配置VXLAN(SNC控制器方式)521.6 配置VXLAN(单机方式)531.6.1 配置同网段用户通过VXLAN隧道互通531.6.1.1配置业务接入点实现区分业务流量55161.2配置VXLAN隧道转发业务流量561.6.13(可选)配置提升VXLAN网络安全性571.6.1.4检查配置结果571.6.2配置不同网段用户通过VXLAN三层网关通信571.6.2.1 配置业务接入点实现区分业务流量591.6.2.2 配置VXLAN隧道转发业务流量601.6.2.4 (可选)配置VXLAN集中式多活网关621.6.2.5 (可选)配置提升VXLAN网络安全性631.6.2.6 检查配置结果641.6.3配置VXLAN分布式网关641.63.1配置VXLAN二层网关661.6.3.2配置VXLAN三层网关681.63.3(可选)配置提升VXLAN网络安全性70163.4检查配置结果711.6.4配置VXLAN双活接入功能711.6.4.1配置双归设备通过M-LAG与服务器对接721.6.4.1.1配置DFSGrOUP731.6A1.2配置peer-link731.6.4.1.3配置绑定DFSGroup741.6.4.1.4检查配置结果761.6.4.2配置双归设备上的虚拟VTEP761.7维护VXLAN771.1.1 统计并查看VXLAN统计信息771.1.2 清除BD内报文统计信息771.1.3 监控VXLAN运行状况781.1.4 配置VXLAN告警上报功能781.8 配置举例791.8.1 配置同网段用户通过VXLAN隧道互通示例(单机方式)791.8.2 配置不同网段用户通过VXLAN三层网关通信示例(SNC控制器方式)831.8.3 配置集中式多活网关示例(单机方式)991.8.4 配置VXLAN双活接入示例(单机方式)1071.8.5 配置VXLAN分布式网关示例(单机方式)1141.8.6 配置VXLAN分布式网关+双活接入综合示例(单机方式)1221.9 参考标准和协议134文档版本03(2015-05-30)iii1VXLAN酉已置关于本章1.1 VXLAN简介介绍VXLAN的定义、目的和受益。1.2 原理描述介绍VXLAN的实现原理。1.3 应用场景介绍VXLAN的应用场景。1.4 配置注意事项介绍部署VXLAN的注意事项。1.5 配置VXLAN(SNC控制器方式)介绍了SNC控制器配合设备实现VXLAN部署的方法。1.6 配置VXLAN(单机方式)介绍了不依赖于任何控制器,直接在设备上配置VXLAN的方法。1.7 维护VXLAN通过维护VXLAN,可以实现清除VXLAN统计数据、监控VXLAN的运行状况等。1.8 配置举例介绍VXLAN配置举例,配置举例中包括组网需求、配置思路、配置过程和配置文件。1.9 参考标准和协议介绍VXLAN的参考标准和协议。1.1VXLAN简介介绍VXLAN的定义、目的和受益。定义RFC7348定义了VXLAN扩展方案(VirtUaIeXtenSibleLOCaIAreaNetWOrk),采用MACinUDP(UserDatagramProtocol)封装方式,是NVO3(NetworkVirtualizationoverLayer3)中的一种网络虚拟化技术。目的作为云计算的核心技术之一,服务器虚拟化凭借其大幅降低IT成本、提高业务部署灵活性、降低运维成本等优势已经得到越来越多的认可和部署。图1-1服务器虚拟化示意图ServerlServer2Server3Server4如图11所示,一台服务器可虚拟成多台虚拟机,而一台虚拟机相当于一台主机。主机的数量发生了数量级的变化,这也为虚拟网络带来了如下问题: 虚拟机规模受网络规格限制在大二层网络环境下,数据报文是通过查询MAC地址表进行二层转发,而MAC地址表的容量限制了虚拟机的数量。 网络隔离能力限制当前主流的网络隔离技术是VLAN或VPN(VirtualPrivateNetwork),在大规模的虚拟化网络中部署存在如下限制:-由于IEEE802.IQ中定义的VLANTag域只有12比特,仅能表示4096个VLAN,无法满足大二层网络中标识大量用户群的需求。-传统二层网络中的VLAN/VPN无法满足网络动态调整的需求。 虚拟机迁移范围受网络架构限制虚拟机启动后,可能由于服务器资源等问题(如CPU过高,内存不够等),需要将虚拟机迁移到新的服务器上。为了保证虚拟机迁移过程中业务不中断,则需要保证虚拟机的IP地址、MAC地址等参数保持不变,这就要求业务网络是一个二层网络,且要求网络本身具备多路径的冗余备份和可靠性。针对大二层网络,VXLAN的提出很好地解决了上述问题: 针对虚拟机规模受网络规格限制VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP和MAe地址作为外层头进行封装,对网络只表现为封装后的参数。因此,极大降低了大二层网络对MAC地址规格的需求。 针对网络隔离能力限制VXLAN引入了类彳以VLANlD的用户标识,称为VXLAN网络标识VNl(VXLANNetworkID),由24比特组成,支持多达16M(2a24-1)10242)的VXLAN段,从而满足了大量的用户标识。 针对虚拟机迁移范围受网络架构限制通过VXLAN构建大二层网络,保证了在虚拟迁移时虚拟机的IP地址、MAC地址等参数保持不变。受益随着数据中心在物理网络基础设施上实施服务器虚拟化的快速发展,作为NV03技术之一的VXLAN: 通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。 除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。 通过采用MACinUDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦,租户可以规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,大大降低了网络管理的难度。1.2原理描述介绍VXLAN的实现原理。1.2.1 基本概念VXLAN是NVO3中的一种网络虚拟化技术,通过将VM或物理服务器发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为报文头进行封装,然后在IP网络上传输,到达目的地后由隧道终结点解封装并将数据发送给目标虚拟机或物理服务器。图12VXLAN结构示意图L3 GatewayDevice3L3 NetworkNVEIP1VAP2VAP3VLAN 20Untagevice2DevicelVSwitchVSwitchVMfJ .VMmVLAN 10192.168.10.1/24VM1.viF192.168.10.2/24VLAN 20192.168.20.1/24ServerlServer2通过VXLAN,虚拟网络可接入大量租户,且租户可以规划自己的虚拟网络,不需要考虑物理网络IP地址和广播域的限制,降低了网络管理的难度。下面结合图1-2介绍VXLAN相关概念。 NVE(NetworkVirtualizationEdge):网络虚拟边缘节点NVE,是实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。On说明设备和服务器上的虚拟交换机VSWitCh都可以作为NVE。 VTEP(VXLANTunnelEndpoints):VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。 VNI(VXLANNetworkIdentifier):VXLAN网络标识VNl类似VLANlD,用于区分VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。一个VNl表示一个租户,即使多个终端用户属于同一个VNL也表示一个租户。VNI由24比特组成,支持多达16M(224-l)10242)的租户。 VAP(VirtualAccessPoint):虚拟接入点VAP统一为二层子接口,用于接入数据报文。为二层子接口配置不同的流封装,可实现不同的数据报文接入不同的二层子接口。1.2.2报文格式VXLAN是MACinUDP的网络虚拟化技术,所以其报文封装是在原始以太报文之前添加了一个UDP头及VXLAN头封装。具体报文格式如图13所示。图1-3VXLAN报文格式48bits48bits16bits2bits16bitsMACDAMACSAVLANTypeVLANIDEthernetType£VXLAN封装OuterEthernetheaderOuterIPheaderOuterUDPheaderVXLAN headerInnerEthernetheaderInnerIPheaderPayload72bits8bits16bits16bits16bitsProtocolIPSAIPDAVXLANFlags(00001000)ReservedVNIReserved8bits24bits24bits8bitsSourceDestPortUDPUDPPort(VXLANPort)LengthChecksum16bits16bits16bits16bitsVXLAN头封装- Flags:8比特,取值为OoO(MoO0。- VNI:VXLAN网络标识,24比特,用于区分VXLAN段。- Reserved:24比特和8比特,必须设置为0。 外层UDP头封装目的UDP端口号是4789。源端口号是内层以太报文头通过哈希算法计算后的值。 外层IP头封装源IP地址为发送报文的虚拟机所属VTEP的IP地址;目的IP地址是目的虚拟机所属VTEP的IP地址。 外层Ethernet头封装- SA:发送报文的虚拟机所属VTEP的MAC地址。- DA:目的虚拟机所属VTEP上路由表中直连的下一跳MAC地址。- VLANType:可选字段,当报文中携带VLANTag时,该字段取值为0x8100。- EthernetType:以太报文类型,IP协议报文该字段取值为0x0800。1.2.3VXLAN部署方案目前,设备支持通过单机方式和控制器方式来部署VXLAN网络。 单机方式:传统网络部署方式,按照网络规划登录到每台设备上进行配置。云计算数据中心中,此方式无法协同云平台实现网络的自动化部署。 控制器方式:在大二层网络中,为了方便控制与部署引入了控制器。控制器是统一的网络控制平台,实现网络资源统一协调及管理,协同云平台实现业务和网络的自动化部署。SNC控制器方式 SNC控制器方式概述SNC控制器方式是指通过SNC控制器动态建立VXLAN隧道,并通过OPenFIOW协议向转发器下发相应的流表以指导转发器生成VXLAN隧道和报文在隧道中的转发。这种方式下,设备仅作为转发器,设备只需与控制器建立OPenFlOW通道,而无需进行任何VXLAN的配置。图14基于SNC控制器+VXLAN解决方案网络框架示意图NetMatrixNETC0NFSNCController,4ZOPenFIoW网络控制层基础网络服务器如图14所示,SNC控制器北向通过NetMatriX与NeUtrOn连接,获得用户虚拟网络的信息。控制器根据用户虚拟网络信息,进行动态计算生成网络相关配置信息及流表信息,先自动映射到物理网络。基于SNC控制器+VXLAN解决方案网络框架介绍如表所示。表基于SNC控制器+VXLAN解决方案网络框架介绍框架名称说明业务呈现面向运营商、企业、租户,提供业务灵活定制化界面。层租户通过POrtal定制业务,包括网络业务和主机业务。框架名称说明协同层NOVa、NeutronCinder属于云平台,是标准、开放的OPenStaCk架构,可实现存储、计算和网络资源的协同。租户通过Portal定制不同的业务,云平台的动作也不一样:网络业务:NeUtrOn负责分配NetWOrkID、子网ID、VNl等资源,并保存至NeUtrOnDB。主机业务:-Nova:负责虚拟网络的管理,确定VMlP、VMMAC、VM所属服务器的ID,并通告给NeUtlon.-Neutron:实现业务与网络ID关联,确定VMIP、VMMAC、VNkPort>VM所属服务器的ID、NVElP映射关系。-Cinder:负责分配存储资源。网络控制层由NetMatriX网管系统和控制器组成,完成网络建模和网络实例化。NetMatrix:通过NETCONF协议与控制器建立通信通道,实现网络配置、信息采集和规划结果下发;通过APl(APPIiCationProgrammingInterface)连接NeUtrOn实现业务快速定制和自动发放。控制器:通过OPenFloW协议与转发器建立通信通道,负责集中管理转发器,实现统一管理物理和虚拟网络,所有的路径计算与管理都由控制器独立完成。通常,刀片服务器即可作为控制器。说明控制器和转发器的邻居关系建立是通过OPenFloW协议完成。控制器和转发器的邻居关系建立过程请见SNC控制器与转发器之间通信通道的建立与维护。基础网络物理网络和虚拟网络统一规划。支持基于硬件的VXLAN网关提高业务性能。支持对传统VLAN网络的兼容。转发器只负责数据报文转发。SNC控制器与转发器之间通信通道的建立与维护通过云平台,控制器可及时感知终端租户的状态,获得用户虚拟网络的信息。如图15所示,终端租户上线后,通过云平台,控制器根据获得的用户虚拟网络信息进行动态计算,生成网络相关配置信息及流表信息,并自动映射到物理网络。图控制器与转发器数据同步示意图控制器上相关表项VM1MAC1VM1IP1|VNI1VLAN1NVEIP1VM2MAC2VM2IP2VNI2VLAN2NVEIP1VM3MAC3VM3IP3VM4IP4|VNI1VLAN1NVEIP2VM4MAC4VNI2VLAN2NVEIP2如图15所示,用户可通过NMS或CLl配置维护控制器,NMS和控制器通过NETeONF协议建立连接后,用户通过NMS配置控制器。在控制器上创建NVE,指定VTEP的源、目的IP地址,配置静态MAC地址或ARP表项。由此在控制器上生成静态MAC地址表项或静态ARP表项。转发器和控制器之间OPenFk)W通道建立成功后,转发器会主动将自身节点信息、接口信息上报给控制器。而控制器将静态MAC地址表项或静态ARP表项下发给转发器,控制器通过OPenFk)W管理转发器上的静态MAC地址表项或静态ARP表项。-当SNC控制器和转发器发生OPenF1。W断连,转发器不会删除静态MAC地址表项和静态ARP表项,以保证流量正常转发。-当SNC控制器和转发器重新建立OPenFlOW连接后,SNC控制器会将本地更新后的所有静态MAC地址表项和静态ARP表项重新下发给转发器,以确保SNe控制器和转发器上的静态MAC地址表项和静态ARP表项数据一致。如果SNC控制器上更新后的表项数量小于OPenFlOW重新连接前转发器上保存的表项数量,OPenFloW重新建立连接后,转发器同步SNC控制器上所有表项,并自动删除多余的表项。1.2.4数据报文转发在VXLAN网络中,业务接入点统一表现为二层子接口,通过在二层子接口上配置流封装实现不同的接口接入不同的数据报文。广播域统一表现为BD(Bridge-Domain),将二层子接口关联BD后,可实现数据报文通过BD转发。由于VXLAN网络中通过VNl标识不同租户,将VNl以1:1方式映射到BD,可实现不同的租户通过不同的BD转发。和VLAN类似L不同VNl之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,VXLAN引入了VXLAN网关,如图16所示。二-1说明 VlOoR(X)5C00版本.单机方式VXLAN,只支持部署VXLAN二层网关。指导VXLAN报文转发的MAC地址表项通过动态学习建立。 NVE可以部署在VSWitCh上,也可部署在支持NVE的设备上。本章节主要以NVE部署在支持NVE的设备上为例描述VXLAN网络中数据报文如何转发。图16VXLAN网关TF意图VXLAN网关分为:二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。VXLAN二层网关收到用户报文,根据报文中包含的目的MAC地址类型,报文转发流程分为:-MAC地址是BUM(Broadcast&Unknown-unicast&Multicast)地址,按照BUM报文转发流程进行转发。MAC地址是已知单播地址,按照已知单播报文转发流程进行转发。三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。BUM报文转发流程当BUM报文进入VXLAN隧道,接入端VTEP采用头端复制方式进行报文的VXLAN封装。BUM报文出VXLAN隧道,出口端VTEP对报文解封装。BUM报文具体转发流程如图17所示。1.l说明头端复制:接口收到BUM(Broadcast&Unknown-unicast&Multicast)报文,本地VTEP通过控制平面获取属于同一个VNl的VTEP列表.将收到的BUM报文根据VTEP列表进行复制并发送给属于同一个VNl的所有VTEP。通过头端复制完成BUM报文的广播,不需要依赖组播路由协议。为了防止环路,VXLAN遵循水平分割原则.即:基于VXLAN隧道收到的BUM报文不会再向其他VXLAN隧道进行头端复制转发,只向对应广播域BD下的用户侧进行广播。图1-7BUM报文转发过程图终端C:IP3MAC3MAC2VLAN3A流量转发路径终端A发出的DeViCe2Device3解封装'二层报文DeViCeI封装VXLAN报文VXLAN报文并重新封装Devicel>Device2Devicel>Device3二层报文DMACXSMACIiUlFicDMACNetMACDMACNetMACDMACAllFSMAChVE1MAC1SMACNVE1MAC1SMACMAC1SIP10.1.1.1SIP10.1.1.1VLANTag3高“2DIP10.2.2.2DIP10.3.3.3?IUDPS_PHASHUDPS_PHASHDMACAllFUDPD_P4789UDPD_P4789SMACMAC1VNI5000VNI5000VLANTag4DMACAllFDMACAIIFSMACMAC1SMACMAC1SIPIP1SIPIP1DIPIP2DIPIP3Pay-loadPay-load1. DeViCeI收到来自终端A的报文,根据报文中接入端口和VLAN信息获取对应的二层广播域,并判断报文的目的MAC是否为BUMMAC。是,在对应的二层广播域内广播,并跳转到2。不是,通过已知单播报文转发流程。2. DeViCel上VTEP根据对应的二层广播域获取对应VNl的头端复制隧道列表,依据获取的隧道列表进行报文熨制,并进行VXLAN封装。基于每个出端口和VXLAN封装信息封装VXLAN头和外层IP信息,并从出端口转发。3. DeViCe2上VTEP收到VXLAN报文后,根据UDP目的端口号、源/目的IP地址、VNI判断VXLAN报文的合法有效性。依据VNl获取对应的二层广播域,然后进行VXLAN解封装,获取内层二层报文,判断报文的目的MAC是否为BUMMAC 是,在对应的二层广播域内非VXLAN侧进行广播处理。 不是,再判断是否是本机MACo 是,上送CPU处理。 不是,在对应的二层广播域内查找出接口和封装信息,并跳转到4。4. DeViCe2Device3根据查找到的出接口和封装信息,为报文添加VLANTag,转发给对应的B/C。匚二!说明终端B/C上回应终端A的消息,按照已知单播报文转发流程进行转发。已知单播报文转发流程已知单播报文具体转发流程如图L8所示。图18已知单播报文转发过程图终端A发出的 二层报文DMACMAC2SMACMAC1VLAN Tag2DeViCeI封装VXLAN报文DMACNet MACSMACNVE1 MAC1SIP10.1.1.1DIP10.2.2.2UDP S_PHASHUDP D_P4789VNI5000DMACMAC2SMACMAC1SIPIP 2DIPIP 1Pay-loadDeViCe2封装VXLAN报文I DMACMAC2 SMACMACl IVLANI鬲IDeViCe2M单封装VXLAN报文 并重新封装二层报文DMACMAC1DMACNet MACSMACMAC2SMACNVE2 MAC1VLANTag3SIP10.2.2.2DIP10.1.1.1UDP S_PHASHUDP D_P4789VNI5000DMACMAC1SMACMAC2SIPIP 2DIPIP 1Pay-load终端B发出的 二层报文DMACMAC1SMACMAC2VLANTag2并重新封装二层报文1.DeViCeI收到来自终端A的报文,根据报文中接入的端口和VLAN信息获取对应的二层广播域,并判断报文的目的MAC是否为已知单播MAC。是,再判断是否为本机MAC。-是,上送主机处理。-不是,在对应的二层广播域内查找出接口和封装信息,并跳转到2。不是,在对应的二层广播域内进行广播处理,并跳转到2。2. DeViCel上VTEP根据查找到的出接口和封装信息进行VXLAN封装和报文转发。3. DeViCe2上VTEP收到VXLAN报文后,根据UDP目的端口号、源/目的IP地址、VNl判断VXLAN报文的合法有效性。依据VNl获取对应的二层广播域,然后进行VXLAN解封装,获取内层二层报文,判断报文的目的MAC是否为己知单播报文MACo 是,在对应的二层广播域内查找出接口和封装信息,并跳转到4。 不是,再判断是否是本机MAC。 是,上送主机处理。 不是,通过BUM报文转发流程。4. DeViCe2根据查找到的出接口和封装信息,为报文添加VLANTag,转发给对应的终端B。三层网关不同网段的VXLAN间通信,及VXLAN和非VXLAN的通信,需要通过IP路由实现。在VXLAN网络中,将虚拟广播域VN(VirtualNetwork)对应的VNl(VXLANNetWOrkIdentifier)以1:1方式映射到广播域BD,BD成为VXLAN网络的实体,通过BD转发流量。基于BD可创建三层逻辑接口BDlF接口,通过BDlF接口配置IP地址实现不同网段的VXLANfa,及VXLAN和非VXLAN的通信。二一说明BDIF接口类似VLANl眼口。图1-9三层网关通信组网图路由表192.168.20.0/24BDDevice3VNIPacket: VSwitch ;VMl MAClSDestination 192.168.10.0/24NextHop192.168.10.10/24192.168.20.10/24VSwitch INetwork1DeviceIP CoreNVE3NVE4Interface BDIFioBDIF20L3 Gateway:_ BDIF10:192.168.10.10/24 MAC3DIF20:192.168.20.10/24 MAC4L2 Gateway evice1VM2 MAC2VLAN 20192.168.20.1/24VLAN1u192.168.10.1/24ServerlServer2<)->VXLANTunnelPacketflow如图1-9所示,三层网关通信具体实现过程如下:1.DeViCe3收到VXLAN报文后进行解封装,确认内层报文中的DMAC是否是本网关接口的MAC地址。是,转给对应目的网段的三层网关处理,并跳转2。不是,在对应的二层广播域内查找出接口和封装信息。2.作为VXLAN三层网关的DeViCe3剥除内层报文的以太封装,解析目的IP。根据目的IP查找ARP表项,确认DMAC、VXLAN隧道出接口及VNl等信息。没有VXLAN隧道出接口及VNl信息,进行三层转发。有VXLAN隧道出接口及VNl信息,跳转3。3.DeViCe3重新封装VXLAN报文,其中内层报文以太头中的SMAC是网关接口的MAC地址。一说明DeViCe3与其他DeViCe之间的通信,请参见二层网关实现原理。ARP代答一一1说明目前,仅SNC控制器支持ARP代答功能。如图LIO所示,在传统的终端用户互通过程中,如VMl初次访问VM3时,VMl会向VM3发送ARP广播请求报文。ARP请求报文会在二层网络内广播,VM3收到ARP广播请求报文后进行ARP单播应答。图I-IOARP代答组网图VM1MAC1VM1IP1|VNI1VLAN1NVEIP1VM2MAC2VM2IP2VNI2VLAN2NVEIP1VM3MAC3VM3IP3VNI1VLAN1NVEIP2VM4MAC4VM4IP4VNI2VLAN2NVEIP2为了避免ARP广播请求报文给网络带来广播风暴,可在图l10所示的控制器上使能ARP代答功能。VMl发送ARP请求报文,请求目的主机VM3的MAC地址具体实现过程如下:1. VMI发送ARPi青求报文(SMACMACl,SIP:IP1,DMACFF-FF-FF,DIP:IP3)。2. NVEI收到ARP请求报文后,通过OPenFIOW通道上送控制器处理。3. 控制器根据IP3查询用户信息库,获得VM3对应的MAC地址MAC3。4. 控制器封装ARP应答报文,通过OPenFk)W通道发送给NVEl。5. NVEI根据控制器指定的出端口(ARP请求报文的入端口)将ARP应答报文发送给VMlo1.2.5VXLANQoSVXLANQoS用来实现原始报文携带的QoS优先级、设备内部优先级(又称为本地优先级,是设备内部区分报文服务等级的优先级)与封装后报文优先级之间的转换,从而设备根据内部优先级提供有差别的QoS服务质量。如图111所示,VXLANQOS实现的原始报文携带的QoS优先级、设备内部优先级与封装后报文优先级之间的转换过程如下。1 .原始报文由二层子接口进入SWitCh设备,原始报文按照子接口上指定的VLAN上绑定的DiffSerV模板进行映射,将原始报文的802lp优先级映射为设备内部优先级(PHB行为和报文颜色),以此入队列。2 .报文进入隧道,对报文进行加封装(外层依次添加VXLAN报文头、UDP报文头、IP报文头和以太报文头),加封装报文外层的802.lp优先级和DSCP优先级由原始报文内部优先级按照DiffSerV域的缺省模板进行映射。报文按照映射后的优先级在隧道中进行传输。3 .报文出隧道时,按照隧道接口上配置的信任类型802.1p或DSCP(以太网接口处于三层模式时只能信任DSCP),按照DiffSerV域的缺省模板进行映射,映射为设备内部优先级,进入队列进行传输。4 .最后,由设备内部优先级按照子接口上指定的VLAN上绑定的DiffSerV域模板进行映射,映射到出接口报文的802.1p优先级,报文按照映射后的优先级进行传输。1.2.6VXLAN土曾弓虽与寺,性:"说明本特性从Vl(X)Roo5C1()版本开始支持。1.2.6.1ARP/MAC动态学习动态ARP/MAC地址表项通过ARP/MAC报文动态学习创建和更新,不需要网络管理员手工维护,大大减少了网络管理员的维护量。在VXLAN网络中如何通过ARP/MAC动态学习建立动态ARP/MAC地址表项以实现终端租户互通,将基于图112详细介绍。图1-12不同网段租户互通实现过程示意图DestinationNextHopInterface192.168.10.0/24192.168.10.10BDIF10192.168.20.0/24192.168.20.10BDIF20路由表ServerlServer21. VMl初次和VM2通信,VMl会先发送目的MAC为全F的ARP请求报文。2. DeViCel收到ARP请求报文后,更新本地保存的MAC地址表(MAC表中增力11VNIID),并将ARP请求报文在本网段内广播。3. DeViCe3收到ARP请求报文后,更新本地保存的ARP表项,并向DeViCel发送源MAC是MAC3的ARP应答报文。4. DeViCel收到ARP应答报文后更新本地保存的MAC地址表。5. VMI收到ARP应答报文后,更新本地保存的ARP表项,并向三层网关发送数据报文。6. DeViCeI收到报文后,根据本地保存的MAC表,找到出接口是NVE3,进行VXLAN封装,封装后的VXLAN报文如图1-13所示。图113VXLAN报文DMACNetMACSMACNVE3MACSIPNVE3DIPNVE2UDPS_PHASHUDPD_P4789VN6000DMACMAC3SMACMAC1SIP192.168.10.1DIP192.168.20.1Payload7. DeViCe3收到VXLAN报文后先进行解封装,再查找路由表转发报文。8. 三层网关查找本地保存的ARP表项,发现没有目的租户VM2的IP地址和MAC地址映射关系,三层网关NVE3向NVE2发送ARP请求报文。9. DeViCe2收到ARP请求报文后,更新本地保存的MAC地址表,并将ARP请求报文在本网段内广播。10. VM2收到ARP请求报文后,更新本地保存的ARP表项,并向DeViCe2发送ARP应答报文。11. DeViCe2收到ARP应答报文后更新本地保存的MAC地址表,并向DeViCe3发送ARP应答报文。12. NVE3收到ARP应答报文,更新本地保存的ARP表项。13. 三层网关向VM2发送数据报文。三层网关根据本地保存的MAC转发表,找到出接口是NVE2,进行VXLAN封装,封装后的VXLAN报文如图114所示。图1-14VXLAN报文DMACNetMACSMACNVE3MACSIPNVE1DIPNVE3UDPS_PHASHUDPD_P4789VN5000DMACMAC2SMACMAC4SIP192.168.10.1DIP192.168.20.1Payload14. VXLAN报文依据图中的外层路由表转发到DeViCe2。DeViCe2收到VXLAN报文后进行解封装,查找MAC地址表,将数据报文转发至目的租户VM2。VM2>VM1通信过程与VM1>VM2类似,这里不再赘述。由于VMI>VM2的通信过程中,三层网关、DeviceKDeViCe2上都更新了ARP和MAC表项,VM2->VM1通信过程中无需再发送ARP请求,以单播形式通信。由此实现VMI和VM2之间通过VXLAN三层网关实现跨网段通信。1.2.6.2ARP广播抑制在终端租户初次互通过程中,终端租户会发送ARP广播请求报文,而ARP请求报文会在二层网络内广播。为了抑制ARP广播请求报文给网络带来的广播风暴,可在VXLAN二层网关设备上使能广播抑制功能。图1-15ARP广播抑制示意图Serverl MACMAC1Serverl IPIP 1Serverl VTEP1.1.1.1Serverl VNIVNI IDServer2 MACMAC2S