报文处理的方法和网关设备与流程

文档序号:30339022发布日期:2022-06-08 07:33阅读:176来源:国知局
报文处理的方法和网关设备与流程
报文处理的方法和网关设备
1.本技术是申请号为201910138771.x,申请日为2019年02月25日,发明名称为“报文处理的方法和网关设备”的中国专利申请的分案申请。
技术领域
2.本技术涉及通信领域,更为具体的,涉及一种报文处理的方法和网关设备。


背景技术:

3.在虚拟扩展局域网(virtual extensible lan,vxlan)多活网关场景中,通过给多个网关设备配置相同的虚拟隧道端点(virtual tunnel end point,vtep)地址,将多个网关设备模拟成一个vxlan隧道端点。使得无论流量发到哪一个网关设备,该网关设备都可以提供网关服务,将报文正确转发给下一跳设备。单臂双向转发检测(bidirectional forwarding detection,bfd)报文检测机制,是由本地设备发送单臂bfd回声(echo)报文给远端设备,远端设备将该单臂bfd echo报文环回给本地设备的一种检测机制。本地设备根据远端设备环回的该单臂bfd echo报文,可以检测确定远端设备是否有故障。在vxlan多活网关场景中,每个网关设备的虚拟桥域接口(virtual bridge domain interface,vbdif)配置相同的互联网协议(internet protocol,ip)地址。各网关设备发出的单臂bfd报文中的源地址和目的地址均配置为网关设备的vbdif的ip地址。现有技术中,对端设备接收到网关设备发送的单臂bfd echo报文后,根据单臂bfd echo报文的目的地址返回该单臂bfd echo报文,根据哈希路径选择,该单臂bfd echo报文可能被返回到另外一个网关设备并被丢弃。此时,发送单臂bfd echo报文的网关设备无法接收环回的报文,导致该网关设备无法成功建立与对端设备的bfd echo会话,使得利用bfd echo报文检测机制失效,网关设备可能错误认定远端设备故障,影响该远端设备的业务。


技术实现要素:

4.本技术提供了一种报文处理的方法和网关设备,可以提高vxlan多活网关场景中利用单臂bfd echo会话检测网络设备故障的准确性,提高系统工作效率。
5.第一方面,提供了一种报文处理的方法,该方法包括:
6.第一网关设备通过第一链路接收网络设备返回的第一单臂双向转发检测回声bfd echo报文,该第一单臂bfd echo报文包括标识信息,该标识信息用于唯一标识第二网关设备。该第一网关设备根据该标识信息,确定向该第二网关设备转发该第一单臂bfd echo报文。该第一网络设备向该第二网关设备发送该第一单臂bfd echo报文。其中,该网络设备多归连接到该第一网关设备和该第二网关设备,该网络设备通过该第一链路连接该第一网关设备,该网络设备通过第二链路连接该第二网关设备,该第一网关设备与第二网关设备形成多活网关。
7.第一方面提供的报文处理的方法,第二网关设备发出第一单臂bfd echo报文后,如果网络设备将返回的报文哈希到第一网关设备,则第一网关设备根据接收到的第一单臂
bfd echo报文中携带的标识信息,向该标识信息唯一标识的第二网关设备发送该第一单臂bfd echo报文。由此,无论网络设备是否通过第二链路返回该第一单臂bfd echo报文,只要网络设备没有故障,则第二网关设备都可以正常接收到网络设备返回的第一单臂bfd echo报文,从而实现了第二网关设备单臂bfd echo会话功能。在该网络设备没有故障的情况下,可以有效保障第二网关设备的单臂bfd echo会话始终生效,提高了vxlan多活网关场景中利用单臂bfd echo会话检测网络设备是否正常的效率,提高第一网关设备和第二网关设备的业务的快速感知和切换能力,提高系统工作效率。
8.在第一方面的一种可能的设计中,该标识信息为该第一单臂bfd echo报文的目的地址,该第一单臂bfd echo报文的目的地址与该第一单臂bfd echo报文的源地址不同。在该实现方式中,利用第一单臂bfd echo报文的目的地址作为该标信息,可以提高该标识信息的准确性,并且,便于第一网关设备根据标识信息确定第二网关设备,提高了第一网关设备确定第二网关设备的效率,提高系统工作效率。
9.在第一方面的一种可能的设计中,该方法还包括:该第一网关设备生成第二单臂bfd echo报文,该第二单臂bfd echo报文的目的地址用于唯一标识该第一网关设备,该第二单臂bfd echo报文的目的地址与该第一单臂bfd echo报文的目的地址不同。该第一网关设备通过该第一链路向该网络设备发送该第二单臂bfd echo报文。
10.在第一方面的一种可能的设计中,该第一网关设备根据该标识信息,确定向该第二网关设备转发该第一单臂bfd echo报文,包括:该第一网关设备根据该第一单臂bfd echo报文的目的地址确定路由信息。该第一网关设备根据该路由信息,确定向该第二网关设备转发该第一单臂bfd echo报文。
11.在第一方面的一种可能的设计中,该第一单臂bfd echo报文的目的地址为该第二网关设备的环回loopback接口地址,该第二单臂bfd echo报文的目的地址为该第一网关设备的loopback接口地址。该第一网关设备的loopback接口地址和该第二网关设备的loopback接口地址不同。
12.在第一方面的一种可能的设计中,该标识信息为该第一单臂bfd echo报文携带的第一本地标识符md和/或第一远端标识符yd。在该实现方式中,利用第一单臂bfd echo报文携带的md和/或yd作为标识信息确定生成该单臂bfd echo报文的设备,可以提高该标识信息的准确性,便于实现。
13.在第一方面的一种可能的设计中,该方法还包括:该第一网关设备生成第三单臂bfd echo报文,该第三单臂bfd echo报文携带的第二yd用于唯一标识该第一网关设备,该第二yd与该第一yd不同。该第一网关设备通过该第一链路向该网络设备发送该第三bfd echo报文。
14.第二方面,提供了一种第一网关设备,包括:接收模块,用于通过第一链路接收网络设备返回的第一单臂双向转发检测回声bfd echo报文,该第一单臂bfd echo报文包括标识信息,该标识信息用于唯一标识第二网关设备。处理模块,用于根据该标识信息,确定向该第二网关设备转发该第一单臂bfd echo报文。发送模块,用于向该第二网络设备发送该第一单臂bfd echo报文。其中,该网络设备多归连接到该第一网关设备和该第二网关设备,该网络设备通过该第一链路连接该第一网关设备,该网络设备通过第二链路连接该第二网关设备,该第一网关设备与该第二网关设备形成多活网关。
15.在第二方面的一种可能的设计中,该标识信息为该第一单臂bfd echo报文的目的地址,该第一单臂bfd echo报文的目的地址与该第一单臂bfd echo报文的源地址不同。
16.在第二方面的一种可能的设计中,该处理模块还用于:生成第二单臂bfd echo报文,该第二单臂bfd echo报文的目的地址用于唯一标识该第一网关设备,该第二单臂bfd echo报文的目的地址与该第一单臂bfd echo报文的目的地址不同。该发送模块还用于:通过该第一链路向该网络设备发送该第二单臂bfd echo报文。
17.在第二方面的一种可能的设计中,该处理模块还用于:根据该第一单臂bfd echo报文的目的地址确定路由信息。以及根据该路由信息,确定向该第二网关设备转发该第一单臂bfd echo报文。
18.在第二方面的一种可能的设计中,其特征在于,该第一单臂bfd echo报文的目的地址为该第二网关设备的环回loopback接口地址,该第二单臂bfd echo报文的目的地址为该第一网关设备的loopback接口地址。该第一网关设备的loopback接口地址和该第二网关设备的loopback接口地址不同。
19.在第二方面的一种可能的设计中,该标识信息为该第一单臂bfd echo报文携带的第一远端标识符yd。
20.在第二方面的一种可能的设计中,该处理模块还用于:生成第三单臂bfd echo报文,该第三单臂bfd echo报文携带的第二yd用于唯一标识该第一网关设备,该第二yd与该第一yd不同。该发送模块还用于:通过该第一链路向该网络设备发送该第三bfd echo报文。
21.第三方面,提供了一种第一网关设备,包括处理器和与处理器相连的存储器,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行所述计算机程序,使得所述第一网关设备执行上述第一方面或者第一方面中任意一种可能的设计中的方法。
22.第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或者第一方面中任意一种可能的设计中的方法。
23.需要说明的是,上述计算机程序代码可以全部或者部分存储在第一存储介质上,其中第一存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本技术实施例对此不作具体限定。
24.第五方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或者第一方面中任意一种可能的设计中的方法。
25.第六方面,提供了一种芯片系统,用于实现上述第一方面或者第一方面中任意一种可能的设计中的方法所涉及的功能,例如,生成,接收,发送,或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存上述的第一网关设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
26.图1是集中式网关部署方式的示意图。
27.图2是为分布式网关的部署方式的示意图。
28.图3是为两个设备之间的单臂bfd echo报文回传的示意图。
29.图4是vxlan集中式双活网关场景的示意图。
30.图5是本技术一个实施例的报文处理的方法的示意性交互图。
31.图6是本技术另一个实施例的报文处理的方法的示意性交互图。
32.图7是本技术又一个实施例的报文处理的方法的示意性交互图。
33.图8为本技术一个实施例提供的网关设备的示意性框图。
34.图9为本技术另一个实施例提供的网关设备的示意性框图。
具体实施方式
35.下面将结合附图,对本技术实施例中的技术方案进行描述。本技术实施例描述的网络架构以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
36.本技术中的“1”、“2”、“3”、“第一”、“第二”以及“第三”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
37.为了便于理解,先简单介绍本技术实施例涉及的技术名词。
38.桥域(bridge domain,bd):vxlan网络中转发数据报文的二层广播域。
39.vbdif:基于bd创建的三层逻辑接口,通过vbdif配置ip的值可实现不同网段的vxlan之间,vxlan与非vxlan通信,也可实现二层网络接入三层网络。
40.vxlan网络可以部署三层网关(layer 3gateway,l3 gw),根据部署方式vxlan中的网关分为集中式网关(gateway,gw)和分布式网关。其中,集中式网关是指将三层网关集中部署在一台设备上。例如,在典型的“汇聚-叶子(spine-leaf)”组网结构下,集中式网关是将三层网关部署在spine节点上。分布式网关是指二层网关(layer 2gateway,l2 gw)和三层网关都部署在leaf节点上。将leaf节点作为vxlan隧道的vtep,每个leaf节点都可作为vxlan三层网关。spine节点不感知vxlan隧道,只作为vxlan报文的转发节点。图1所示为典型的集中式网关部署的方式的示意图,集中式部署方式中,l3 gw在spine设备上。图2所示的为分布式网关的部署方式的示意图,分布式部署方式中,l2 gw和l3 gw都在leaf设备上。
41.单臂双向转发检测(bidirectional forwarding detection,bfd)功能,即bfd单臂回声(echo)功能,是由本地设备发送单臂bfd echo报文给远端设备,远端设备将该bfd echo报文环回给本地设备的一种检测机制。一般用于两台直接相连的设备中,其中一台设备支持bfd功能,另一台设备不支持(当然也可以支持)bfd功能的情况下,通过在支持bfd功能的设备上创建bfd单臂echo功能的bfd echo会话,不支持bfd功能的设备接收到该bfd echo报文后,直接将该bfd echo报文环回,从而达到快速检测远端设备是否故障的目的。单臂echo会话不需要双方设备协商echo能力,一端设备配置bfd检测,另一端无需有bfd能力。具有单臂echo功能的设备发送单臂bfd报文,单臂bfd报文中网络协议(internet protocol,ip)头中的源ip地址(source ip,sip)和目的ip(destination ip,dip)地址都是本地设备(创建该单臂bfd echo会话的设备)的ip地址,单臂bfd echo报文中的本地标识符(my discriminator,md)和远端标识符(your discriminator,yd)相同,对端设备部收到单臂bfd报文后直接将单臂bfd报文环回到本地设备,本地设备
42.图3所示的为两个设备之间的单臂bfd echo报文回传的示意图。
43.如图3所示,路由器a(router a)支持bfd协议。路由器a可以生成单臂bfd echo报文,并向路由器b(router b)发送该单臂bfd echo报文,路由器a可以根据router b返回(环回)的单臂bfd echo报文,与单臂bfd echo报文建立单臂bfd echo会话。其中,router b设备不支持单臂bfd协议,在这种情况可以部署单臂bfd协议,在router a上建立单臂bfd echo会话,router a设备生成单臂bfd echo报文,并向router b设备发送单臂bfd echo报文,单臂bfd echo报文中的源ip地址(sip)是router a设备端口a(port a)的ip地址ipa,单臂bfd echo报文中的目的ip地址(dip)也是router a设备的port a的ip地址ipa,单臂bfd报文中的yd和md的值相同,用yda表示。router a设备向router b设备发送的单臂bfd echo报文中的源媒体访问控制地址(source media access control,smac)为路由器a的端口a的mac地址,用maca表示,单臂bfd echo报文中的目的媒体访问控制地址(destination media access control,dmac)为路由器b的端口b的mac地址,用macb表示。router b设备收到了单臂bfd报文之后,将根据单臂bfd报文中的目的ip地址直接将报文环回到router a设备。router b设备向router a设备环回的单臂bfd报文中的smac为macb,dmac为maca。图3中所示的端口a例如是vbdif接口。
44.vxlan多活网关是在典型的“spine-leaf”组网结构下,通过给多个网关设备配置相同的vtep地址,将多个网关设备模拟成一个vxlan隧道端点。vxlan多活网关可以分为vxlan集中式多活网关和vxlan分布式多活网关。例如,对于vxlan集中式多活网关,通过给多个spine设备配置相同的vtep地址,将多个spine设备模拟成一个vxlan隧道端点,在所有spine设备上配置三层网关,使得无论流量发到哪一个spine设备,该spine设备都可以提供网关服务,将报文正确转发给下一跳设备。同样,从其他网络访问本网络的流量,无论发到哪一个spine设备,都能被正确转发给网络内的主机。vxlan集中式多活网关提高了设备资源利用率和网络故障收敛性能。
45.下面结合图4,以vxlan集中式双活网关为例,对本技术的应用场景进行介绍。本领域技术人员可以理解,图4所示的场景仅是举例说明,本技术实施例也可以应用于vxlan分布式多活网关,此处不再赘述。
46.如图4所示,网络系统100中包括两个网关,两个叶子节点以及网络设备。其中,两个网关设备分别为网关设备1和网关设备2;两个叶子节点分别为leaf1和leaf2;网络设备通过链路1与网关设备1连接,通过链路2与网关设备2连接。其中,网关设备之间,以及网关设备与叶子节点均通过vxlan隧道连接。网关设备1和网关设备2的vbdif配置相同的ip地址和mac地址。例如,ip地址为132.168.1.10,mac地址为0010-5e10-3010。网络设备的ip地址为:132.168.1.1。网络系统100例如可以应用于数据中心。上述网关设备例如可以是数据中心网关(data center gateway,dcgw)。上述网络设备例如可以是虚拟机(virtual machine,vm)。网关设备,叶子节点例如可以是交换机,路由器等。网络系统中可以包括更多的网关设备,网络设备以及叶子节点,本技术不作具体限制。
47.现有技术中,网关设备1向网络设备发送单臂bfd echo报文,如果网络设备故障,则网关设备1无法接收网络设备返回的单臂bfd echo报文。从而,网络设备1快速感知网络设备故障并快速切换业务。
48.但是,实际情况中,因为网关设备1和网关设备2配置相同的vbdif地址。因此,网络
设备接收单臂bfd echo报文后,哈希路径,可能将接收到的单臂bfd echo报文通过链路2返回给网关设备2。网关设备2收到该单臂bfd echo报文后,识别该单臂bfd echo报文的目的地址是本地vbdif的ip地址,但是单臂bfd echo报文的md与自身保存的md不匹配,则网关设备2将收到的报文丢弃。此时,网关设备1无法收到网络设备返回的单臂bfd echo报文,从而错误认为网络设备发生故障。由此,可能导致错误切换网络设备的业务。
49.基于上述问题,本技术提供了一种报文处理的方法,可以在vxlan多活(例如双活网关)网关场景下,在vm完好的情况下保证所有的单臂bfd echo会话始终生效,提高vxlan多活网关场景中利用单臂bfd echo会话检测vm是否正常的效率。下面以图4所示的vxlan集中式双活网关场景为例,结合图5对本技术提供的报文处理方法进行具体介绍。
50.图5是本技术一个实施例的报文处理的方法100的示意性交互图,应用方法100的网络架构包括网关设备1、网关设备2和网络设备。网关设备1和网关设备2可以分别是spine节点,可以在网关设备1和网关设备2分别配置l3层网关。网关设备1和网关设备2也可以分别是leaf节点,可以在网关设备1上配置l3和l2层网关,在网关设备2上配置l3和l2层网关。该网络设备多归连接到该网关设备1和该网关设备2,该网络设备通过该链路1连接该网关设备1,该网络设备通过链路2连接该网关设备2,该网关设备1与网关设备2形成多活网关。举例来说,网关设备1可以是图4所示的网关设备1,网关设备2可以是图4所示的网关设备2,网络设备可以是图4所示的网络设备,该链路1和链路2例如分别是图4所示的链路1和链路2。该网络架构例如可以是图4所示的网络架构。该方法100包括以下操作。
51.s110,网关设备2生成单臂bfd echo报文1,该单臂bfd echo报文1中携带标识信息,该标识信息用于唯一标识该网关设备2。
52.在一种具体的实现方式中,该标识信息为单臂bfd echo报文1的目的地址。该单臂bfd echo报文1的目的地址和该单臂bfd echo报文1源地址不同。例如,单臂bfd echo报文1的源ip地址为网关设备2的vbdif的ip地址,而单臂bfd echo报文1的目的地址为网关设备2的环回(loopback)地址。
53.在另一个具体的实现方式中,该标识信息为单臂bfd echo报文1的携带的第一md和/或第一yd。在单臂bfd echo报文1中,第一md和第一yd的值是相同的。
54.s120,网关设备2通过链路2向网络设备发送该单臂bfd echo报文1。
55.s130,网络设备接收该单臂bfd echo报文1。根据该单臂bfd echo报文1的目的地址,返回该单臂bfd echo报文1。
56.在一个具体的实施方式中,s130包括:
57.s1301,网络设备通过链路1返回该单臂bfd echo报文1。
58.在另一个具体的实施方式中,s130包括:
59.s1302,网络设备通过链路2返回该单臂bfd echo报文1。
60.s140,网关设备2接收该网络设备返回的该单臂bfd echo报文1。
61.网关设备2接收到该网络设备返回的单臂bfd echo报文1后,查看单臂bfd echo报文1携带的标识信息,确定单臂bfd echo报文1为自己生成的单臂bfd echo报文,网关设备2确定网络设备没有故障。
62.在一个具体的实施方式中,s140包括:
63.s1401,网关设备2通过网关设备1接收该网络设备返回的该单臂bfd echo报文1。
s1401在s1301之后执行。
64.具体来说,在s1301后,网络设备通过链路1返回该单臂bfd echo报文1。网络设备接收并返回单臂bfd echo报文1的具体操作,属于现有技术中的相关实现,此处不再赘述。
65.网关设备1通过链路1接收网络设备返回的该单臂bfd echo报文1。网关设备1根据该单臂bfd echo报文1携带的标识信息,确定向该网关设备2转发该单臂bfd echo报文1。
66.当该标识信息为该单臂bfd echo报文1的目的地址时,网关设备1根据该目的地址进行路由查找,确定路由信息。网关设备1基于该路由信息,向网关设备2转发该单臂bfd echo报文1。
67.当该标识信息为该单臂bfd echo报文1携带的第一md和/或第一yd时。网关设备1根据第一md和/或第一yd,确认第一md和/或第一yd与自身保存的md不同,确认接收到的单臂bfd echo报文1并非网关设备1发出的单臂bfd echo报文。网关设备1根据单臂bfd echo报文1携带的第一md和/或第一yd,向网关设备2转发单臂bfd echo报文1。下面,对于网关设备根据bfd echo报文携带的md和/或yd来处理报文的过程进行具体说明。
68.在一种具体的实现中,网关设备2例如可以保存一个表,下文方便表述,称之为匹配表。匹配表中保存md和yd的值,以及与md和/或yd匹配后所执行的动作(action)。例如,对于网关设备2来说,网关设备2通过向网络设备发送bfd单臂报文2,与网络设备之间建立单臂bfd echo会话。在配置与网络设备的单臂bfd echo会话时,将md配置为20。网关设备2自身保存的与网络设备进行单臂bfd echo会话的md值为20。
69.下面举例说明网关设备1和网关设备2建立单臂bfd echo会话时的配置命令。
70.网关设备1上配置单臂bfd echo会话1的配置命令如下:
71.bfd1 bind peer-ip 132.170.1.1vpn-instance vpn1 interface vbdif10 one-arm-echo discriminator local 10。
72.相应地,网关设备2发送bfd echo报文2之前,网关设备2上配置单臂bfd echo会话2的配置命令如下:
73.bfd 2bind peer-ip 132.170.1.1vpn-instance vpn1 interface vbdif10 one-arm-echo discriminator local 20。
74.上述peer-ip是指所述网络设备的ip地址。discriminator local字段指示本地标识符,即本技术所述的md。本地标识符(md)用来区分不同的单臂bfd echo报文,换言之,md用来区分不同的单臂bfd echo会话。
75.当网关设备2接收到上述的bfd echo报文1后,确定bfd echo报文1的源ip地址和目的ip地址相同,且为本机的vbdif接口的ip地址。进一步地,网关设备2获取bfd echo报文1携带的md和/或yd,与自身的md进行匹配。由于报文中携带的md和/或yd的值与网关设备2自身保存的bfd echo会话的md的值不同,因此匹配失败。网关设备2根据bfd echo报文1携带的md和/或yd的值在所述匹配表中进行查找,查找到对应的匹配表项后,根据动作域中指定的动作对报文进行处理,从而将报文转发给网关设备1。在本技术中,上述动作域中指定的动作例如可以是关联到相对应的vxlan隧道或者关联对应的出接口。下面以网关设备2为例,举例说明网关设备2获取网关设备1建立的单臂bfd echo会话的本地标识符的几种方式。
76.方式一:网关设备2通过接收来自控制管理设备发送的消息来获取网关设备1建立
的单臂bfd echo会话的md。例如,可以通过管理通道发送的消息,也可以是通过控制通道协议发送的消息来获取网关设备1建立的单臂bfd echo会话的md。目前常用的管理通道协议,例如,可以包括:简单网络管理协议(simple network management protocol,snmp),网络配置协议(network configuration protocol,netconf)等。目前常用的控制通道协议,例如,可以包括:开放流(openflow)协议、路径计算通信协议(path computation element communication protocol,pcep)、边界网关协议(border gateway protocol,bgp)、路由系统接口(interface to the routing system,i2rs)等。
77.方式二:网关设备2根据命令行配置获取网关设备1建立的单臂bfd echo会话的本地标识符。例如,管理员登陆到所述网关设备2上通过命令行进行配置操作。
78.通过提供多种获取其它网关设备单臂bfd echo会话的md的途径,丰富了技术实施的内容,提高了易用性。
79.本领域技术人员可以理解,上述“网关设备1建立的单臂bfd echo会话的本地标识符”,实际是指网关设备1与网络设备建立单臂bfd echo会话时,配置的用于标识单臂bfd echo会话的本地标识符。例如上文中举例说明的bfd echo会话1中的“discriminator local10”。
80.在另一个具体的实施方式中,s140包括:
81.s1402,网关设备2通过该链路2接收该网络设备返回的该单臂bfd echo报文1。s1402可以在s1302之后执行。
82.本技术提供的报文处理的方法,网关设备2发出单臂bfd echo报文1后,如果网络设备将返回的报文哈希到网关设备1,则网关设备1根据接收到的单臂bfd echo报文1中携带的标识信息,向该标识信息唯一标识的网关设备2发送该单臂bfd echo报文1。由此,无论网络设备是否通过链路2返回该bfd echo报文1,只要网络设备没有故障,则网关设备2都可以正常接收到网络设备返回的单臂bfd echo报文1,从而实现了网关设备2单臂bfd echo会话功能。在该网络设备没有故障的情况下,可以有效保障网关设备1的单臂bfd echo会话始终生效,提高了vxlan多活网关场景中利用单臂bfd echo会话检测网络设备是否正常的效率,提高网关设备1和网关设备2的业务的快速感知和切换能力,提高系统工作效率。
83.本技术还提供了一种方法200,方法200的执行主体网关设备1。图6是本技术一个实施例的报文处理的方法200的示意性交互图,应用方法200的网络架构包括网关设备1、网关设备2和网络设备。网关设备1和网关设备2可以分别是spine节点,可以在网关设备1和网关设备2分别配置l3层网关。网关设备1和网关设备2也可以分别是leaf节点,可以在网关设备1上配置l3和l2层网关,在网关设备2上配置l3和l2层网关。该网络设备多归连接到该网关设备1和该网关设备2,该网络设备通过该链路1连接该网关设备1,该网络设备通过链路2连接该网关设备2,该网关设备1与网关设备2形成多活网关。举例来说,网关设备1可以是图4所示的网关设备1,网关设备2可以是图4所示的网关设备2,网络设备可以是图4所示的网络设备,该链路1和链路2例如分别是图4所示的链路1和链路2。该网络架构例如可以是图4所示的网络架构。对于方法100的各步骤和方法200各步骤的执行顺序不作具体限定。例如,方法100中s110可以在方法200的s210之前执行,也可以在s210之后执行,s110可以在s220之前执行,也可以在s220之后执行。
84.方法200包括以下操作。
85.s210,网关设备1生成单臂bfd echo报文2,该单臂bfd echo报文2包括标识信息,该标识信息用于唯一标识网关设备1。
86.在一种具体的实现方式中,该标识信息为单臂bfd echo报文2的目的地址。该单臂bfd echo报文2的目的地址和该单臂bfd echo报文2源地址不同。例如,单臂bfd echo报文2的源ip地址为网关设备1的vbdif的ip地址,而单臂bfd echo报文2的目的地址为网关设备1的环回(loopback)地址。
87.在另一个具体的实现方式中,该标识信息为单臂bfd echo报文2携带的第二md和/或第二yd。
88.s210的具体实现过程,与s110类似,此处不再赘述。
89.s220,该网关设备1通过该链路1向该网络设备发送该单臂bfd echo报文2。
90.s230,网络设备通过链路1接收该单臂bfd echo报文2。根据该单臂bfd echo报文2的目的地址,返回该单臂bfd echo报文2。
91.在一个具体的实施方式中,s130包括:
92.s2301,网络设备通过链路2返回该单臂bfd echo报文2。
93.在另一个具体的实施方式中,s230包括:
94.s2302,网络设备通过链路1返回该单臂bfd echo报文2。
95.s240,网关设备1接收网络设备返回的该单臂bfd echo报文2。
96.网关设备1接收到该网络设备返回的单臂bfd echo报文2后,查看单臂bfd echo报文2携带的标识信息,确定单臂bfd echo报文2为自己生成的单臂bfd echo报文,网关设备1确定网络设备没有故障。
97.在一个具体的实施方式中,s240包括:
98.s2401,网关设备1通过网关设备2接收该网络设备返回的单臂bfd echo报文2。s2401在s2301之后执行。
99.在另一个具体的实施方式中,s240包括:
100.s2402,网关设备1通过该链路1接收该网络设备返回的该单臂bfd echo报文2。s2402可以在s2302之后执行。
101.网关设备1根据单臂bfd echo报文2携带的标识信息,对单臂bfd echo报文2进行处理的具体过程,与方法100中,网关设备2根据单臂bfd echo报文1携带的标识信息,对单臂bfd echo报文1进行处理的具体过程类似。可参见方法100中s140,s1401,s1402相关部分的描述,此处不再赘述。
102.本技术提供的报文处理的方法,网关设备1发出单臂bfd echo报文2后,如果网络设备将返回的报文哈希到网关设备2,则网关设备2根据接收到的单臂bfd echo报文2中携带的标识信息,向该标识信息唯一标识的网关设备1发送该单臂bfd echo报文2。由此,无论网络设备是否通过链路1返回该bfd echo报文2,只要网络设备没有故障,则网关设备1都可以正常接收到网络设备返回的单臂bfd echo报文2,从而实现了网关设备1单臂bfd echo会话功能。在该网络设备没有故障的情况下,可以有效保障网关设备1的单臂bfd echo会话始终生效,提高了vxlan多活网关场景中利用单臂bfd echo会话检测网络设备是否正常的效率,提高网关设备1和网关设备2的业务的快速感知和切换能力,提高系统工作效率。
103.图7是本技术实施例提供的一种报文处理方法300的流程示意图,应用方法300的
网络架构至少包括第一网关设备、第二网关设备和网络设备。第一网关设备和第二网关设备可以分别是spine节点。第一网关设备和第二网关设备可以分别配置l3层网关。第一网关设备和第二网关设备也可以分别是leaf节点,可以在第一网关设备上配置l3和l2层网关,在第二网关设备上配置l3和l2层网关。该网络设备多归连接到该第一网关设备和该第二网关设备,该网络设备通过第一链路连接第一网关设备,该网络设备通过第二链路连接第二网关设备,该第一网关设备与第二网关设备形成多活网关。举例来说,第一网关设备可以是图4所示的网关设备1,第二网关设备可以是图4所示的网关设备2,网络设备可以是图4所示的网络设备,该第一链路和第二链路例如分别是图4所示的链路1和链路2。该网络架构例如可以是图4所示的网络架构。另外,图7所示的方法可以具体实现图5或图6所示的方法。例如,图7中第一网关设备,第二网关设备和网络设备可以分别是图5所示方法100或图6所示方法200中的网关设备1,网关设备2和网络设备。图7所示方法包括以下操作。
104.s310,第一网关设备通过第一链路接收网络设备返回的第一单臂双向转发检测回声bfd echo报文。其中,该第一单臂bfd echo报文包括标识信息,该标识信息用于唯一标识第二网关设备。
105.s320,该第一网关设备根据该标识信息,确定向该第二网关设备转发该第一单臂bfd echo报文。
106.s330,该第一网络设备向该第二网关设备发送该第一单臂bfd echo报文。
107.一个具体的实施方式中,该标识信息为该第一单臂bfd echo报文的目的地址,该第一单臂bfd echo报文的目的地址与该第一单臂bfd echo报文的源地址不同。
108.一个具体的实施方式中,该方法还包括:该第一网关设备生成第二单臂bfd echo报文,该第二单臂bfd echo报文的目的地址用于唯一标识该第一网关设备。该第二单臂bfd echo报文的目的地址与该第一单臂bfd echo报文的目的地址不同。该第一网关设备通过该第一链路向该网络设备发送该第二单臂bfd echo报文。
109.一个具体的实施方式中,该第一网关设备根据该标识信息,确定向该第二网关设备转发该第一单臂bfd echo报文,包括:该第一网关设备根据该第一单臂bfd echo报文的目的地址确定路由信息。该第一网关设备根据该路由信息,确定向该第二网关设备转发该第一单臂bfd echo报文。
110.一个具体的实施方式中,该第一单臂bfd echo报文的目的地址为该第二网关设备的环回loopback接口地址,该第二单臂bfd echo报文的目的地址为该第一网关设备的loopback接口地址,该第一网关设备的loopback接口地址和该第二网关设备的loopback接口地址不同。
111.一个具体的实施方式中,该标识信息为该第一单臂bfd echo报文携带的第一本地标识符md和/或第一远端标识符yd。
112.一个具体的实施方式中,该方法还包括:该第一网关设备生成第三单臂bfd echo报文,该第三单臂bfd echo报文携带的第二yd用于唯一标识该第一网关设备,该第二yd与该第一yd不同。该第一网关设备通过该第一链路向该网络设备发送该第三bfd echo报文。
113.当图7所示方法用于实现图5或图6所示的方法时,第一单臂bfd echo报文例如可以是方法100中的单臂bfd echo报文1,第二单臂bfd echo报文和第三单臂bfd echo报文例如可以是方法200中的单臂bfd echo报文2。第一链路例如可以是方法100中的链路1,第二
echo报文。
128.一个具体的实施方式中,该第一单臂bfd echo报文的目的地址为该第二网关设备的环回loopback接口地址,该第二单臂bfd echo报文的目的地址为该第一网关设备的loopback接口地址,该第一网关设备的loopback接口地址和该第二网关设备的loopback接口地址不同。
129.一个具体的实施方式中,该标识信息为该第一单臂bfd echo报文携带的第一本地标识符md和/或第一远端标识符yd。
130.一个具体的实施方式中,该处理模块420还用于:生成第三单臂bfd echo报文,该第三单臂bfd echo报文携带的第二yd用于唯一标识该第一网关设备,该第二yd与该第一yd不同。该发送模块430还用于:通过该第一链路向该网络设备发送该第三bfd echo报文。
131.进一步的,该网关设备400还可以包括存储模块440。存储模块440用于存储接收模块410、处理模块420和发送模块430执行的指令。接收模块410、处理模块420、发送模块430和存储模块440相互耦合,存储模块440存储指令,处理模块420用于执行存储模块440存储的指令,接收模块410和发送模块430用于在处理模块420的驱动下执行具体的信号收发。
132.在实现过程中,上述各个方法的各步骤可以通过处理器420中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储模块440,处理模块420读取存储模块440中的信息,结合其硬件执行方法100或者方法200中网关设备1,或者方法300中第一网关设备所执行的操作。为避免重复,这里不再详细描述。
133.图9是本技术提供的一种网关设备500的示意图。该网关设备500可以应用于图4所示的网络架构中,例如可以是图4所示的网络架构中的网关设备1。用于执行方法100或者方法200中网关设备1,或者方法300中第一网关设备所执行的操作。如图9所示,网关设备500可以包括处理器510,与所述处理器510耦合连接的存储器520以及收发器530。处理器510可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np)或者cpu和np的组合。处理器还可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。上述pld可以是cpld,fpga,gal或其任意组合。处理器510还可以包括上述种类的处理器的组合。处理器510可以是指一个处理器,也可以包括多个处理器。存储器520可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器520还可以包括上述种类的存储器的组合。存储器520可以是指一个存储器,也可以包括多个存储器。在一个实施方式中,存储器520中存储有计算机可读指令,所述计算机可读指令可以包括多个软件模块,例如发送模块521,处理模块522和接收模块523。处理器510执行各个软件模块后可以按照各个软件模块的指示
进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器510根据所述软件模块的指示而执行的操作。例如,接收模块523用于通过第一链路接收网络设备返回的携带有标识信息的第一单臂双向转发检测回声bfd echo报文。处理模块522用于根据所述标识信息,确定向所述第二网关设备转发所述第一单臂bfd echo报文。发送模块521用于向所述第二网关设备发送所述第一单臂bfd echo报文。此外,处理器510执行存储器520中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行网关设备1或者第一网关设备可以执行的全部操作。例如,网关设备1在与图5或者图6对应的实施例中执行的操作,或者第一网关设备在图7对应的实施例中执行的操作。处理器510执行存储器520中的计算机可读指令后,也可以按照所述计算机可读指令的指示,执行网关设备2或者第二网关设备可以执行的全部操作。例如,网关设备2在与图5或者图6对应的实施例中执行的操作,或者第二网关设备在图7对应的实施例中执行的操作。
134.需要说明的是,在本技术上述任一个实施例中描述的单臂bfd echo报文中携带的md和yd的值都是相同的。
135.本技术所提供的网关设备可以是路由器,交换机等网络设备,也可以是实现上述各方法实施例中相关功能的线卡或者芯片,本技术对此不作具体限定。网关设备中的处理器和存储器可以解耦,分别设置在不同的物理设备上,通过有线或者无线的方式连接来实现该处理器和存储器的各自的功能,以支持该系统实现上述实施例中的各种功能。或者,该处理器和存储器也可以耦合在同一个设备上。
136.本技术实施例还提供了一种通信系统,包括图8或者图9所对应的实施例中的第一网关设备和/或第二网关设备,用与执行图5对应的实施例中方法100或者图6对应的实施例中的方法200或者图7对应的实施例中的方法300。
137.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行该计算机指令或计算机程序时,全部或部分地产生按照本技术实施例的流程或功能。该计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
138.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
139.在本技术中可能出现的对各种消息/信息/设备/网元/系统/装置/动作/操作/流程/概念等各类客体进行了赋名,可以理解的是,这些具体的名称并不构成对相关客体的限定,所赋名称可随着场景,语境或者使用习惯等因素而变更,对本技术中技术术语的技术含
义的理解,应主要从其在技术方案中所体现/执行的功能和技术效果来确定。
140.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
141.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
142.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
143.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
144.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
145.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
146.本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1