实现本地三层终结的方法及设备的制作方法

文档序号:7864271阅读:259来源:国知局
专利名称:实现本地三层终结的方法及设备的制作方法
技术领域
本申请涉及网络通信技术,特别涉及实现本地三层终结的方法及设备。
背景技术
图I 为现有 VRRP 的典型组网不意图。VRRP (Virtual Router RedundancyProtocol,虚拟路由器冗余协议)是一种路由选择协议,多台VRRP路由器组成VRRP组,选举出MASTER设备和SLAVE设备,MASTER设备作为网关进行三层转发,SLAVE设备仅用于作为备份网关,不参与三层转发。VRRP组网下,SLAVE设备始终处于空闲状态,网络资源利用率不闻。VRRPE是VRRP协议的增强版本。可以在多台设备之间建立VRRPE组,组内的成员 设备分配不同的虚拟MAC地址,将一个虚拟IP地址与组内的各个虚拟MAC地址对应,根据客户端的IP地址,将流量分担到不同的成员设备上,使得每个成员设备都能转发流量,从而避免了 VRRP组中备份设备始终处于空闲状态,网络资源利用率不高的问题。图2为现有VRRPE的典型组网示意图。图2中,路由器Router A,Router B和Router C构成VRRPE组,以10. I. I. I为网关的终端Host A、Host B和Host C所获得的网关的ARP表项分别对应不同的虚拟MAC地址,即Host A对应Router A的虚拟MAC地址,Host B对应Router B的虚拟MAC地址,Host C对应Router C的虚拟MAC地址。在图2所示组网下,不同终端的网关可能是三台路由器中的任何一台。如果三台路由器分布在远程的多个地点,且三台路由器是通过链路远程互连的,将无法避免部分流量跨越昂贵的链路。例如图3是现有数据中心二层互连的一典型组网示意图。其中DCa> DCb和DCc分别表示数据中心A、数据中心B和数据中心C ;Ra、Rb和Re分别是数据中心A C中的路由器;Sffa, Sffb和SWc分别是数据中心A C中的交换设备;ServerA、ServerB和ServerB分别是数据中心A C中的服务器。在图3所示组网下,数据中心A的交换设备和数据中心B的交换设备之间建立VRRP/VRRPE连接。当经过计算得出ServerB的网关为数据中心A的交换设备SWa时,数据中心B下面的服务器ServerB进行三层转发以及与外网进行三层互通时,所有的流量都需要通过数据中心间的接口由数据中心A进行转发,通俗地讲,就是所有的流量都需要到数据中心A上绕一圈。例如,服务器ServerB访问外网时的具体访问路径如图3中的虚线所
/Jn ο由于各数据中心的交换设备SWa、Sffb, Sffc之间的链路往往是采用二层远程链路,需要付费租用带宽,因此,现有技术存在带宽浪费问题。此外,即使在同一数据中心内各个路由器通过普通以太网互联的应用场景下,终端所获取的网关地址同样存在一定的随机性,并导致部分流量需要跨越中间链路进行传输。

发明内容
本申请提供了实现本地三层终结的方法,以在网关之间组建VRRP组的场景下,避免终端与外网之间的流量跨越中间链路进行传输。本申请提供的一种实现本地三层终结的方法,应用于本网关与其他区域中的邻居网关组建虚拟路由器冗余协议(VRRP)组、同一 VRRP组内的各网关使用相同的虚拟媒体接入控制(MAC)地址和虚拟因特网协议(IP)地址作为网关地址的场景,该方法包括网关收到本地终端对网关的地址解析协议(ARP)请求报文时,以所述虚拟MAC地址和虚拟IP地址回应所述ARP请求报文,并且不转发所述ARP请求报文至所述VRRP组中的邻居网关;网关使能三层终结功能,对本地终端与外网之间的流量进行本地三层终结。当本区域上行路径故障时,该方法可以进一步包括 本网关取消三层终结功能,将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最近的健康邻居网关处理。该方法可以进一步包括在发送VRRP报文时,判断本区域上行路径是否正常,如果正常,将本网关的实IP地址以及虚拟IP地址携带于所述VRRP报文中;如果故障,将本网关的实IP地址的变形以及虚拟IP地址携带于所述VRRP报文中;在转发VRRP报文时,判断本区域上行路径是否正常,如果正常,将本网关的实IP地址顺序添加到所述VRRP报文中原有的实IP地址之后;如果故障,将本网关的实IP地址的变形顺序添加到所述VRRP报文中原有的实IP地址之后;确定距离最近的健康邻居网关的方式为从收到的VRRP报文中获取至少一个实IP地址,根据各实IP地址的顺序确定本网关与各邻居网关之间的距离,并根据各实IP地址的取值进行判断,如果实IP地址的取值为正常的实IP地址,判定对应于该实IP地址的邻居网关健康,如果实IP地址的取值为实IP地址的变形,判定对应于该实IP地址的邻居网关不健康。较佳地,所述网关的功能可以置于交换设备中实现,各交换设备之间采用环形组网的方式相互连接;在本区域上行路径故障时,本交换设备通过直接打开本交换设备与距离最近的健康邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将本地终端对网关的ARP请求报文转发给所述距离最近的邻居交换设备处理,并通过向距离最近的邻居交换设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理。当本交换设备接收到来自邻居交换设备的VRRP临终遗言报文时,该方法可以进一步包括打开本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,对所述邻居交换设备转发来的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。
较佳地,所述网关的功能可以置于交换设备中实现,各交换设备采用星形组网的方式连接到互联设备,并通过所述互联设备实现二层互通;在本区域上行路径 故障时,本交换设备通过向距离最近的邻居交换设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理;该方法可以进一步包括所述互联设备开启VRRP侦听(Snooping)功能,对各交换设备之间交互的VRRP报文进行侦听,当侦听到VRRP临终遗言报文时,通过打开VRRP临终遗言报文发送端交换设备与接收端交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将所述发送端交换设备的本地终端对网关的ARP请求报文转发给所述接收端交换设备处理。当本交换设备接收到来自邻居交换设备的VRRP临终遗言报文时,该方法可以进一步包括对所述邻居交换设备转发来的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,所述互联设备关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。较佳地,所述网关的功能可以置于网关设备中实现,各网关设备分别连接各自本区域的交换设备,并通过所述交换设备实现二层互通;在本区域上行路径故障时,本网关设备通过向距离最近的邻居网关设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居网关设备处理;该方法进一步包括各交换设备开启VRRP Snooping功能,对各网关设备之间交互的VRRP报文进行侦听和分析,根据分析结果记录邻居网关设备的健康状态、距离、以及和互联端口的对应情况,当侦听到VRRP临终遗言报文时,通过打开VRRP临终遗言报文发送端交换设备与接收端交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将所述发送端交换设备的本地终端对网关的ARP请求报文转发给所述接收端交换设备处理。当本网关设备接收到来自邻居网关设备的VRRP临终遗言报文时,该方法可以进一步包括对所述邻居网关设备转发来的ARP请求报文,以本网关设备的虚拟MAC地址和虚拟IP地址进行回应,并对所述邻居网关设备转发来的三层流量进行本地三层终结,直至所述邻居网关设备恢复健康时,本网关设备所连接的交换设备和所述邻居网关设备所连接的交换设备分别关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。该方法可以进一步包括网关发送VRRP报文时,使用本网关的实MAC地址作为源MAC地址;该方法可以进一步包括网关跟踪(TRACK)上行链路或下一跳是否正常,如果正常,判定本区域上行路径正常,否则,判定本区域上行路径故障。该方法可以进一步包括网关主动向终端发送报文时,使用本网关的实MAC地址作为源MAC地址。本申请提供的一种实现本地三层终结的设备,该设备作为网关与其他区域中的邻居网关组建虚拟路由器冗余协议(VRRP)组,且同一 VRRP组内的各网关使用相同的虚拟媒体接入控制(MAC)地址和虚拟因特网协议(IP)地址作为网关地址,该设备包括地址解析协议(ARP)模块和三层处理模块,其中ARP模块在收到本地终端对网关的ARP请求报文时,以所述虚拟MAC地址和虚拟IP地址回应所述ARP请求报文,并且不转发所述ARP请求报文至所述VRRP组中的邻居网关;三层处理模块使能本网关的三层终结功能,对本地终端与外网之间的流量进行本
地三层终结。较佳地,当本区域上行路径故障时,三层处理模块还用于取消本网关的三层终结功能,并将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最 近的健康邻居网关处理。较佳地,该设备中还可以包括VRRP模块和邻居维护模块;在发送VRRP报文时,如果本区域上行路径正常,所述VRRP模块将本网关的实IP地址以及虚拟IP地址携带于所述VRRP报文中;如果本区域上行路径故障,所述VRRP模块将本网关的实IP地址的变形以及虚拟IP地址携带于所述VRRP报文中;在转发VRRP报文时,如果本区域上行路径正常,所述VRRP模块将本网关的实IP地址顺序添加到所述VRRP报文中原有的实IP地址之后;如果本区域上行路径故障,所述VRRP模块将本网关的实IP地址的变形顺序添加到所述VRRP报文中原有的实IP地址之后;所述邻居维护模块用于从本设备收到的VRRP报文中获取至少一个实IP地址,根据各实IP地址的顺序确定本网关与各邻居网关之间的距离,并根据各实IP地址的取值进行判断,如果实IP地址的取值为正常的实IP地址,判定对应于该实IP地址的邻居网关健康,如果实IP地址的取值为实IP地址的变形,判定对应于该实IP地址的邻居网关不健康,并向三层处理模块提供判断结果。较佳地,所述设备为交换设备,并采取环形组网的方式与其他区域中的交换设备直接相连;该交换设备中进一步包括端口控制模块和互联端口 ;在本区域上行路径故障时,所述端口控制模块打开本交换设备与距离最近的健康邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,通过所述互联端口将本地终端对网关的ARP请求报文转发给所述距离最近的邻居交换设备处理,并且,所述VRRP模块向距离最近的邻居交换设备发送VRRP临终遗言报文,并通知所述互联端口将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理;当接收到来自邻居交换设备的VRRP临终遗言报文时,所述端口控制模块打开本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,由所述互联端口将所述邻居交换设备转发来的ARP请求报文发送给所述ARP模块,由所述ARP模块以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并由所述三层处理模块对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,所述端口控制模块关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。较佳地,所述设备为交换设备,该交换设备采取星形组网的方式通过互联设备与其他区域中的交换设备相连,并通过所述互联设备与其他区域中的交换设备实现二层互通;在本区域上行路径故障时,所述VRRP模块通过所述互联设备向距离最近的邻居交换设备发送VRRP临终遗言报文,并通过所述互联设备将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理;当接收到来自邻居交换设备的VRRP临终遗言报文时,所述ARP模块对互联设备转发的来自所述邻居交换设备的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并且,所述三层处理模块对互联设备转发的来自所述邻居交换设备的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康。较佳地,所述设备为网关设备,该网关设备连接本区域的交换设备,并通过所述交换设备与其他区域中的网关设备实现二层互通;在本区域上行路径故障时,所述VRRP模块通过本区域的交换设备向距离最近的 邻居网关设备发送VRRP临终遗言报文,并通过本区域的交换设备将本地终端与外网之间的流量转发给所述距离最近的邻居网关设备处理;当接收到来自邻居网关设备的VRRP临终遗言报文时,所述ARP模块对本区域的交换设备转发的来自所述邻居网关设备的ARP请求报文,以本网关设备的虚拟MAC地址和虚拟IP地址进行回应,并且,所述三层处理模块对本区域的交换设备转发的来自所述邻居网关设备的三层流量进行本地三层终结,直至所述邻居网关设备恢复健康时。由上述技术方案可见,本申请提供的实现本地三层终结的技术方案通过本网关与其他区域中的邻居网关构成VRRP组,为同一 VRRP组内的各网关配置相同的虚拟MAC地址和虚拟IP地址作为网关地址,并使各网关使能三层终结功能,实现了 VRRP网关多活;并且,在本区域上行路径正常的情况下,网关以虚拟MAC地址和虚拟IP地址回应终端对网关的ARP请求,同时,不将该ARP请求报文转发给其他区域中的邻居网关,使得虚拟地址相关的ARP报文只在本区域内转发,不广播或转发给邻居网关,从而实现了 VRRP网关多活,并对终端与外网之间的流量实现了优先本地三层终结,避免了终端与外网之间的流量跨越中间链路进行传输。并且,本申请中,网关在发送VRRP报文时,可以使用本网关的实MAC地址作为源MAC地址,从而避免VRRP报文的转发影响报文转发路径中各设备的虚拟MAC地址的正常学习。在上述技术方案的基础上,本申请通过进一步改造VRRP报文的发送机制,在发送或转发VRRP报文时,将本网关的实IP地址的不同取值添加到VRRP报文中,使得各网关能够从中获取到邻居网关的实IP地址,并据此确定邻居网关的健康状态以及与自身的距离,从而可以在本区域上行路径故障时,将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最近的健康邻居网关处理。此外,本申请在网关主动向下发送ARP请求报文或发送IP报文时(包括发出的VRRP协议报文),使用实地址作为源IP地址或源MAC地址,从而在本数据中心中的终端挂在邻居虚网关下时,避免可能存在的部分二层设备的MAC地址对应的端口被不当刷新而引起流量故障的问题。


图I为现有VRRP的典型组网示意图;图2为现有VRRP的典型组网示意图;图3是现有数据中心二层互连的一典型组网示意图;图4为现有区域互联的一典型组网示意图;图5A为图4所示组网下本申请希望的三层转发路径示意图;图5B为图4所示组网下本地上行路径故障时本申请希望的三层转发路径示意图;图6为现有区域互连的第二种组网方式示意图; 图7为现有区域互连的第三种组网方式示意图;图8为现有数据中心的一种典型组网示意图;图9A为本申请实施例一中希望的三层转发路径示意图;图9B为本申请实施例一中本地上行路径故障时希望的三层转发路径示意图;图10为现有数据中心的另一种典型组网示意图;图IlA为本申请实施例二中希望的三层转发路径示意图;图IlB为本申请实施例二中本地上行路径故障时希望的三层转发路径示意图;图12为本申请一较佳实现本地三层终结的设备的组成结构示意图。
具体实施例方式为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。为解决上述技术问题,本申请提出一种实现本地三层终结的技术方案,其主要思想是在多区域的各网关之间组建VRRP组、同一 VRRP组内的各网关使用相同的虚拟MAC地址和虚拟IP地址作为网关地址的场景下,本地网关使能三层终结功能,本地终端就近从本地网关上行,在本地进行三层终结,只有本地网关上行故障时才跨越二层链路从远程的网关上行。设备作为网关有两种工作方式a)普通三层接口方式,这种工作方式下,设备硬件会向终端下发对应的三层接口MAC地址,如果终端发送过来的报文的目的MAC地址是该MAC地址,该设备就会对该报文进行三层转发;b)VRRP方式,这种工作方式下,设备配置VRRP功能,激活的VRRP设备会向终端下发VRRP对应的MAC地址(可以是VRRP虚拟MAC地址,也可以是和三层接口相同的设备MAC地址),如果终端发送过来的报文的目的MAC地址是VRRP对应的MAC地址,该设备就会对该报文进行三层转发。本申请中,网关以VRRP方式工作,网关使能三层终结功能即按照上述b)对终端的报文进行三层转发。在实际组网时,网关的功能可能置于交换设备中实现,也可能置于独立存在的网关设备中实现,并且,交换设备之间可能采取环形组网的方式直接相连,也可能采取星形组网的方式通过互联设备相连,下面将部署VRRP协议、且实现网关功能的设备统称为网关,首先从总体上描述本申请本地三层终结的方法,然后分别对应各种不同的组网方式进行详细说明。本申请提供的实现本地三层终结的方法应用于网关之间组建VRRP组、同一 VRRP组内的各网关使用相同的虚拟MAC地址和虚拟IP地址作为网关地址的场景,该方法具体包括网关收到本地终端对网关的ARP请求报文时,以所述虚拟MAC地址和虚拟IP地址回应所述ARP请求报文,同时不转发所述ARP请求报文至所述VRRP组中的邻居网关;网关使能三层终结功能,对本地终端与外网之间的流量进行本地三层终结。本申请上述方法对VRRP协议的功能进行了如下改造I)不改变VRRP的竞选机制,但竞选为SLAVE的成员设备也使能三层终结功能,可以作为网关进行三层终结,使得本地网关下挂的终端可以优选本地网关上行。 2)在本地网关健康(即本区域上行路径正常)时,本地终端对网关的ARP请求报文只在本区域内转发,不广播或转发给邻居网关,并且本地网关以虚拟MAC地址和虚拟IP地址回应终端的ARP请求报文,相应的ARP响应报文也不广播或转发给邻居网关。也就是说,虚拟地址相关的ARP报文只在本区域内转发,不广播或转发给邻居网关。3)现有技术中,VRRP报文的源MAC使用的是网关的虚拟MAC地址;本申请中,由于网关使用了虚拟IP地址和虚拟MAC地址来回应本地终端的ARP请求报文,为了避免VRRP报文的转发影响报文转发路径中各设备的虚拟MAC地址的正常学习,在发送VRRP报文时,使用网关的实MAC地址作为VRRP报文的源MAC。本申请中各网关所发送的VRRP报文中,与现有技术类似,需要携带常规的协议版本、报文类型、组标识等信息。通过上述方法,实现了 VRRP网关多活,并对终端与外网之间的流量实现了优先本地三层终结,避免了终端与外网之间的流量跨越中间链路进行传输。在上述方法的基础上,当本区域上行路径故障时,本网关取消三层终结功能,将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最近的健康邻居网关处理。如前所述,在图3所示数据中心二层远程互连的典型应用中,在SWa、SWb、SWc这三个VRRP网关间存在距离的概念。例如SWa离SWb较近,而离SWc较远;SWb离SWa和SWc等距。为此,本申请增加VRRP网关距离的检测和判断机制,用于在本区域上行路径故障时,就近委托健康的VRRP邻居网关接管本地终端的上行三层终结请求。为了确定距离最近的健康邻居网关,需要对现有VRRP报文发送和转发过程进行改进,一种较佳的改进方式为在发送VRRP报文时,进一步判断本区域上行路径是否正常,如果正常,将本网关的实IP地址以及虚拟IP地址携带于该VRRP报文中;如果故障,将本网关的实IP地址的变形以及虚拟IP地址携带于该VRRP报文中。在转发VRRP报文时,也进一步判断本区域上行路径是否正常,如果正常,将本网关的实IP地址顺序添加到该VRRP报文中原有的实IP地址之后;如果故障,将本网关的实IP地址的变形顺序添加到该VRRP报文中原有的实IP地址之后。经上述改进之后,网关可以按照如下方式确定距离最近的健康邻居网关从收到的VRRP报文中获取至少一个实IP地址,根据各实IP地址的顺序确定本网关与各邻居网关之间的距离,并根据各实IP地址的取值进行判断,如果实IP地址的取值为正常的实IP地址,判定对应于该实IP地址的邻居网关健康,如果实IP地址的取值为实IP地址的变形,判定对应于该实IP地址的邻居网关不健康。如前所述,在实际组网时,网关的功能可能置于交换设备中实现,也可能置于独立存在的网关设备中实现,交换设备之间可能采取环形组网的方式直接相连,也可能采取星形组网的方式通过互联设备相连,下面对上述各种组网方式下,当某一区域上行路径故障时,发生流量切换的具体实施方式
进行详细说明。第一种组网方式网关的功能置于交换设备中实现,各交换设备之间采取环形组网的方式相互连接,如图4所示。这种组网方式下,上述方法中的网关指的是图4中的交换设备,S卩SWa、SWb、SWc。对于图4所示组网,希望的区域三层转发路径如图5A所示,虚线为ServerB希望 达到的转发路径。一旦本地上行路径故障时,希望的转发路径如图5B所示,虚线为ServerB希望达到的转发路径。本组网方式下,各区域的交换设备上配置本申请改造后的VRRP协议,多个交换设备构成VRRP组,同一 VRRP组内的各交换设备配置相同的虚拟MAC地址和相同的虚拟IP地址作为网关地址,各交换设备以虚拟MAC地址和虚拟IP地址回应本区域内的终端对网关的ARP请求报文,并将虚拟地址相关的ARP报文(包括本地终端对网关的ARP请求报文以及以虚拟地址回应的ARP响应报文)的广播域控制在本区域内,在发送VRRP报文时,使用实MAC地址作为源MAC地址,此外,各交换设备使能三层终结功能,对终端与外网之间的流量进行本地三层终结。如前所述,本地交换设备收到VRRP报文时,可以从中获取至少一个实IP地址,并据此判断各邻居交换设备的健康状态、以及与本交换设备之间的距离。在得到上述信息后,可以将至少一个距离最近的健康的邻居交换设备作为本交换设备的备份邻居,记录备份邻居与本交换设备之间的距离以及实IP地址(当然,对于不健康的邻居交换设备也可以记录其相关信息),同时,在将该VRRP报文向其他邻居交换设备转发时,如果本区域上行正常,则将本交换设备的实IP地址添加到该VRRP报文后面;如果本地VRRP已失效,则将本交换设备的实IP地址的变形(例如所有字节取反后的实IP地址)添加到该VRRP报文后面,如此,下一站VRRP邻居设备收到该VRRP报文后,可通过其中所携带的实IP地址的取值判断邻居交换设备的健康状态。在上面的举例中,当本地VRRP失效时,采取了将本设备的实IP地址所有字节取反再添加到VRRP报文后面的方式,在具体实现时,也可以将本设备的实IP地址的其他变换形式添加到VRRP报文后面,只要令收到该VRRP报文的邻居设备能够判断出本地VRRP已失效即可。在本区域上行故障的情况下,本区域的交换设备可以通过向备份邻居发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给备份邻居处理,并通过打开与备份邻居之间的互连通道的虚拟地址相关的ARP报文的转发能力的方式将本地终端对网关的ARP请求报文转发给备份邻居处理。本申请中,涉及打开报文转发能力的部分,可以通过底层软件下发访问控制列表(ACL)的方式或建立相关转发表项的方式打开与备份邻居之间的互连通道的虚拟地址相关的ARP报文的转发能力。当本交换设备作为其他邻居交换设备的备份邻居接收到来自邻居交换设备的VRRP临终遗言报文时,需要打开本交换设备与该邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,对该邻居交换设备转发来的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并对该邻居交换设备转发来的三层流量进行本地三层终结,直至该邻居交换设备的健康状态恢复为健康时,关闭本交换设备与该邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。参见图5A,以SWa发出的VRRP报文为例,其发送VRRP报文给SWb,报文内含VRRP的虚ip 10. I. I. 254和SWa的接口实ip 10. I. I. 1,SWb收到该报文后,获知SWa与自身是直连的,且状态健康。若SWb正常,将自己的实ip 10. I. I. 2填写到该VRRP报文的后面,将报文转发给 Sffc, Sffc即可获知SWa离自身2跳,状态健康,SWb离自身I跳,状态健康。若SWb上行故障,Sffb将本地VRRP三层终结功能置为失效,Sffb收到SWa的VRRP报文后,记录SWa状态健康,且离自身I跳。同时将自身的实IP地址取反为245. 254. 254. 253填写到该VRRP报文的后面,转发给SWc,SWc即可获知SWa离自身2跳,状态健康,SWb离自身I跳,状态故障。因此,当SWa、SWb、Sffc状态均正常时,Sffa记录SWb作为自己的备份邻居,Sffc为次备份邻居;swb记录实地址大的SWc作为自己的备份邻居,SWa作为次备份邻居。SWc记录SWb为备份邻居,Sffa作为次备份邻居。在DCa、DCb、DCc内的虚拟地址相关的ARP报文流量仅在本DC域内转发,不广播或转发给SW之间的互联端口。假设SWb状态故障时,Sffa记录SWc为自己的备份邻居,Sffb为次备份邻居且记录为失效状态;SWb通过VRRP临终遗言报文委托实IP地址大的SWc接管本地终端的上行三层终结请求,同时,SWb、SWc打开两者互连通道的虚拟地址相关的ARP报文的转发能力,允许DCb下挂终端与SWc之间的虚拟地址相关的ARP报文和普通流量转发,并且,Sffb仍将以自己实IP地址取反的形式发送VRRP报文,维持通告自身失效的状态直至本地上行故障修复;SWc记录SWa为自身的备份邻居,SWb为次备份邻居且记录为失效状态,Sffc接管DCb下的终端的三层终结请求。现有技术中,使能VRRP的设备在向下寻找终端时,均以网关的虚拟IP地址和虚拟MAC地址为源地址去请求终端的MAC地址,根据本申请,同一 VRRP组内的各网关具有相同的虚拟IP地址和虚拟MAC地址,若终端挂在邻居虚网关下时,以虚拟MAC地址为源地址的ARP报文或IP报文在整网广播后,将可能导致部分二层设备的MAC地址对应的端口被不当刷新,从而导致流量故障。为此,本申请中,在网关主动向下发送ARP请求报文或发送IP报文时(包括发出的VRRP协议报文),使用实地址作为源IP地址或源MAC地址,以避免上述问题。而对于终端主动查找虚网关的报文,网关仍以虚拟地址进行回应。这样,对于该网关,终端将学习到两个ARP表项,一个ARP表项中记录的是网关的虚拟IP地址和虚拟MAC地址,另一个ARP表项中记录的是网关的实IP地址和实MAC地址。为了应对本区域上行故障的情况,本申请中,网关跟踪(TRACK)上行链路或下一跳是否正常,若上行链路或下一跳失效,则取消本网关的本地三层终结功能,将本地流量二层转发到其他健康的备份邻居网关做三层终结上行。以图4所示组网方式举例而言,如图5B 假设SWb上行状态故障时,Sffb将本地VRRP置成失效状态不再进行三层本地终结,并通过VRRP临终遗言报文委托实IP地址大的SWc接管本地的终端上行的三层终结请求;同时,Sffb还将以自己实IP地址取反的形式持续发送VRRP报文维持通告自己失效的状态直至本地上行故障修复。综上,下面分别总结本组网方式下,本区域正常情况下的业务流程和故障情况下的业务流程。A、本区域正常情况下的业务流程各SW均使能VRRP TRACK功能。I、SW持续周期性发送VRRP通告报文,记录邻居SW的健康状态,并选举备份邻居和次备份邻居,以及控制虚拟地址相关的ARP报文的广播和转发域。 Sffa记录SWb为备份邻居,Sffc为次备份邻居;SWb记录SWc为备份邻居,Sffa为次备份邻居;SWc记录SWb为备份邻居,Sffa为次备份邻居。2、服务器通过正常ARP流程学习本地网关的虚MAC地址,上行流量在本地网关三
层终结。B、本区域上行故障情况下的业务流程Sff均使能VRRP TRACK功能。假设SWb的上行故障,Sffb通过VRRPTRACK机制置本地VRRP失效。I、SW持续周期性发送VRRP通告报文,记录邻居SW的健康状态,并选举备份邻居和次备份邻居,以及控制虚拟地址相关的ARP报文的广播和转发域。其中SWb持续发送的VRRP报文内填写的实IP地址为取反后的实IP地址,以示本地VRRP失效。SWa记录SWc为备份邻居,SWb为次备份邻居且失效;SWb记录SWc为备份邻居,SWa为次备份邻居,同时打开与SWc互连端口的虚拟地址相关的ARP报文的转发和广播能力,本地业务送SWc接管;SWc记录SWa为备份邻居,Sffb为次备份邻居且失效。2、DCb下的服务器通过正常ARP流程可学习SWc网关,上行流量通过SWb-SWc间的互联端口送SWc网关做三层终结上行转发。第二种组网方式网关的功能置于交换设备中实现,各交换设备采取星形组网的方式连接到互联设备,并通过互联设备实现二层互通,如图6所示。在图6所示组网方式下,交换设备SWa-SWc部署本申请改造后的VRRP协议,Sffa-Sffc均连接到互联设备SWd,上述方法中的网关指的是交换设备SWa-SWc。在互联设备SWd上增加VRRP SNOOPING (侦听)功能,对各交换设备之间交互的VRRP报文进行侦听。即SWd将各交换设备之间交互的VRRP报文镜像一份到SWd的CPU,CPU可对VRRP报文进行分析,同时与互联端口的虚拟地址相关的ARP处理能力进行控制关联。与第一种组网方式类似,各个交换设备根据收到的VRRP报文中携带的实IP地址将距离最近的邻居交换设备确定为备份邻居,并记录备份邻居与本交换设备之间的距离以及实IP地址。在本区域上行路径故障时,本交换设备通过向备份邻居发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给备份设备处理;互联设备侦听到该VRRP临终遗言报文时,通过打开VRRP临终遗言报文发送端交换设备与接收端交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将该发送端交换设备所在区域的本地终端对网关的ARP请求报文转发给该接收端交换设备处理。当本交换设备作为其他邻居交换设备的备份邻居接收到来自邻居交换设备的VRRP临终遗言报文时,需要对该邻居交换设备转发来的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并对该邻居交换设备转发来的三层流量进行本地三层终结;直至该邻居交换设备恢复健康时,互联设备将通过对VRRP报文中实IP地址的分析得知这一情况,此时,关闭本交换设备与该邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。举例来说,在SWa-SWc均正常情况下,Sffd侦听并广播SWa-SWc发送的VRRP报文,记录SWa-SWc的VRRP状态和端口 Pa-Pc的对应情况,关闭Pa-Pc三个端口的虚拟地址相关的ARP广播能力。此时,Sffa的备份邻居为SWc,SWb为次备份邻居;SWb的备份邻居是SWc, Sffa为次备份邻居;SWc的备份邻居为SWb,Sffa为次备份邻居。若SWb上行故障,Sffb发送VRRP临终遗言报文委托SWc接管DCb的终端,此时,Sffd侦听到该VRRP临终遗言报文,将该VRRP临终遗言报文从端口 Pc送给SWc,同时打开互联端口 Pb、Pc之间的虚拟地址相关的ARP广播能力,使得DCb的终端与SWc网关可以正常通信。第三种组网方式网关的功能置于独立的网关设备中实现,各网关设备分别连接各自区域中的交换设备,并通过交换设备实现二层互通,如图7所示。在图7所示区域互连方案下,各区域的网关在网关设备(GW)上,也就是说各SW不再具备网关的功能。在图7所示组网下,各GW上部署本申请改造后的VRRP协议,Sff不再具备网关的功能。并且,各SW部署VRRP SNOOPING功能,S卩各SW将各网关设备之间交互的VRRP报文镜像一份到各SW的CPU,在CPU上对VRRP报文进行侦听和分析,并根据分析结果记录各邻居网关设备的健康状态、距离、以及和互联端口的对应情况,并据此控制虚拟地址相关的ARP报文在互联端口上的转发。正常情况下,Gff开启VRRP功能,机制与第一种组网方式类似记录备份邻居,在本区域上行路径故障时进行VRRP临终遗言,只是不再由GW控制ARP报文转发和广播域,而改由SW开启VRRP SNOOPING功能来控制。在本区域上行路径故障时,本网关设备通过向距离最近的邻居网关设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居网关设备处理;当交换设备侦听到VRRP临终遗言报文时,通过打开VRRP临终遗言报文发送端交换设备与接收端交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将该发送端交换设备所在区域的本地终端对网关的ARP请求报文转发给该接收端交换设备处理。当本网关设备作为其他邻居网关设备的备份邻居接收到来自邻居网关设备的VRRP临终遗言报文时,需要对该邻居网关设备转发来的ARP请求报文,以本网关设备的虚拟MAC地址和虚拟IP地址进行回应,并对该邻居网关设备转发来的三层流量进行本地三层终结;直至该邻居网关设备恢复健康时,本网关设备所连接的交换设备和该邻居网关设备所连接的交换设备将通过对VRRP报文中实IP地址的分析得知这一情况,此时,这两个交换设备分别关闭本交换设备与该邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。本组网方式下,SW端口角色区分为上行口(连接本地网关设备)、互连口(连接其他区域的SW)和下行口(连接本地终端)。在SW的上行口和互连口上转发VRRP报文,并且Sff记录各VRRP网关的健康状态和距离,正常情况下,不向互连口转发虚拟地址相关的ARP报文,这类ARP报文仅在上行口和下行口之间转发,流量正常在本区域内上行到GW VRRP网
关做三层终结上行。故障情况下,举例来说,假设GWb上行故障,GWb将自身的VRRP置成失效不再作三层终结,并发送VRRP临终遗言报文,委托实IP地址大的GWc接管DCb中的终端,Sffb接收到该VRRP临终遗言报文后,定向将该VRRP临终遗言报文从互联口 Pbc发送给SWc,同时SWb打开互连口 Pbc 口的虚拟地址相关的ARP报文转发和广播能力,同时记录GWb VRRP失效。 而SWc收到该VRRP临终遗言报文后,定向转发给GWc,同时打开互联端口 Pcb 口的虚拟地址相关的ARP报文广播和转发能力,记录GWb VRRP为失效状态,并正常接管DCb中的终端的三层终结请求。以上针对三种典型的组网方式下如何实施本申请技术方案进行了详细说明,下面通过两个实施例对本申请的具体应用进行举例说明。实施例一目前,业界的数据中心往往不是在一个地方,而是存在于多个地方的数据中心通过二层互联起来。这时,数据中心内部的服务器间是通过二层交换设备进行交换,而外面的访问一般都是通过三层来访问的。由于数据中心是已经互联组成的二层网络,在传统技术上往往是通过VRRP等协议协商或者配置某一个数据中心的交换机为三层网关,其他的数据中心的三层流量都从该数据中心的网关出去,同样外面的访问流量也是通过该数据中心的网关进来再转发到对应的数据中心。图8是现有数据中心的一种典型组网示意图。在该组网下,数据中心A的汇聚交换机a和数据中心B的汇聚交换机b间建立VRRP连接,通过VRRP连接来选择数据中心A的汇聚交换机或者B的汇聚交换机为VRRP的Master,将Master设备的VRRP接口作为整个数据中心的三层网关。当VRRP Master为数据中心A的汇聚交换机时,数据中心B下面的服务器ServerA和ServerB等进行三层转发以及与外网进行三层互通时,都需要通过数据中心间的接口到数据中心A上绕一圈。例如,服务器ServerA访问外网时的具体访问路径见图8中的曲线箭头。可见,采用现有技术,数据中心中的三层流量需要跨数据中心转发,给原本就带宽不大的数据中心互联端口增加了压力。针对图8所示应用场景,可以在汇聚交换机上部署VRRP协议作为网关,并采用申请提供的本地三层终结方法实现本地优先三层终结。这种情况对应于如前所述的第一种组网方式,并且,汇聚交换机相当于第一种组网方式中的交换设备,提供网关的功能。本实施例中,ServerA希望的三层转发路径如图9A中的曲线箭头所示;当数据中心B上行路径故障时,ServerA希望的三层转发路径如图9B中的曲线箭头所示。下面分别介绍本数据中心正常情况下的业务流程和故障情况下的业务流程。A、参见图9A,本数据中心正常情况下的业务流程各汇聚交换机均使能VRRP TRACK功能。I、汇聚交换机持续周期性发送VRRP通告报文,记录邻居汇聚交换机的健康状态,并选举备份邻居和次备份邻居,以及控制虚拟地址相关的ARP报文的广播和转发域。汇聚交换机a和汇聚交换机b分别记录对方为备份邻居。2、服务器通过正常ARP流程学习本地网关的虚MAC地址,上行流量在本地网关三
层终结。
B、参见图9B,本数据中心上行故障情况下的业务流程各汇聚交换机均使能VRRP TRACK功能。假设数据中心B的上行故障,汇聚交换机b通过VRRP TRACK机制置本地VRRP失效。I、汇聚交换机持续周期性发送VRRP通告报文,记录邻居汇聚交换机的健康状态,并选举备份邻居和次备份邻居,以及控制虚拟地址相关的ARP报文的广播和转发域。其中,汇聚交换机b持续发送的VRRP通告报文内填写的实IP地址为取反后的实IP地址,以示本地VRRP失效。汇聚交换机a记录汇聚交换机b为备份邻居且失效;汇聚交换机b记录汇聚交换机a为备份邻居,向汇聚交换机a发送VRRP临终遗言报文,同时打开与汇聚交换机a互连端口的虚拟地址相关的ARP报文的转发和广播能力,本地业务送汇聚交换机a接管。2、汇聚交换机b下的服务器通过正常ARP流程可学习汇聚交换机a的网关,上行流量通过汇聚交换机a与汇聚交换机b间的互联端口送汇聚交换机a的网关做三层终结上行转发。实施例二本实施例仍然以数据中心三层互联为例,该三层互联解决方案是在数据中心的核心交换机间建立VRRP/VRRPE组网,在核心交换机上根据VRRP协商出一个当前生效的三层接口,其他数据中心的三层流量都从该核心交换机出去,同样外面的访问流量也是通过该核心交换机进来再转发到对应的数据中心。图10为对应于本实施例的现有数据中心的另一种典型组网示意图。在该组网下,数据中心A的核心交换机和数据中心B的核心交换机间建立VRRP连接,通过VRRP连接来选择数据中心A的核心交换机或者B的核心交换机为VRRP的Master,将Master设备的VRRP接口作为整个数据中心的三层网关。当VRRP Master为数据中心A的核心交换机时,数据中心B下面的服务器ServerA和ServerB等进行三层转发以及与外网进行三层互通时,都需要通过数据中心间的接口到数据中心A上绕一圈。例如,服务器ServerA访问外网时的具体访问路径见图10中的曲线箭头。可见,采用现有技术,数据中心中的三层流量需要跨数据中心转发,给原本就带宽不大的数据中心互联端口增加了压力。针对图10所示应用场景,可以采用本申请提供的本地三层终结方法,在核心交换机上部署VRRP协议作为网关进行本地优先三层终结,在汇聚交换机上开启VRRP SNOOPING功能对核心交换机之间交互的VRRP报文进行侦听和分析,并根据分析结果记录邻居核心交换机的健康状态、距离、以及和互联端口的对应情况,并据此控制虚拟地址相关的ARP报文在互联端口上的转发。这种情况对应于如前所述的第三种组网方式,并且,核心交换机相当于第三种组网方式的网关设备,提供网关的功能,汇聚交换机相当于第三种组网方式中的交换设备。本实施例中,ServerA希望的三层转发路径如图IlA中的曲线箭头所示;当数据中心B上行路径故障时,ServerA希望的三层转发路径如图IlB中的曲线箭头所示。下面分别介绍本数据中心正常情况下的业务流程和故障情况下的业务流程。A、参见图11A,本数据中心正常情况下的业务流程
各核心交换机均使能VRRP TRACK功能,各汇聚交换机开启VRRP SNOOPING功能。I、各核心交换机持续周期性发送VRRP通告报文,记录邻居核心交换机的健康状态,并选举备份邻居和次备份邻居;各汇聚交换机侦听并分析VRRP报文,根据分析结果记录邻居核心交换机的健康状态、距离、以及和互联端口的对应情况,并据此控制虚拟地址相关的ARP报文的广播和转发域。核心交换机a记录核心交换机b为备份邻居,核心交换机b记录核心交换机a为备份邻居;汇聚交换机a记录核心交换机b的健康状态、距离、以及和互联端口的对应情况;汇聚交换机b记录核心交换机a的健康状态、距离、以及和互联端口的对应情况。2、服务器通过正常ARP流程学习本地网关的虚MAC地址,上行流量在本地网关三
层终结。B、参见图11B,本数据中心上行故障情况下的业务流程 各核心交换机均使能VRRP TRACK功能,各汇聚交换机开启VRRP SNOOPING功能。假设数据中心B的上行故障,核心交换机b通过VRRP TRACK机制置本地VRRP失效。I、各核心交换机持续周期性发送VRRP通告报文,记录邻居核心交换机的健康状态,并选举备份邻居和次备份邻居;各汇聚交换机侦听并分析VRRP报文,根据分析结果记录邻居核心交换机的健康状态、距离、以及和互联端口的对应情况,并据此控制虚拟地址相关的ARP报文的广播和转发域。其中,核心交换机b持续发送的VRRP通告报文内填写的实IP地址为取反后的实IP地址,以示本地VRRP失效。核心交换机a记录核心交换机b为备份邻居且失效,核心交换机b记录核心交换机a为备份邻居,向核心交换机a发送VRRP临终遗言报文;汇聚交换机a和汇聚交换机b侦听到上述VRRP临终遗言报文时,打开汇聚交换机a与汇聚交换机b互连端口的虚拟地址相关的ARP报文的转发和广播能力,本地业务送核心交换机a接管。2、核心交换机b下的服务器通过正常ARP流程可学习核心交换机a的网关,上行流量通过汇聚交换机a与汇聚交换机b间的互联端口送核心交换机a的网关做三层终结上行转发。对应于上述方法,本申请还提供了一种实现本地三层终结的设备,如图12所示,该设备作为网关与其他区域中的邻居网关组建VRRP组,且同一 VRRP组内的各网关使用相同的虚拟MAC地址和虚拟IP地址作为网关地址,其特征在于,该设备包括ARP模块1201和三层处理模块1202,其中ARP模块1201在收到本地终端对网关的ARP请求报文时,以所述虚拟MAC地址和虚拟IP地址回应所述ARP请求报文,并且不转发所述ARP请求报文至所述VRRP组中的邻居网关;三层处理模块1202使能本网关的三层终结功能,对本地终端与外网之间的流量进行本地三层终结。较佳地,当本区域上行路径故障时,三层处理模块1202还用于取消本网关的三层终结功能,并将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最近的健康邻居网关处理。较佳地,图12所示设备中还可以包括VRRP模块1203和邻居维护模块1204 ;在发送VRRP报文时,如果本区域上行路径正常,所述VRRP模块1203将本网关的 实IP地址以及虚拟IP地址携带于所述VRRP报文中;如果本区域上行路径故障,所述VRRP模块将本网关的实IP地址的变形以及虚拟IP地址携带于所述VRRP报文中;在转发VRRP报文时,如果本区域上行路径正常,所述VRRP模块1203将本网关的实IP地址顺序添加到所述VRRP报文中原有的实IP地址之后;如果本区域上行路径故障,所述VRRP模块将本网关的实IP地址的变形顺序添加到所述VRRP报文中原有的实IP地址之后;所述邻居维护模块1204用于从本设备收到的VRRP报文中获取至少一个实IP地址,根据各实IP地址的顺序确定本网关与各邻居网关之间的距离,并根据各实IP地址的取值进行判断,如果实IP地址的取值为正常的实IP地址,判定对应于该实IP地址的邻居网关健康,如果实IP地址的取值为实IP地址的变形,判定对应于该实IP地址的邻居网关不健康,并向三层处理模块1202提供判断结果。较佳地,所述设备为交换设备,并采取环形组网的方式与其他区域中的交换设备直接相连;此时,图12所示交换设备中可以进一步包括端口控制模块1205和互联端口1206 ;在本区域上行路径故障时,所述端口控制模块1205打开本交换设备与距离最近的健康邻居交换设备之间的互联端口 1206的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,通过所述互联端口 1206将本地终端对网关的ARP请求报文转发给所述距离最近的邻居交换设备处理,并且,所述VRRP模块1203向距离最近的邻居交换设备发送VRRP临终遗言报文,并通知互联端口 1206将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理;当接收到来自邻居交换设备的VRRP临终遗言报文时,所述端口控制模块1205打开本交换设备与所述邻居交换设备之间的互联端口 1206的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,由所述互联端口 1206将所述邻居交换设备转发来的ARP请求报文发送给所述ARP模块1201,由所述ARP模块1201以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并由所述三层处理模块1202对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,所述端口控制模块1205关闭本交换设备与所述邻居交换设备之间的互联端口 1206的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。
较佳地,所述设备为交换设备,该交换设备采取星形组网的方式通过互联设备与其他区域中的交换设备相连,并通过所述互联设备与其他区域中的交换设备实现二层互通;在本区域上行路径故障时,所述VRRP模块1203通过所述互联设备向距离最近的邻居交换设备发送VRRP临终遗言报文,并通过所述互联设备将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理;当接收到来自邻居交换设备的VRRP临终遗言报文时,所述ARP模块1201对互联设备转发的来自所述邻居交换设备的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并且,所述三层处理模块1202对互联设备转发的来自所述邻居交换设备的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康。较佳地,所述设备为网关设备,该网关设备连接本区域的交换设备,并通过所述交换设备与其他区域中的网关设备实现二层互通;
在本区域上行路径故障时,所述VRRP模块1203通过本区域的交换设备向距离最近的邻居网关设备发送VRRP临终遗言报文,并通过本区域的交换设备将本地终端与外网之间的流量转发给所述距离最近的邻居网关设备处理;当接收到来自邻居网关设备的VRRP临终遗言报文时,所述ARP模块1201对本区域的交换设备转发的来自所述邻居网关设备的ARP请求报文,以本网关设备的虚拟MAC地址和虚拟IP地址进行回应,并且,所述三层处理模块1202对本区域的交换设备转发的来自所述邻居网关设备的三层流量进行本地三层终结,直至所述邻居网关设备恢复健康时。由上述技术方案可见,本申请提供了 VRRP网关多活且优选本地三层终结的技术方案。本申请可适用但不局限于多个数据中心异地二层互联的组网下,能实现本地三层转发而不用跨数据中心,但同时又能在本数据中心网关上行失效后,通过其他正常的数据中心进行三层转发功能。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
权利要求
1.一种实现本地三层终结的方法,应用于本网关与其他区域中的邻居网关组建虚拟路由器冗余协议(VRRP)组、同一 VRRP组内的各网关使用相同的虚拟媒体接入控制(MAC)地址和虚拟因特网协议(IP)地址作为网关地址的场景,其特征在于,该方法包括 网关收到本地终端对网关的地址解析协议(ARP)请求报文时,以所述虚拟MAC地址和虚拟IP地址回应所述ARP请求报文,并且不转发所述ARP请求报文至所述VRRP组中的邻居网关; 网关使能三层终结功能,对本地终端与外网之间的流量进行本地三层终结。
2.根据权利要求I所述的方法,其特征在于,当本区域上行路径故障时,该方法进一步包括 本网关取消三层终结功能,将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最近的健康邻居网关处理。
3.根据权利要求2所述的方法,其特征在于,该方法进一步包括 在发送VRRP报文时,判断本区域上行路径是否正常,如果正常,将本网关的实IP地址以及虚拟IP地址携带于所述VRRP报文中;如果故障,将本网关的实IP地址的变形以及虚拟IP地址携带于所述VRRP报文中; 在转发VRRP报文时,判断本区域上行路径是否正常,如果正常,将本网关的实IP地址顺序添加到所述VRRP报文中原有的实IP地址之后;如果故障,将本网关的实IP地址的变形顺序添加到所述VRRP报文中原有的实IP地址之后; 确定距离最近的健康邻居网关的方式为从收到的VRRP报文中获取至少一个实IP地址,根据各实IP地址的顺序确定本网关与各邻居网关之间的距离,并根据各实IP地址的取值进行判断,如果实IP地址的取值为正常的实IP地址,判定对应于该实IP地址的邻居网关健康,如果实IP地址的取值为实IP地址的变形,判定对应于该实IP地址的邻居网关不健康。
4.根据权利要求2所述的方法,其特征在于 所述网关的功能置于交换设备中实现,各交换设备之间采用环形组网的方式相互连接; 在本区域上行路径故障时,本交换设备通过直接打开本交换设备与距离最近的健康邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将本地终端对网关的ARP请求报文转发给所述距离最近的邻居交换设备处理,并通过向距离最近的邻居交换设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理。
5.根据权利要求4所述的方法,其特征在于 当本交换设备接收到来自邻居交换设备的VRRP临终遗言报文时,该方法进一步包括打开本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,对所述邻居交换设备转发来的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。
6.根据权利要求2所述的方法,其特征在于所述网关的功能置于交换设备中实现,各交换设备采用星形组网的方式连接到互联设备,并通过所述互联设备实现二层互通; 在本区域上行路径故障时,本交换设备通过向距离最近的邻居交换设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理; 该方法进一步包括所述互联设备开启VRRP侦听(Snooping)功能,对各交换设备之间交互的VRRP报文进行侦听,当侦听到VRRP临终遗言报文时,通过打开VRRP临终遗言报文发送端交换设备与接收端交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将所述发送端交换设备的本地终端对网关的ARP请求报文转发给所述接收端交换设备处理。
7.根据权利要求6所述的方法,其特征在于 当本交换设备接收到来自邻居交换设备的VRRP临终遗言报文时,该方法进一步包括对所述邻居交换设备转发来的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,所述互联设备关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。
8.根据权利要求2所述的方法,其特征在于 所述网关的功能置于网关设备中实现,各网关设备分别连接各自本区域的交换设备,并通过所述交换设备实现二层互通; 在本区域上行路径故障时,本网关设备通过向距离最近的邻居网关设备发送VRRP临终遗言报文的方式将本地终端与外网之间的流量转发给所述距离最近的邻居网关设备处理; 该方法进一步包括各交换设备开启VRRP Snooping功能,对各网关设备之间交互的VRRP报文进行侦听和分析,根据分析结果记录邻居网关设备的健康状态、距离、以及和互联端口的对应情况,当侦听到VRRP临终遗言报文时,通过打开VRRP临终遗言报文发送端交换设备与接收端交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力的方式,将所述发送端交换设备的本地终端对网关的ARP请求报文转发给所述接收端交换设备处理。
9.根据权利要求8所述的方法,其特征在于 当本网关设备接收到来自邻居网关设备的VRRP临终遗言报文时,该方法进一步包括对所述邻居网关设备转发来的ARP请求报文,以本网关设备的虚拟MAC地址和虚拟IP地址进行回应,并对所述邻居网关设备转发来的三层流量进行本地三层终结,直至所述邻居网关设备恢复健康时,本网关设备所连接的交换设备和所述邻居网关设备所连接的交换设备分别关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。
10.根据权利要求2至9任一项所述的方法,其特征在于 该方法进一步包括网关发送VRRP报文时,使用本网关的实MAC地址作为源MAC地址;
11.根据权利要求2至9任一项所述的方法,其特征在于 该方法进一步包括网关跟踪(TRACK)上行链路或下一跳是否正常,如果正常,判定本区域上行路径正常,否则,判定本区域上行路径故障。
12.根据权利要求2至9任一项所述的方法,其特征在于 该方法进一步包括网关主动向终端发送报文时,使用本网关的实MAC地址作为源MAC地址。
13.一种实现本地三层终结的设备,该设备作为网关与其他区域中的邻居网关组建虚拟路由器冗余协议(VRRP)组,且同一 VRRP组内的各网关使用相同的虚拟媒体接入控制(MAC)地址和虚拟因特网协议(IP)地址作为网关地址,其特征在于,该设备包括地址解析协议(ARP)模块和三层处理模块,其中 ARP模块在收到本地终端对网关的ARP请求报文时,以所述虚拟MAC地址和虚拟IP地址回应所述ARP请求报文,并且不转发所述ARP请求报文至所述VRRP组中的邻居网关; 三层处理模块使能本网关的三层终结功能,对本地终端与外网之间的流量进行本地三层终结。
14.根据权利要求13所述的设备,其特征在于 当本区域上行路径故障时,三层处理模块还用于取消本网关的三层终结功能,并将本地终端对网关的ARP请求报文以及本地终端与外网之间的流量转发给距离最近的健康邻居网关处理。
15.根据权利要求14所述的设备,其特征在于,该设备中还包括VRRP模块和邻居维护模块; 在发送VRRP报文时,如果本区域上行路径正常,所述VRRP模块将本网关的实IP地址以及虚拟IP地址携带于所述VRRP报文中;如果本区域上行路径故障,所述VRRP模块将本网关的实IP地址的变形以及虚拟IP地址携带于所述VRRP报文中; 在转发VRRP报文时,如果本区域上行路径正常,所述VRRP模块将本网关的实IP地址顺序添加到所述VRRP报文中原有的实IP地址之后;如果本区域上行路径故障,所述VRRP模块将本网关的实IP地址的变形顺序添加到所述VRRP报文中原有的实IP地址之后; 所述邻居维护模块用于从本设备收到的VRRP报文中获取至少一个实IP地址,根据各实IP地址的顺序确定本网关与各邻居网关之间的距离,并根据各实IP地址的取值进行判断,如果实IP地址的取值为正常的实IP地址,判定对应于该实IP地址的邻居网关健康,如果实IP地址的取值为实IP地址的变形,判定对应于该实IP地址的邻居网关不健康,并向三层处理模块提供判断结果。
16.根据权利要求15所述的设备,其特征在于 所述设备为交换设备,并采取环形组网的方式与其他区域中的交换设备直接相连; 该交换设备中进一步包括端口控制模块和互联端口; 在本区域上行路径故障时,所述端口控制模块打开本交换设备与距离最近的健康邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,通过所述互联端口将本地终端对网关的ARP请求报文转发给所述距离最近的邻居交换设备处理,并且,所述VRRP模块向距离最近的邻居交换设备发送VRRP临终遗言报文,并通知所述互联端口将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理; 当接收到来自邻居交换设备的VRRP临终遗言报文时,所述端口控制模块打开本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力,由所述互联端口将所述邻居交换设备转发来的ARP请求报文发送给所述ARP模块,由所述ARP模块以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并由所述三层处理模块对所述邻居交换设备转发来的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康时,所述端口控制模块关闭本交换设备与所述邻居交换设备之间的互联端口的虚拟IP地址和虚拟MAC地址相关的ARP报文转发能力。
17.根据权利要求15所述的设备,其特征在于 所述设备为交换设备,该交换设备采取星形组网的方式通过互联设备与其他区域中的交换设备相连,并通过所述互联设备与其他区域中的交换设备实现二层互通; 在本区域上行路径故障时,所述VRRP模块通过所述互联设备向距离最近的邻居交换设备发送VRRP临终遗言报文,并通过所述互联设备将本地终端与外网之间的流量转发给所述距离最近的邻居交换设备处理; 当接收到来自邻居交换设备的VRRP临终遗言报文时,所述ARP模块对互联设备转发的来自所述邻居交换设备的ARP请求报文,以本交换设备的虚拟MAC地址和虚拟IP地址进行回应,并且,所述三层处理模块对互联设备转发的来自所述邻居交换设备的三层流量进行本地三层终结,直至所述邻居交换设备恢复健康。
18.根据权利要求15所述的设备,其特征在于 所述设备为网关设备,该网关设备连接本区域的交换设备,并通过所述交换设备与其他区域中的网关设备实现二层互通; 在本区域上行路径故障时,所述VRRP模块通过本区域的交换设备向距离最近的邻居网关设备发送VRRP临终遗言报文,并通过本区域的交换设备将本地终端与外网之间的流量转发给所述距离最近的邻居网关设备处理; 当接收到来自邻居网关设备的VRRP临终遗言报文时,所述ARP模块对本区域的交换设备转发的来自所述邻居网关设备的ARP请求报文,以本网关设备的虚拟MAC地址和虚拟IP地址进行回应,并且,所述三层处理模块对本区域的交换设备转发的来自所述邻居网关设备的三层流量进行本地三层终结,直至所述邻居网关设备恢复健康时。
全文摘要
本申请提供了实现本地三层终结方法及设备,本地网关使能三层终结功能,本地终端就近从本地网关上行,在本地进行三层终结,只有本地网关上行故障时才跨越二层链路从远程的网关上行。应用本申请技术方案,实现了VRRP网关多活,并对终端与外网之间的流量实现了优先本地三层终结,避免了终端与外网之间的流量跨越中间链路进行传输。
文档编号H04L12/713GK102932251SQ20121042816
公开日2013年2月13日 申请日期2012年10月31日 优先权日2012年10月31日
发明者孙中良, 郑国良 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1