解读VXLAN----新华三H3C

2 篇文章 0 订阅
订阅专栏

原文链接:http://www.h3c.com/cn/d_201811/1131076_30005_0.htm

 

1 起源-Origin

传统的交换网络解决了二层的互通及隔离问题,这个架构发展了几十年已经相当成熟。而随着云时代的到来,却渐渐暴露出了一些主要的缺点。

多租户环境和虚拟机迁移

为了满足在云网络中海量虚拟机迁移前后业务不中断的需要,要求虚拟机迁移前后的IP不能变化,继而要求网络必须是大二层结构。传统的二层网络技术,在链路使用率、收敛时间等方面都不能满足需要。

VLAN的局限

随着云业务的运营,租户数量剧增。传统交换网络用VLAN来隔离用户和虚拟机,但理论上只支持最多4K个标签的VLAN,已无法满足需求。

2 竞争-Competition

为了解决上述局限性,不论是网络设备厂商,还是虚拟化软件厂商,都提出了一些新的Overlay解决方案。

网络设备厂商,基于硬件设备开发出了EVI(Ethernet Virtualization Interconnect)、TRILL(Transparent Interconnection of Lots of Links)、SPB(Shortest Path Bridging)等大二层技术。这些技术通过网络边缘设备对流量进行封装/解封装,构造一个逻辑的二层拓扑,同时对链路充分利用、表项资源分担、多租户等问题采取各自的解决方法。此类技术一般要求网络边缘设备必须支持相应的协议,优点是硬件设备表项容量大、转发速度快。

虚拟化软件厂商,从自身出发,提出了VXLAN(Virtual eXtensible LAN)、NVGRE(Network Virtualization Using Generic Routing Encapsulation)、STT(A Stateless Transport Tunneling Protocol for Network Virtualization)等一系列技术。这部分技术利用主机上的虚拟交换机(vSwitch)作为网络边缘设备,对流量进行封装/解封装。优点是对网络硬件设备没有过多要求。

通过表1,我们可以看到这几种Overlay技术对比。 其中,虚拟化软件厂商提出的Overlay技术由于天然支持vSwitch,在云计算网络中更有优势。

表1 各种Overlay技术比较

通过表2,可以看到VXLAN、NVGRE、STT这三种技术的区别。 与NVGRE相比,VXLAN不需要改变报文结构即可支持L2~L4的链路负载均衡;与STT相比,VXLAN不需要修改传输层结构,与传统网络设备完美兼容。由此,VXLAN脱颖而出,成为了SDN环境下的主流Overlay技术。

表2 VXLAN、NVGRE及STT对比

VXLAN是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用MAC-in-UDP的报文封装模式,可实现二层网络在三层范围内进行扩展,满足数据中心大二层虚拟机迁移的需求。在VXLAN网络中,属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。

VXLAN最初只在虚拟交换机实现,但虚拟交换机天然具有转发性能低下的缺点,并不适合大流量的网络环境。于是,各硬件厂商也纷纷推出支持VXLAN的硬件产品,与虚拟交换机一起,共同成为网络边缘设备,最终使VXLAN技术能够适应各种网络。

3 数据平面-Data Plane

3.1 VXLAN基本概念

 

图1 VXLAN网络基本模型

• VNI(VXLAN Network Identifier,VXLAN网络标识符):VXLAN通过VXLAN ID来标识,其长度为24比特。VXLAN 16M个标签数解决了VLAN标签不足的缺点。

• VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在服务器的虚拟交换机。

• VXLAN Tunnel两个VTEP之间点到点的逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头、IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。

• VSIVirtual Switching Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应。

• VSI-Interface(VSI的虚拟三层接口):类似于Vlan-Interface,用来处理跨VNI即跨VXLAN的流量。VSI-Interface与VSI一一对应,在没有跨VNI流量时可以没有VSI-Interface。

图2 VTEP中的对应关系

现有VTEP设备中,一般用“接口+VLAN”的方式来区分流量与VSI的对应关系,而VSI与VXLAN Tunnel之间既可以建立全连接,也可以根据需求进行关联。

3.2 VXLAN帧格式

3.2.1 RFC7348封装

RFC7348规定了VXLAN报文的格式:

图3 VXLAN报文一般封装

• Outer MAC Header:封装外层以太头,14字节,如果有VLAN TAG则为18字节。其中,源MAC地址(Outer Source MAC Address)为源VM所属VTEP的MAC地址,目的MAC地址(Outer Destination MAC Address)为到达目的VTEP的路径上下一跳设备的MAC地址。类型字段为0x0800,指示内层封装的是IP报文。

• Outer IP Header:封装外层IP头,20字节。其中,源IP地址(Outer Source IP Address)为源VM所属VTEP的IP地址,目的IP地址(Outer Destination IP Address)为目的VM所属VTEP的IP地址。协议字段为0x11,指示内层封装的是UDP报文。

• UDP Header:UDP报文头,8字节。其中,UDP目的端口号(UDP Destination Port)固定为4789,指示内层封装报文为VXLAN报文。UDP源端口号(UDP Source Port)为随机任意值,可以用于VTEP之间多路径负载分担的计算。

• VXLAN Header:VXLAN协议新定义的VXLAN头,8字节。

• Flags8 bit,RRRRIRRR。“I”位为1时,表示VXLAN头中的VXLAN ID有效;为0,表示VXLAN ID无效。“R”位保留未用,设置为0。

• VXLAN ID(VNI:24 bit,用于标识一个单独的VXLAN网络。

• Reserved:分别为24 bit和8 bit。保留位。

• Original L2 Frame:原始以太网报文。

从报文的封装可以看出,VXLAN头和原始二层报文是作为UDP报文的载荷存在的。在VTEP之间的网络设备,只需要根据Outer MAC Header和Outer IP Header进行转发,利用UDP Source Port进行负载分担,这一过程,与转发普通的IP报文完全相同。这样,除了VTEP设备,现网的大量设备无需更换或升级即可支持VXLAN网络。

不过,新增加的VXLAN报文封装也引入了一个问题,即MTU值的设置。

一般来说,虚拟机的默认MTU为1500 Bytes,也就是说原始以太网报文最大为1500字节。这个报文在经过VTEP时,会封装上50字节的新报文头(VXLAN头8字节+UDP头8字节+外部IP头20字节+外部MAC头14字节),这样一来,整个报文长度达到了1550字节。而现有的VTEP设备,一般在解封装VXLAN报文时,要求VXLAN报文不能被分片,否则无法正确解封装。这就要求VTEP之间的所有网络设备的MTU最小为 1550字节。

如果中间设备的MTU值不方便进行更改,那么设置虚拟机的MTU值为1450,也可以暂时解决这个问题。

3.2.2 VXLAN GPE封装

RFC7348中规定的VXLAN内部的载荷报文必须是以太网报文,这就限制了VXLAN协议的使用范围。为了让VXLAN能够更广泛的支持其他协议报文的Overlay传输,RFC草案正在探索VXLAN Generic Protocol Encapsulation (GPE)即VXLAN通用协议封装。

图4 VXLAN报文GPE封装

GPE封装使用了原FRC7348中规定的一些保留位。

• Version(Ver):指示VXLAN GPE协议版本。初始值为0。

• Next Protocol Bit (P bit): 如果P位为1,则Next Protocol域有效。

• BUM Traffic Bit (B bit): 如果B位为1,则表示VXLAN内部的封装报文为BUM报文。

• OAM Flag Bit (O bit): 如果O位为1,则表示VXLAN内部的封装报文为OAM报文。

• Next Protocol: 8位。表示VXLAN内部的封装报文的协议格式。

VXLAN的GPE封装还处于草案阶段,读者只需要了解VXLAN协议还在不断的发展中,暂时不必深究GPE封装的格式和应用。

3.3 BUM报文转发

BUM(Broadcast, Unknown-unicast, Multicast)即广播、未知单播、组播流量。根据对泛洪流量的复制方式不同可分为单播路由方式(头端复制)和组播路由方式(核心复制)两种。

3.3.1 单播路由方式泛洪(头端复制)

图5 单播路由方式泛洪(头端复制)

在头端复制方式下,VTEP负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。

如图5所示,当VTEP 1上的VM 1发出BUM报文后,VTEP 1判断数据所属的VXLAN,通过该VXLAN内所有本地接口和VXLAN Tunnel转发报文。通过VXLAN Tunnel转发报文时,封装VXLAN头、UDP头和IP头,将泛洪报文封装于单播报文中,发送到VXLAN内的所有远端VTEP。

远端VTEP收到VXLAN报文后,解封装报文,将原始数据在本地站点的VXLAN内泛洪。为避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。

3.3.2 组播路由方式泛洪(核心复制)

图6 组播路由方式泛洪(核心复制)

组播路由方式的组网中同一个VXLAN内的所有VTEP都加入同一个组播组,利用组播路由协议(如PIM)在IP网络上为该组播建立组播转发表项,VTEP上相应生成一个组播隧道。

如图6所示,当VTEP 1上的VM 1发出BUM报文后,VTEP 1不仅在本地站点内泛洪,还会为其封装组播目的IP地址,封装后的报文根据已建立的组播转发表项转发到IP网络。

在组播报文到达IP网络中的中间设备时,该设备根据已建立的组播表项对报文进行复制并转发。

远端VTEP(VTEP 2和VTEP 3)接收到报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN泛洪。为了避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。

由于泛洪流量使用了组播技术,所以整个组网中的网络设备需要支持组播路由协议(如PIM等)来建立组播路径以便组播报文转发。

3.4 单播报文转发流程

下面,我们用实际的例子帮助大家理解VXLAN是如何完成报文转发的,其中,BUM报文采用头端复制的方法进行泛洪。

3.4.1 同VNI单播报文转发流程

图7 ARP请求报文转发流程

• ARP请求报文转发流程

1. VM 1与VM3的IP地址在同一网段。VM 1想要与VM 3进行通信,但发现没有VM 3的MAC地址,于是发起VM 3的ARP请求报文。ARP请求报文的源IP是VM 1的IP,目的IP是VM 3的IP,源MAC是VM 1的MAC,目的MAC则是全0字段,表示希望获得VM 3的MAC信息。外层封装以太网头,其中目的MAC为全F,表示这是一个广播报文。

2. Leaf A收到了VM 1发来的ARP请求报文,根据其入端口和VLAN信息,判断出这个报文应该匹配VXLAN 10。将VXLAN、MAC、入端口和VLAN信息写入相应的VSI MAC表中。

3. Leaf A发现ARP请求报文是一个广播报文,于是将这个报文在本地和远端所有VXLAN 10的端口进行广播。由于本流程广播采用头端复制的方法,Leaf A将给Leaf B和Spine C各发送一份VXLAN报文。Leaf A发送给Leaf B的报文,最外层是以太网头,接着是IP头,其中源IP是Leaf A的IP,目的IP是Leaf B的IP。再往内是UDP头和VXLAN头,其中VNI为10。最内层是VM 1的ARP请求报文。Leaf A发给Spine C的报文封装相同,不同之处在于外层目的IP是Spine C的IP,外层目的MAC根据下一跳不同而不同。

4. Spine C收到Leaf A发来的报文,发现外层目的IP是自己,于是将其解封装。发现UDP的目的端口是4789,于是将UDP的上层报文进行VXLAN解封装处理。根据VXLAN报文的信息,将VXLAN、内部MAC、入端口等信息写入相应的VSI MAC表中。再发现内部原始二层报文是一个广播报文,根据水平分割的要求,不再往其他VTEP设备转发,只在本地的VXLAN 10端口内进行广播。由于Spine C上没有连接服务器,所以Spine C对这个报文不再进行后续处理,予以丢弃。

5. 同样的,Leaf B也收到Leaf A发来的报文,解封装后,将VXLAN、内部MAC、入端口等信息写入相应的VSI MAC表中。由于报文是从Tunnel 1中收到的,所以端口信息为Tunnel 1。根据VXLAN 10的映射关系表,将原始二层报文在本地所有VXLAN 10端口进行广播.

6. 最终VM 3收到了VM 1的ARP请求报文,将VM 1的IP和MAC对应关系写入自己的ARP表项,准备进行ARP应答。

图8 ARP应答报文转发流程

• ARP应答报文转发流程

1. VM 3给VM 1发送ARP应答报文。ARP应答报文的源IP是VM 3的IP,目的IP是VM 1的IP,源MAC是VM 3的MAC,目的MAC是VM 1的MAC。外层封装以太网头,源MAC是VM 3的MAC,目的MAC是VM 1的MAC,表示这是一个单播报文。

2. Leaf B收到VM3发来的ARP应答报文,根据其入端口和VLAN信息,判断出这个报文应该匹配VXLAN 10。将VXLAN、MAC、入端口和VLAN信息写入相应的VSI MAC表中。

3. Leaf B发现ARP应答报文是一个单播报文,其目的MAC是MAC 1,于是在VXLAN 10中查找。发现MAC 1的条目存在,其对应的端口为VXLAN Tunnel 1,于是把原始报文进行VXLAN封装。最外层是以太网头,接着是IP头,其中源IP是Leaf B的IP,目的IP是Leaf A的IP。再往内是UDP头和VXLAN头,其中VNI为10。最内层是VM 3的ARP应答报文。

4. Leaf A收到Leaf B发来的报文,发现外层目的IP是自己,于是将其解封装。发现UDP的目的IP是4789,于是将UDP的上层报文进行VXLAN解封装处理。根据VXLAN报文的信息,将VXLAN、内部MAC、入端口等信息写入相应的VSI MAC表中。发现原始二层报文的目的MAC为MAC 1,于是在VXLAN 10中查找,找到MAC 1的对应表项,将报文从对应端口发送出去。

5. VM 1收到了VM 3的ARP应答报文,将VM 3的IP和MAC写入ARP表项中,完成了此次ARP的学习。

图9 同VNI单播报文转发流程

• 同VNI单播报文转发流程

1. 在进行ARP报文的交互后,VM 1上已经存在VM 3的ARP表项,VM 3上也有VM 1的ARP表项。之后,VM 1和VM 3的通信就走单播报文转发流程了。

2. VM 1将发给VM 3的单播报文发送出去。Leaf A收到VM 1发来的报文,发现其目的MAC为MAC 3,在VXLAN 10中查找到MAC 3后,进行VXLAN封装后通过Tunnel 1发送出去。

3. Leaf B收到Leaf A发来的报文,解封装后在VXLAN 10中找到MAC 3表项,将其在对应的本地端口和VLAN中发出去。

4. VM 3收到报文后,往VM 1发送单播报文的流程相同,在此不再赘述。

 

3.4.2 跨VNI单播报文转发

图10 跨VNI单播报文转发

跨VNI的流量需要经过VXLAN L3 Gateway(VXLAN L3 Gateway用于转发跨VXLAN的流量,后文有详细介绍)来转发,这里采用集中式网关的模式进行说明。有关集中式网关和分布式网关的内容,在后文中会说明。

由于是首次进行通信,且VM 1和VM 4处于不同网段。VM 1的网关VSI-Interface 10的IP为IP G10,MAC为MAC G10;VM4的网关VSI-Interface 20的IP为IP G20,MAC为MAC  G20;VSI-interface 10 和VSI-interface 20均在Spine C上。VM 1需要先发送ARP广播报文请求网关(VSI-Interface 10)的MAC,获得网关的MAC后,VM 1先将数据报文发送给网关;之后网关也将发送ARP广播报文请求VM 4的MAC,获得VM 4的MAC后,网关再将数据报文发送给VM 4。以上MAC地址学习的过程与同子网互通中MAC地址学习的流程一致,不再赘述。现在假设VM 1和VM 4均已学到网关的MAC、网关也已经学到VM 1和VM 4的MAC,下面就让我们来看下数据报文是如何从VM 1发送到VM 4的。

1. VM 1先将报文发送给网关。报文的源MAC是VM 1的MAC,目的MAC是网关VSI-Interface 10的MAC,源IP是VM 1的IP,目的IP是VM 4的IP。

2. Leaf A收到VM 1发来的报文,识别此报文属于VXLAN 10,查找目的MAC G10的表项,就报文进行VXLAN封装后从Tunnel 2发送出去。其中,VXLAN头中的VNI为10;外层源IP地址为Leaf A的IP,外层目的IP地址为Spine C的IP;外层源MAC地址为Leaf A的MAC,而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP。

3. Spine C收到Leaf A发来的报文,发现外层目的IP是自己,于是对报文进行解封装。解完封装后,Spine C发现原始二层报文的目的MAC为本机VSI-interface 10的MAC,目的IP是IP4,于是根据路由表查找IP 4的下一跳。发现一下跳为Leaf B,出接口为VSI-Interface 20。再查询ARP表项,并将原始二层报文的源MAC修改为VSI-interface 20的MAC,将目的MAC修改为VM 4的MAC。报文到达VSI-interface 20接口时,识别到需要进入VXLAN 20隧道,所以根据MAC表对报文进行封装。这里封装的VXLAN头中的VNI为20,外层源IP地址为Spine C的IP地址,外层目的IP地址为Leaf B的IP地址;外层源MAC地址为Spine C的MAC地址,而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP。

4. Leaf B收到Spine C发来的报文后,解封装,得到原始二层报文。在VXLAN 20内找到目的MAC为MAC 4的表项,并将报文从对应的接口和VLAN中发送出去。最终VM 4收到了来自VM 1的报文。

5. VM 4发送给VM 1的过程与此类似,在此不再赘述。

4 VXLAN三层网关-L3 Gateway

VXLAN三层网关提供了VXLAN的三层转发功能,通过将VXLAN关联VSI虚接口(VXLAN虚接口)的方式实现,在VSI虚接口指定IP地址作为VXLAN内所有虚拟机的网关。

VXLAN三层网关的主要功能:

• 实现VXLAN内虚拟机与非VXLAN网络的互访

• 完成跨VXLAN的虚拟机互访

VXLAN三层网关根据其部署方式不同,有集中式和分布式两种。

4.1 集中式三层网关

图11 集中式三层网关

集中式网关,即网关都集中在Spine设备。如图10所示,VSI-interface 10和VSI-interface 20都在Spine C设备上。所有跨VXLAN的流量,VXLAN与非VXLAN的互访流量都需要经过Spine。如图10中VM 1访问VM 4时,需要通过Spine设备,并经过两段VXLAN Tunnel,即VXLAN Tunnel 2和VXLAN Tunnel 3。而VM 1访问VM 2,也需要绕行Spine设备,同样需要历经从A到C和从C到A两次VXLAN封装。

集中式网关的优点是流量均会经过Spine设备,能比较容易实现流量控制、自动引流等功能。缺点是Spine设备压力过大,不利于大规模部署。

4.2 分布式三层网关

在分布式VXLAN 三层网关方案中,每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层转发。分布式三层网关可以很好地解决流量集中而导致Spine设备压力过大的问题,在组网上也可以做到灵活扩展。

图12 分布式三层网关

在分布式网关组网中,Spine设备一般不是VTEP,仅为Underlay网络的一部分,承担普通IP报文的转发功能。

VXLAN的三层网关分布在所有的Leaf设备上。如图12,Leaf A和Leaf B上均有相同的VSI-Interface。VM 1访问VM 4为跨网段通信,VXLAN流量只需要在Leaf A和Leaf B之间直接交互,而不用Spine设备参与。VM 1访问VM 2也是跨网段通信,由于VM 1和VM 2都直连在Leaf A下,VXLAN流量甚至不用出Leaf A就能完成互访。由此,我们能看出,分布式网关的部署方式大大减少了Spine设备的压力。

4.3 ARP抑制

ARP流量是数据网络中最常见的BUM报文。为了尽量减少ARP广播对带宽的影响,一般会在VXLAN网络中开启ARP抑制功能。

ARP抑制方法有两种,我们称之为ARP代理和ARP代答。

4.3.1 ARP代理

在ARP代理模式中,VTEP设备会用网关自身的MAC地址进行回应ARP请求。

图13 ARP代理模式

1. VM 1想要和同网段的VM 3进行通信,于是VM 1发起了ARP请求寻找VM 3的MAC。

2. Leaf A开启了ARP代理模式,于是将VSI-Interface 10的MAC回应给VM 1,VM 1上生成了IP 3和MAC G10对应的ARP表项。

3. Leaf A若是没有VM 3的ARP表项,则会在VXLAN中的所有本地和远端端口广播。Leaf A将ARP请求报文的源MAC地址修改成本地地址MAC A,再封装成VXLAN报文发送出去。

4. Leaf B收到Leaf A发来的报文,解封装后,将IP 1与MAC A的对应关系写进表项。发现请求的是本地直连网段的ARP,于是将ARP请求报文中的源MAC地址修改成本地VSI-Interface 10的MAC,发送出去。

5. VM 3收到Leaf B发来的ARP请求报文,将IP 1和MAC G10的对应关系写进自己的ARP表。然后开始回送ARP应答报文,一路回送,最终Leaf A学到了IP 3与MAC B的对应表项。

6. VM 1发送数据报文给VM 3,目的MAC地址为Leaf A上的网关MAC。Leaf A收到报文后,发现目的MAC地址是VSI-interface 10的MAC,于是进行三层查表转发。找到IP 3对应的表项,将目的MAC改为Leaf B的MAC后,再把报文进行VXLAN封装发送给Leaf B。

7. Leaf B解封装VXLAN报文后,发现目的MAC是自己,于是进行三层查表转发。找到IP 3对应的表项,将目的MAC改为VM 3的MAC后,发送给VM 3。VM 3收到VM 1发来的数据报文,回送过程不再赘述。

在ARP代理模式下,网关设备在回应ARP时,只会以自己的网关MAC进行回应,这就将所有下挂的服务器MAC进行了屏蔽,实现了ARP抑制的作用。而在数据转发时,由于报文的目的MAC是自己,所以每一跳都会进行三层查表转发。

4.3.2 ARP代答

在ARP代答模式中,VTEP设备会将用请求虚拟机的实际MAC回应ARP请求。

图14 ARP代答模式

ARP代答模式下的首次ARP请求和前文“同VNI单播报文转发流程”章节中的过程相同。在VM 1和VM 3已经在经过flood-learn的过程后,VM 1和VM 3已经可以正常通信,且沿途的设备均已建立正确的表项。

此时,处于同一网段的VM2,同样想要和VM 3通信时,就需要发送ARP请求报文来寻找VM 3的MAC信息。Leaf A已经开启了ARP代答功能,且此时Leaf A上已经有了VM 3的IP和MAC对应表项,那么Leaf A会直接将表项中的MAC 3回应给VM 2,而不需要再经过一次泛洪。这样,ARP代答就可以大大减少ARP泛洪流量。而ARP代答若是配合可以在全网VTEP同步IP和MAC信息的VXLAN控制平面,那么ARP泛洪流量对带宽的影响可以降至最低。

5 控制平面-Control Plane

RFC7348只规定了VXLAN协议的数据平面,对控制平面未做任何要求。这样做的好处是,可以使各类设备无须做较大改动就能互相兼容。如前文所述,和传统VLAN网络数据平面一样,数据经过未知单播泛洪->MAC表项及ARP表项建立->单播转发的过程,我们称之为自学习模式。但自学习方式过于简单,其大量的泛洪报文以及无法智能调整的缺点,使得这样的控制平面构建方式不适合SDN网络。

于是,各厂商纷纷探索更为先进的控制平面实现方法。

5.1 控制平面的功能

VXLAN控制平面必须实现的功能:

• VTEP邻居发现。VXLAN网络中的VTEP数量众多,类型不同,纯手工配置VTEP非常困难也不利于大规模部署。VXLAN的控制平面应该具有自动发现VTEP邻居、自动建立VXLAN Tunnel、自动进行关联等功能。

• 虚拟机信息同步。虚拟机信息同步主要是指MAC及ARP的同步。上线的虚拟机信息需要在各VTEP上同步,下线的虚拟机信息要能够在各VTEP上删除或老化,迁移的虚拟机信息要能够从旧VTEP转移到新VTEP。

除了以上两点之外,不同的控制平面协议还能实现自动部署、灵活调整、策略下发等功能。

5.2 基于Controller的控制平面

SDN最大的特点就是转控分离,集中控制。按照这个指导思想,将控制功能单独剥离出来成为一个单独的设备便是很自然的事了。这个设备就是 Controller。

Controller可以是一个或者一组硬件设备,也可以是一套软件。Controller与网络中所有设备建立连接,整个VXLAN网络的数据转发都由Controller来管理。Controller与设备连接的接口称为南向接口,可以使用OpenFlow、Netconf等协议;对用户提供服务的接口称为北向接口,也可以提供API以便与其他管理平台对接或进行深度开发。

基于Controller的控制平面,其SDN网络的功能几乎都依赖于Controller本身的特性,根据Controller的不同,会有不同的实现方式和功能。

图15 基于Controller的控制平面

5.3 基于VXLAN-ISIS的控制平面

基于VXLAN-ISIS的控制平面利用ENDP(Enhanced Neighbor Discovery Protocol,增强邻居发现协议)和VXLAN-ISIS两个协议共同完成VXLAN所需的自动建立隧道和信息同步功能。这种控制平面利用ISIS协议的可扩展特性来同步VXLAN建立和流量转发所需要的信息,是早期VXLAN控制平面探索时期的成果之一。

5.4 基于EVPN的控制平面

RFC7432(BGP MPLS-Based Ethernet VPN)定义了EVPN。EVPN架构是在现有的BGP VPLS(RFC4761)方案上,参考了BGP/MPLS L3 VPN(RFC4364)的架构提出的。

EVPN构建在MP-BGP之上,依靠MP-BGP来传递EVPN信息。EVPN规定了控制平面需要完成的功能,数据平面可以选择MPLS、PBB和VXLAN中的任意一种。

用VXLAN构建数据平面,用EVPN配合来构建控制平面,是当下较为流行的一种方式。

图16 EVPN+VXLAN共同构建SDN网络

EVPN利用MP-BGP实现邻居发现,自动发现VXLAN网络中的VTEP,并在有相同VXLAN ID的VTEP之间自动创建VXLAN隧道,自动关联VXLAN隧道和VXLAN。

EVPN利用MP-BGP扩展路由类型报文完成MAC地址同步、主机路由同步。

有关EVPN技术的更详细的内容,后续文章会有相应介绍。

5.5 各控制平面特点

最后,我们来比较一下各控制平面的特点。

表3 各控制平面特点

6 未来-Future

VXLAN由于其简单的数据平面,良好的兼容性,已经成为了当下SDN Overlay技术的最好选择,但VXLAN未来还有很长的路要走。比如探索VXLAN GPE封装是一个方向,解决VXLAN隧道的QoS也是一个方向。而控制平面要做的更多,如何更好的实现按需定制,如何实现智能流量调整,如何更好的兼容异构设备等等。相信未来会给我们一个更好的答案。

H3C VXLAN配置
shatianyzg的博客
07-06 2855
一、需求使用华三模拟器,模拟不同数据中心的同网段的PC需要互通。三、思路1、基础配置(设备名、ip地址、路由协议)。2、VXLAN配置。 3、验证、抓包分析。四基础配置 Pc6 Pc7配置Sw1: sys[H3C]sysn SW1[SW1]vlan 10[SW1-vlan10]qu[SW1]int g1/0/1[SW1-GigabitEthernet1/0/1]port link-type trunk[SW1-GigabitEthernet1/0/1]port trunk permit vlan all[S
H3C VXLAN详细配置知道
10-22
详细介绍了 华三VXLAN的概念,配置指导,配置案例,以及使用场景,适合数据中心SDN虚拟化以及小型局域网整网设计应用的技术
VXLAN 数据包分析-集中式网关
weixin_44383922的博客
08-01 2618
一、VXLAN 数据包分析 1.1 VXLANVXLAN头步有8个字节组成,第一个字节为标识位,其中标识位 I 位 志1 代表是一个合法的VXLAN的头部,其余都是保留的,所以默认为0 地 2-4个字节为保留部分,5-7个字节用来表示VNI ,大概可以标识一千6百万个VNI 第八字节同样为保留字段。 1.2数据包总封装 VXLAN传输过程中,将下面网络发送过来的数据帧,先添加VXLAN头部 然后添加UDP头部 ,IP头部,最外层帧头 二、子接口不同封装类型的接口对应的处理方式 2.1 dot1q 只
VXLAN个人笔记
m0_59486226的博客
05-08 891
L3 VNI为每个VRF分配,而router‘s mac每个设备一个,路由前缀和ARP路由类型同样是通过感知ARP表的变化,之后提取对应BD中的RD和export RT信息(RT一般有两个,其中一个和某个VRF的RT相同),转变为EVPN路由发送至其他EVPN邻居,其他设备收到后会将通过携带的两个RT,将mac西南西放入BD的转发表,将IP信息放入VRF路由表中。如果检测到有回复,则认为是地址冲突,会将sequence number再加1,发送至所有EVPN邻居,其他设备则会继续使用原设备的路由。
一文带你读懂什么是vxlan网络_vxlan ipv6(1),Linux运维编程基础学习
2401_83947105的博客
04-19 622
如果VM1和VM2发出的报文在到达VTEP的10GE 1/0/1接口时,一个是携带VLAN 10的Tag的,一个是不携带VLAN Tag的(比如二层交换机上行连接VTEP的接口上配置的接口类型是Trunk,允许通过的VLAN为10和20,PVID为VLAN 20),则为了区分两种报文,就必须要在10GE 1/0/1上分别创建dot1q和untag类型的二层子接口。所以,default类型的子接口,一般应用在经过此接口的报文均需要走同一条VXLAN隧道的场景,即下挂的VM全部属于同一BD。
VXLAN
weixin_56249088的博客
09-13 331
1.由于服务器虚拟化技术的广泛部署,增加数据中心密度,也为了VM(虚拟机)在网络中不受限迁移,vxlan应运而生2.VLANVXLANvlan:12bit,只支持4096个用户,无法满足更多租户vxlan:引入了vlan id的概念,即VNI,24bit,支持多达16M的租户3.虚拟机迁移范围受限由于虚拟机迁移要保持业务不中断,ip地址与mac地址不能变,VXLAN采用MAC in UDP封装,即在原始ip与mac后增添vxlan头部与udp以及新的ip与mac。
VXLAN增强特性之,ARP广播抑制ARP代答功能
weixin_44383922的博客
08-03 5765
一、ARP广播抑功能 1.1 作用,防止二层广播报文泛滥 ,抑制广播arp报文的数量 1.2 原理;当二层网关收到广播ARP请求时,会查看自己的ARP缓存表项 查看是否有和ARP请求的MAC地址相对应的,如果有,那么就会将 目广播mac地址,转换成对应的单播mac地址 (这与ARP代答是不同的,arp代答是直接回应的) 然后将单播报文发送给目的主机,目的主机收到后,回复一个ARP应答给源主机 二层网关主要是通过EVPN协议学习到主机的mac/ip 对应关系的. 1.3 案例 如图,VXLAN三层网关通过动
数据中心网络虚拟化 隧道技术
sunwenq的专栏
03-08 3225
如何实现不同租户和应用间的地址空间和数据流量的隔离是实现数据中心网络虚拟化首先需要解决的几个问题之一。所谓地址空间的隔离是指不同租户和应用之间的网络(ip)地址之间不会产生相互干扰。换句话说,两个租户完全可以使用相同的网络地址。所谓数据流量的隔离是指任何一个租户和应用都不会感知或捕获到其他虚拟网络内部的流量。为了实现上述目的,我们可以在物理网络上面为租户构建各自的覆盖(overlay)网络,而隧道
H3C-VXLAN配置-扫盲必看.pdf
04-26
H3C-VXLAN,H3设备的基础配置,其中里面有一部分扫盲配置,并带有相关基础配置,包括vxlan运行机制、配置vxlan
Vxlan
weixin_30332241的博客
09-10 750
来自:http://www.h3c.com/cn/d_201811/1131076_30005_0.htm 解读VXLAN 1 起源-Origin 传统的交换网络解决了二层的互通及隔离问题,这个架构发展了几十年已经相当成熟。而随着云时代的到来,却渐渐暴露出了一些主要的缺点。 Ÿ 多租户环境和虚拟机迁移 为了满足在云网络中海量...
H3C VXLAN实验
向晨的博客
01-11 5748
1.如图在HCL模拟器中搭建好拓扑 2.说明:R1,R2,R3(Underlay)网络,也就是底层网络,底层网络用OSPF协议,实现LookBack地址之间可达 左侧部分:SW1的G1/0/1端口使用Trunk放行业务VLAN实现与R1的互联,R1的G0/1端口使用子接口的当时与SW1互联,右侧部分 和左侧配置相同。 3.R1具体配置如下: [R1]display CU version 7.1...
H3C VxLan技术原理及实现(集中式模型)最全培训教程.rar
09-17
目录: VxLAN 集中式模型介绍 VXLAN网络基础架构 基于VxLAN的OverLay网络模型 VXLAN网络构建 VXLAN二层转发配置 如果是Vxlan ip GW呢? 集中式VXLAN IP网关配置举例 转发流程是如何呢? 加入控制器后 OVSDB-VTEP泛洪代理配置举例 控制器VCFC配置 网关如何实现冗余呢 集中式VXLAN IP网关保护组配置举例 SDN的运维:自动化诊断
华三H3C-VXLAN配置-扫盲必看
04-03
H3C-VXLAN,H3设备的基础配置,详细介绍了 华三VXLAN的概念,配置指导,配置案例,以及使用场景,适合数据中心SDN虚拟化以及小型局域网整网设计应用的技术,其中里面有一部分扫盲配置,并带有相关基础配置,包括...
vxlan-gbp:VXLAN 组策略扩展
07-02
VXLAN 组策略扩展本教程介绍了启动和运行 VXLAN-GBP 测试平台以使用该技术所需的步骤。快速通道:流浪运行vagrant up将为两个名为kernel1和kernel2基于 Fedora 20 的 VM 提供启用 VXLAN-GBP 的内核、iproute2 和 ...
HCIE-Datacom VXLAN LAB手册
03-14
HCIE-Datacom VXLAN LAB手册
HCIE-Datacom VxLAN分布式网关部署学习笔记
03-14
HCIE-Datacom VxLAN分布式网关部署学习笔记
12800-CloudEngine配置指南 eNSP 实现VxLAN
最新发布
06-02
eNSP 实现VxLAN详细过程,很不错,另包含了二个学习配置VxLAN文档 12800-CloudEngine配置指南-VXLAN.pdf VXLAN.pdf
华为HCIE课堂笔记第九章 VXLAN技术
计算机网络技术
12-23 1263
VXLAN用于传统网络 数据中心场景,本章介绍VXLAN技术
SONiC VXLAN ARP/ND抑制
weixin_44316184的博客
03-19 132
SONiC支持在VXLAN业务中配置ARP/ND抑制,但是最近邮寄组有人报告这个功能配置以后实际并没有起作用,ARP的报文还是通过隧道传递到远端了,而实际应该达到的效果是ARP报文在本地得到响应。目前社区还没有对这个问题的答复。 ARP/ND抑制功能是说通过控制平面的协议,比如MP-BGP,可以把VTEP上挂着的主机的MAC/IP关联信息传递到同一个VNI里面所有的VTEP上,当其他VTEP收到...
h3c gbo-371
06-06
H3C GBO-371是一种网络设备,是H3C推出的一款优质的光纤接口板卡,用于数据中心、云计算、企业网和大型运营商网络的高速接入层。该设备支持24个10GbE SFP+接口和2个100GbE QSFP28接口,具有高性能、高密度、高扩展性...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 【vue.js】生命周期——beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDesotry、destoryed 74965
  • 【CSS】margin:0 auto;——使用条件/应用场景/不生效无效果的原因 63688
  • 【git】如何删除远程仓库 24297
  • 【网页】在网页中添加隐藏播放器自动播放背景音乐的办法 14851
  • 【Chrome】如何解决Chrome 67以后版本,无法离线安装插件的问题 12524

分类专栏

  • CCNA 9篇
  • CI/CD 1篇
  • linux 3篇
  • 电脑软件 2篇
  • SDN 2篇
  • 云计算
  • java 1篇
  • yang-explorer 1篇
  • EVE-NG 1篇
  • 计算机网络 1篇
  • Python 1篇
  • git 1篇
  • Tomcat 4篇
  • html 1篇
  • CSS 7篇
  • javascript 3篇
  • php
  • mysql
  • 网页 2篇
  • jQuery 4篇
  • http 1篇
  • 其他 7篇
  • ES6 22篇
  • vue.js 17篇
  • webpack 1篇
  • stylus 1篇
  • 移动web 1篇
  • 软件测试 1篇

最新评论

  • 【CSS】margin:0 auto;——使用条件/应用场景/不生效无效果的原因

    _frank222: 感谢,一进来就有总结,5s不到就找到了原因

  • 【Vue.js】报错:Elements in iteration expect to have ‘v-bind:key’ directives(vue/require-v-for-key)

    FrelyKuany: 感謝表情包

  • 【CSS】margin:0 auto;——使用条件/应用场景/不生效无效果的原因

    guixianglia: 写的好复杂,不是只说居中嘛

  • 【Tomcat】双击tomcat\bin文件夹中的startup.bat闪退,或者出现很多警告提示的解决方法

    单么: 六六六,解决了!!!!

  • 【Vue.js】报错:Elements in iteration expect to have ‘v-bind:key’ directives(vue/require-v-for-key)

    savelifeme666: 你可以看看这篇文章: https://eslint.vuejs.org/rules/require-v-for-key.html <template> <!-- ✓ GOOD --> <div v-for="todo in todos" :key="todo.id" /> <!-- ✗ BAD --> <div v-for="todo in todos"/> </template>

大家在看

  • spring boot3登录开发-2(3邮件验证码接口实现)

最新文章

  • 网络安全之uRPF技术
  • 【CI/CD】【jenkins】win10系统中,在Tomcat容器下部署jenkins
  • 【工具】ubuntu18安装和使用iperf
2021年6篇
2020年16篇
2019年1篇
2018年65篇
2017年8篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司常州网站制作设计公司巢湖百度爱采购报价沈阳网站搭建报价潜江阿里店铺托管哪家好广东阿里店铺托管哪家好厦门网站优化按天计费汕尾高端网站设计公司淮北SEO按天扣费公司沈阳百度关键词包年推广公司漳州关键词按天收费多少钱廊坊网站搭建哈密企业网站建设哪家好淄博网站优化按天计费价格南澳网站优化按天扣费徐州百度竞价推荐四平建网站公司温州网站推广工具价格张掖设计网站和田设计网站多少钱长沙网络营销多少钱绵阳关键词按天计费哪家好雅安百度竞价多少钱鹰潭网站定制价格贵港关键词按天计费本溪网站改版价格商丘网站优化按天收费哪家好衡水模板制作报价盐城阿里店铺运营公司新乡关键词按天收费报价嘉兴网站建设设计报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化