您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > VXLAN技术介绍v11
VXLAN技术介绍1VXLAN概述1.1什么是VXLANVXLAN(VirtualExtensibleLAN)虚拟可扩展局域网,是一种overlay网络技术,将原始2层以太网帧进行UDP封装(MAC-in-UDP),增加8字节VXLAN头部,8字节UDP头部,20字节IP头部和14字节以太网头部,共50字节。1.2VXLAN优点VXLAN与VLAN相比能够提供更好的扩展性和灵活性,主要有以下特点:应用灵活部署:通过VXLAN封装后的2层以太网帧可以跨3层网络边界,让组网以及应用部署变得更加灵活,同时解决多租户网络环境中IP地址冲突问题。更好的扩展性:传统VLANID字段为12-bit,VLAN数量最大为4096;VXLAN使用24-bitVNID(VXLANnetworkidentifier),最大支持16,000,000逻辑网络。提高网络利用率:传统以太网使用STP预防环路,STP导致网络冗余路径处于阻塞状态,VXLAN报文基于3层IP报头传输,能有效利用网络路径,支持ECMP(equal-costmultipath)和链路聚合协议。1.2.1应用灵活部署复制网OSPFArea0RTRTRTVM1VLAN10192.168.1.100VM2VLAN20172.168.1.100生产灾备VM1VswitchVM3VswitchSWVTEPSWVTEPRTVM4VM2VM3VLAN10192.168.1.200VM4VLAN20172.168.1.200VLAN10:192.168.1.1VLAN20:172.16.1.1L0:1.1.1.1L0:2.2.2.2图1-1使用VXLAN后可灵活部署应用,不受物理位置和3层网络边界限制如图1-1所示,在VXLAN环境中应用部署不受物理位置和3层网络边界限制,例如某应用的地址段为192.168.1.0/24,在传统网络中所有该应用服务器或者虚拟机必须在同一3层网络内部署,否则会产生路由或者地址冲突问题。1.2.2更好的扩展性CORE-0ACORE-0BVM1VNI1VTEP-1VTEP-2VM2VNI2VM3VNI1VM4VNI2客户A:VM1、3客户B:VM2、4客户……………SW-01SW-011.1.1.12.2.2.2VRRP图1-2使用VXLAN后突破传统VLAN数量限制传统网络通过VLAN将客户网络逻辑隔离,VLANID字段为12-bit,VLAN数量最大为4096;VXLAN使用24-bitVNID(VXLANnetworkidentifier),最大支持16,000,000逻辑网络,扩展性得到极大增强。1.2.3提高网络利用率CORE-0ACORE-0BVM1VNI1VTEP-1VTEP-2VM2VNI2VM3VNI1VM4VNI2SW-01SW-011.1.1.12.2.2.2OSPFforwardingforwardingforwardingforwardingforwardingforwardingforwardingforwarding图1-3使用VXLAN后使用三层接口互联消除生成树阻塞端口传统以太网帧无法穿越三层网络,部署VXLAN后,VTEP之间数据基于三层寻址,网络互联接口不再是二层接口,可以将交换机之间互联接口部署为三层模式,消除生成树阻塞端口,提高网络利用率,支持ECMP(equal-costmultipath)和链路聚合协议。2VXLAN术语2.1VTEPVXLANTunnelEndpoint(VTEP)。VXLAN使用VTEP设备对VXLAN报文进行封装与解封装,包括ARP请求报文和正常的VXLAN数据报文,VTEP将原始以太网帧通过VXLAN封装后发送至对端VTEP设备,对端VTEP接收到VXLAN报文后解封装然后根据原始MAC进行转发,VTEP可以是物理交换机、物理服务器或者其他支持VXLAN的硬件设备或软件来实现。2.2VNIVirtualNetworkID(VNI),VNI封装在VXLAN头部,共24-bit,最大支持16,000,000逻辑网络。2.3VXLAN网关VXLAN网关用于连接VXLAN网络和传统VLAN网络,VXLAN网关实现VNI和VLANID之间的映射,VXLAN网关实际上也是一台VTEP设备。2.4组播组VTEP设备要加入相同的组播组,主要用于控制平面地址学习。3VXLAN封装VXLAN使用UDP封装完整的以太网帧(MAC-in-UDP),共50字节的封装报文头。具体的报文格式如下:图1-4VXLAN封装格式1、InnerMACInnerMAC,内层MAC是原始以太网帧的MAC地址。2、VXLANHeader共8个字节,目前使用的是Flags中的一个8bit的标识位和24bit的VNI(VxlanNetworkidentifier),其余部分没有定义,但是在使用的时候必须设置为0x0000。3、OuterUDPHeader共8个字节,IANA分配的标准目的端口使用4798,但是各厂商可以根据需要进行修改,同时UDP的校验和必须设置成全0。4、OuterIPHeader共20个字节,目的IP地址可以是单播地址,也可以是多播地址。单播情况下,目的IP地址是目的VTEP的IP地址;当用于VXLAN控制平面时会使用多播地址。OuterIP:外层IP地址是经过VTEP封装后的3层IP地址,源IP是本端VTEP设备IP,用于控制平面时目的IP可以是多播地址,用于转发平面时目的IP是远端VTEP设备IP。5、OuterEthernetHeader共计14个字节,外层以太网帧头部。OuterMAC,外层MAC是经过VTEP封装后的二层MAC,源MAC是本端VTEP设备MAC,目的MAC可以是远端VTEP设备MAC或者传输路径中间3层网络设备MAC。4VXLAN数据转发4.1控制平面在VXLAN的实现中,当通过组播实现控制平面路径发现时,VTEP设备之间使用无状态tunnel,VTEP设备之间不会维持状态化的长连接。VXLAN需要通过控制平面学习远端设备地址信息,在本地构建控制平面表项。控制平面表项由VNI、InnerSourceMAC、OuterSourceIP三元组组成。4.2转发平面控制平面学习地址映射信息后,转发平面负责实际数据的转发。VTEP为原始数据帧增加UDP报头,新的报头到达目的VTEP后才会被去掉,中间路径的网络设备只会根据外层包头内的目的地址进行数据转发。4.3VXLANARP请求图1-4VXLAN网络MAC地址学习如上图所示,终端设备A需要和终端设备B通信,ARP请求过程如下:1、终端设备A发送ARP请求,请求终端设备B的MAC地址;2、VTEP-1收到终端设备A发送的ARP请求,此时VTEP-1还没有终端设备B对应的地址映射表项,VTEP-1将ARP请求进行VXLAN封装,VNI设置为10,outer-src-ip是VTEP-1的IP,outer-dst-ip是加入的组播组地址,封装完成后转发至VXLAN组播组;3、VTEP-2、VTEP3加入相同的组播组,所有组成员都会收到VTEP-1发送的组播报文,解封装后检查VNI与本地VNI是否匹配,如匹配将ARP请求发送至本地网络,同时记录VNI、innerMAC、outerIP的对应关系,构建控制平面地址映射表项。如VNI不匹配则丢弃数据包。4、终端设备B收到ARP请求后以单播方式发送ARP响应;5、VTEP-2收到终端设备B的ARP响应后进行VXLAN封装,此时VTEP-2已经构建控制平面地址映射表项,通过VXLAN封装后以单播方式发送。Outer-src-ip是VTEP-2的IP地址,outer-dst-ip是VTEP-1的IP地址;6、VTEP-1收到封装后的ARP响应后,解封装比对VNI,如匹配将ARP响应发送至终端设备A,同时记录VNI、innerMAC、outerIP的对应关系,构建控制平面表项;7、此时VTEP-1、VTEP-2均已成功构建控制平面地址映射信息,后续VXLAN数据使用单播在VTEP-1和VTEP-2之间传输。4.4VXLAN数据传输1、ARP请求完成后,终端设备A向终端设备B发送数据,VTEP-1收到数据中查找地址映射表项,将原始数据进行VXLAN封装后转发至VTEP-2;2、VTEP-2收到VXLAN数据包后检查VNI是否与本地VNI匹配,如匹配则解封装后将原始以太网帧转发至终端设备B。5VXLAN部署6补充:1、在进行ARP处理时,为了将广播通过多播进行传输,必须要设置VNI到多播组的映射,这种映射属于管理层,用于建立VTEP之间的管理通道。未知的目的MAC(unknownMACdestination)同样会进行组播封装,处理方式和广播相同。2、VXLAN报文不能进行分片处理,中间的设备可能会将VXLAN报文分片,但是VTEP会将分片后的报文丢弃,为了确保VXLAN报文不被分片处理,需要修改沿途所以设备的MTU。RFC文档没有阐述为什么VTEP必须丢弃分片后的报文。3、在封装和解封装时VLANTAG信息都会被剥离,除非另有特殊配置。4、学习资料出处:、。
本文标题:VXLAN技术介绍v11
链接地址:https://www.777doc.com/doc-2866823 .html