链路故障处理方法技术

技术编号:39723167 阅读:18 留言:0更新日期:2023-12-17 23:28
本申请公开了一种链路故障处理方法

【技术实现步骤摘要】
链路故障处理方法、相关装置、存储介质及程序产品


[0001]本申请涉及通信
,特别涉及一种链路故障处理方法

相关装置

存储介质及程序产品


技术介绍

[0002]当前,网络设备之间用于传输数据流的路径称为链路

一旦网络中的链路发生故障,就需要尽快进行处理,以保证后续数据流能够正常发送

[0003]网络设备包括物理层
(physical

PHY)
芯片

转发面组件和中央处理器
(central processing unit

CPU)

。PHY
芯片具有多个端口,转发面组件存储有转发数据流所需的转发表和链路状态表

网络设备的某个端口在接收上一跳网络设备发送的数据流之后,将接收到的数据流传输给转发面组件

转发面组件通过查询转发表来确定该数据流对应的出端口,再查询链路状态表中该出端口所在链路的链路状态

在查询到的链路状态为故障状态的情况下,即,该出端口所在的链路为故障链路,转发面组件确定该故障链路的替换链路,并将转发表中该数据流对应的出端口修改为该替换链路对应的出端口

转发面组件按照修改后的转发表将该数据流发送出去

简单来讲,网络设备在转发数据流时,要依据链路状态表来确定是否进行链路切换

而链路状态表是在端口发生故障后才更新的,也即是,若某个端口发生故障,
PHY
芯片向
CPU
发送硬件中断信号,即上报故障信息,该硬件中断信号用于指示该端口故障,
CPU
基于该硬件中断信号向转发面组件下发用于指示更新链路状态表的指令

转发面组件在接收到该指令后,将链路状态表中该端口所在链路的状态修改为故障状态

[0004]然而,网络通信中的业务种类繁多,大部分业务对时延比较敏感,例如网络游戏

付费结算等业务

而上述方案中,在某个端口发生故障之后,需要
PHY
芯片向
CPU
上报故障信息,并等待
CPU
向转发面组件下发指令之后才能够修改链路状态表

上报故障信息以及等待指令下发的过程是比较耗时的,导致链路状态表不能够及时更新

而链路状态表更新不及时会导致链路切换不及时

可见,上述方案从链路发生故障到执行链路切换的时间较长,这会导致业务中断


技术实现思路

[0005]本申请提供了一种链路故障处理方法

相关装置

存储介质及程序产品,能够缩短从发生链路故障到完成链路切换的时间,从而减少链路故障对业务的影响

[0006]第一方面,提供了一种链路故障处理方法,应用于网络设备,该网络设备包括转发面组件

端口状态寄存器和多个端口,该方法包括:
[0007]网络设备的转发面组件通过轮询端口状态寄存器来维护参考状态表,该参考状态表用于指示该多个端口分别所在的多条链路是否故障;转发面组件根据待转发的数据流,查询转发表和参考状态表,以确定用于传输该数据流的链路是否为故障链路;在确定用于传输该数据流的链路为故障链路的情况下,转发面组件确定该故障链路的替换链路;转发
面组件基于该替换链路更新转发表,以将该数据流切换到替换链路

[0008]在本方案中,转发面组件通过主动轮询端口状态寄存器来及时更新参考状态表,从而在转发数据流时,能够依据参考状态表及时感知本地的故障链路,及时进行链路切换

无需
PHY
芯片上报故障信息给控制面的
CPU
,也无需等待
CPU
下发链路切换指令

即,本方案不依赖控制面算路,没有从数据面到控制面的额外通信,避免了由
CPU
处理故障所带来的延迟

本方案从发生链路故障到完成链路切换的耗时较少,链路故障处理的收敛速度更快,从而减少链路故障对业务的影响

[0009]网络设备还包括
PHY
芯片,该多个端口为
PHY
芯片的端口,端口状态寄存器为
PHY
芯片中的寄存器,端口状态寄存器的值由
PHY
芯片在检测到该多个端口中存在发生故障的端口的情况下进行修改

[0010]其中,参考状态表包括链路状态表,链路状态表用于记录该多条链路中各条链路的链路状态

基于此,转发面组件通过轮询端口状态寄存器来维护参考状态表,包括:转发面组件轮询端口状态寄存器,以确定该多个端口中是否存在发生状态改变的端口,发生状态改变包括从可用状态变为不可用状态;在确定该多个端口中存在发生状态改变的端口的情况下,转发面组件将链路状态表中的第一链路状态修改为故障状态,第一链路状态为发生状态改变的端口所在链路的状态

[0011]可选地,链路状态表记录有该多条链路的链路索引与链路状态的对应关系;转发面组件将链路状态表中的第一链路状态修改为故障状态之前,还包括:转发面组件从端口与链路的索引映射表中查询与第一端口索引对应的链路索引,以得到第一链路索引,第一端口索引为发生状态改变的端口的索引;转发面组件从链路状态表中查询与第一链路索引对应的链路状态,以得到第一链路状态

[0012]在参考状态表包括链路状态表的实现方式中,转发面组件根据待转发的数据流,查询转发表和参考状态表,以确定用于传输该数据流的链路是否为故障链路,包括:转发面组件从转发表中查询该数据流对应的出端口;转发面组件从链路状态表中查询该出端口所在链路的链路状态;在该出端口所在链路的链路状态为故障状态的情况下,转发面组件确定用于传输该数据流的链路为故障链路

[0013]可选地,转发面组件是通过快速重路由
(fast reroute

FRR)
组件从链路状态表中查询该出端口所在链路的链路状态的
。FRR
组件用于实现
FRR
机制

[0014]或者,参考状态表包括端口状态表,端口状态表用于记录该多个端口中各个端口的端口状态

基于此,转发面组件通过轮询端口状态寄存器来维护参考状态表,包括:转发面组件轮询端口状态寄存器,以确定该多个端口中是否存在发生状态改变的端口,发生状态改变包括从可用状态变为不可用状态;在确定该多个端口中存在发生状态改变的端口的情况下,转发面组件将端口状态表中的第一端口状态修改为不可用状态,第一端口状态为发生状态改变的端口的状态
...

【技术保护点】

【技术特征摘要】
1.
一种链路故障处理方法,其特征在于,应用于网络设备,所述网络设备包括转发面组件

端口状态寄存器和多个端口,所述端口状态寄存器用于存储所述多个端口中各个端口的端口状态;所述方法包括:所述转发面组件通过轮询所述端口状态寄存器来维护参考状态表,所述参考状态表用于指示所述多个端口分别所在的多条链路是否故障;所述转发面组件根据待转发的数据流,查询转发表和所述参考状态表,以确定用于传输所述数据流的链路是否为故障链路;在确定用于传输所述数据流的链路为故障链路的情况下,所述转发面组件确定所述故障链路的替换链路;所述转发面组件基于所述替换链路更新所述转发表,以将所述数据流切换到所述替换链路
。2.
如权利要求1所述的方法,其特征在于,所述参考状态表包括链路状态表,所述链路状态表用于记录所述多条链路中各条链路的链路状态;所述转发面组件通过轮询所述端口状态寄存器来维护所述参考状态表,包括:所述转发面组件轮询所述端口状态寄存器,以确定所述多个端口中是否存在发生状态改变的端口,所述发生状态改变包括从可用状态变为不可用状态;在确定所述多个端口中存在发生状态改变的端口的情况下,所述转发面组件将所述链路状态表中的第一链路状态修改为故障状态,所述第一链路状态为所述发生状态改变的端口所在链路的状态
。3.
如权利要求2所述的方法,其特征在于,所述链路状态表记录有所述多条链路的链路索引与链路状态的对应关系;所述转发面组件将所述链路状态表中的第一链路状态修改为故障状态之前,还包括:所述转发面组件从端口与链路的索引映射表中查询与第一端口索引对应的链路索引,以得到第一链路索引,所述第一端口索引为所述发生状态改变的端口的索引;所述转发面组件从所述链路状态表中查询与所述第一链路索引对应的链路状态,以得到所述第一链路状态
。4.
如权利要求2或3所述的方法,其特征在于,所述转发面组件根据待转发的数据流,查询所述转发表和所述参考状态表,以确定用于传输所述数据流的链路是否为故障链路,包括:所述转发面组件从所述转发表中查询所述数据流对应的出端口;所述转发面组件从所述链路状态表中查询所述出端口所在链路的链路状态;在所述出端口所在链路的链路状态为故障状态的情况下,所述转发面组件确定用于传输所述数据流的链路为故障链路
。5.
如权利要求4所述的方法,其特征在于,所述转发面组件是通过快速重路由机制从所述链路状态表中查询所述出端口所在链路的链路状态的
。6.
如权利要求1所述的方法,其特征在于,所述参考状态表包括端口状态表,所述端口状态表用于记录所述多个端口中各个端口的端口状态;所述转发面组件通过轮询所述端口状态寄存器来维护所述参考状态表,包括:所述转发面组件轮询所述端口状态寄存器,以确定所述多个端口中是否存在发生状态
改变的端口,所述发生状态改变包括从可用状态变为不可用状态;在确定所述多个端口中存在发生状态改变的端口的情况下,所述转发面组件将所述端口状态表中的第一端口状态修改为不可用状态,所述第一端口状态为所述发生状态改变的端口的状态
。7.
如权利要求6所...

【专利技术属性】
技术研发人员:李灵刘世兴冀智刚李杰温华锋王海波王松林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1