CN117997825A - 重定向方法、装置、网络设备及可读存储介质 - Google Patents

重定向方法、装置、网络设备及可读存储介质 Download PDF

Info

Publication number
CN117997825A
CN117997825A CN202410279153.8A CN202410279153A CN117997825A CN 117997825 A CN117997825 A CN 117997825A CN 202410279153 A CN202410279153 A CN 202410279153A CN 117997825 A CN117997825 A CN 117997825A
Authority
CN
China
Prior art keywords
redirection
preset
routing table
next hop
double
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410279153.8A
Other languages
English (en)
Inventor
朱烈伟
郭杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN202410279153.8A priority Critical patent/CN117997825A/zh
Publication of CN117997825A publication Critical patent/CN117997825A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及通信领域,提供了一种重定向方法、装置、网络设备及可读存储介质。第一网络设备在聚合口出现故障时,只需将硬件路由表中所有出接口的故障聚合口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签。这样后续收到与出接口为预设环回接口的路由表项相匹配的业务报文是,才能够确定出匹配的重定向下一跳,并基于重定向下一跳将业务报文重定向至第二网络设备。相较于现有技术,本发明对于故障聚合口采取的网络恢复手段不涉及下一跳的删除和创建,所以可以保证网络恢复时间达到数据中心的性能要求的情况下,实现聚合口故障情况下的流量重定向。

Description

重定向方法、装置、网络设备及可读存储介质
技术领域
本发明涉及通信领域,具体而言,涉及一种重定向方法、装置、网络设备及可读存储介质。
背景技术
随着行业的不断发展,高性能、高可靠性是数据中心网络的必备需求。目前普通聚合的链路只能够在一台设备上,只能提供链路级的保护,当设备发生故障以后,普通聚合将无法工作,所以需要更高可靠性设备级保护的技术。MLAG(Multi-Chassis LinkAggregation Group,跨设备链路汇聚组)是一种实现跨设备链路汇聚的机制,能够将一台设备与另外一台配对设备进行跨设备链路汇聚,形成双活系统,所以,MLAG技术具备增加带宽、提高链路可靠性、负载分担的优势。
而在数据中心网络中为了实现业务的灵活变更,需要VM(Virtual Machine,虚拟机)能够在网络中不受限迁移,由此逐步演化出了Overlay网络技术,其中VXLAN(VirtualeXtensible Local Area Network,虚拟可扩展局域网)是目前获得最广泛支持的Overlay技术。所以MLAG for VXLAN组网就成为数据中心网络的一种典型组网,而此组网中聚合口故障又是典型的故障之一。当VXLAN隧道作为MLAG的Peer-Link(对等链路)时,就需要有一种有效的方法实现G聚合口故障后的流量重定向。
请参见图1,在MLAG for VXLAN场景中,Leaf1和Leaf2组成MLAG,其中Leaf1为Master节点,Leaf2为Slave节点。同时Leaf1和Leaf2是VXLAN网络的分布式网关,Leaf1的Port2和Leaf2的Port7之间创建的VXLAN隧道作为Leaf1和Leaf2之间的Peer-Link。VM1双归接入MLAG网络,VM2单臂接入MLAG网络,Port1和Port4属于同一个MLAG组,port1和port4即称为聚合口。
网络正常的情况下,从VM3到VM1的三层流量通过哈希运算选路后是从VM3经过Spine转发到Leaf1再到VM1,而当Port1发生故障时,此流量到达Leaf1后,只能再通过Leaf2转发到VM1。这时会涉及到在Leaf1上原本支持直接转发流量到VM1的路由表项的出接口需要从聚合口Port1改为VXLAN隧道口Port2。
由于交换芯片限制,交换芯片内部Port1对应的下一跳(即NextHop信息)类型是三层单播,不支持对报文进行VXLAN隧道封装处理。即,现有的交换芯片重定向机制为:当Port1发生故障时,需要将VM3对应的路由表项关联的下一跳删除,重新创建携带Peer-Link封装信息的新类型下一跳,才能实现VM3发送的三层流量能够到达VM1的目的。
而新类型下一跳的资源需要十多次的芯片操作才能创建完成,若将创建耗时设为s1,那么在Port1下挂n个接入设备的情况下,就存在n个接入设备对应的n条路由表项,Port1故障触发的重定向的切换时间就为s1*n。也就是,每个路由表项的下一跳都删除后重新创建,势必会造成Spine经Leaf1到接入设备的下行流量出现较长时间流量中断,n越大流量中断时间越长,这样三层转发流量在故障重定向情况下的恢复时间会随着网络规模变大,会达到秒级。这与数据中心网络中丢包时间在20ms内性能要求差距很大。
因此,在保证数据中心的性能要求的前提下,如何实现聚合口故障情况下的流量重定向是亟需解决的问题。
发明内容
本发明的目的在于提供一种重定向方法、装置、网络设备及可读存储介质,以改善现有技术存在的问题。
本发明的实施例可以这样实现:
第一方面,本发明提供一种重定向方法,应用于第一网络设备,所述第一网络设备与第二网络设备组成跨设备链路汇聚组MLAG,且二者之间建立有虚拟可扩展局域网VXLAN隧道以作为对等链路Peer-Link;至少一个接入设备双归接入所述第一网络设备和第二网络设备;所述方法包括:
当感知到本设备的聚合口出现故障时,将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签;
当接收到与出接口为所述预设环回接口的所述路由表项相匹配的业务报文时,经所述预设环回接口对所述业务报文进行环回处理后,根据所述预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于所述重定向下一跳将所述业务报文重定向至所述第二网络设备。
在可选的实施方式中,在所述当感知到本设备的聚合口出现故障时,将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口的步骤之前,所述方法还包括:
所述第一网络设备为所述VXLAN隧道的每个VNI创建包括对应的预设双层标签和重定向下一跳的重定向匹配规则,并将每个所述VNI对应的重定向匹配规则与所述预设环回接口进行绑定。
在可选的实施方式中,所述将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口的步骤,包括:
从软件路由表中查找出通过所述故障聚合口接入本设备的每个接入设备;
从所述硬件路由表中查找出每个所述接入设备对应的下一跳;
将每个所述接入设备对应的下一跳中的出接口更新为所述预设环回接口。
在可选的实施方式中,所述将所有更新了出接口的路由表项中的下一跳中的VLAN标签更新为对应的预设双层标签的步骤,包括:
从所述软件路由表中查找出每个所述接入设备所属的VNI;
获取每个所述接入设备所属的VNI对应的预设双层标签;
将硬件路由表中每个所述接入设备的下一跳中的VLAN标签更新为对应的预设双层标签。
在可选的实施方式中,所述当接收到与出接口为所述预设环回接口的所述路由表项相匹配的业务报文时,经所述预设环回接口对所述业务报文进行环回处理后,根据所述预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于所述重定向下一跳将所述业务报文重定向至所述第二网络设备的步骤,包括:
接收所述业务报文,并从所述硬件路由表中查找出与所述业务报文的目的地址相匹配的目标路由表项;
若所述目标路由表项中的出接口为所述预设环回接口,基于所述目标路由表项中的下一跳,在所述预设环回接口的出方向发出由所述业务报文转换得到的双标签报文;
从所述预设环回接口的入方向接收所述双标签报文;
从所述预设环回接口绑定的所有重定向匹配规则中,确定出与所述双标签报文所携带的双层标签相匹配的目标重定向匹配规则;
基于所述目标重定向匹配规则,将所述双标签报文恢复为所述业务报文后基于所述目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至所述第二网络设备。
在可选的实施方式中,所述基于所述目标路由表项中的下一跳,在所述预设环回接口的出方向发出由所述业务报文转换得到的双标签报文的步骤,包括:
从所述目标路由表项的下一跳中获取目标预设双层标签;
将所述目标预设双层标签封装至所述业务报文,得到所述双标签报文;
在所述预设环回接口的出方向发出所述双标签报文。
在可选的实施方式中,所述基于所述目标重定向匹配规则,将所述双标签报文恢复为所述业务报文后基于所述目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至所述第二网络设备的步骤,包括:
清除所述双标签报文中封装的预设双层标签,得到所述业务报文;
获取所述重定向匹配规则中携带的重定向下一跳;
按照所述重定向下一跳中的VXLAN隧道口信息,对所述业务报文进行VXLAN封装后通过所述VXLAN隧道转发至所述第二网络设备。
第二方面,本发明提供一种重定向装置,应用于第一网络设备,所述第一网络设备与第二网络设备组成跨设备链路汇聚组MLAG,且二者之间建立有虚拟可扩展局域网VXLAN隧道以作为对等链路Peer-Link;至少一个接入设备双归接入所述第一网络设备和第二网络设备;所述装置包括:
故障处理模块,用于当感知到本设备的聚合口出现故障时,将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签;
重定向模块,用于当接收到与出接口为所述预设环回接口的所述路由表项相匹配的业务报文时,经所述预设环回接口对所述业务报文进行环回处理后,根据所述预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于所述重定向下一跳将所述业务报文重定向至所述第二网络设备。
第三方面,本发明提供一种网络设备,包括:存储器和处理器,所述存储器存储有软件程序,当所述网络设备运行时所述处理器执行所述软件程序以实现如前述第一方面所述的重定向方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面所述的重定向方法。
与现有技术相比,本发明实施例提供了一种重定向方法、装置、网络设备及可读存储介质,第一网络设备在聚合口出现故障时,只需将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签。这样后续收到与出接口为预设环回接口的路由表项相匹配的业务报文是,才能够确定出匹配的重定向下一跳,并基于重定向下一跳将业务报文重定向至第二网络设备。相较于现有技术在聚合口出现故障采取措施带来的网络恢复时间可能不满足数据中心的性能需求,本发明中对于故障聚合口采取的网络恢复手段不涉及下一跳的删除和创建,所以可以保证网络恢复时间达到数据中心的性能要求的情况下,实现聚合口故障情况下的流量重定向。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种MLAG for VXLAN场景的组网示意图。
图2为本发明实施例提供的一种应用场景示意图。
图3为本发明实施例提供的一种重定向方法的流程示意图。
图4为本发明实施例提供的一种重定向装置的结构示意图。
图5为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
在此,首先对本发明涉及的关键词或者关键术语进行介绍:
1、MLAG:Multi-Chassis Link Aggregation Group,跨设备链路汇聚组,实现链路和节点的冗余。
2、VXLAN:Virtual eXtensible Local Area Network,虚拟可扩展局域网是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一。
3、Spine:三层组网中的骨干节点,即骨干交换机,也叫三层交换机。
4、Leaf:三层组网中的叶子节点,即叶交换机,也叫二层交换机。
5、Peer-Link:即对等链路,MLAG网络中两台MLAG网络配对设备之间的直连汇聚链路,用于交互MLAG协议报文及传输部分数据流量。
6、VNI:VXLAN Network Identifier,VXLAN网络标识。VNI类似VLAN ID(VirtualLocal Area Network Identifier,即虚拟局域网标识符),用于区分VXLAN段。不同VXLAN段的虚拟机不能直接二层相互通信。一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信;一个租户可以有一个或多个VNI,VNI长度为24bit,使其可以支持海量租户的隔离。
7、会话:VXLAN隧道关联一个VNI后即形成一个会话,可称为SESSION。一条VXLAN隧道可以分别关联不同的VNI形成多个会话。
8、QINQ报文:在无标签的以太网数据帧的源MAC地址字段后面加上两个VLAN标签构成。QINQ(802.1Q in 802.1Q,简称QinQ)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的标签来达到扩展VLAN空间的功能。
9、环回接口:LoopBack接口,是路由器上的一个逻辑、虚拟接口。向环回接口出方向发出的报文还会从环回接口入方向收到。
10、VTEP:VXLAN Tunnel Endpoint,VXLAN隧道端点,负责VXLAN报文的封装与解封装。
11、ACL:Access Control List,访问控制列表。ACL是一种基于包过滤的访问控制技术,它可以根据设定的过滤条件对接口上的数据包进行过滤,并对过滤出来的数据包执行设定的处理动作,例如允许其通过或丢弃。
如背景技术部分所言,现有技术中将故障聚合口下n个接入设备的路由表项的下一跳都删除后重新创建,势必会造成Spine经Leaf1到VM1的下行流量出现较长时间流量中断,n越大流量中断时间越长,这样三层转发流量在故障重定向情况下的恢复时间会随着网络规模变大,会达到秒级。这与数据中心网络中丢包时间在20ms内性能要求差距很大。因此,在保证数据中心的性能要求的前提下,如何实现聚合口故障情况下的流量重定向是亟需解决的问题。
基于上述技术问题的发现,发明人经过创造性劳动提出下述技术方案以解决或者改善上述问题。需要注意的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明创造过程中对本申请做出的贡献,而不应当理解为本领域技术人员所公知的技术内容。
为了避免下一跳删除后重新创建导致的流量中断时间过长,发明人认为无需删除下一跳再进行重建,而是预先配置好每个VNI对应的重定向下一跳,该重定向下一跳包括对等链路的VXLAN隧道封装信息,然后在出现故障聚合口时,使得故障聚合口下各个接入设备所属VNI对应的重定向下一跳能够生效被使用即可。以下通过实施例,并配合所附附图,对本发明实施例提供的重定向方法进行详细说明。
在此先介绍本发明实施例的应用场景。
请参见图2,图2为本发明实施例的应用场景示意图。第一网络设备(图2中的Leaf1)与第二网络设备(图2中的Leaf2)组成跨设备链路汇聚组MLAG,且二者之间建立有VXLAN隧道以作为Peer-Link。其中,至少一个接入设备(图2中的VM1~VMn)双归接入第一网络设备和第二接入设备,接入设备在第一网络设备和第二网络设备上连接的物理端口即称为聚合口。
可以理解,聚合口属于物理端口,而在一个聚合口的基础上可以虚拟出多个不同的VXLAN接入口,VXLAN接入口属于逻辑端口。一个VXLAN接入口通过一个聚合口+VLAN标识进行表征,所以一个接入设备通过一个VXLAN接入口接入网络。
本发明中,第一网络设备和第二网络设备可以是交换机或者路由器。接入设备可以是:主机、虚拟机、服务器、网络设备等。第一网络设备可以维护有每个接入设备所属的VNI。同时,第一网络设备存储有每个接入设备对应的下一跳以及每个VNI对应的重定向下一跳、重定向匹配规则和预设双层标签。其中,每个VNI对应的重定向下一跳和重定向匹配规则均可以预先创建。
需要说明的是,上述图2仅为一种示例,在此不作限定。
请参考图3,图3为本发明实施例提供的一种重定向方法的流程示意图,该方法的执行主体为第一网络设备,该方法包括以下步骤S201~S203:
S201、当感知到本设备的聚合口出现故障时,将硬件路由表中所有出接口的故障聚合口均更新为预设环回接口。
S202、将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签。
可以理解,第一网络设备维护的硬件路由表包括每个接入设备对应的路由表项,该路由表项可以包括目的地址和下一跳。下一跳即NHOP信息,其包括下一跳地址、出接口以及封装信息字段。可选的示例中,在一个聚合口未出现故障的情况下,该聚合口下的一个接入设备A对应的下一跳中:下一跳地址为接入设备A的IP地址、出接口为接入设备A所对应的VXLAN接入口、封装信息字段为接入设备A所对应的VXLAN接入口所属的VLAN标签。该举例仅为示例,在此不作限定。
在本实施例中,第一网络设备在感知到自身的任一聚合口出现故障时,需要将硬件路由表中该出接口为故障聚合口的每条路由表项中的出接口更新为预设环回接口,并将封装信息字段由VLAN标签更新为对应的预设双层标签。
S203、当接收到与出接口为预设环回接口的路由表项相匹配的业务报文时,经预设环回接口对业务报文进行环回处理后,根据预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于重定向下一跳将业务报文重定向至第二网络设备。
在本实施例中,经预设环回接口对业务报文进行环回处理后可以进行ACL匹配,以匹配出重定向匹配规则,该重定向匹配规则可以用于将业务报文的转发指示信息由硬件路由表中匹配出的路由表项中的下一跳重定向为预先配置的相对应的重定向下一跳。
可选的示例中,结合图2,第一网络设备为Leaf1,假设业务报文由VM0发给VM1且故障聚合口下的接入设备包括VM1,那么第一网络设备一旦收到这个业务报文,可以从硬件路由表查找出匹配的目标路由表项,此时该目标路由表项中的出接口为预设环回接口,所以需要基于目标路由表项对该业务报文先进行双标签封装再经预设环回接口进行环回处理,这样可以继续对环回收到的报文进行ACL匹配,以匹配出重定向匹配规则,从而即可利用重定向匹配规则所携带的重定向下一跳将业务报文发送到第二网络设备,进而第二网络设备再将该业务报文转发给VM1。该举例仅为示例,本发明对此不作限定。
可以理解,收到报文需要先查找路由找到对应的路由表项,再基于路由表项的内容进行转发。在第一网络设备出现聚合口故障时,经过以上步骤S201的处理之后,可以使得本需要第一网络设备直接转发给故障聚合口之下的各个接入设备的报文,能够按照硬件路由表中修改后的各个路由表项中下一跳中的预设双层标签进行封装之后从预设环回接口发出,从而在预设环回接口再次收到的报文即可以匹配到对应的重定向匹配规则,进而确定出重定向下一跳。
在第一网络设备刚收到下一跳地址为故障聚合口下接入设备S的业务报文时,此时的业务报文中不存在该接入设备所属的VNI,所以通过步骤S201修改硬件路由表中出接口为故障聚合口的各个路由表项的出接口,是为了业务报文在环回之后能够匹配上对应的重定向规则,那么接入设备S所属VNI对应的重定向下一跳就可以生效。即第一网络设备通过步骤S201可以使得出现聚合口故障时,让故障聚合口之下各个接入设备所属VNI对应的重定向下一跳能够立即生效,以避免第一网络设备与故障聚合口下各个接入设备之间的长时间的流量中断。
本发明实施例提供的重定向方法,第一网络设备在聚合口出现故障时,只需将硬件路由表中所有出接口的故障聚合口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签。这样后续收到与出接口为预设环回接口的路由表项相匹配的业务报文是,才能够确定出匹配的重定向下一跳,并基于重定向下一跳将业务报文重定向至第二网络设备。相较于现有技术,本发明对于故障聚合口采取的网络恢复手段不涉及下一跳的删除和创建,所以可以保证网络恢复时间达到数据中心的性能要求的情况下,实现聚合口故障情况下的流量重定向。
可选的,第一网络设备所维护的每个VNI对应的重定向下一跳和重定向匹配规则是预先创建的。因此,在上述步骤S201之前,该重定向方法还可以包括以下步骤S200:
S200、第一网络设备为VXLAN隧道的每个VNI创建包括对应的预设双层标签和重定向下一跳的重定向匹配规则,并将每个VNI对应的重定向匹配规则与预设环回接口进行绑定。
在本实施例中,第一网络设备维护有每个接入设备所属的VNI。针对每个VNI:在配置时,第一网络设备可以将该VNI与Peer-Link(即VXLAN隧道)进行关联形成一个会话,接着执行以下步骤(1)-(3):
(1)基于该VNI、第二网络设备的IP地址以及Peer-Link的端口信息和地址信息,创建该VNI对应的重定向下一跳;
(2)获取该VNI对应的长度相同的预设双层标签;
(3)基于该VNI对应的预设双层标签以及该VNI对应的重定向下一跳,生成该VNI对应的重定向匹配规则,并将该VNI对应的重定向匹配规则与预设环回接口进行绑定。
在本实施例中,重定向下一跳包括下一跳地址、出接口和封装信息字段。Peer-Link的端口信息包括Peer-Link在第一网络设备的端口号。在MLAG for VXLAN场景中,第一网络设备和第二网络设备之间建立的VXLAN隧道作为Peer-Link,所以Peer-Link的地址信息可以包括VXLAN隧道源端VTEP的IP地址、VXLAN隧道目的端VTEP的IP地址。
可选的示例中,一个VNI对应的重定向下一跳中:下一跳地址为第二网络设备的IP地址,出接口为Peer-Link在第一网络设备的端口号,封装信息字段为Peer-Link的VXLAN隧道封装信息,VXLAN隧道封装信息可以包括该VNI、VXLAN隧道源端VTEP的IP地址、VXLAN隧道目的端VTEP的IP地址。
在本实施例中,生成的该VNI对应的重定向匹配规则为一条ACL规则,其设定的过滤条件是过滤出包括预设双层标签的报文,设定的处理动作为剥离出报文中的预设双层标签后将报文的转发指示信息设置为该VNI对应的重定向下一跳。
可选的示例中,假设存在5个VNI(VNI1~VNI5),在对VNI1进行配置时,将作为Peer-Link的VXLAN隧道关联至VNI1会形成一个会话1,接着可以按照上述步骤(1)创建出能够支持通过会话1进行转发的重定向下一跳。接着配置VNI1下的VXLAN接入口时,可以基于配置的VNI1对应的预设双层标签,生成一条全局的重定向匹配规则ACL1,ACL1的作用是匹配出包含VNI1所对应的预设双层标签的QINQ流量,并剥离出QINQ流量中的预设双层标签将之恢复为业务流量,然后将业务流量的转发指示信息设置为VNI1对应的重定向下一跳。基于同样的配置过程,对VNI2~VNI5进行同样的配置,即创建出了每个VNI对应的重定向下一跳和重定向匹配规则。该举例仅为示例,本发明实施例对于第一网络设备所涉及的VNI数量不作限定。
可选的实现方式中,第一网络设备的聚合口下的每个接入设备均对应一个VXLAN接入口,接入设备通过对应的VXLAN接入口接入网络。第一网络设备还可以维护有软件路由表,该软件路由表可以包括每个接入设备的IP地址、对应的VXLAN接入口以及所属的VNI。
对应地,上述步骤S201的子步骤可以包括S2011~S2013:
S2011、从软件路由表中查找出通过故障聚合口接入本设备的每个接入设备。
由于每个接入设备对应的VXLAN接入口是通过该接入设备实际连接的聚合口和分配的VLAN标识进行表征,所以可以从软件路由表中确定出故障聚合口对应的所有故障VXLAN接入口,接着找出软件路由表中各个故障VXLAN接入口所对应接入设备的IP地址即可确定出通过故障聚合口接入第一网络设备的每个接入设备。
S2012、从硬件路由表中查找出每个接入设备对应的下一跳。
S2013、将每个接入设备对应的下一跳中的出接口更新为预设环回接口。
在本实施例中,对于一个通过故障聚合口接入第一网络设备的接入设备,得到了该接入设备的IP地址,即可从硬件路由表中查找出该接入设备对应的下一跳,并将下一跳中的出接口由该接入设备对应的VXLAN接入口更新为预设环回接口。
对应的,上述步骤S202的子步骤可以包括S2021~S2023:
S2021、从软件路由表中查找出每个接入设备所属的VNI;
S2022、获取每个接入设备所属的VNI对应的预设双层标签;
S2023、将硬件路由表中每个接入设备的下一跳中的VLAN标签更新为对应的预设双层标签。
可选的示例中,假设第一网络设备上只有一个聚合口port1,port1下存在接入设备1和接入设备2,二者的IP地址简单表示为IP1和IP2,那么软件路由表、硬件路由表以及两个设备对应的下一跳分别如下表(1)、(2)、(3)所示:
表(1)软件路由表
序号 接入设备 VXLAN接入口 所属的VNI
1 IP1 接口1 VNI1
2 IP2 接口2 VNI2
表(2)硬件路由表
序号 目的地址 下一跳
1 IP1 NHOP1
2 IP2 NHOP2
表(3)下一跳
下一跳 下一跳地址 出接口 封装信息字段
NHOP1 IP1 接口1 VLAN标签1
NHOP2 IP2 接口2 VLAN标签2
在表(3)中,接入设备1对应的下一跳为第二行,接入设备2对应的下一跳为第三行。
若预设环回接口表示为Loop0,为VNI1、VNI2配置的预设双层标签分别为双层tag1、双层tag2。那么第一网络设备一旦感知到port1出现故障,就会将硬件路由表中接入设备1、2各自的下一跳修改为如下表(4)所示:
表(4)修改后的下一跳
下一跳 下一跳地址 出接口 封装信息字段
NHOP1 IP1 Loop0 双层tag1
NHOP2 IP2 Loop0 双层tag2
以上举例仅为示例,本发明实施例对此不做限定。
接下来对本需要从故障聚合口下行的流量进行重定向的详细过程进行介绍。对应地,上述步骤S203的子步骤可以包括S2031~S2035:
S2031、接收业务报文,并从硬件路由表中查找出与业务报文的目的地址相匹配的目标路由表项。
在本实施例中,从硬件路由表中确定出了与业务报文的目的地址相匹配的目标路由表项,即可确定业务报文的转发指示信息为目标路由表项中的下一跳。
S2032、若目标路由表项中的出接口为预设环回接口,基于目标路由表项中的下一跳,在预设环回接口的出方向发出由业务报文转换得到的双标签报文;
可以理解,若目标路由表项中的出接口为预设环回接口,则说明业务报文的下一跳地址代表的接入设备通过故障聚合口接入第一网络设备,那么该业务报文则属于需要重定向至第二网络设备。
在本实施例中,目标路由表项中的下一跳中的出接口为预设环回接口、封装信息字段为下一跳IP地址所表征接入设备所属VNI对应的目标预设双层标签。所以,步骤S2032的子步骤包括(1)~(3):
(1)从目标路由表项的下一跳中获取目标预设双层标签;
(2)将目标预设双层标签封装至业务报文,得到双标签报文;
(3)在预设环回接口的出方向发出双标签报文。
S2033、从预设环回接口的入方向接收双标签报文。
S2034、从预设环回接口绑定的所有重定向匹配规则中,确定出与双标签报文所携带的双层标签相匹配的目标重定向匹配规则。
可以理解,根据LoopBack接口的环回特性,可以在预设环回接口的入方向收到双标签报文。一收到双标签报文,就可以对双标签报文进行ACL匹配,从而可以从预设环回接口绑定的所有重定向匹配规则中,确定出与双标签报文所携带的双层标签相匹配的目标重定向匹配规则。
S2035、基于目标重定向匹配规则,将双标签报文恢复为业务报文后基于目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至第二网络设备。
可以理解,对于一个VNI,其对应的重定向匹配规则中携带了该VNI对应的预设双层标签和重定向下一跳。预先创建的每条重定向下一跳均包括Peer-Link的VXLAN隧道封装信息,只是不同重定向下一跳中的VXLAN隧道封装信息中的VNI不同。对应地,步骤S2035的子步骤可以包括以下步骤(1)~(3):
(1)清除双标签报文中封装的预设双层标签,得到业务报文;
(2)获取重定向匹配规则中携带的重定向下一跳;
(3)按照重定向下一跳中的VXLAN隧道口信息,对业务报文进行VXLAN封装后通过VXLAN隧道转发至第二网络设备。
需要说明的是,以上内容是以第一网络设备为主,对出现聚合口故障时进行网络恢复的过程进行介绍。对于第二网络设备,其预先配置的内容与第一网络设备一致,若出现聚合口故障,进行网络恢复的原理与上述内容一致,在此不作赘述。上述方法实施例中各个步骤的执行顺序不以附图所示为限制,各步骤的执行顺序以实际应用情况为准。
与现有技术相比,本发明实施例具有以下有益效果:
为了避免像现有技术那样采用下一跳删除再重建的方式,导致流量中断时长过大而不满足数据中心的性能需求,本发明预先创建每个VNI的重定向下一跳和重定向匹配规则,这样无需在出行聚合口故障时进行创建,可以有效节省故障恢复时长;
本发明为了保证各个重定向下一跳能够在出现聚合口故障时生效,采取的流量重定向策略为:在出现聚合口故障时,对于故障聚合口下的每个接入设备,就需要马上将硬件路由表中该接入设备的下一跳的出接口和封装信息字段分别更新为预设环回接口和该接入设备所属VNI对应的预设双层标签。这样保证了后续第一网络设备收到下一跳地址为故障聚合口下的接入设备的业务报文时,能够基于修改后的下一跳,现将下一跳中的预设双层标签封装进业务报文得到双标签报文,再对双标签报文经与预设环回接口进行环回处理,这样经过环回可以在预设环回接口的入方向可以收到双标签报文,再对该双标签报文进行ACL匹配即可匹配出重定向匹配规则,使得对应的重定向下一跳生效。本发明对于故障聚合口采用的流量重定向策略修改数据量较小,使得网络恢复迅速,能够满足数据中心的性能需求。
为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面给出一种重定向装置的实现方式。
请参见图4,图4示出了本发明实施例提供的重定向装置的结构示意图。该重定向装置200应用于第一网络设备,第一网络设备与第二网络设备组成跨设备链路汇聚组,且二者之间建立有VXLAN隧道以作为对等链路;至少一个接入设备双归接入第一网络设备和第二网络设备。该重定向装置200包括:故障处理模块220和重定向模块230,各自的作用分别如下:
故障处理模块220,用于当感知到本设备的聚合口出现故障时,将硬件路由表中涉所有出接口的故障聚合口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签;
重定向模块230,用于当接收到与出接口为预设环回接口的路由表项相匹配的业务报文时,经预设环回接口对业务报文进行环回处理后,根据预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于重定向下一跳将业务报文重定向至第二网络设备。
可选的,该重定向装置200还可以包括预配置模块210,可以用于:为VXLAN隧道的每个VNI创建包括对应的预设双层标签和重定向下一跳的重定向匹配规则,并将每个VNI对应的重定向匹配规则与预设环回接口进行绑定。
可选的,故障处理模块220用于将硬件路由表中所有出接口的故障聚合口均更新为预设环回接口时,具体可以用于:从软件路由表中查找出通过故障聚合口接入本设备的每个接入设备;从硬件路由表中查找出每个接入设备对应的下一跳;将每个接入设备对应的下一跳中的出接口更新为预设环回接口。
可选的,故障处理模块220用于将所有更新了出接口的路由表项中的下一跳中的VLAN标签更新为对应的预设双层标签时,具体可以用于:从软件路由表中查找出每个接入设备所属的VNI;获取每个接入设备所属的VNI对应的预设双层标签;将硬件路由表中每个接入设备的下一跳中的VLAN标签更新为对应的预设双层标签。
可选的,重定向模块230具体可以用于:接收业务报文,并从硬件路由表中查找出与业务报文的目的地址相匹配的目标路由表项;若目标路由表项中的出接口为预设环回接口,基于目标路由表项中的下一跳,在预设环回接口的出方向发出由业务报文转换得到的双标签报文;从预设环回接口的入方向接收双标签报文;从预设环回接口绑定的所有重定向匹配规则中,确定出与双标签报文所携带的双层标签相匹配的目标重定向匹配规则;基于目标重定向匹配规则,将双标签报文恢复为业务报文后基于目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至第二网络设备。
可选的,重定向模块230用于基于目标路由表项中的下一跳,在预设环回接口的出方向发出由业务报文转换得到的双标签报文时,具体可以用于:从目标路由表项的下一跳中获取目标预设双层标签;将目标预设双层标签封装至业务报文,得到双标签报文;在预设环回接口的出方向发出双标签报文。
可选的,重定向模块230用于基于目标重定向匹配规则,将双标签报文恢复为业务报文后基于目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至第二网络设备时,具体可以用于:清除双标签报文中封装的预设双层标签,得到业务报文;获取重定向匹配规则中携带的重定向下一跳;按照重定向下一跳中的VXLAN隧道口信息,对业务报文进行VXLAN封装后通过VXLAN隧道转发至第二网络设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的重定向装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参见图5,图5为本发明实施例提供的一种网络设备的结构示意图。该网络设备300包括处理器310、存储器320和总线330,处理器310通过总线330与存储器320连接。
存储器320可用于存储软件程序,例如,如本发明实施例所提供的重定向装置200对应的软件程序。处理器310通过运行存储在存储器320内的软件程序,从而执行各种功能应用以及数据处理以实现如本发明实施例所提供的重定向方法。
其中,存储器320可以是但不限于:RAM(Random Access Memory,随机存取存储器),ROM(Read Only Memory,只读存储器),FLASH(闪存存储器),PROM(ProgrammableRead-Only Memory,可编程只读存储器),EPROM(Erasable Programmable Read-OnlyMemory,可擦除只读存储器),EEPROM(Electric Erasable Programmable Read-OnlyMemory,电可擦除只读存储器)等。
处理器310可以是一种集成电路芯片,具有信号处理能力。该处理器310可以是通用处理器,包括:CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是:DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图5所示的结构仅为示意,网络设备300还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时实现上述实施例揭示的重定向方法。该计算机可读存储介质可以是但不限于:U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、FLASH磁碟或者光盘等各种可以存储程序代码的介质。
综上,本发明实施例提供了一种重定向方法、装置、网络设备及可读存储介质,第一网络设备在聚合口出现故障时,只需将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签。这样后续收到与出接口为预设环回接口的路由表项相匹配的业务报文是,才能够确定出匹配的重定向下一跳,并基于重定向下一跳将业务报文重定向至第二网络设备。相较于现有技术在聚合口出现故障采取措施带来的网络恢复时间可能不满足数据中心的性能需求,本发明中对于故障聚合口采取的网络恢复手段不涉及下一跳的删除和创建,所以可以保证网络恢复时间达到数据中心的性能要求的情况下,实现聚合口故障情况下的流量重定向。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种重定向方法,其特征在于,应用于第一网络设备,所述第一网络设备与第二网络设备组成跨设备链路汇聚组MLAG,且二者之间建立有虚拟可扩展局域网VXLAN隧道以作为对等链路Peer-Link;至少一个接入设备双归接入所述第一网络设备和第二网络设备;所述方法包括:
当感知到本设备的聚合口出现故障时,将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签;
当接收到与出接口为所述预设环回接口的所述路由表项相匹配的业务报文时,经所述预设环回接口对所述业务报文进行环回处理后,根据所述预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于所述重定向下一跳将所述业务报文重定向至所述第二网络设备。
2.根据权利要求1所述的方法,其特征在于,在所述当感知到本设备的聚合口出现故障时,将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口的步骤之前,所述方法还包括:
所述第一网络设备为所述VXLAN隧道的每个VNI创建包括对应的预设双层标签和重定向下一跳的重定向匹配规则,并将每个所述VNI对应的重定向匹配规则与所述预设环回接口进行绑定。
3.根据权利要求1所述的方法,其特征在于,所述将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口的步骤,包括:
从软件路由表中查找出通过所述故障聚合口接入本设备的每个接入设备;
从所述硬件路由表中查找出每个所述接入设备对应的下一跳;
将每个所述接入设备对应的下一跳中的出接口更新为所述预设环回接口。
4.根据权利要求3所述的方法,其特征在于,所述将所有更新了出接口的路由表项中的下一跳中的VLAN标签更新为对应的预设双层标签的步骤,包括:
从所述软件路由表中查找出每个所述接入设备所属的VNI;
获取每个所述接入设备所属的VNI对应的预设双层标签;
将硬件路由表中每个所述接入设备的下一跳中的VLAN标签更新为对应的预设双层标签。
5.根据权利要求1所述的方法,其特征在于,所述当接收到与出接口为所述预设环回接口的所述路由表项相匹配的业务报文时,经所述预设环回接口对所述业务报文进行环回处理后,根据所述预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于所述重定向下一跳将所述业务报文重定向至所述第二网络设备的步骤,包括:
接收所述业务报文,并从所述硬件路由表中查找出与所述业务报文的目的地址相匹配的目标路由表项;
若所述目标路由表项中的出接口为所述预设环回接口,基于所述目标路由表项中的下一跳,在所述预设环回接口的出方向发出由所述业务报文转换得到的双标签报文;
从所述预设环回接口的入方向接收所述双标签报文;
从所述预设环回接口绑定的所有重定向匹配规则中,确定出与所述双标签报文所携带的双层标签相匹配的目标重定向匹配规则;
基于所述目标重定向匹配规则,将所述双标签报文恢复为所述业务报文后基于所述目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至所述第二网络设备。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标路由表项中的下一跳,在所述预设环回接口的出方向发出由所述业务报文转换得到的双标签报文的步骤,包括:
从所述目标路由表项的下一跳中获取目标预设双层标签;
将所述目标预设双层标签封装至所述业务报文,得到所述双标签报文;
在所述预设环回接口的出方向发出所述双标签报文。
7.根据权利要求5所述的方法,其特征在于,所述基于所述目标重定向匹配规则,将所述双标签报文恢复为所述业务报文后基于所述目标重定向规则所携带的重定向下一跳将恢复的业务报文重定向至所述第二网络设备的步骤,包括:
清除所述双标签报文中封装的预设双层标签,得到所述业务报文;
获取所述重定向匹配规则中携带的重定向下一跳;
按照所述重定向下一跳中的VXLAN隧道口信息,对所述业务报文进行VXLAN封装后通过所述VXLAN隧道转发至所述第二网络设备。
8.一种重定向装置,其特征在于,应用于第一网络设备,所述第一网络设备与第二网络设备组成跨设备链路汇聚组MLAG,且二者之间建立有虚拟可扩展局域网VXLAN隧道以作为对等链路Peer-Link;至少一个接入设备双归接入所述第一网络设备和第二网络设备;所述装置包括:
故障处理模块,用于当感知到本设备的聚合口出现故障时,将硬件路由表中出接口为故障聚合口的所有出接口均更新为预设环回接口,并将所有更新了出接口的路由表项中下一跳中的VLAN标签更新为对应的预设双层标签;
重定向模块,用于当接收到与出接口为所述预设环回接口的所述路由表项相匹配的业务报文时,经所述预设环回接口对所述业务报文进行环回处理后,根据所述预设环回接口绑定的重定向匹配规则确定重定向下一跳,并基于所述重定向下一跳将所述业务报文重定向至所述第二网络设备。
9.一种网络设备,其特征在于,包括:存储器和处理器,所述存储器存储有软件程序,当所述网络设备运行时所述处理器执行所述软件程序以实现如权利要求1-7中任一项所述的重定向方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的重定向方法。
CN202410279153.8A 2024-03-12 2024-03-12 重定向方法、装置、网络设备及可读存储介质 Pending CN117997825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410279153.8A CN117997825A (zh) 2024-03-12 2024-03-12 重定向方法、装置、网络设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410279153.8A CN117997825A (zh) 2024-03-12 2024-03-12 重定向方法、装置、网络设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117997825A true CN117997825A (zh) 2024-05-07

Family

ID=90897757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410279153.8A Pending CN117997825A (zh) 2024-03-12 2024-03-12 重定向方法、装置、网络设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117997825A (zh)

Similar Documents

Publication Publication Date Title
US10333836B2 (en) Convergence for EVPN multi-homed networks
CN109873760B (zh) 处理路由的方法和装置、以及数据传输的方法和装置
CN109218178B (zh) 一种报文处理方法及网络设备
US10320664B2 (en) Cloud overlay for operations administration and management
US9887917B2 (en) Port extender
US9019814B1 (en) Fast failover in multi-homed ethernet virtual private networks
JP4729119B2 (ja) ラベルスイッチングネットワークにおける通信装置
US9397943B2 (en) Configuring virtual media access control addresses for virtual machines
CN109716717A (zh) 从软件定义的网络控制器管理虚拟端口信道交换机对等体
CN108574630A (zh) Evpn报文处理方法、设备及系统
US10187290B2 (en) Method, system, and apparatus for preventing tromboning in inter-subnet traffic within data center architectures
CN101286922B (zh) 一种信令控制的方法、系统及设备
EP3605959B1 (en) Method, device and computer storage medium for implementing double control plane
CN113381931B (zh) 一种在vxlan网络中支持mlag双活接入的方法及装置
CN111736958A (zh) 虚拟机迁移方法、系统、计算机设备及存储介质
CN108964940A (zh) 消息发送方法及装置、存储介质
CN111740907A (zh) 一种报文传输方法、装置、设备及机器可读存储介质
CN108833272B (zh) 一种路由管理方法和装置
CN112787923A (zh) 一种报文的处理方法,装置和系统
US11929923B2 (en) Packet transmission method and apparatus
EP3920512A1 (en) Transmission method and device for message
US20150301571A1 (en) Methods and apparatus for dynamic mapping of power outlets
CN117997825A (zh) 重定向方法、装置、网络设备及可读存储介质
US10171368B1 (en) Methods and apparatus for implementing multiple loopback links
JP6628792B2 (ja) コンピュータネットワークにおけるエンドポイント識別方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination