CN111277440B - 网络设备 - Google Patents
网络设备 Download PDFInfo
- Publication number
- CN111277440B CN111277440B CN202010066265.7A CN202010066265A CN111277440B CN 111277440 B CN111277440 B CN 111277440B CN 202010066265 A CN202010066265 A CN 202010066265A CN 111277440 B CN111277440 B CN 111277440B
- Authority
- CN
- China
- Prior art keywords
- link
- port
- identifier
- processor
- network device
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及以太网通讯技术领域,提供一种网络设备,所述网络设备包括处理器和转发芯片;当接收到故障通知时,处理器根据故障通知确定故障的端口标识;处理器向转发芯片下发携带端口标识的更新信息,以阻塞与端口标识相对应的、转发芯片存储的聚合链路的成员端口。本发明实施例提供的网络设备能够通过减少链路故障处理流程中的关键路径上的线程切换,由此实现了聚合链路故障的快速处理。
Description
技术领域
本发明涉及以太网通讯技术领域,具体而言,涉及一种网络设备。
背景技术
以太网链路聚合通过将网络设备之间的多条以太网物理链路捆绑在一起形成一个链路聚合组,链路聚合组对外体现为一条以太网逻辑链路,链路聚合组中的成员链路可以共同工作,以此增加链路带宽;同时,链路聚合组中的成员链路之间可以动态备份,有效提高整个逻辑链路的可靠性。
发明内容
本发明实施例提供了一种网络设备,其能够通过减少链路故障处理流程中的关键路径上的线程切换,由此实现了聚合链路故障的快速处理。
为了实现上述目的,本发明实施例采用的技术方案如下:
本发明实施例提供一种网络设备,网络设备上配置有多条成员链路形成的聚合链路组,网络设备包括:处理器和转发芯片,当接收到故障通知时,处理器根据故障通知确定故障的端口标识;处理器向转发芯片下发携带端口标识的更新信息,以阻塞与端口标识相对应的、转发芯片存储的聚合链路的成员端口。
相对于现有技术,本发明实施例提供一种网络设备,当接收到故障通知时,处理器根据故障通知确定故障的端口标识;处理器向转发芯片下发携带端口标识的更新信息,以阻塞与端口标识相对应的、转发芯片存储的聚合链路的成员端口,通过直接将故障的端口标识下发至转发芯片,以阻塞与端口标识对应的、转发芯片存储的聚合链路的成员端口,减少了链路故障处理流程中的关键路径上的线程切换,由此实现了聚合链路故障的快速处理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的应用场景图。
图2示出了本发明实施例提供的现有技术的聚合链路故障处理方法的过程示意图。
图3示出了本发明实施例提供的一种网络设备优化聚合链路故障的处理方法流程图。
图4示出了本发明实施例提供的另一种网络设备优化聚合链路故障的处理方法流程图。
图5示出了本发明实施例提供的一种网络设备优化聚合链路故障的过程示意图。
图6示出了本发明实施例提供的另一种网络设备优化聚合链路故障的过程示意图。
图7示出了本发明实施例提供的另一种网络设备优化聚合链路故障的过程示意图。
图8示出了本发明实施例提供的另一种网络设备优化聚合链路故障的过程示意图。
图9示出了本发明实施例提供的另一种网络设备优化聚合链路故障的过程示意图。
图10示出了本发明实施例提供的另一种网络设备优化聚合链路故障的过程示意图。
图11示出了本发明实施例提供的网络设备的方框示意图。
图标:10-网络设备;11-存储器;12-转发芯片;13-处理器;14-总线;15-第一检测器件;16-第二检测器件;E11-端口故障检测部件;E12-链路故障检测部件;E2-报文转发部件;M11-端口故障检测模块;M12-协议故障检测模块;M21-端口状态维护模块;M22-协议状态维护模块;M3-链路状态维护模块;M4-链路聚合链路的状态维护模块;M5-链路聚合链路的转发配置模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参考图1,图1示出了本发明实施例提供的应用场景图,图1(a)示出了网络设备A和网络设备B的一种连接形式,图1(a)中,网络设备A与网络设备B之间存在3条直连的以太网物理链路,且3条以太网物理链路对应网络设备A和网络设备B端口各不相同:例如,网络设备A的端口a1与网络设备B的端口b1之间形成第一条以太网物理链路,网络设备A的端口a2与网络设备B的端口b2之间形第二条以太网物理链路,网络设备A的端口a3与网络设备B的端口b3之间形第三条以太网物理链路。链路聚合是将这3条直连的以太网物理链路捆绑在一起,形成链路聚合链路,链路聚合链路对外体现为一条逻辑链路,该逻辑链路的最大带宽可达到这3条以太网物理链路的带宽之和,由此实现通过链路聚合达到了增加带宽的目的。另外,3条以太网物理链路相互备份,当网络设备A或者网络设备B的任一端口出现故障导致对应的以太网物理链路故障后,网络设备A和网络设备B之间还可以通过链路聚合链路中的其他以太网物理链路进行通信,由此,实现了链路的高可靠性。
图1(b)示出了网络设备A和网络设备B的另一种连接形式,网络设备A和网络设备B之间通过多个通信设备或者网络进行连接,网络设备A和网络设备B之间存在3条网络链路:网络设备A的端口a1与网络设备B的端口b1通过通信设备1形成第一条网络链路,网络设备A的端口a2与网络设备B的端口b2通过网络1形成第二条网络链路,网络设备A的端口a3与网络设备B的端口b3通过通信设备2和通信设备3形成第三条网络链路。这3条网络链路捆绑在一起,形成链路聚合链路,对外体现为一条逻辑链路,和图1(a)类似,该链路聚合链路同样实现了增加带宽和链路相互备份的功能。
需要说明的是,图1只是两个具体应用场景的示例图,实际场景中,网络设备A和网络设备B之间可以存在3条以上的通信链路,可以将3条以上的通信链路进行捆绑,形成链路聚合链路。网络设备A和网络设备B之间也可以通过3台以上的通信设备或者多个网络,形成网络链路。
基于图1示出了本发明实施例提供的应用场景图,本发明实施例还提供了该应用场景下现有技术针对链路故障的处理方法,请参照图2,图2(a1)为图1(a)场景下的处理聚合链路故障的方法流程图。该方法包括以下串行执行的步骤:
S11:端口故障检测部件对网络设备中所有端口进行故障检测,并当端口出现故障时,更新该端口的状态。
在本实施例中,步骤S11的耗时基本固定,为链路故障后物理端口断开时间。
S12:端口故障检测模块以轮询的方式检测端口故障检测部件中维护的端口状态,并将发生故障的端口上报至端口状态维护模块。
S13:端口状态维护模块将发生故障的端口上报至链路聚合链路的状态维护模块。
S14:链路聚合链路的状态维护模块根据故障的端口更新链路聚合链路的状态并根据更新后的链路聚合链路的状态向链路聚合链路的转发配置模块发送倒换决策。
S15:链路聚合链路的转发配置模块执行该倒换决策,以将端口故障相关联的链路聚合链路中的成员链路从该链路聚合链路中删除。
为了更清楚地表达出图2(a1)中各模块之间的调用关系,本发明实施例还提供了图2(a1)对应的模块调用关系示意图,请参照图2(a2),图2(a2)为与图2(a1)对应的模块调用关系示意图。
需要说明的是,端口故障检测部件E11、报文转发部件E2为硬件部件,端口故障检测模块M11、端口状态维护模块M21、链路聚合链路的状态维护模块M4及链路聚合链路的转发配置模块M5均为软件功能模块。
基于图2(a2)的模块调用关系示意图,图2(a3)给出了处理聚合链路故障时间耗时分析图。图2(a3)中,t1a为端口故障检测部件E11进行端口故障检测故障的时间,t2a为端口故障检测模块M11进行端口故障响应和通知时间,t3a为端口故障检测模块M11到端口状态维护模块M21的任务切换时间,t4a为端口状态维护模块M21进行端口状态维护任务执行和端口故障通知时间,t5a为端口状态维护模块M21到链路聚合链路的状态维护模块M4任务切换时间,t6a为链路聚合链路的状态维护模块M4进行链路聚合链路状态维护任务执行和倒换决策获取时间,t7a为链路聚合链路的转发配置模块M5执行倒换决策的时间。
通过对步骤S11~步骤S15中t1a~t7a的耗时分析得知,t1a、t4a、t6a、t7a均基本固定,步骤S12中的轮询方式通常是通过定时器触发轮询任务实现轮询,当出现故障时,需要等待轮询任务触发后,才可以通过轮询得知故障的发生,当端口数较多时,轮询耗费的时间也会随之增加,由于端口故障检测模块M11和协议故障检测模块M12不能及时感知到故障的发生,因此增加了t2a的耗时,从而降低了处理聚合链路故障的效率。另外,在图2(a1)中步骤S12到步骤S13、步骤S13到步骤S14均存在任务切换,分别对应t3a、t5a,例如,步骤S12处理后,释放控制器的控制权限,步骤S13再获取控制器的控制权限,从步骤S12释放控制权限至步骤S13获取控制权限之间的时间是不确定的,即t3a和t5a的对应的任务切换的时间的不确定性,也影响了故障处理的及时性,也降低了处理聚合链路故障的效率。
图2(b1)为图1(b)场景下的处理聚合链路故障的方法流程图。该方法包括以下串行执行的步骤:
S21:链路故障检测部件对网络设备的所有链路进行协议故障检测,并将发生协议故障的链路,更新该链路的协议状态。
S22:协议故障检测模块以轮询的方式检测链路故障检测部件中维护的链路的协议状态,并将故障链路的协议状态上报至协议状态维护模块。
S23:协议状态维护模块将故障链路的协议状态上报至链路状态维护模块。
S24:链路状态维护模块根据故障链路的协议状态更新该链路的链路状态,并将该故障链路的链路状态上报至链路聚合链路的状态维护模块。
S25:链路聚合链路的状态维护模块根据故障链路的链路状态更新链路聚合链路的状态,并根据更新后的链路聚合链路的状态向链路聚合链路的转发配置模块发送倒换决策。
S26:链路聚合链路的转发配置模块执行该倒换决策,以将端口故障相关联的链路聚合链路中的成员链路从该链路聚合链路中删除。
为了更清楚地表达出图2(b1)中各模块之间的调用关系,本发明实施例还提供了图2(b1)对应的模块调用关系示意图,请参照图2(b2),图2(b2)为与图2(b1)对应的模块调用关系示意图。
需要说明的是,链路故障检测部件E12、报文转发部件E2为硬件部件,协议故障检测模块M12、协议状态维护模块M22、链路状态维护模块M3、链路聚合链路的状态维护模块M4及链路聚合链路的转发配置模块M5均为软件功能模块。
基于图2(b2)的模块调用关系示意图,图2(b3)给出了处理聚合链路故障时间耗时分析图。图2(b3)中,t1b为链路故障检测部件E12检测故障的时间,t2b为协议故障检测模块M12进行链路故障响应和通知时间,t3b为协议故障检测模块M12到协议状态维护模块M22的任务切换时间,t4b为协议状态维护模块M22执行链路检测协议状态维护任务和链路故障通知时间,t5b为协议状态维护模块M22到链路状态维护模块M3的任务切换时间,t6b为链路状态维护模块M3进行链路状态维护任务和链路故障通知时间,t7b为链路状态维护模块M3到链路聚合链路的状态维护模块M4的任务切换时间,t8b为链路聚合链路的状态维护模块M4进行链路聚合链路状态维护任务和倒换决策获取时间,t9b为链路聚合链路的转发配置模块M5执行倒换决策执行时间。
通过与图2(a1)类似的分析方法可知:步骤S22存在于步骤S12类似的轮询方式,当网络设备的端口较多或者链路数目较多时,轮询耗时严重即t2b时间增加,导致处理聚合链路故障的效率低下。另外,图2(b1)中步骤S22到步骤S23、步骤S23到步骤S24、步骤S24到步骤S25同样存在任务切换,分别对应t3b、t5b和t7b,因此,同样存在任务切换的时间的不确定性导致故障处理的不及时的问题。
有鉴于此,发明人通过分析聚合链路故障处理的过程中处理耗时的操作及耗时的原因、最终确定优化的思路为:优化耗时确定的步骤、将耗时不确定的步骤转化为耗时确定的步骤,基于该优化思路,本发明实施例提出一种网络设备,将故障处理过程涉及的操作划分关键操作和非关键操作,先执行关键操作,以便快速地将发生故障的成员链路从聚合链路组中删除,然后执行非关键操作,使得故障相关联的各种状态信息进行一致性更新,以保证聚合链路组提供对外的正常通信功能的可靠性,下面将对此进行详细描述。
请参照图3,图3示出了本发明实施例提供的一种网络设备10处理聚合链路故障的方法流程图,网络设备10包括处理器和转发芯片,该方法包括以下步骤:
步骤S101,当接收到故障通知时,处理器根据故障通知确定故障的端口标识。
在本实施例中,故障可以为端口故障,也可以为协议故障,当故障为端口故障时,故障通知直接携带有故障端口的端口标识,当故障为协议故障时,则故障通知上送的协议相关的会话标识,通过该会话标识可以获取对应的故障端口的端口标识。
步骤S102,处理器向转发芯片下发携带端口标识的更新信息,以阻塞与端口标识相对应的、转发芯片存储的聚合链路的成员端口。
在本实施例中,转发芯片存储的聚合链路的成员端口可以是记录有聚合链路中成员端口等信息,例如成员端口的标识,成员链路的标识等。
本发明提供的上述实施例,通过直接将故障的端口标识下发至转发芯片,以阻塞与端口标识对应的、转发芯片存储的聚合链路的成员端口,减少了链路故障处理流程中的关键路径上的线程切换,由此实现了聚合链路故障的快速处理。
需要说明的是,在网络设备10中可以部署有用于检测端口状态的第一检测器件或用于检测链路状态的第二检测器件,检测器件可以通过转发芯片来实现,或者是单独于转发芯片的逻辑器件。具体选用何种方式实现检测,根据具体的应用场景来确定,在此不做限制。
为了及时感知到故障,本发明实施例还给出了一种网络设备10处理聚合链路故障的方法,请参照图4,图4(a)示出了本发明实施例提供的另一种网络设备10处理聚合链路故障的方法的流程图,图4(a)中的网络设备10还包括第一检测器件,该方法包括以下步骤:
步骤S201,第一检测器件对聚合链路组中的成员链路所对应的端口进行检测;
在本发明实施例中,第一检测器件可以是图2(a2)中的端口故障检测部件E11。
步骤S202,当检测到端口故障时,第一检测器件向处理器发送携带有故障端口的端口标识的故障通知。
在本实施例中,网络设备可以有多个端口,当其中任意一个端口发生故障时,第一检测器件可以以中断方式主动向处理器上报故障端口的端口标识,网络设备10的处理器也可以通过轮询第一检测器件,主动从第一检测器件获取故障端口的端口标识,其中,端口标识用于唯一表征端口的标识信息,可以是数字或者字符或者数字符合组合而成的字符串。
继续参照图4,图4(b)中的网络设备10还包括第二检测器件,该方法包括以下步骤:
步骤S301,第二检测器件在聚合链路中的成员链路上建立有基于检测协议的协议会话。
在本实施例中,第二检测器件可以是图2(b2)中链路故障检测部件E12。在本实施例中,每一链路上都运行有协议会话,协议会话用于检测链路的连通性。
在本实施例中,检测协议可以是CCM(Counter mode with Cipher Block Chain-Message Authentication Code mode)或者双向转发检测BFD(Bidirectional ForwardingDetection,BFD)等链路故障检测机制检测的协议。
步骤S302,当检测到成员链路所关联协议会话故障时,第二检测器件向处理器发送携带有故障会话的会话标识的故障通知。
在本实施例中,会话标识用于唯一表征一个会话的标志信息。
针对图2(a1)的处理流程,本发明实施例还提供了一种网络设备10,用于对图2(a1)的处理流程进行优化,以提高聚合链路故障处理的效率,请参照图5,图5(a)示出了网络设备10的另一种优化处理方法的流程图,网络设备10的处理器上运行有端口检测线程和实现处理器与转发芯片数据交互的接口驱动,该网络设备10处理聚合链路故障的方法包括以下步骤:
步骤S401,在接收到故障通知时,端口检测线程获取故障通知中所携带的故障端口的端口标识,并将端口标识发送给接口驱动。
在本实施例中,端口检测线程对应的执行模块为图2(a2)中的端口故障检测模块M11,接口驱动对应图2(a2)中的链路聚合链路的转发配置模块M5。
步骤S402,接口驱动向转发芯片下发携带有端口标识的更新指令。
在本发明实施例中,除了执行关键步骤S401和步骤S402之外,为了保持故障相关联的各种状态信息进行一致性更新,以保证聚合链路组提供对外的正常通信功能的可靠性,网络设备10的处理器还需要执行以下步骤:
步骤S403,处理器还用于根据所确定的故障端口的端口标识、以及与端口标识对应的链路标识,更新处理器中所维护的软件转发表。
在本实施例中,软件转发表可以包括端口状态信息和链路聚合链路的状态信息。端口状态信息可以由图2(a1)中的端口状态维护模块M21更新,链路聚合链路的状态信息可以由图2(a1)中的链路聚合链路的状态维护模块M4更新。
在本实施例中,链路聚合链路的状态信息包括、但不限于链路聚合链路中的成员链路的个数,各成员链路的状态是选中(Selected)状态还是未选中(Unselected)状态。选中状态表征该成员链路处于工作状态,参与报文传输,未选中状态表征该成员链路处于非工作状态,不参与报文传输。
在本实施例中,当目标端口的状态从up更新为down时,链路聚合链路的状态维护模块M4将该目标端口对应的链路聚合链路中的成员链路的状态更新为未选中状态。
为了更清楚地表达出本实施例中各模块之间的调用关系,本发明实施例还提供了图5(a)对应的模块调用关系示意图,请参照图5(b),图5(b)为与图5(a)对应的模块调用关系示意图,图中实线箭头及实线框表示关键操作涉及的步骤及模块,虚线箭头及虚线框表示非关键操作涉及的步骤及模块。图5(c)为本实施例中优化后的关键操作的执行时间示意图。图5(c)中可以清楚地看出来,优化后的关键操作执行时间少了t3a和t5a,由于端口故障检测模块M11通知链路聚合链路的转发配置模块M5的时间不涉及线程的切换,因此该时间可以忽略不计,因此,减少的链路故障处理的时间为t3a和t5a之和。
本发明提供的上述实施例,由于减少了线程的切换时间t3a和t5a,因而总体上大大减少了链路故障处理的时间,提高了链路故障处理的效率。
针对图2(a1)的处理流程,本发明实施例还提供了一种网络设备10,用于对图2(a1)的处理流程进行优化,以提高聚合链路故障处理的效率,请参照图6,图6(a)示出了网络设备10的另一种优化处理方法的流程图,网络设备10的处理器上运行有端口检测线程、聚合链路维护线程和实现处理器与转发芯片数据交互的接口驱动,该网络设备10处理聚合链路故障的方法包括以下步骤:
步骤S501,在接收到故障通知时,端口检测线程获取故障通知中所携带的故障端口的端口标识,并将端口标识发送给聚合链路维护线程。
在本实施例中,端口检测线程对应的执行模块为图2(a2)中的端口故障检测模块M11,聚合链路维护线程对应的执行模块为图2(a2)中的链路聚合链路的状态维护模块M4,接口驱动对应图2(a2)中的链路聚合链路的转发配置模块M5。
步骤S502,聚合链路维护线程根据接收到的端口标识,更新处理器维护的聚合链路成员表,并将更新后的聚合链路成员表给接口驱动。
步骤S503,接口驱动向转发芯片下发更新后的聚合链路成员表。
在本发明实施例中,除了执行关键步骤S501~步骤S503之外,为了保持故障相关联的各种状态信息进行一致性更新,以保证聚合链路组提供对外的正常通信功能的可靠性,网络设备10的处理器还需要执行以下步骤:
步骤S504,处理器还用于根据所确定的故障端口的端口标识、以及与端口标识对应的链路标识,更新处理器中所维护的软件转发表。
在本实施例中,软件转发表可以包括端口状态信息,端口状态信息可以由图2(a2)中的端口状态维护模块M21更新。
在本实施例中,端口状态维护模块M21负责维护网络设备的所有端口的状态,端口的状态包括up和down两种状态,当端口处于正常状态时,端口的状态为up,当端口处于故障状态时,端口的状态为down。故障信息中包括端口的标识,端口状态维护模块M21根据端口的标识将该标识表征的目标端口的状态更新为down。
为了更清楚地表达出本实施例中各模块之间的调用关系,本发明实施例还提供了图6(a)对应的模块调用关系示意图,请参照图6(b),图6(b)为与图6(a)对应的模块调用关系示意图,图中实线箭头及实线框表示关键操作涉及的步骤及模块,虚线箭头及虚线框表示非关键操作涉及的步骤及模块。图6(c)为本实施例中优化后的关键操作的执行时间示意图。图6(c)中可以清楚地看出来,优化后的关键操作执行时间少了t3a和t5a,增加了端口故障检测模块M11通知链路聚合链路的状态维护模块M4的线程切换时间t3a_new,由于总体上减少了一次线程切换时间,因而减少了聚合链路故障的处理时间。
本发明提供的上述实施例,由于总体上减少了一次线程的切换时间,因而提高了链路故障处理的效率。
针对图2(b1)的处理流程,本发明实施例还提供了一种网络设备10,用于对图2(b1)的处理流程进行优化,以提高聚合链路故障处理的效率,请参照图7,图7(a)示出了网络设备10的另一种优化处理方法的流程图,网络设备10的处理器上运行有协议检测线程和实现处理器与转发芯片数据交互的接口驱动,该网络设备10处理聚合链路故障的方法包括以下步骤:
步骤S601,在接收到故障通知时,协议检测线程确定与会话标识所对应的故障链路的链路标识。
在本实施例中,协议检测线程对应的执行模块为图2(b2)中的协议故障检测模块M12,接口驱动对应图2(b2)中的链路聚合链路的转发配置模块M5。
步骤S602,协议检测线程根据所确定的链路标识,确定与链路标识对应的端口标识,并将端口标识发送给接口驱动。
步骤S603,接口驱动向转发芯片下发携带有端口标识的更新指令。
在本发明实施例中,除了执行关键步骤S601~S603之外,为了保持故障相关联的各种状态信息进行一致性更新,以保证聚合链路组提供对外的正常通信功能的可靠性,网络设备10的处理器还需要执行以下步骤:
步骤S604,处理器还用于根据所确定故障会话的会话标识、与会话标识对应的链路标识以及与链路标识对应的端口标识,更新处理器中所维护的软件转发表。
在本实施例中,软件转发表可以包括协议状态信息、链路状态信息及链路聚合链路的状态信息。
协议状态信息可以由图2(b2)中的协议状态维护模块M22更新,协议状态可以包括up、down和init三种状态,当链路处于正常工作的状态时,协议状态维护模块M22将该链路的协议状态设置为up,当链路正在进行初始化时,将该链路的协议状态设置为init,当链路已经初始化且处于非正常工作的状态时,将该链路的协议状态设置为down。
链路状态信息可以由图2(b2)中的链路状态维护模块M3更新,链路状态可以包括up和down两种状态,当目标成员链路的协议状态为up时,链路状态维护模块M3将目标成员链路的链路状态更新为up,当目标成员链路的协议状态为init或者down时,其链路状态更新为down。
链路聚合链路的状态信息可以由图2(b2)中的链路聚合链路的状态维护模块M4更新。链路聚合链路的状态信息包括、但不限于链路聚合链路中成员链路的个数,各成员链路的状态时选中还是未选中状态,每个成员链路的链路标识,当目标成员链路的链路状态更新为down时,链路聚合链路的状态维护模块M4将该目标成员链路的状态更新为未选中状态。
为了更清楚地表达出本实施例中各模块之间的调用关系,本发明实施例还提供了图7(a)对应的模块调用关系示意图,请参照图7(b),图7(b)为与图7(a)对应的模块调用关系示意图,图中实线箭头及实线框表示关键操作涉及的步骤及模块,虚线箭头及虚线框表示非关键操作涉及的步骤及模块。图7(c)为本实施例中优化后的关键操作的执行时间示意图。图7(c)中可以清楚地看出来,优化后的关键操作执行时间少了t3b、t5b和t7b,由于协议故障检测模块M12通知链路聚合链路的转发配置模块M5的时间不涉及线程的切换,因此,该时间可以忽略不计,因此,减少的链路故障处理时间为t3b、t5b和t7b之和。
本发明提供的上述实施例,由于减少了线程的切换时间t3b、t5b和t7b,因而总体上大大减少了链路故障处理的时间,提高了链路故障处理的效率。
针对图2(b1)的处理流程,本发明实施例还提供了一种网络设备10,用于对图2(b1)的处理流程进行优化,以提高聚合链路故障处理的效率,请参照图8,图8(a)示出了网络设备10的另一种优化处理方法的流程图,网络设备10的处理器上运行有协议检测线程、聚合链路维护线程和实现处理器与转发芯片数据交互的接口驱动,该网络设备10处理聚合链路故障的方法包括以下步骤:
步骤S701,在接收到故障通知时,协议检测线程确定与会话标识所对应的故障链路的链路标识,并将链路标识发送给聚合链路维护线程。
在本实施例中,协议检测线程对应的执行模块为图2(b2)中的协议故障检测模块M12,聚合链路维护线程对应的执行模块为图2(b2)中的链路聚合链路的状态维护模块M4,接口驱动对应图2(b2)中的链路聚合链路的转发配置模块M5。
步骤S702,聚合链路维护线程根据接收到的链路标识,更新处理器维护的聚合链路成员表,并将更新后的聚合链路成员表发送给接口驱动。
步骤S703,接口驱动向转发芯片下发更新后的聚合链路成员表。
在本发明实施例中,除了执行关键步骤S701~S703之外,为了保持故障相关联的各种状态信息进行一致性更新,以保证聚合链路组提供对外的正常通信功能的可靠性,网络设备10的处理器还需要执行以下步骤:
步骤S704,处理器还用于根据所确定故障会话的会话标识、与会话标识对应的链路标识以及与链路标识对应的端口标识,更新处理器中所维护的软件转发表。
在本实施例中,软件转发表可以包括协议状态信息和链路状态信息。协议状态信息可以由图2(b2)中的协议状态维护模块M22更新,链路状态信息可以由图2(b2)中的链路状态维护模块M3更新。
为了更清楚地表达出本实施例中各模块之间的调用关系,本发明实施例还提供了图8(a)对应的模块调用关系示意图,请参照图8(b),图8(b)为与图8(a)对应的模块调用关系示意图,图中实线箭头及实线框表示关键操作涉及的步骤及模块,虚线箭头及虚线框表示非关键操作涉及的步骤及模块。图8(c)为本实施例中优化后的关键操作的执行时间示意图。图8(c)中可以清楚地看出来,优化后的关键操作执行时间少了t3b和t5b和t7b,增加了协议故障检测模块M12通知链路聚合链路的状态维护模块M4的线程切换时间t3b_new,由于总体上减少了两次线程切换时间,因而减少了聚合链路故障的处理时间。
本发明提供的上述实施例,由于总体上减少了二次线程的切换时间,因而提高了链路故障处理的效率。
针对图2(b1)的处理流程,本发明实施例还提供了一种网络设备10,用于对图2(b1)的处理流程进行优化,以提高聚合链路故障处理的效率,请参照图9,图9(a)示出了网络设备10的另一种优化处理方法的流程图,网络设备10的处理器上运行有协议检测线程、协议状态维护线程与转发芯片数据交互的接口驱动,该网络设备10处理聚合链路故障的方法包括以下步骤:
步骤S801,在接收到故障通知时,协议检测线程获取故障通知中所携带的会话标识,并将会话标识发送给协议状态维护线程。
在本实施例中,协议检测线程对应的执行模块为图2(b2)中的协议故障检测模块M12,协议状态维护线程对应的执行模块为图2(b2)中的协议状态维护模块M22,接口驱动对应图2(b2)中的链路聚合链路的转发配置模块M5。
步骤S802,协议状态维护线程根据所确定会话标识,更新处理器维护的协议状态表,并根据会话标识确定与会话标识对应的链路标识。
步骤S803,协议状态维护线程根据所确定的链路标识,确定与链路标识对应的端口标识,并将端口标识发送给接口驱动。
步骤S804,接口驱动向转发芯片下发携带有端口标识的更新指令。
在本发明实施例中,除了执行关键步骤S801~S804之外,为了保持故障相关联的各种状态信息进行一致性更新,以保证聚合链路组提供对外的正常通信功能的可靠性,网络设备10的处理器还需要执行以下步骤:
步骤S805,处理器还用于根据所确定故障会话的会话标识、与会话标识对应的链路标识以及与链路标识对应的端口标识,更新处理器中所维护的软件转发表。
在本实施例中,软件转发表可以包括链路状态信息及链路聚合链路的状态信息。链路状态信息可以由图2(b2)中的链路状态维护模块M3更新,链路聚合链路的状态信息可以由图2(b2)中的链路聚合链路的状态维护模块M4更新。
为了更清楚地表达出本实施例中各模块之间的调用关系,本发明实施例还提供了图9(a)对应的模块调用关系示意图,请参照图9(b),图9(b)为与图9(a)对应的模块调用关系示意图,图中实线箭头及实线框表示关键操作涉及的步骤及模块,虚线箭头及虚线框表示非关键操作涉及的步骤及模块。图9(c)为本实施例中优化后的关键操作的执行时间示意图。图9(c)中可以清楚地看出来,优化后的关键操作执行时间少了t5b和t7b,由于协议状态维护模块M22通知链路聚合链路的转发配置模块M5的时间不涉及线程的切换,因此,该时间可以忽略不计,因此,减少的链路故障处理时间为t5b和t7b之和。
本发明提供的上述实施例,由于减少了线程的切换时间t5b和t7b,因而总体上大大减少了链路故障处理的时间,提高了链路故障处理的效率。
针对图2(b1)的处理流程,本发明实施例还提供了一种网络设备10,用于对图2(b1)的处理流程进行优化,以提高聚合链路故障处理的效率,网络设备10的处理器上运行有协议检测线程、协议状态维护线程、聚合链路维护线程和实现处理器与转发芯片数据交互的接口驱动,具体的处理方法与上述实施例类似,此处不再赘述。
图10示出了本发明实施例提供的另一种网络设备10优化聚合链路故障的过程示意图,图10(a)为本发明实施例提供了对应的模块调用关系示意图,图中实线箭头及实线框表示关键操作涉及的步骤及模块,虚线箭头及虚线框表示非关键操作涉及的步骤及模块。图10(b)为本实施例中优化后的关键操作的执行时间示意图。图10(b)中可以清楚地看出来,优化后的关键操作执行时间少了t5b和t7b,增加了协议状态维护模块M22通知链路聚合链路的状态维护模块M4的线程切换时间t4b_new,由于总体上减少了一次线程切换时间,因而减少了聚合链路故障的处理时间。
本发明提供的上述实施例,由于总体上减少了一次线程的切换时间,因而提高了链路故障处理的效率。
本发明实施例还提供一种网络设备10的方框示意图,请参照图11,图11示出了本发明实施例提供的网络设备10的方框示意图,网络设备10可以是图1中的网络设备A,也可以是图1中的网络设备B,也可以是图1中的网络设备10还包括存储器11、转发芯片12、处理器13、总线14、第一检测器件15、第二检测器件16。存储器11、转发芯片12,处理器13、第一检测器件15、第二检测器件16通过总线14连接。
存储器11用于存储程序,例如图2(a2)、图5(b)、图6(b)中的端口故障检测模块M11、端口状态维护模块M21、链路聚合链路的状态维护模块M4及链路聚合链路的转发配置模块M5等软件功能模块,或者图2(b2)、图7(b)、图8(b)、图9(b)、图10(a)中的协议故障检测模块M12、协议状态维护模块M22、链路状态维护模块M3、链路聚合链路的状态维护模块M4及链路聚合链路的转发配置模块M5等软件功能模块。存储器11可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器11可以是内置于处理器13中的存储装置,也可以是独立于处理器13的存储装置。
通过至少一个转发芯片12(可以是有线或者无线)实现与其他外部设备的通信连接。
总线14可以是ISA总线、PCI总线或EISA总线等。图11仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器13可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器13中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器13可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
第一检测器件15为图2(a2)中的端口故障检测部件E11。
第二检测器件16为图2(b2)中的链路故障检测部件E12。
转发芯片12为图2(a2)中的报文转发部件E2,或者图2(b2)中的报文转发部件E2。
综上所述,本发明实施例提供了一种网络设备,网络设备上配置有多条成员链路形成的聚合链路组,网络设备包括处理器和转发芯片;当接收到故障通知时,处理器根据故障通知确定故障的端口标识;处理器向转发芯片下发携带端口标识的更新信息,以阻塞与端口标识相对应的、转发芯片存储的聚合链路的成员端口。相对于现有技术,本发明实施例提供的网络设备能够通过减少链路故障处理流程中的关键路径上的线程切换,由此实现了聚合链路故障的快速处理。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种网络设备,其特征在于,所述网络设备上配置有由多条成员链路形成的聚合链路组;所述网络设备包括:处理器和转发芯片;
当接收到故障通知时,所述处理器根据所述故障通知确定故障的端口标识;
所述处理器向所述转发芯片下发携带所述端口标识的更新信息,以阻塞与所述端口标识相对应的、所述转发芯片存储的聚合链路组的成员端口。
2.根据权利要求1所述的网络设备,其特征在于,还包括第一检测器件;
所述第一检测器件,对所述聚合链路组中的成员链路所对应的端口进行检测;
当检测到端口故障时,所述第一检测器件向所述处理器发送携带有故障端口的端口标识的故障通知。
3.根据权利要求2所述的网络设备,其特征在于,所述处理器上运行有端口检测线程和实现所述处理器与所述转发芯片数据交互的接口驱动;
在接收到故障通知时,所述端口检测线程获取所述故障通知中所携带的故障端口的端口标识,并将所述端口标识发送给所述接口驱动;
所述接口驱动向所述转发芯片下发携带有所述端口标识的更新指令。
4.根据权利要求2所述的网络设备,其特征在于,所述处理器上运行有端口检测线程、聚合链路维护线程和实现所述处理器与所述转发芯片数据交互的接口驱动;
在接收到故障通知时,所述端口检测线程获取所述故障通知中所携带的故障端口的端口标识,并将所述端口标识发送给所述聚合链路维护线程;
所述聚合链路维护线程根据接收到的所述端口标识,更新所述处理器维护的聚合链路成员表,并将更新后的聚合链路成员表发送给所述接口驱动;
所述接口驱动向所述转发芯片下发更新后的聚合链路成员表。
5.根据权利要求1-4任一项所述的网络设备,其特征在于,所述处理器还用于根据所确定的故障端口的端口标识、以及与所述端口标识对应的链路标识,更新所述处理器中所维护的软件转发表。
6.根据权利要求1所述的网络设备,其特征在于,还包括第二检测器件;
所述第二检测器件,在所述聚合链路中的成员链路上建立有基于检测协议的协议会话;
当检测到所述成员链路所关联协议会话故障时,所述第二检测器件向所述处理器发送携带有故障会话的会话标识的故障通知。
7.根据权利要求6所述的网络设备,其特征在于,所述处理器上运行有协议检测线程和实现所述处理器与所述转发芯片数据交互的接口驱动;
在接收到故障通知时,所述协议检测线程确定与所述会话标识所对应的故障链路的链路标识;
所述协议检测线程根据所确定的链路标识,确定与所述链路标识对应的端口标识,并将所述端口标识发送给所述接口驱动;
所述接口驱动向所述转发芯片下发携带有所述端口标识的更新指令。
8.根据权利要求6所述的网络设备,其特征在于,所述处理器上运行有协议检测线程、聚合链路维护线程和实现所述处理器与所述转发芯片数据交互的接口驱动;
在接收到故障通知时,所述协议检测线程确定与所述会话标识所对应的故障链路的链路标识,并将所述链路标识发送给所述聚合链路维护线程;
所述聚合链路维护线程根据接收到的所述链路标识,更新所述处理器维护的聚合链路成员表,并将更新后的聚合链路成员表发送给所述接口驱动;
所述接口驱动向所述转发芯片下发更新后的聚合链路成员表。
9.根据权利要求6所述的网络设备,其特征在于,所述处理器上运行有协议检测线程、协议状态维护线程和实现所述处理器与所述转发芯片数据交互的接口驱动;
在接收到故障通知时,所述协议检测线程获取所述故障通知中所携带的会话标识,并将所述会话标识发送给所述协议状态维护线程;
所述协议状态维护线程根据所确定会话标识,更新所述处理器维护的协议状态表,并根据所述会话标识确定与所述会话标识对应的链路标识;
所述协议状态维护线程根据所确定的链路标识,确定与所述链路标识对应的端口标识,并将所述端口标识发送给所述接口驱动;
所述接口驱动向所述转发芯片下发携带有所述端口标识的更新指令。
10.根据权利要求1、6-9任一项所述的网络设备,其特征在于,所述处理器还用于根据所确定故障会话的会话标识、与所述会话标识对应的链路标识以及与所述链路标识对应的端口标识,更新所述处理器中所维护的软件转发表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010066265.7A CN111277440B (zh) | 2020-01-20 | 2020-01-20 | 网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010066265.7A CN111277440B (zh) | 2020-01-20 | 2020-01-20 | 网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277440A CN111277440A (zh) | 2020-06-12 |
CN111277440B true CN111277440B (zh) | 2022-04-08 |
Family
ID=70999028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010066265.7A Active CN111277440B (zh) | 2020-01-20 | 2020-01-20 | 网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277440B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491749A (zh) * | 2020-11-18 | 2021-03-12 | 盛科网络(苏州)有限公司 | 基于asic的聚合链路快速收敛方法、转发报文的方法及装置 |
CN112565022A (zh) * | 2020-12-23 | 2021-03-26 | 新华三技术有限公司 | 一种端口的检测方法和检测装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132320A (zh) * | 2007-09-18 | 2008-02-27 | 华为技术有限公司 | 检测接口故障的方法及网络节点设备 |
WO2009039697A1 (en) * | 2007-09-25 | 2009-04-02 | Zte Corporation | Ethernet ring network systerm, transmission node of ethernet ring network and initialization method thereof |
WO2009046591A1 (fr) * | 2007-10-12 | 2009-04-16 | Zte Corporation | Procédé de traitement de traitement de panne de port esclave de nœud maître dans un système de réseau ethernet en anneau |
CN102299846A (zh) * | 2011-08-19 | 2011-12-28 | 杭州华三通信技术有限公司 | 一种bfd报文传输方法和设备 |
CN102857419A (zh) * | 2012-10-12 | 2013-01-02 | 华为技术有限公司 | 链路聚合端口故障的处理方法和装置 |
WO2014194867A1 (en) * | 2013-06-07 | 2014-12-11 | Hangzhou H3C Technologies Co., Ltd. | Packet forwarding |
CN106302146A (zh) * | 2016-10-17 | 2017-01-04 | 杭州迪普科技有限公司 | 链路聚合的收敛方法及装置 |
EP3232616A1 (en) * | 2015-01-05 | 2017-10-18 | Huawei Technologies Co., Ltd. | Failure processing method and device for forwarding device, and controller |
WO2018108149A1 (zh) * | 2016-12-15 | 2018-06-21 | 中兴通讯股份有限公司 | 数据链路切换方法和装置以及数据链路切换设备 |
-
2020
- 2020-01-20 CN CN202010066265.7A patent/CN111277440B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132320A (zh) * | 2007-09-18 | 2008-02-27 | 华为技术有限公司 | 检测接口故障的方法及网络节点设备 |
WO2009039697A1 (en) * | 2007-09-25 | 2009-04-02 | Zte Corporation | Ethernet ring network systerm, transmission node of ethernet ring network and initialization method thereof |
WO2009046591A1 (fr) * | 2007-10-12 | 2009-04-16 | Zte Corporation | Procédé de traitement de traitement de panne de port esclave de nœud maître dans un système de réseau ethernet en anneau |
CN102299846A (zh) * | 2011-08-19 | 2011-12-28 | 杭州华三通信技术有限公司 | 一种bfd报文传输方法和设备 |
CN102857419A (zh) * | 2012-10-12 | 2013-01-02 | 华为技术有限公司 | 链路聚合端口故障的处理方法和装置 |
WO2014194867A1 (en) * | 2013-06-07 | 2014-12-11 | Hangzhou H3C Technologies Co., Ltd. | Packet forwarding |
EP3232616A1 (en) * | 2015-01-05 | 2017-10-18 | Huawei Technologies Co., Ltd. | Failure processing method and device for forwarding device, and controller |
CN106302146A (zh) * | 2016-10-17 | 2017-01-04 | 杭州迪普科技有限公司 | 链路聚合的收敛方法及装置 |
WO2018108149A1 (zh) * | 2016-12-15 | 2018-06-21 | 中兴通讯股份有限公司 | 数据链路切换方法和装置以及数据链路切换设备 |
Non-Patent Citations (1)
Title |
---|
无线局域网中STP协议的应用与研究;朱智达等;《福建电脑》;20101025(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111277440A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3029893B1 (en) | Method, controller, device and system for protecting service path | |
CN111277440B (zh) | 网络设备 | |
CN102882704B (zh) | 一种issu的软重启升级过程中的链路保护方法和设备 | |
CN102223258B (zh) | 一种防止bfd会话中断的方法和设备 | |
CN112217658B (zh) | 一种堆叠分裂处理方法及装置 | |
CN107948063B (zh) | 一种建立聚合链路的方法和接入设备 | |
CN103560955A (zh) | 冗余设备切换方法及装置 | |
WO2016095344A1 (zh) | 链路切换方法、装置及线卡 | |
CN109462533B (zh) | 链路切换方法、链路冗余备份网络和计算机可读存储介质 | |
CN111585797B (zh) | 以太网链路切换方法、装置、设备及计算机可读存储介质 | |
WO2017000096A1 (zh) | 一种链路恢复方法和网络设备 | |
US20200403907A1 (en) | Faulty multi-layer link restoration method and controller | |
CN105009086A (zh) | 一种实现处理器切换的方法、计算机和切换装置 | |
US9960985B2 (en) | System and method for providing redundant Ethernet network connections | |
US9323629B2 (en) | Method for managing path failures of OSEK networks | |
JP5349816B2 (ja) | 回線監視装置及び回線監視方法 | |
CN110673793B (zh) | 存储设备节点事件管理方法、系统及电子设备和存储介质 | |
EP3355530A1 (en) | Method, apparatus and device for processing service failure | |
JP6654662B2 (ja) | サーバ装置およびサーバシステム | |
CN113497753A (zh) | 一种跨设备链路聚合方法及系统 | |
US9632885B2 (en) | Fault detection method and related device and stack system | |
CN101729349A (zh) | 一种基于rrpp的主环通道连通性检测方法及装置 | |
CN116800604B (zh) | 可配置的激光通信设备控制方法、装置、设备及介质 | |
JP2013254333A (ja) | 多重系制御システム及びその制御方法 | |
WO2023188860A1 (ja) | 分散システムおよび分散システムにおける通信経路作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |