故障处理方法、相关设备和系统与流程

文档序号:36319870发布日期:2023-12-08 17:38阅读:56来源:国知局
故障处理方法与流程

本技术涉及通信领域,尤其涉及一种故障处理方法、相关设备和系统。


背景技术:

1、在数据中心网络中,由于人为或设备器件因素导致的链路故障问题几乎是无法避免的。一旦出现链路故障,发往故障链路对应端口的数据报文会被丢弃,对业务性能造成很大影响。

2、图1示例性示出了一种可能的网络架构示意图,如图1所示,服务器a通过网络设备连接服务器b。网络设备比如为图1中的架顶交换机(top of rack,tor)(tor101和tor102)以及脊(spine)交换机(spine103和spine104)。服务器a连接tor101,tor101分别连接spine103和spine104(tor101与spine103之间的链路的标识为link-1,tor101与spine104之间的链路的标识为link-2),spine103和spine104分别连接tor102(tor102与spine103之间的链路的标识为link-3,tor102与spine104之间的链路的标识为link-4),服务器b连接tor102。

3、该网络架构中的全部链路(link-1、link-2、link-3和link-4)全部正常的情况下,该网络架构中的各个网络设备可以通过动态路由协议为从服务器a到达服务器b的数据流(比如数据流flow1)计算出两条等价路径:分别为路径1(link-1,link-3)和路径2(link-2,link-4)。网络架构中的各个网络设备选择一条路径(比如根据负载均衡算法选择路径2(link-2,link-4))作为数据流flow1的路径。

4、若网络架构中出现故障(比如图1中link-4出现故障),各个网络设备可以通过控制面动态路由协议进行周期性的信息交互,具体来说各个网络设备之间发送控制面报文以获得新的拓扑信息,进一步各个网络设备根据新的拓扑信息为数据流flow1重新计算路径,得到数据流flow1的唯一的一条路径(link-1,link-3))。网络设备(比如tor101)根据此路径更新网络设备(比如tor101)上的用于指导数据流flow1转发的路由表项。进一步,网络设备(比如tor101)根据更新后的路由表项转发数据流flow1的数据报文。比如,tor101根据更新后的路由表项将数据流flow1的数据报文发送至spine103,从而可以使该数据流flow1的数据报文避开故障链路。

5、上述方案可以在链路出现故障的情况下实现链路的切换。但是,各个网络设备基于控制面动态路由协议进行信息交互以及重新计算路由并更新路由表项的方案的收敛时间一般是秒级,但有些业务(比如在线交易类高性能业务)的故障收敛性能需求在几个毫秒甚至是亚毫秒级,基于控制面动态路由协议的路径切换收敛技术无法满足在线交易类高性能业务(数据库、存储)等的可靠性保障需求,在故障发生后,受故障影响的路径上传输的数据报文被大量丢弃。


技术实现思路

1、本技术提供一种故障处理方法、相关设备和系统,用于在网络故障后较为快速地进行故障通告,继而减少由于网络故障被丢弃的数据报文的数量。

2、第一方面,本技术实施提供一种故障处理方法,该方法可以由第一网络设备或第一网络设备内部的单元、模块或芯片执行,本技术中以该方法由第一网络设备执行为例进行示意。该方法包括:

3、第一网络设备通过入端口接收第一数据报文。第一网络设备确定第一数据报文对应的第一转发路径故障。当第一网络设备上不存在第一转发路径的冗余路径的情况下,第一网络设备通过入端口发送第一通告报文。第一通告报文用于通告第一转发路径故障,第一通告报文是由第一网络设备的数据面生成的。

4、由于第一网络设备在数据面生成第一通告报文,因此第一网络设备生成第一通告报文的速度较快。又由于第一通告报文为数据面报文,因此接收到第一通告报文的第二网络设备可以较为快速地获知第一转发路径故障。继而第二网络设备可以较快地根据获知的故障信息对接收到的数据报文进行处理,从而可以减少在故障发生之后,且在各个网络设备的路由表更新完成之前被丢弃的数据报文的数量。

5、在一种可能的实施方式中,当第一网络设备上存在第一转发路径的冗余路径的情况下,第一网络设备通过第一转发路径的冗余路径发送第一数据报文。由于第一网络设备在确定第一数据报文对应的第一转发路径故障的情况下,可以通过第一转发路径的冗余路径发送第一数据报文,因此可以提高第一数据报文成功到达目的地址的可能性。

6、在一种可能的实施方式中,第一网络设备确定用于转发第一数据报文的出端口,出端口对应第一转发路径。第一网络设备根据出端口的状态确定第一转发路径故障。

7、由于第一网络设备可以通过监测第一网络设备的出端口状态的方式确定第一转发路径是否故障,从而可以为判断第一转发路径是否故障提供一种较为简单且较为快速地判断方式。又一种可能的实施方式中,第一网络设备可以通过数据面组件获取到第一网络设备的出端口的状态,如此,第一网络设备可以更加快速地获取到第一网络设备的出端口的状态,继而第一网络设备可以更加快速地根据第一网络设备的出端口的状态确定第一转发路径是否故障。

8、在一种可能的实施方式中,第一网络设备根据端口状态表获取出端口的状态。当出端口的状态为指定状态时,第一网络设备确定第一转发路径故障。

9、由于第一网络设备存储有端口状态表,因此第一网络设备可以通过较为简单的方法获取到第一网络设备上的出端口的状态。又一种可能的实施方式中,端口状态表可以存储在第一网络设备的数据面,第一网络设备可以通过数据面组件读取端口状态表,继而可以更加快速地获取到第一网络设备上的出端口的状态。

10、在一种可能的实施方式中,第一网络设备通过数据面的组件周期性的读取用于记录出端口的状态的寄存器的值。第一网络设备根据寄存器的值更新端口状态表中出端口的状态。

11、由于第一网络设备可以通过数据面组件周期性读取用于记录第一网络设备的出端口的状态的寄存器的值,因此第一网络设备可以较为快速地获取到第一网络设备的出端口的状态,继而当第一网络设备的出端口的状态发生变化时,第一网络设备可以较为快速地对端口状态表中出端口的状态进行刷新。

12、在一种可能的实施方式中,第一网络设备通过出端口发送至少一个探测报文,至少一个探测报文是由第一网络设备的数据面生成的。第一网络设备在预设时长内未接收到至少一个探测报文中的一个探测报文或连续多个探测报文的响应报文的情况下,将端口状态表中出端口的状态更新为指定状态。

13、由于第一网络设备可以在数据面生成探测报文,因此第一网络设备可以较为快速地生成探测报文。另一方面,由于探测报文为数据面报文,因此接收到探测报文的网络设备可以在数据面对探测报文进行处理,且在数据面生成该探测报文的响应报文,因此探测报文的响应报文的生成速度也较快。又由于第一网络设备在数据面对探测报文的响应报文进行处理,因此第一网络设备可以通过发送探测报文的方式较为快速(比如微秒级)的对端口的状态进行监控。

14、在一种可能的实施方式中,第一通告报文包括指示信息,指示信息指示第一通告报文为故障通告报文。由于第一通告报文包括指示信息,因此接收到第一通告报文的网络设备可以较为简单且较为准确的识别出故障通过报文。

15、在一种可能的实施方式中,第一通告报文包括地址信息,地址信息承载在第一通告报文的负载中,地址信息包括第一数据报文的目的ip地址和/或目的ip地址对应的ip地址前缀。

16、由于第一通告报文中携带地址信息,因此接收到第一通告报文的网络设备可以根据地址信息确定出哪条路径出现故障。由于地址信息包括第一数据报文的目的ip地址和/或目的ip地址对应的ip地址前缀,因此接收到第一通告报文的网络设备可以根据接收到的数据报文中的目的ip地址确定该数据报文在该网络设备上对应的转发路径是否故障,该方案较为简便易行,继而可以加快该网络设备判断该数据报文在该网络设备上对应的转发路径是否故障的速度。

17、在一种可能的实施方式中,当第一通告报文为用户数据报协议udp报文时,指示信息包括第一通告报文的udp头中的目的端口号字段和/或源端口号字段承载的第一预设值。

18、由于指示信息携带在udp报文已有的目的端口号字段和/或源端口号字段,因此不必为了携带指示信息而额外在udp报文中新增字段,从而可以尽量缩减第一通告报文的长度,从而加快第一通告报文的传输速度,且也可以较好的与现有技术兼容。

19、在一种可能的实施方式中,在第一数据面告报文为以太网报文情况下,指示信息包括第一通告报文的以太网类型字段承载的第二预设值。

20、由于指示信息携带在以太网报文已有的以太网类型字段,因此不必为了携带指示信息而额外在udp报文中新增字段,从而可以尽量缩减第一通告报文的长度,从而加快第一通告报文的传输速度,且也可以较好的与现有技术兼容。

21、在一种可能的实施方式中,第一通告报文的报文头中还包括用于指示第一数据报文的信息。用于指示第一数据报文的信息包括以下内容中的至少一项:第一数据报文的源mac地址、第一数据报文的目的mac地址、第一数据报文的源ip地址,或第一数据报文的目的ip地址。

22、如此,在后续工作人员进行查询的过程中,可以查到第一通告报文是与第一数据报文具有关联关系的,从而可以为工作人员提供更多的信息。

23、在一种可能的实施方式中,第一通告报文满足以下内容中的至少一项:第一通告报文的源mac地址为第一数据报文的目的mac地址,第一通告报文的目的mac地址为第一数据报文的源mac地址;或,第一通告报文的源ip地址为第一数据报文的目的ip地址,第一通告报文的目的ip地址为第一数据报文的源ip地址。这种情况下,第一网络设备也可以根据第一通告报文中的目的ip地址和/或目的mac地址发送第一通告报文。

24、第二方面,本技术实施提供一种故障处理方法,该方法可以由第二网络设备或第二网络设备内部的单元、模块或芯片执行,本技术中以该方法由第二网络设备执行为例进行示意。该方法包括:

25、第二网络设备接收来自第一网络设备的第一通告报文,第一通告报文用于通告第一转发路径故障,第一转发路径为第一数据报文对应的转发路径,第一网络设备为第二网络设备的下游网络设备。第二网络设备通过入端口接收第二数据报文,第二数据报文和第一数据报文具有相同的目的ip地址。第二网络设备确定第二数据报文对应的第二转发路径故障,第二转发路径包括第一转发路径。当第二网络设备上不存在第二转发路径的冗余路径的情况下,第二网络设备通过入端口发送第二通告报文,第二通告报文用于通告第二转发路径故障,第二通告报文是由第二网络设备的数据面生成的。

26、由于第一通告报文为数据面报文,因此第二网络设备可以较为快速地获知第一转发路径故障。继而第二网络设备可以较为快速地根据获知的故障信息对接收到的数据报文进行处理,从而可以减少在故障发生之后各个网络设备的路由表更新完成之前被丢弃的数据报文的数量。

27、在一种可能的实施方式中,第一通告报文包括:指示信息以及地址信息。指示信息指示第一通告报文为故障通告报文。地址信息承载在第一通告报文的负载中,地址信息包括第一数据报文的目的ip地址和/或目的ip地址对应的ip地址前缀。

28、相关描述以及有益效果可以参见前述第一方面的相关描述,在此不再赘述。

29、在一种可能的实施方式中,第二网络设备接收来自第一网络设备的第一通告报文之后,第二网络设备根据第一通告报文,在第二网络设备的数据面存储地址信息和接收第一通告报文的端口的对应关系。

30、如此,第二网络设备在后续接收到第二数据报文之后,可以将第二数据报文的目的ip地址和第二数据报文在第二网络设备上的出端口与该对应关系匹配,继而判断第二数据报文对应的第二转发路径是否故障。又由于该对应关系存储在数据面,因此第二网络设备较为快速地判断第二数据报文对应的第二转发路径是否故障。

31、在一种可能的实施方式中,第二网络设备在确定第二数据报文的目的地址与对应关系中的地址信息匹配,第二数据报文对应的出端口为对应关系中的端口的情况下,确定第二数据报文对应的第二转发路径出现故障。

32、由于第二网络设备根据第二数据报文中的目的地址和第二数据报文对应的出端口来确定第二转发路径是否故障,相比仅通过第二数据报文的目的地址来确定第二转发路径是否故障的方案,本技术的方案基于较多的元素进行判断,因此可以提高判断的准确度。

33、第三方面,本技术提供一种网络设备,该网络设备包括通信单元和处理单元,通信单元包括入端口,处理单元用于:

34、通过通信单元的入端口接收第一数据报文,确定第一数据报文对应的第一转发路径故障,当第一网络设备上不存在第一转发路径的冗余路径的情况下,通过通信单元的入端口发送第一通告报文,第一通告报文用于通告第一转发路径故障,第一通告报文是由第一网络设备的数据面生成的。

35、由于第一网络设备在数据面生成第一通告报文,因此第一网络设备生成第一通告报文的速度较快。又由于第一通告报文为数据面报文,因此接收到第一通告报文的第二网络设备可以较为快速地获知第一转发路径故障。继而第二网络设备可以较快地根据获知的故障信息对接收到的数据报文进行处理,从而可以减少在故障发生之后,且在各个网络设备的路由表更新完成之前被丢弃的数据报文的数量。

36、在一种可能的实施方式中,通信单元还包括出端口。处理单元具体用于:确定用于转发第一数据报文的出端口,根据出端口的状态确定第一转发路径故障。该出端口对应第一转发路径。

37、在一种可能的实施方式中,网络设备还包括存储单元,存储单元存储有端口状态表。处理单元具体用于:根据端口状态表获取出端口的状态;当出端口的状态为指定状态时,确定第一转发路径故障。

38、在一种可能的实施方式中,处理单元还用于:通过数据面的组件周期性的读取用于记录出端口的状态的寄存器的值;根据寄存器的值更新端口状态表中出端口的状态。

39、在一种可能的实施方式中,处理单元还用于:通过通信单元的出端口发送至少一个探测报文,至少一个探测报文是由第一网络设备的数据面生成的;在预设时长内未接收到至少一个探测报文中的一个探测报文或连续多个探测报文的响应报文的情况下,将端口状态表中出端口的状态更新为指定状态。

40、第三方面以及第三方面的可能的实施方式的相关描述以及有益效果可以参见前述第一方面以及第一方面的可能的实施方式的相关描述,在此不再赘述。

41、第四方面,本技术提供一种网络设备,该网络设备包括通信单元和处理单元。通信单元包括入端口。处理单元用于:

42、通过通信单元接收来自第一网络设备的第一通告报文,通过通信单元的入端口接收第二数据报文,确定第二数据报文对应的第二转发路径故障,当第二网络设备上不存在第二转发路径的冗余路径的情况下,通过通信单元的入端口发送第二通告报文。

43、其中,第一通告报文用于通告第一转发路径故障,第一转发路径为第一数据报文对应的转发路径。第一网络设备为第二网络设备的下游网络设备;第二数据报文和第一数据报文具有相同的目的ip地址。第二转发路径包括第一转发路径。第二通告报文用于通告第二转发路径故障,第二通告报文是由第二网络设备的数据面生成的。

44、由于第一通告报文为数据面报文,因此第二网络设备可以较为快速地获知第一转发路径故障。继而第二网络设备可以较为快速地根据获知的故障信息对接收到的数据报文进行处理,从而可以减少在故障发生之后各个网络设备的路由表更新完成之前被丢弃的数据报文的数量。

45、在一种可能的实施方式中,处理单元还用于:根据第一通告报文,在第二网络设备的数据面存储地址信息和接收第一通告报文的端口的对应关系。

46、在一种可能的实施方式中,通信单元还包括出端口,处理单元具体用于:在确定第二数据报文的目的地址与对应关系中的地址信息匹配,第二数据报文对应的出端口为对应关系中的端口的情况下,确定第二数据报文对应的第二转发路径出现故障。

47、在一种可能的实施方式中,处理单元还用于:确定第二数据报文对应的第二转发路径未故障的情况下,通过第二转发路径发送第二数据报文。

48、第四方面以及第四方面的可能的实施方式的相关描述以及有益效果可以参见前述第二方面以及第二方面的可能的实施方式的相关描述,在此不再赘述。

49、第五方面,提供了一种网络设备,包括处理器和通信接口。该处理器可以与存储器耦合,可用于执行第一方面至第二方面任一方面,以及第一方面至第二方面中任一种可能实现方式中的方法。可选地,该网络设备还包括存储器。

50、在一种实现方式中,该网络设备为第一网络设备或第二网络设备。当该网络设备为第一网络设备或第二网络设备时,通信接口可以是收发器,或,输入/输出接口。可选地,收发器可以为收发电路。可选地,输入/输出接口可以为输入/输出电路。

51、在又一种实现方式中,该网络设备为芯片或芯片系统。当该网络设备为芯片或芯片系统时,通信接口可以是该芯片或芯片系统上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等。处理器也可以体现为处理电路或逻辑电路。

52、第六方面,提供了一种网络系统,系统包括上述第一网络设备和第二网络设备。

53、第七方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或者使得计算机执行上述第一方面至第二方面任一种实现方式中的方法。

54、第八方面,提供了一种计算机可读存储介质,计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法,或者使得计算机执行上述第一方面至第二方面任一种实现方式中的方法。

55、第九方面,提供了一种芯片系统,该芯片系统可以包括处理器。该处理器与存储器耦合,可用于执行第一方面至第二方面中任一方面,以及第一方面至第二方面中任一方面中任一种可能实现方式中的方法。可选地,该芯片系统还包括存储器。存储器,用于存储计算机程序(也可以称为代码,或指令)。处理器,用于从存储器调用并运行计算机程序,使得安装有芯片系统的设备执行第一方面至第二方面中任一方面,以及第一方面至第二方面中任一方面中任一种可能实现方式中的方法。

56、第十方面,提供了一种处理装置,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得第一方面至第二方面任一方面,以及第一方面至第二方面中任一种可能实现方式中的方法被实现。

57、在具体实现过程中,上述处理装置可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术对处理器及各种电路的具体实现方式不做限定。

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