一种网关部署方法和装置转让专利

申请号 : CN201710061318.4

文献号 : CN106789540B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘大海章成松汪璇炫

申请人 : 北京华为数字技术有限公司

摘要 :

本申请公开了一种网关部署方法和装置,以解决现有的VRRP路由器无法实现跨地域部署造成的业务受限问题。该方法为,第一网关与第二网关建立第一虚拟扩展局域网VXLAN隧道;通过第一VXLAN隧道接收第二网关传输的VRRP报文;基于所述VRRP报文识别第二网关上配置的VRRP实例的优先级;基于第一网关上配置的VRRP实例的优先级和第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;其中,第一网关和第二网关部署在不同的地域,这样,通过在主备网关之间部署VXLAN隧道来确定主备网关,能够使VRRP报文通过VXLAN隧道传输,使VRRP网关的主备部署更加方便和灵活。

权利要求 :

1.一种网关部署方法,其特征在于,包括:

第一网关与第二网关建立第一虚拟扩展局域网VXLAN隧道;

所述第一网关通过所述第一VXLAN隧道接收所述第二网关传输的虚拟路由冗余协议VRRP报文;

所述第一网关基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级;

所述第一网关基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;

其中,所述第一网关和所述第二网关部署在不同的地域,所述第一网关和所述第二网关上配置有VRRP实例。

2.如权利要求1所述的方法,其特征在于,所述第一网关基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关,包括:所述第一网关在所述第一网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述第一网关为主用网关,所述第二网关为备用网关;

所述第一网关在所述第二网关上配置的VRRP实例的优先级高于所述第一网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述第一网关为备用网关。

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

所述第一网关与中间设备建立第二VXLAN隧道;

在所述第一网关为主用网关时,所述第一网关通过所述第二VXLAN隧道向所述中间设备传输地址解析协议ARP报文,使所述中间设备基于所述ARP报文获取所述第一网关的媒体访问控制MAC地址。

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

所述第一网关接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;

所述第一网关将所述通信报文解封装后,识别所述通信报文的目的地址进行所述通信报文的转发。

5.如权利要求2所述的方法,其特征在于,所述方法还包括:

在所述第一网关为主用网关时,所述第一网关周期性通过所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于通知所述第二网关保持在备用状态。

6.一种网关部署装置,应用于第一网关,其特征在于,包括:

通信单元,用于与第二网关建立第一虚拟扩展局域网VXLAN隧道;并通过所述第一VXLAN隧道接收所述第二网关传输的虚拟路由冗余协议VRRP报文;

处理单元,用于基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级;以及基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;

其中,所述第一网关和所述第二网关部署在不同的地域,所述第一网关和所述第二网关上配置有VRRP实例。

7.如权利要求6所述的装置,其特征在于,所述处理单元在第一网关和第二网关中确定主用网关和备用网关时,具体用于:在所述第一网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述第一网关为主用网关,所述第二网关为备用网关;

在所述第二网关上配置的VRRP实例的优先级高于所述第一网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述第一网关为备用网关。

8.如权利要求7所述的装置,其特征在于,所述通信单元,还用于与中间设备建立第二VXLAN隧道;并在所述第一网关为主用网关时,通过所述第二VXLAN隧道向所述中间设备传输地址解析协议ARP报文,使所述中间设备基于所述ARP报文获取所述第一网关的媒体访问控制MAC地址。

9.如权利要求8所述的装置,其特征在于,所述通信单元还用于:接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;

所述处理单元,还用于将所述通信报文解封装后,识别所述通信报文的目的地址,并根据所述目的地址通过所述通信单元转发所述通信报文。

10.如权利要求7所述的装置,其特征在于,所述通信单元还用于:在所述第一网关为主用网关时,周期性通过所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于通知所述第二网关保持在备用状态。

说明书 :

一种网关部署方法和装置

技术领域

[0001] 本申请涉及通信领域,尤其涉及一种网关部署方法和装置。

背景技术

[0002] 通常主机的默认下一跳地址是作为网关的路由器,主机为获得网关地址通常采用配置静态路由的方式,这增加了单点故障的可能性,网关不可用时将带来灾难性的结果,因为当网关失效时,所有相连的主机将由于不能检测到可以替换的其他可用路径而造成网络中断。
[0003] 虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)是一种选举协议,运行VRRP协议的各个VRRP路由器能够根据各个VRRP路由器的优先级动态地从局域网中的多个VRRP路由器中选举出一个路由器作为主用网关来承担虚拟网关的工作,主用网关控制虚拟网关的网际协议(Internet Protocol,IP)地址并负责转发以虚拟网关IP地址为缺省网关的报文;其余的VRRP路由器为备用网关,不负责转发报文,备用网关定时的侦听主用网关的状态,一旦发现主用网关不可用则备用网关切换为主用网关,承担主用网关的工作。
[0004] 运营商网络或企业网络在部署时并不会把主机和网关直接接入到同一个局域网中,更为常用的做法是主机通过接入交换机接入网络,而接入交换机同时接入主用网关和备用网关,如图1所示。
[0005] VRRP报文采用预留的组播地址作为目的IP地址,且VRRP报文在经过中间设备时,无法通过中间设备实现VRRP报文的三成转发,所以跨设备传输时要求中间设备和网关设备在同一个二层域中以透传VRRP报文,否则主备网关间无法互通,这样在网络部署上存在很大的限制。例如图1中交换机(SWITCH)上需要部署虚拟局域网(Virtual Local Area Network,VLAN),如VLAN 10,通过二层透传将VRRP报文传递到ROUTER1和ROUTER2,这就需要ROUTER1和ROUTE2部署在同一个机房中,无法做到跨机房和跨地域部署。
[0006] 但是,在实际应用中存在跨地域的诉求,例如:金融行业解决方案中需要部署主备数据中心及三层网关,通常两个数据中心部署在不同的地域,这样上述图1中的部署方案无法满足跨地域要求,造成业务受限。

发明内容

[0007] 本申请实施例提供一种网关部署方法和装置,以解决现有的VRRP路由器无法实现跨地域部署造成的业务受限问题。
[0008] 本申请实施例提供的具体技术方案如下:
[0009] 第一方面,本申请实施例提供一种网关部署方法,包括:
[0010] 第一网关与第二网关建立第一虚拟扩展局域网VXLAN隧道;
[0011] 所述第一网关通过所述第一VXLAN隧道接收所述第二网关传输的虚拟路由冗余协议VRRP报文;
[0012] 所述第一网关基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级;
[0013] 所述第一网关基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;
[0014] 其中,所述第一网关和所述第二网关部署在不同的地域,所述第一网关和所述第二网关上配置有VRRP实例。
[0015] 上述方案中,通过在主备网关之间部署VXLAN隧道来确定主备网关,能够使VRRP报文通过VXLAN隧道传输,跨越三层网络,可以解决传统组往下VRRP网关无法跨地域部署的问题,使VRRP网关的主备部署更加方便和灵活,增强了VRRP网关的异地冗余保护,从而实现对业务的冗余保护。
[0016] 结合第一方面,一种可能的设计中,所述第一网关基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关,包括:
[0017] 所述第一网关在所述第一网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述第一网关为主用网关,所述第二网关为备用网关;
[0018] 所述第一网关在所述第二网关上配置的VRRP实例的优先级高于所述第一网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述第一网关为备用网关。
[0019] 这种设计中,在主备网关跨地域部署下,基于网关上部署的VRRP实例的优先级动态确定主用网关和备用网关,实现对主用网关的保护效果,达到对业务的冗余保护。
[0020] 结合第一方面,一种可能的设计中,所述方法还包括:
[0021] 所述第一网关与中间设备建立第二VXLAN隧道;
[0022] 在所述第一网关为主用网关时,所述第一网关通过所述第二VXLAN隧道向所述中间设备传输地址解析协议ARP报文,使所述中间设备基于所述ARP报文获取所述第一网关的媒体访问控制MAC地址。
[0023] 结合第一方面,一种可能的设计中,所述方法还包括:
[0024] 所述第一网关接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;
[0025] 所述第一网关将所述通信报文解封装后,识别所述通信报文的目的地址进行所述通信报文的转发。
[0026] 这种设计中,通过在网关与中间设备之间部署VXLAN隧道,能够使通信报文通过VXLAN隧道传输,跨越三层网络,实现报文的灵活转发。
[0027] 结合第一方面,一种可能的设计中,所述方法还包括:
[0028] 在所述第一网关为主用网关时,所述第一网关周期性通过所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于确定所述第二网关保持在备用状态。
[0029] 这种设计中,备用网关定期收到主用网关发送的协议报文以确认主用网关处于正常工作状态,避免主用网关故障造成的报文中断情形,实现对业务的冗余保护。
[0030] 第二方面,本申请实施例提供一种网关部署装置,应用于第一网关,包括:
[0031] 通信单元,用于与第二网关建立第一虚拟扩展局域网VXLAN隧道;并通过所述第一VXLAN隧道接收所述第二网关传输的虚拟路由冗余协议VRRP报文;
[0032] 处理单元,用于基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级;以及基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;
[0033] 其中,所述第一网关和所述第二网关部署在不同的地域,所述第一网关和所述第二网关上配置有VRRP实例。
[0034] 结合第二方面,一种可能的设计中,所述处理单元在第一网关和第二网关中确定主用网关和备用网关时,具体用于:
[0035] 在所述第一网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述第一网关为主用网关,所述第二网关为备用网关;
[0036] 在所述第二网关上配置的VRRP实例的优先级高于所述第一网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述第一网关为备用网关。
[0037] 结合第二方面,一种可能的设计中,所述通信单元,还用于与中间设备建立第二VXLAN隧道;并在所述第一网关为主用网关时,通过所述第二VXLAN隧道向所述中间设备传输地址解析协议ARP报文,使所述中间设备基于所述ARP报文获取所述第一网关的媒体访问控制MAC地址。
[0038] 结合第二方面,一种可能的设计中,所述通信单元还用于:
[0039] 接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;
[0040] 所述处理单元,还用于将所述通信报文解封装后,识别所述通信报文的目的地址,并根据所述目的地址通过所述通信单元转发所述通信报文。
[0041] 结合第二方面,一种可能的设计中,所述通信单元还用于:
[0042] 在所述第一网关为主用网关时,周期性通过所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于通知所述第二网关保持在备用状态。
[0043] 第三方面,本申请实施例提供一种网关设备,该设备包括:
[0044] 收发器、存储器以及处理器,存储器用于存储处理器所需执行的程序代码。通信接口用于接收其他第二网关传输的VRRP报文。处理器用于执行存储器所存储的程序代码,具体用于执行第一方面或第一方面的任一种设计所述的方法。
[0045] 第四方面,本申请还提供了一种计算机可读存储介质,用于存储为执行上述第一方面、第一方面的任意一种设计的功能所用的计算机软件指令,其包含用于执行上述第一方面、第一方面的任意一种设计的方法所设计的程序。

附图说明

[0046] 图1为主机通过交换机接入局域网的实现原理示意图;
[0047] 图2为本申请实施例中采用VXLAN隧道建立的一个虚拟二层网络示意图;
[0048] 图3为本申请实施例中网关部署方法的流程图;
[0049] 图4为本申请实施例中的一个网关部署方法的应用场景示意图;
[0050] 图5为本申请实施例中网关部署装置结构图;
[0051] 图6为本申请实施例中网关设备结构图。

具体实施方式

[0052] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0053] 图1所示为主机通过交换机接入主备网关,通过主备网关接入的局域网的实现原理示意图。
[0054] 用户侧主机通过接入交换机(SWITCH)接入的网关分别是ROUTER1和ROUTER2。用户分别在ROUTER1和ROUTER2与SWITCH相连的接口上部署VRRP实例,ROUTER1和ROUTER2构成一个VRRP组,作为用户侧网关,虚拟网关IP地址均为1.1.1.10。ROUTER1、ROUTER2和SWITCH相连的接口加入同一个二层域网络,该二层域网络的标识为VLAN 10。
[0055] 设置ROUTER1的VRRP实例的优先级较高,使之为主用网关,ROUTER2为备用网关,主用网关定期将协议报文通过ROUTER1、SWITCH、ROUTER2之间的路径发送到备用网关,备用网关定期收到主用网关发送的协议报文以确认主用网关处于正常工作状态。
[0056] 当主用网关处于正常工作状态时,主用网关定期发送免费地址解析协议,(Address Resolution Protocol,ARP)报文,ARP报文会通过和SWITCH间相连的接口发出,SWITCH收到ARP报文后,SWITCH会学习到网关地址1.1.1.10对应的媒体访问控制(Media Access Control,MAC)地址,该MAC地址不是接口的物理MAC,为虚拟MAC地址,该MAC地址是根据VRRP实例的ID生成的,因此同一个VRRP组的VRRP实例的ID和虚拟IP地址必须相同,SWITCH从和主用网关相连的端口上学习到虚拟MAC,并将MAC地址和从哪个端口学习到的信息记录下来。
[0057] 主机的默认路由的下一跳为虚拟网关IP地址1.1.1.10。主机发出通信报文后,首先查找路由获得下一跳为虚拟网关IP地址,然后发出对虚拟网关IP地址的MAC地址的ARP请求报文,收到ARP应答报文后会获得虚拟网关IP地址对应的MAC地址,得到虚拟网关IP地址对应的MAC地址后,封装通信报文的目的MAC地址为网关的MAC地址并发送至SWITCH。
[0058] SWITCH接收到主机的通信报文后会进行二层转发,即根据网关MAC地址对应的出接口将通信报文从该接口发送出去从而到达ROUTER1。
[0059] ROUTER1根据通信报文的目的MAC地址与自身的虚拟MAC地址进行匹配,若发现通信报文的目的MAC地址是ROUTER1的虚拟MAC地址,并且ROUTER1为正常工作状态时,再根据通信报文的目的IP地址去查找路由进行三层转发,以转发至对应的目的设备或中间设备去。
[0060] 当主用网关故障时,即ROUTER1故障时,备用网关会因为收不到主用网关的协议报文触发协议超时升为主用网关,即ROUTER2会变为主用网关,通常检测周期为3倍的报文发送间隔。
[0061] ROUTER2变为主用网关后,发送免费ARP报文刷新SWITCH的MAC信息,使SWITCH的出端口为和ROUTER2相连的端口,后续主机的通信报文在SWITCH上会上送到ROUTER2来,在ROUTER2上完成和之前ROUTER1相同的报文处理并转发出去。
[0062] 由于VRRP报文采用预留的组播地址作为目的IP地址,且VRRP报文在经过中间设备时,无法通过中间设备实现VRRP报文的三成转发,所以跨设备传输时要求中间设备(如交换机)和网关设备(如路由器)在同一个二层域中以透传VRRP报文,否则主备网关间无法互通,这样在网络部署上存在很大的限制。
[0063] 因此,本申请实施例中为了使运行VRRP协议的主备网关的部署不受地域限制,将VRRP报文通过虚拟扩展局域网(Virtual Extensible LAN,VXLAN)隧道进行传递,达到建立异地主备网关的目的。
[0064] VXLAN是一种网络虚拟化技术,通过将主机发出的数据包封装在用户数据报协议(User Datagram Protocol,UDP)报文中,并使用物理网络的IP/MAC作为报文头进行封装,然后在IP网络上传输,到达目的地后由隧道终结点解封装并将数据发送给目的设备。简单来讲,VXLAN采用隧道技术,在三层物理网络的基础上构建了一个虚拟二层网络,完成数据在虚拟网络中的转发。
[0065] 如图2所示,为本申请实施例中采用VXLAN隧道建立的一个虚拟二层网络示意图,具体模块功能如下所示。
[0066] 网络虚拟边缘节点(Network Virtualization Edge,NVE),是实现网络虚拟化功能的网络实体,报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。
[0067] VXLAN隧道端点(VXLAN Tunnel Endpoints,VTEP),VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。
[0068] VXLAN网络标识(VXLAN Network  Identifier,VNI),VNI类似VLAN标识(Identifier,ID),用于区分VXLAN段,不同VXLAN段的虚拟机不能直接在二层虚拟化网络相互通信。一个VNI表示一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。VNI由24比特组成,理论上支持多达16M的租户。
[0069] 虚拟接入点(Virtual Access Point,VAP),用于接入数据报文。
[0070] 报文在VXLAN网络中转发过程具体为:原始报文进入VXLAN隧道后,会再次封装VXLAN报文头、UDP报文头、IP头和以太头,这4部分以下简称外层报文头,并通过隧道转发,抵达隧道出口后会进行解封装进行上送或再次转发处理。
[0071] 不难看出VXLAN隧道只要保证物理网络路由可达即可互通,是不受地域限制的,因此将VRRP报文通过VXLAN隧道进行传递,可以达到建立异地主备网关的目的。
[0072] 基于图2所示的网络示意图,如图3所示,本申请实施例提供一种网关部署方法,具体流程如下所示:
[0073] 步骤31:第一网关与第二网关建立第一VXLAN隧道。
[0074] 其中,所述第一网关和所述第二网关部署不同的地域。
[0075] 步骤32:所述第一网关通过所述第一VXLAN隧道接收所述第二网关传输的VRRP报文。
[0076] 步骤33:所述第一网关基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级。
[0077] 步骤34:所述第一网关基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关。
[0078] 具体的,所述第一网关基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关时,包括以下两种情形:
[0079] 情形一:所述第一网关在所述第一网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述第一网关为主用网关,所述第二网关为备用网关。
[0080] 情形二:所述第一网关在所述第二网关上配置的VRRP实例的优先级高于所述第一网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述第一网关为备用网关;
[0081] 可选的,所述方法还包括:
[0082] 所述第一网关与中间设备建立第二VXLAN隧道;
[0083] 在所述第一网关为主用网关时,所述第一网关通过所述第二VXLAN隧道向所述中间设备传输报文,使中间设备基于所述ARP报文获取所述第一网关的MAC地址,得到所述第一网关的MAC地址,将该第一网关的MAC地址与接收ARP报文的第二VXLAN隧道对端地址关联、以及隧道关联广播域记录下来,此时将隧道对端地址看成传统方式中的出接口。
[0084] 进一步的,在所述第一网关为主用网关时,所述第一网关周期性通过所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于确定所述第二网关保持在备用状态,若所述第二网关在预设时长内未收到所述传输协议报文,所述第二网关切换为主用网关,并向中间设备发送ARP报文,刷新中间设备的MAC表象,将主机的通信流量引入到第二网关上转发,实现VRRP网关的异地冗余保护。
[0085] 此时,通信报文在VXLAN网络中转发过程具体为:
[0086] 所述第一网关接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;所述第一网关将所述通信报文解封装后,识别所述通信报文的目的地址进行所述通信报文的转发。
[0087] 上述方案中,通过在主备网关之间部署VXLAN隧道来确定主备网关,在网关与中间设备之间部署VXLAN隧道,能够使VRRP报文通过VXLAN隧道传输,跨越三层网络,可以解决传统组网下VRRP网关无法跨地域部署的问题,使VRRP网关的主备部署更加方便和灵活,增强了VRRP网关的异地冗余保护,从而实现对业务的冗余保护。
[0088] 图4所示为本申请实施例提供的一个具体的应用场景示意图。
[0089] 图4中,第一网关ROUTER1,中间设备SWITCH1部署在位于北京的第一数据中心DC1,第二网关ROUTER2,中间设备SWITCH2部署在位于上海的第一数据中心DC2,ROUTER1和ROUTER2构成一个VRRP组,ROUTER1和ROUTER2的虚拟网关IP地址为:10.1.1.1。
[0090] ROUTER1配置VTEP地址:1.1.1.1;ROUTER2配置VTEP地址:2.2.2.2,VTEP地址可以使用本地环回(Loopback)接口IP地址,ROUTER1和ROUTER2间通过配置路由业务,如静态路由、动态路由均可保证ROUTER1和ROUTE2的VTEP地址的路由可达,即可在ROUTER1和ROUTER2建立第一VXLAN隧道。
[0091] ROUTER1和ROUTER2的广播域接口(Bridge-domain Interface,BDIF)上配置VRRP实例,因为1.1.1.1和2.2.2.2间的VXLAN隧道会和BDIF接口对应的广播域关联,这样从BDIF接口发出的VRRP报文会通过VXLAN隧道传输到对端,即从VETP 1.1.1.1到VTEP 2.2.2.2间可通过隧道互通,这样通过VXLAN隧道在两个设备间虚拟出一条直连通道,可以解决VRRP报文在三层网络中传输跳数的限制。
[0092] 例如ROUTER1的VRRP报文通过VXLAN隧道到达ROUTER2,在ROUTER2出隧道后上送对应的VRRP实例,具体的,上送的报文内容包括VRRP实例的优先级,虚拟IP地址和ID等信息,其中,虚拟IP地址和ID信息用来识别是哪个VRRP实例,优先级用来确定对应VRRP实例的对应的网关的主备关系,这样根据两个异地的数据中心间的VRRP实例可以协商出主备网关,形成冗余保护,本实施例中以协商出ROUTER1为主用网关为例来进行说明,同理若协商出ROUTER2为主用网关后续过程相似。
[0093] SWITCH1配置VTEP地址:3.3.3.3;ROUTER1配置VTEP地址:1.1.1.1在ROUTER1与SWITCH1间建立第二VXLAN隧道;ROUTER1配置VTEP地址:1.1.1.1;SWITCH2配置VTEP地址:4.4.4.4,在ROUTER1与SWITCH2间部署第二VXLAN隧道。同理,SWITCH2配置VTEP地址:
4.4.4.4;ROUTER2配置VTEP地址:2.2.2.2,SWITCH2分别和ROUTER1(VTEP地址1.1.1.1)和ROUTER2(VTEP地址2.2.2.2)间建立第二VXLAN隧道,这些VXLAN隧道也和配置了VRRP的BDIF接口对应的广播域关联,但主要用来承载用户流量。
[0094] 主机(HOST)通过二层子接口或主接口接入SWITCH1或SWITCH2,不同的HOST通常设置不同的VLAN来区分,SWITCH1或SWITCH2将VLAN绑定到BDIF对应的广播域中,这样HOST发出的通信报文在SWITCH1或SWITCH2上会进入第二VXLAN隧道并转发至ROUTER1或ROUTER2。
[0095] 正常运行时由于ROUTER1为主用网关,会定时发送协议报文到ROUTER2,保证ROUTER2维持在备状态,若ROUTER1故障后,ROUTER2上的VRRP实例因协议超时,ROUTER2切换为主用网关,立即发送免费ARP报文刷新中间设备SWITCH1和SWITCH2的MAC表项,将HOST的通信流量引到ROUTER2上转发,达到对主用网关的保护效果,达到对业务的冗余保护。
[0096] 正常运行时,ROUTER1作为主用网关会发送免费ARP报文,ARP报文通过和中间设备间的第二VXLAN隧道发送至SWITCH1和SWITCH2上。VXLAN网络中也支持MAC学习,原理是:SWITCH1和SWITCH2上收到从第二VXLAN隧道传输过来的ARP报文时,获得内层报文的MAC地址,然后将内层报文的MAC地址与接收ARP报文的隧道对端地址、以及隧道关联广播域进行关联,并将关联关系记录下来,此时可以将隧道对端地址看成传统方式中的出接口,例如这里的MAC表项格式为:MAC:0000-5e00-0101 BD:1隧道对端地址:1.1.1.1。
[0097] 正常运行时,HOST上发出的通信报文,首先根据目的地址进行路由查找获得下一跳IP地址为虚拟网关IP地址10.1.1.1,然后发出对虚拟网关IP地址的MAC地址的ARP请求报文,收到ARP应答报文后会获得虚拟网关IP地址对应的MAC地址,此时为虚拟MAC地址:0000-5e00-0101,最后一个字节是VRRP实例的ID,这里为1,然后将虚拟MAC地址封装到通信报文的目的MAC地址部分,发送到与之相连的中间设备上,假设为SWITCH1;SWITCH1先根据HOST发出的通信报文的目的MAC地址和用户VLAN标识,在对应BD内查找MAC表项,命中后获得通信报文需要进入的第二VXLAN隧道,假设为ROUTER1和SWITCH1之间的VXLAN隧道,再根据第二VXLAN隧道的源地址信息和目的地址信息进行VXLAN报文头、UDP报文头、IP报文头和以太报文头的封装,封装后的通信报文进入VXLAN隧道,报文在ROUTER1上出隧道并解封装外层报文,ROUTER1上识别出内层报文的目的MAC为VRRP实例的虚MAC地址并且对应的VRRP网关在当前为主用状态,然后根据目的IP地址查路由进行三层转发。
[0098] 基于相同的技术构思,本发明实施例还提供了一种网关部署装置500,该装置500应用于第一网关,第一网关可以是任意类型的网关。该装置500可执行本申请前述实施例所描述的方法流程,该装置500中用以执行本申请前述实施例所描述的方法流程的功能模块可以通过硬件、软件编程以及软硬件的组合来实现,硬件可包括一个或多个信号处理和/或专用集成电路。
[0099] 图5示出了本申请一实施例所提供的网关部署装置500的结构示意图,如图5所示,该装置500包括:
[0100] 通信单元501,用于与第二网关建立第一虚拟扩展局域网VXLAN隧道;并通过所述第一VXLAN隧道接收所述第二网关传输的虚拟路由冗余协议VRRP报文;
[0101] 处理单元502,用于基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级;以及基于所述第一网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;
[0102] 其中,所述第一网关和所述第二网关部署在不同的地域,所述第一网关和所述第二网关上配置有VRRP实例。
[0103] 可选的,所述处理单元502在第一网关和第二网关中确定主用网关和备用网关时,具体用于:
[0104] 在所述第一网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述第一网关为主用网关,所述第二网关为备用网关;
[0105] 在所述第二网关上配置的VRRP实例的优先级高于所述第一网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述第一网关为备用网关。
[0106] 可选的,所述通信单元501,还用于与中间设备建立第二VXLAN隧道;并在所述第一网关为主用网关时,通过所述第二VXLAN隧道向所述中间设备传输地址解析协议ARP报文,使所述中间设备基于所述ARP报文获取所述第一网关的媒体访问控制MAC地址。
[0107] 可选的,所述通信单元501还用于:
[0108] 接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;
[0109] 所述处理单元502,还用于将所述通信报文解封装后,识别所述通信报文的目的地址,并根据所述目的地址通过所述通信单元501转发所述通信报文。
[0110] 可选的,所述通信单元501还用于:
[0111] 在所述第一网关为主用网关时,周期性通过所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于通知所述第二网关保持在备用状态。
[0112] 基于同一技术构思,本申请实施例所提供的装置500解决问题的原理以及有益效果可以参见上述图3所示方法的实施方式以及所带来的有益效果,该装置500的实施可以参见上述方法实施例的实施,重复之处不再赘述。
[0113] 基于相同的技术构思,本申请实施例还提供了一种网关设备,该网关设备可用于执行本申请前述方法实施例所描述的网关部署流程。
[0114] 图6示出了本申请实施例提供的网关设备600的结构示意图,如图6所示,该接入设备可包括:收发器601和处理器602。
[0115] 收发器601和处理器602之间可以通过总线连接,也可以以其它方式连接。
[0116] 收发器601可以包括有用于与其他网络设备相连的接口。例如,可包括与用户设备相连的接口,与其他网关设备相连的接口以及与其它服务设备相连的接口。接口可以是有线接口,无线接口或其组合。有线接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线接口例如可以为无线局域网(英文:wireless local area network,WLAN)接口,蜂窝网络接口或其组合。
[0117] 处理器602可以为中央处理器(英文:central processing unit,CPU),或者是CPU和硬件芯片的组合。上述硬件芯片可以是以下一种或多种的组合:专用集成电路(英文:application-specific integrated circuit,ASIC),现场可编程逻辑门阵列(英文:
field-programmable gate array,FPGA),复杂可编程逻辑器件(英文:complex programmable logic device,CPLD)、通用阵列逻辑(英文:generic array logic,缩写:
GAL)和网络处理器(英文:network processor,NP)。
[0118] 接入设备还可以包括存储器。存储器中存储程序以指令处理器工作。存储器可包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,HDD)或固态硬盘(英文:solid-state drive,SSD);存储器还可包括上述种类存储器的组合。
[0119] 处理器602用于:
[0120] 与部署在不同地域的第二网关建立第一虚拟扩展局域网VXLAN隧道;
[0121] 通过所述第一VXLAN隧道接收所述第二网关传输的虚拟路由冗余协议VRRP报文;
[0122] 基于所述VRRP报文识别所述第二网关上配置的VRRP实例的优先级;
[0123] 基于自身配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关;
[0124] 可选的,在基于所述自身网关上配置的VRRP实例的优先级和所述第二网关上配置的VRRP实例的优先级,在第一网关和第二网关中确定主用网关和备用网关时,所述处理器602具体用于:
[0125] 在所述自身网关上配置的VRRP实例的优先级高于所述第二网关上配置的VRRP实例的优先级时,确定所述自身网关为主用网关,所述第二网关为备用网关;
[0126] 所述自身网关在所述第二网关上配置的VRRP实例的优先级高于所述自身网关上配置的VRRP实例的优先级时,确定所述第二网关为主用网关,所述自身网关为备用网关。
[0127] 可选的,所述所述处理器602还用于:
[0128] 通过收发器601与中间设备建立第二VXLAN隧道;
[0129] 在所述自身网关为主用网关时,所述自身网关通过所述第二VXLAN隧道向所述中间设备传输地址解析协议ARP报文,使所述中间设备基于所述ARP报文获取所述自身网关的媒体访问控制MAC地址。
[0130] 可选的,所述所述处理器602还用于:
[0131] 通过收发器601接收所述中间设备通过所述第二VXLAN隧道传输的通信报文,所述通信报文是根据所述第二VXLAN隧道的地址信息进行VXLAN报文头封装的报文;
[0132] 将所述通信报文解封装后,识别所述通信报文的目的地址进行所述通信报文的转发。
[0133] 可选的,所述所述处理器602还用于:
[0134] 在所述自身网关为主用网关时,通过收发器601周期性利用所述第一VXLAN隧道向所述第二网关传输协议报文,所述协议报文用于确定所述第二网关保持在备用状态。
[0135] 基于相同的技术构思,本申请实施例所提供的网关设备600解决问题的原理以及有益效果可以参见上述图3所示方法的实施方式以及所带来的有益效果,该网关部署的实施可以参见上述方法实施例的实施,重复之处不再赘述。
[0136] 本申请实施例还提供一种计算机可读存储介质,用于存储为执行上述处理器所需执行的计算机软件指令,其包含用于执行上述处理器所需执行的程序。
[0137] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0138] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0139] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0140] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0141] 尽管已描述了本申请的可选的实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0142] 显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。