一种集中式网关组网实现方法及装置与流程

文档序号:14879342发布日期:2018-07-07 09:20阅读:312来源:国知局

本发明涉及网络通信技术领域,尤其涉及一种集中式网关组网实现方法及装置。



背景技术:

vxlan(virtualextensiblelocalareanetwork,可扩展虚拟局域网络)是基于ip(internetprotocol,互联网协议)网络、采用“mac(mediaaccesscontrol,媒体访问控制)inudp(userdatagramprotocol,用户数据报协议)”封装形式的二层vpn(virtualprivatenetwork,虚拟专用网)技术。vxlan可以基于已有的服务提供商或企业ip网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。

在实际应用中,vxlan的集中式网关是非常广泛的一种应用。vxlan集中式网关组网中有多台网络设备作为浮动网关,该多台浮动网关的overlay(一种无状态网络技术)ip地址和mac地址相同,在overlay网络逻辑上是一台设备,通过控制器或者其他方法保证表项的同步,每台浮动网关和作为vtep(vxlantunnelendpoint,vxlan隧道端点)设备的交换机均建立有vxlantunnel(隧道),交换机收到报文后对报文进行vxlan封装,并在overlay网络完成转发。

然而实践发现,在现有vxlan集中式网关组网中,需要在各网关(即上述浮动网关)之间建立协议隧道用于同步表项;此外,vtep设备与各网关分别建立单独的隧道,通过overlay实现负载分担,导致组网中同时存在underlay(物理层)和overlay负载分担,进而导致组网中存在二次hash(散列)问题。



技术实现要素:

本发明提供一种集中式网关组网实现方法及装置,以解决现有vxlan集中式网关组网中同时存在underlay和overlay负载分担,进而导致组网中存在二次hash问题。

根据本发明实施例的第一方面,提供一种集中式网关组网实现方法,应用于可扩展虚拟局域网络vxlan集中式网关组网中的网关,同一组网中各网关以及vxlan隧道端点vtep设备设置有互不相同的第一类型预设地址,且同一组网中各网关设置有统一的第二类型预设地址,该方法包括:

以自身的第一类型预设地址与所述vtep设备建立以太网虚拟专用网络evpn邻居;

向所述vtep设备发送下一跳为所述第二类型预设地址的evpn路由,并以所述第二类型预设地址与所述vtep设备建立vxlan隧道;

接收所述vtep设备发送的evpn2类路由,所述evpn2类路由携带有所述vtep设备下挂的虚拟机的地址解析协议arp信息,并保存所述虚拟机的arp信息。

根据本发明实施例的第二方面,提供一种集中式网关组网实现方法,应用于可扩展虚拟局域网络vxlan集中式网关组网中的vxlan隧道端点vtep设备,同一组网中各网关以及vxlan隧道端点vtep设备设置有互不相同的第一类型预设地址,且同一组网中各网关设置有统一的第二类型预设地址,该方法包括:

以自身的第一类型预设地址与所述网关建立以太网虚拟专用网络evpn邻居;

接收所述网关发送的下一跳为所述第二类型预设地址的evpn路由,并与所述网关建立vxlan隧道,所述vxlan隧道的网关侧地址为所述第二类型预设地址;

向所述网关发送evpn2类路由,所述evpn2类路由携带有所述vtep设备下挂的虚拟机的地址解析协议arp信息,以使所述网关保存所述虚拟机的arp信息。

根据本发明实施例的第三方面,提供一种集中式网关组网实现装置,应用于可扩展虚拟局域网络vxlan集中式网关组网中的网关,同一组网中各网关以及vxlan隧道端点vtep设备设置有互不相同的第一类型预设地址,且同一组网中各网关设置有统一的第二类型预设地址,该装置包括:

邻居建立单元,用于以自身的第一类型预设地址与所述vtep设备建立以太网虚拟专用网络evpn邻居;

发送单元,用于向所述vtep设备发送下一跳为所述第二类型预设地址的evpn路由;

隧道建立单元,用于以所述第二类型预设地址与所述vtep设备建立vxlan隧道;

接收单元,用于接收所述vtep设备发送的evpn2类路由,所述evpn2类路由携带有所述vtep设备下挂的虚拟机的地址解析协议arp信息,并保存所述虚拟机的arp信息。

根据本发明实施例的第四方面,提供一种集中式网关组网实现装置,应用于可扩展虚拟局域网络vxlan集中式网关组网中的vxlan隧道端点vtep设备,其特征在于,同一组网中各网关以及vxlan隧道端点vtep设备设置有互不相同的第一类型预设地址,且同一组网中各网关设置有统一的第二类型预设地址,该装置包括:

邻居建立单元,用于以自身的第一类型预设地址与所述网关建立以太网虚拟专用网络evpn邻居;

接收单元,用于接收所述网关发送的下一跳为所述第二类型预设地址的evpn路由;

隧道建立单元,用于与所述网关建立vxlan隧道,所述vxlan隧道的网关侧地址为所述第二类型预设地址;

发送单元,用于向所述网关发送evpn2类路由,所述evpn2类路由携带有所述vtep设备下挂的虚拟机的地址解析协议arp信息,以使所述网关保存所述虚拟机的arp信息。

应用本发明实施例,通过为vxlan集中式网关组网中各网关和vtep设备设置不同的第一类型预设地址,并为各网关设置统一的第二类型预设地址;网关和vtep设备之间使用第一类型预设地址建立evpn邻居,从而,vtep设备可以通过evpn2类路由将下挂虚拟机的arp信息同步给各网关,避免了网关之间建立用于信息同步的协议隧道;此外,网关使用第二类型预设地址与vtep设备建立vxlan隧道,由于各网关的第二类型预设地址相同,因此,vtep设备与各不同网关之间通过同一vxlan隧道进行流量转发,不存在overlay负载分担,流量均使用underlay实现负载分担,避免了同时存在underlay和overlay负载分担导致的二次hash问题;再者,由于各网关用于建立vxlan隧道的第二类型预设地址相同,因此,单个网关故障不会影响其它设备的隧道状态,故障收敛时间短,组网可靠性高。

附图说明

图1是本发明实施例提供的一种集中式网关组网实现方法的流程示意图;

图2是本发明实施例提供的一种集中式网关组网实现方法的流程示意图;

图3是本发明实施例提供的一种具体应用场景的架构示意图;

图4是本发明实施例提供的一种集中式网关组网实现装置的结构示意图;

图5是本发明实施例提供的一种集中式网关组网实现装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图1,为本发明实施例提供的一种集中式网关组网实现方法的流程示意图,如图1所示,该方法可以包括以下步骤:

需要注意的是,在本发明实施例中,步骤101~步骤103的执行主体可以为vxlan集中式网关组网中的任一浮动网关(本文中简称为网关)或网关的处理器,如cpu(centerprocessunit,中央处理器),为便于描述,以下以步骤101~步骤103的执行主体为网关为例。

此外,在本发明实施例中,同一组网中各网关以及vtep设备设置有互不相同的第一类型预设地址,且同一组网中各网关设置有同一的第二类型预设地址。

步骤101、以自身的第一类型预设地址与vtep设备建立evpn邻居。

本发明实施例中,vxlan集中式网关组网中各网关和vtep设备可以开启evpn功能,网关和vtep设备之间可以通过各自的第一类型预设地址建立evpn邻居。

其中,网关和vtep设备建立evpn邻居的具体实现可以参见现有evpn协议中的相关描述,本发明实施例在此不做赘述。

步骤102、向vtep设备发送下一跳为第二类型预设地址的evpn路由,并以第二类型预设地址与vtep设备建立vxlan隧道。

本发明实施例中,网关与vtep设备建立evpn邻居之后,当网关需要向vtep设备发送evpn路由时,网关可以以上述第二类型预设地址作为evpn路由的下一跳。

vtep设备接收到网关发送的下一跳为第二类型预设地址的evpn路由时,可以学习到的网关的第二类型预设地址,并以第二类型预设地址为目的地址与网关建立vxlan隧道(源地址为vtep设备的第一类型预设地址)。

步骤103、接收vtep设备发送的evpn2类路由,该evpn2类路由携带有vtep设备下挂的虚拟机的arp信息,并保存虚拟机的arp信息。

本发明实施例中,当vtep设备与网关建立evpn邻居之后,vtep设备还可以通过evpn2类路由将自身下挂的虚拟机(virtualmachine,简称vm)的arp信息发送给网关。

网关接收到该arp信息之后,可以保存该evpn2类路由中携带的arp信息,并根据该arp信息指导报文转发。

需要说明的是,在本发明实施例中,步骤102~步骤103之间并不存在必然的时序关系,即可以按照图1所示方法流程中的先执行步骤102,后执行步骤103;或者,可以先执行步骤103,后执行步骤102;或者,可以并行执行步骤102和步骤103,其具体实现在此不做赘述。

请参见图2,为本发明实施例提供的一种集中式网关组网实现方法的流程示意图,如图2所示,该方法可以包括以下步骤:

需要注意的是,在本发明实施例中,步骤201~步骤203的执行主体可以为vxlan集中式网关组网中的任一vtep设备或vtep设备的处理器,如cpu,为便于描述,以下以步骤201~步骤203的执行主体为vtep设备为例。

此外,在本发明实施例中,同一组网中各网关以及vtep设备设置有互不相同的第一类型预设地址,且同一组网中各网关设置有同一的第二类型预设地址。

步骤201、以自身的第一类型预设地址与网关建立evpn邻居。

本发明实施例中,vxlan集中式网关组网中各网关和vtep设备可以开启evpn功能,网关和vtep设备之间可以通过各自的第一类型预设地址建立evpn邻居。

其中,网关和vtep设备建立evpn邻居的具体实现可以参见现有evpn协议中的相关描述,本发明实施例在此不做赘述。

步骤102、接收网关发送的下一跳为第二类型预设地址的evpn路由,并与网关建立vxlan隧道,该vxlan隧道的网关侧地址为第二类型预设地址。

本发明实施例中,网关与vtep设备建立evpn邻居之后,当网关需要向vtep设备发送evpn路由时,网关可以以上述第二类型预设地址作为evpn路由的下一跳。

vtep设备接收到网关发送的下一跳为第二类型预设地址的evpn路由时,可以学习到的网关的第二类型预设地址,并以第二类型预设地址为目的地址与网关建立vxlan隧道(源地址为vtep设备的第一类型预设地址)。

步骤203、向网关发送的evpn2类路由,该evpn2类路由携带有vtep设备下挂的虚拟机的arp信息,以使网关保存虚拟机的arp信息。

本发明实施例中,当vtep设备与网关建立evpn邻居之后,vtep设备还可以通过evpn2类路由将自身下挂的虚拟机(virtualmachine,简称vm)的arp信息发送给网关。

网关接收到该arp信息之后,可以保存该evpn2类路由中携带的arp信息,并根据该arp信息指导报文转发。

可选地,为了实现上述目的,vtep设备可以使能arp代答功能,保存下挂虚拟机的arp信息,进而,当vtep设备与网关建立了evpn邻居之后,可以根据自身保存的虚拟机的arp信息生成evpn2类路由,并发送给各网关。

需要说明的是,在本发明实施例中,步骤202~步骤203之间并不存在必然的时序关系,即可以按照图2所示方法流程中的先执行步骤202,后执行步骤203;或者,可以先执行步骤203,后执行步骤202;或者,可以并行执行步骤202和步骤203,其具体实现在此不做赘述。

进一步地,在本发明实施例中,当vtep设备接收到流量,且根据本地转发表项确定流量的下一跳地址为上述第二类型预设地址时,利用hash算法从自身连接各网关的接口中选择一个接口转发该流量,使用underlay的等价路由实现负载分担。

可见,在图1或图2所示方法流程中,通过为vxlan集中式网关组网中各网关和vtep设备设置不同的第一类型预设地址,并为各网关设置统一的第二类型预设地址,网关和vtep设备之间使用第一类型预设地址建立evpn邻居,从而,vtep设备可以通过evpn2类路由将下挂虚拟机的arp信息同步给各网关,避免了网关之间建立用于信息同步的协议隧道;此外,网关使用第二类型预设地址与vtep设备建立vxlan隧道,由于各网关的第二类型预设地址相同,因此,vtep设备与各不同网关之间通过同一vxlan隧道进行流量转发,不存在overlay负载分担,流量均使用underlay实现负载分担,避免了同时存在underlay和overlay负载分担导致的二次hash问题;再者,由于各网关用于建立vxlan隧道的第二类型预设地址相同,因此,单个网关故障不会影响其它设备的隧道状态,故障收敛时间短,组网可靠性高。

进一步地,在本发明实施例中,考虑到若上述预设地址直接使用vxlan集中式网关组网中各网关和vtep设备的业务口的ip地址,则会需要占用各网关和vtep设备的业务口,影响各网关和vtep设备的业务处理,因而,为组网中各网关配置上述第一类型预设地址时,可以在组网中各网关和vtep设备上分别虚拟一个环回接口(loopback),为各网关分别新增一个特定的环回接口ip地址(本文中称为loopback地址),并将该特定的loopback地址作为各网关和vtep设备的第一类型预设地址;其中,同一组网中不同网关和vtep设备的loopback地址不同。

同理,还可以在组网中各网关上虚拟出另一个环回接口,为各网关新增一个统一的loopback地址,并将该loopback地址作为各网关的第二类型预设地址。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。

请参见图3,为本发明实施例提供的一种具体应用场景的架构示意图,如图3所示,在该应用场景中,vxlan集中式网关网络中包括网关311和网关312,以及作为vtep设备的交换机301和302,基于该应用场景,本发明实施例提供的报文处理方法流程如下:

网关311、网关312、vtep设备301和vtep设备302分别增加一个环回接口(假设分别为loopback1~loopback4),且各环回接口设置不同的环回接口ip地址,假设分别为loopbackip1、loopbackip2、loopbackip3和loopbackip4;

其中,loopbackip1、loopbackip2、loopbackip3和loopbackip4在underlay通过特定路由协议实现路由可达;且loopbackip1、loopbackip2、loopbackip3和loopbackip4为实地址;

网关311和网关312增加一个特定的环回接口(假设为loopback0),网关311和网关312的loopback0的ip地址相同(假设为loopbackip0),该loopbackip0为虚地址;

vtep设备301和vtep设备302开启arp代答功能,保存下挂虚拟机arp信息;

网关311、网关312、vtep设备301和vtep设备302均开始evpn功能,网关311(网关312)分别通过自身loopback口实地址与vtep设备301和vtep设备302的loopback口实地址建立evpn邻居;

网关311(网关312)向vtep设备301和vtep设备302发送evpn路由时,以loopback口虚地址(即loopbackip0)作为evpn路由的下一跳;

其中,vtep设备301(vtep设备302)通过网关311和网关312发送的evpn路由,学习到网关311和网关312的loopback口虚地址,并以该loopback口虚地址作为网关侧的地址与网关311和网关312建立vxlan隧道。

其中,网关311和网关312可以作为vtep设备301(vtep设备302)到网关的loopback口虚地址的ecmp(equal-costmultipathrouting,等价路由)下一跳。

可见,在该实施例中,对于网关而言,每个网关分别和每个vtep设备建立vxlan隧道,该vxlan隧道的源地址为自身的loopback口虚地址(即loopbackip0),目的地址为vtep设备的loopback口实地址;对于vtep设备而言,每个vtep设备和所有网关仅建立一个vxlan隧道,该vxlan隧道的源地址为vtep设备的loopback口实地址,目的地址为网关的loopback口虚地址;

其中,vtep设备301和vtep设备302之间使用loopbackip3和loopbackip4建立有vxlan隧道;

可见,通过为网关设置统一的loopback口虚地址,网关使用该loopback口虚地址与vtep设备建立vxlan隧道,对于任一vtep设备,仅需与所有网关建立一个vxlan隧道,而不需要分别建立vxlan隧道,简化了网络部署;

此外,由于任一vtep设备与所有网关仅建立同一vxlan隧道,单个网关故障不会影响其它设备的vxlan隧道状态,故障收敛时间短,组网可靠性高;

vtep设备301(vtep设备302)根据自身保存的下挂虚拟机的arp信息生成evpn2类路由,并发送给网关311和网关312,由网关311和网关312根据接收到的evpn2类路由进行arp表项学习;

可见,由于vtep设备分别与各网关建立了evpn邻居,并通过evpn2类路由将下挂虚拟机的arp信息同步到各网关,因此,各网关之间不需要建立用于信息同步的协议隧道,简化了网络部署。

其中,当vtep设备301(vtep设备302)检测到新增虚拟机时,根据新增虚拟机的arp信息生成evpn2类路由,并发送给网关311和网关312,由网关311和网关312根据接收到的evpn2类路由进行arp表项学习,实现了新增arp信息的自动同步;

同理,当组网中新增网关时,新增网关可以以loopback口实地址与各vtep设备分别建立evpn邻居,vtep设备检测到新增网关后,向新增网关发送上述evpn2类路由,以使新增网关根据接收到的evpn2类路由进行arp表项学习;

对于vtep设备,overlay二层流量通过vtep设备之间的vxlan隧道转发,三层流量通过vtep设备与网关建立的vxlan隧道转发;

其中,由于vtep设备之间仅存在一个vxlan隧道,任一vtep设备与所有网关之间也仅存在一个vxlan隧道,因此,不存在overlay负载分担;而承载上述vxlan隧道的实际物理链路(underlay链路)为vtep设备与网关之间的物理链路,且任一vtep设备到网关均存在两条等价路径,下一跳分别为网关311和网关312,因此,当需要通过上述vxlan隧道进行流量转发时,可以通过hash算法选择其中一条路径,实现负载分担。

可见,在该实施例中,流量均使用underlay实现负载分担,避免了同时存在underlay和overlay负载分担导致的二次hash问题。

通过以上描述可以看出,在本发明实施例中,通过为vxlan集中式网关组网中各网关和vtep设备设置不同的第一类型预设地址,并为各网关设置统一的第二类型预设地址;网关和vtep设备之间使用第一类型预设地址建立evpn邻居,从而,vtep设备可以通过evpn2类路由将下挂虚拟机的arp信息同步给各网关,避免了网关之间建立用于信息同步的协议隧道;此外,网关使用第二类型预设地址与vtep设备建立vxlan隧道,由于各网关的第二类型预设地址相同,因此,vtep设备与各不同网关之间通过同一vxlan隧道进行流量转发,不存在overlay负载分担,流量均使用underlay实现负载分担,避免了同时存在underlay和overlay负载分担导致的二次hash问题;再者,由于各网关用于建立vxlan隧道的第二类型预设地址相同,因此,单个网关故障不会影响其它设备的隧道状态,故障收敛时间短,组网可靠性高。

请参见图4,为本发明实施例提供的一种集中式网关组网实现装置的结构示意图,其中,该装置可以应用于上述方法实施例中的网关,如图4所示,该装置可以包括:

邻居建立单元410,用于以自身的第一类型预设地址与所述vtep设备建立evpn邻居;

发送单元420,用于向vtep设备发送下一跳为第二类型预设地址的evpn路由;

隧道建立单元430,用于以第二类型预设地址与vtep设备建立vxlan隧道;

接收单元440,用于接收vtep设备发送的evpn2类路由,该evpn2类路由携带有vtep设备下挂的虚拟机的arp信息,并保存该虚拟机的arp信息。

在该实施例中,上述第一类型预设地址为环回接口ip地址;或/和,上述第二类型预设地址为环回接口ip地址。

请参见图5,为本发明实施例提供的一种集中式网关组网实现装置的结构示意图,其中,该装置可以应用于上述方法实施例中的vtep设备,如图5所示,该装置可以包括:

邻居建立单元510,用于以自身的第一类型预设地址与网关建立evpn邻居;

接收单元520,用于接收网关发送的下一跳为第二类型预设地址的evpn路由;

隧道建立单元530,用于与网关建立vxlan隧道,该vxlan隧道的网关侧地址为第二类型预设地址;

发送单元540,用于向网关发送evpn2类路由,该evpn2类路由携带有vtep设备下挂的虚拟机的arp信息,以使网关保存该虚拟机的arp信息。

在可选实施例中,发送单元540,用于当接收单元520接收到流量,且根据本地转发表项确定流量的下一跳地址为第二类型预设地址时,利用hash算法从自身连接各网关的接口中选择一个接口转发该流量。

在可选实施例中,上述第一类型预设地址为环回接口ip地址;或/和,上述第二类型预设地址为环回接口ip地址。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,通过为vxlan集中式网关组网中各网关和vtep设备设置不同的第一类型预设地址,并为各网关设置统一的第二类型预设地址;网关和vtep设备之间使用第一类型预设地址建立evpn邻居,从而,vtep设备可以通过evpn2类路由将下挂虚拟机的arp信息同步给各网关,避免了网关之间建立用于信息同步的协议隧道;此外,网关使用第二类型预设地址与vtep设备建立vxlan隧道,由于各网关的第二类型预设地址相同,因此,vtep设备与各不同网关之间通过同一vxlan隧道进行流量转发,不存在overlay负载分担,流量均使用underlay实现负载分担,避免了同时存在underlay和overlay负载分担导致的二次hash问题;再者,由于各网关用于建立vxlan隧道的第二类型预设地址相同,因此,单个网关故障不会影响其它设备的隧道状态,故障收敛时间短,组网可靠性高。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1