1.本技术涉及通信技术领域,尤其涉及一种环网收敛的处理方法及装置。
背景技术:2.环网组网一直是以太网络可靠性保障的重要手段。随着时代的发展,对环网拓扑变化感知提出了越来越高的要求。
3.快速环网保护协议(英文:rapid ring protection protocol,简称:rrpp)是专门应用于以太网环的链路层协议。当以太网环完整时,其可防止数据环路引起的广播风暴,而当以太网环上的链路断开时,其可迅速恢复环网上各个节点之间的通信链路。
4.rrpp将以太网环上的网络设备划分为不同角色的节点。各节点之间通过收发和处理rrpp协议报文来检测环网状态、传递环网拓扑变化信息。一个环形连接的以太网拓扑称为一个rrpp环。rrpp环包括主环和子环,环的角色可通过指定rrpp环的级别来设定:主环的级别为0,子环的级别为1。一个rrpp域可由单个rrpp环构成,也可以由一个主环和若干个子环共同构成。
5.如图1所示,图1为现有rrpp环网结构示意图。在图1中,环(ring)1为主环,ring 2为子环。网络设备a为ring 1的主节点(master node),网络设备b、网络设备c和网络设备d为ring 1的传输节点(transit node);网络设备e为ring 2的主节点,网络设备b为ring 2的边缘节点(edge node),网络设备c为ring 2的辅助边缘节点(assistant edge node)。
6.网络设备a包括端口(port)1以及port 2,port 1和port 2分别为其在ring1上的主端口与副端口;同理,网络设备b、网络设备c和网络设备d各自的port 1和port 2也分别为本节点在ring 1上的主端口和副端口。
7.轮询机制是rrpp环的主节点主动检测环网健康状态的机制。主节点以你好(hello)定时器为周期从自身的主端口处发送hello报文,依次经过各传输节点在主环上传播。若主环内链路健康,主节点的副端口将在失败(fail)定时器超时前收到hello报文,主节点将保持副端口在保护虚拟局域网(英文:virtual local area network,简称:vlan)下的阻塞状态。若主环内链路断裂,主节点的副端口在fail定时器超时前无法收到hello报文,主节点将解除保护vlan下副端口的阻塞状态,同时,主节点发送common-flush-fdb报文通知主环内所有的传输节点,使其更新各自的媒体存取控制位址(英文:media access control address,简称:mac)地址表项和arp/nd表项。
8.当传输节点、边缘节点或者辅助边缘节点发现自身任何一个属于rrpp域的端口down时,均会立刻向主节点发送link-down报文。主节点接收到link-down报文后,将立刻解除保护vlan下副端口的阻塞状态,同时,主节点发送common-flush-fdb报文通知主环内所有的传输节点、边缘节点和辅助边缘节点,使其更新各自的mac地址表项和arp/nd表项。各节点更新表项后,数据流将切换至正常的链路上。
9.在rrpp链路状态检测通知机制中,rrpp收敛性能的瓶颈点主要在于以下方面:1)主节点轮训机制中,hello报文为软件发包,发包速度最快仅能达到10ms/个,软件发包慢且
耗时;2)由于上述过程均为软件处理过程,cpu协议栈处理时涉及多个进程,存在任务切换。并且,任务间切换耗时不等,例如,十几ms到几十ms,cpu协议栈软件处理耗时;3)rrpp环上各节点学习到较多mac表项时,在执行mac表项删除时耗时过长,例如,某一类型的网络设备在删除100个mac表项时,耗时约10ms。
技术实现要素:10.有鉴于此,本技术提供了一种环网收敛的处理方法及装置,用以解决现有提供的环网链路状态检测通知机制均为软件技术方案,耗时过长,导致环网收敛性能的瓶颈。
11.第一方面,本技术提供了一种环网收敛的处理方法,所述方法应用于第一网络设备,所述第一网络设备处于第一环网内的第一环上,所述方法包括:
12.若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障;
13.通过硬件发送模式,向硬件驱动发送第一通知报文,所述第一通知报文用于使所述硬件驱动确定所述第一环内存在链路故障后,向协议栈上报所述第一环的环路状态,所述硬件驱动将所述第一环上各节点包括的主副端口的mac表设置为无效状态并删除所述mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转发所述数据流量,当所述mac表中的mac表项全部删除后,所述硬件驱动将所述mac表设置为有效状态;
14.当所述第一网络设备为主节点时,将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除,以使得所述副端口在保护vlan下的状态为转发状态。
15.第二方面,本技术提供了一种环网收敛的处理装置,所述装置应用于第一网络设备,所述第一网络设备处于第一环网内的第一环上,所述装置包括:
16.确定单元,用于若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障;
17.发送单元,用于通过硬件发送模式,向硬件驱动发送第一通知报文,所述第一通知报文用于使所述硬件驱动确定所述第一环内存在链路故障后,向协议栈上报所述第一环的环路状态,所述硬件驱动将所述第一环上各节点包括的主副端口的mac表设置为无效状态并删除所述mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转发所述数据流量,当所述mac表中的mac表项全部删除后,所述硬件驱动将所述mac表设置为有效状态;
18.解除单元,用于当所述第一网络设备为主节点时,将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除,以使得所述副端口在保护vlan下的状态为转发状态。
19.第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本技术第一方面所提供的方法。
20.因此,通过应用本技术提供的环网收敛的处理方法及装置,若在预设时间内,第一网络设备未接收到链路状态探测报文,则第一网络设备确定第一环内存在链路故障;通过硬件发送模式,第一网络设备向硬件驱动发送第一通知报文,第一通知报文用于使硬件驱动确定第一环内存在链路故障后,向协议栈上报第一环的环路状态,硬件驱动将第一环上各节点包括的mac表设置为无效状态并删除mac表包括的mac表项,以使得各节点接收到数
据流量后,按照广播方式转发数据流量,当mac表中的mac表项全部删除后,硬件驱动将mac表设置为有效状态;当第一网络设备为主节点时,第一网络设备将包括的副端口在保护vlan下的阻塞状态解除,以使得副端口在保护vlan下的状态为转发状态。
21.如此,通过硬件技术方式感知链路状态、链路状态上报、收敛环网,解决了现有提供的环网链路状态检测通知机制均为软件技术方案,耗时过长,导致环网收敛性能的瓶颈。本技术实施例提供的硬件技术方案加快了rrpp环网数据流量的收敛速度,提升效果明显,在工业领域具有一定的商业价值。
附图说明
22.图1为为现有rrpp环网结构示意图;
23.图2为本技术实施例提供的环网收敛的处理方法的流程图;
24.图3为本技术实施例提供的链路健康状态下rrpp环网结构示意图;
25.图4为本技术实施例提供的链路故障状态下rrpp环网结构示意图;
26.图5为本技术实施例提供的链路故障恢复下rrpp环网结构示意图;
27.图6为本技术实施例提供的环网收敛的处理装置结构图;
28.图7为本技术实施例提供的网络设备硬件结构体。
具体实施方式
29.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本技术相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
30.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
31.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
32.下面对本技术实施例提供的环网收敛的处理方法进行详细地说明。参见图2,图2为本技术实施例提供的环网收敛的处理方法的流程图。该方法应用于第一网络设备。本技术实施例提供的环网收敛的处理方法可包括如下所示步骤。
33.步骤210、若在预设时间内,未接收到链路状态探测报文,则确定所述rrpp环内存在链路故障;
34.具体地,第一网络设备启动一定时器,在预设时间(即定时器设置的时间)内,判断端口是否接收到链路状态探测报文。该端口具体为第一网络设备包括的副端口。
35.若在预设时间内,副端口接收到链路状态探测报文,则第一网络设备确定第一环
内未存在链路故障。
36.若在预设时间内,副端口未接收到链路状态探测报文,则第一网络设备确定第一环内存在链路故障。
37.进一步地,第一网络设备可根据自身在第一环网中的不同节点角色,判断端口是否接收到链路状态探测报文。可以理解的是,第一环网中每个节点均包括主端口以及副端口。
38.例如,当第一网络设备为主节点时,主节点主动检测环网健康状态。主节点生成链路状态探测报文,该链路状态探测报文包括源mac地址字段、目的mac地址字段以及vlan字段。其中,源mac地址字段的值为主端口的mac地址,目的mac地址字段的值为副端口的mac地址,vlan字段的值为控制vlan的标识。
39.通过主端口,主节点在第一环上发送链路状态探测报文。该链路状态探测报文依次经过各传输节点并在第一环上传播。各传输节点的主端口接收主节点发送的链路状态探测报文。根据目的mac地址(即,主节点的副端口的mac地址),各传输节点从mac表中获取与目的mac地址匹配的mac表项,该mac表项包括出接口,该出接口为各传输节点的副端口。通过各传输节点的副端口,各传输节点向下一跳节点转发链路状态探测报文。
40.主节点启动一定时器,在预设时间(即定时器设置的时间)内,主节点判断是否通过副端口接收到链路状态探测报文。若在预设时间内,主节点通过副端口接收到链路状态探测报文,则主节点确定第一环内存在未链路故障,也即是第一环处于健康状态。主节点在下一个发送周期,再次通过主端口,在第一环上发送链路状态探测报文。
41.可以理解的是,当第一环处于健康状态时,主节点的副端口在保护vlan下处于阻塞状态,副端口仅允许控制vlan下的协议报文通过。
42.若在预设时间内,主节点未通过副端口接收到链路状态探测报文,则主节点确定第一环内存在链路故障,也即是第一环处于故障状态。
43.当第一网络设备为传输节点时,若在预设时间内,传输节点通过副端口未接收到链路状态探测报文,则传输节点确定第一环内存在链路故障。
44.需要说明的是,上述第一环网可具体为rrpp环网,但是,在实际应用中,环网环境并不限制于rrpp环网,其他环网协议(例如,erps环网协议)均可执行本技术实施例中涉及的全部步骤。
45.在本技术实施例中,下面以第一环网为rrpp环网,以rrpp环网包括一个环为例进行说明。可以理解的是,图3-图5仅以举例的方式说明实现本技术实施例中环网收敛的处理方法。在实际应用中,环网的结构并不限制与此。
46.如图3所示,图3为本技术实施例提供的链路健康状态下rrpp环网结构示意图。在图3中,网络设备a、网络设备b、网络设备c以及网络设备d组成rrpp环网。网络设备为a为rrpp环网的主节点(master node),网络设备b、网络设备c和网络设备d为rrpp环网的传输节点(transit node)。
47.网络设备a包括主端口(例如,port1)以及副端口(例如,port 2)。同理,网络设备b、网络设备c和网络设备d各自的port 1和port 2也分别为本节点在rrpp环网上的主端口和副端口。
48.网络设备a主动检测环网健康状态。网络设备a生成链路状态探测报文,该链路状
态探测报文包括源mac地址字段、目的mac地址字段以及vlan字段。其中,源mac地址字段的值为主端口的mac地址,目的mac地址字段的值为副端口的mac地址,vlan字段的值为控制vlan的标识。
49.通过主端口,网络设备a在rrpp环上发送链路状态探测报文。该链路状态探测报文依次经过各传输节点并在rrpp环上传播。网络设备b、网络设备c、网络设备d的主端口接收主节点发送的链路状态探测报文。根据目的mac地址(即,主节点的副端口的mac地址),网络设备b、网络设备c、网络设备d从mac表中获取与目的mac地址匹配的mac表项,该mac表项包括出接口,该出接口为网络设备b、网络设备c、网络设备d的副端口。通过网络设备b、网络设备c、网络设备d的副端口,网络设备b、网络设备c、网络设备d向下一跳网络设备转发链路状态探测报文。此时,转发链路状态探测报文的路径为网络设备a-网络设备b-网络设备c-网络设备d,如图3中所示实线流程。
50.网络设备a节点启动一定时器,在预设时间(即定时器设置的时间)内,网络设备a判断是否通过副端口接收到链路状态探测报文。若在预设时间内,网络设备a通过副端口接收到链路状态探测报文,则网络设备a确定rrpp环内未存在链路故障,也即是rrpp环处于健康状态。网络设备a在下一个发送周期,再次通过主端口,在rrpp环上发送链路状态探测报文。
51.可以理解的是,当rrpp环处于健康状态时,网络设备a的副端口在保护vlan下处于阻塞状态,副端口仅允许控制vlan下的协议报文通过。
52.在本技术实施例中,网络设备c、网络设备d分别与测试仪连接。测试仪包括port3、port4。port3与网络设备d连接,port4与网络设备c连接。当rrpp环处于健康状态时,测试仪的数据流量从port3发送出去,途径网络设备d与网络设备c之间的链路,从port4接收。此时,转发数据流量的路径为测试仪port3-网络设备d-网络设备c-测试仪port3,如图3中所示虚线流程。
53.同理,网络设备b、网络设备c以及网络设备d作为传输节点,也在自身内部启动一定时器,在预设时间(即定时器设置的时间)内,上述传输节点判断是否通过副端口接收到链路状态探测报文。若在预设时间内,上述传输节点通过副端口接收到链路状态探测报文,则上述传输节点确定rrpp环内未存在链路故障。
54.可以理解的是,当rrpp环内未存在链路故障时,作为传输节点的网络设备b、网络设备c以及网络设备d接收到链路状态探测报文后,不对链路状态探测报文进行处理,各传输节点根据目的mac地址进行查表转发,直至转发至网络设备a的副端口。
55.如图4所示,图4为申请实施例提供的链路故障状态下rrpp环网结构示意图。在图4中,网络设备d与网络设备c之间的链路故障。此时,网络设备a发送的链路状态探测报文到达网络设备c后,网络设备c无法再继续向网络设备d转发。
56.此时,在预设时间内,网络设备a无法通过副端口接收到链路状态探测报文。如图4中所示实线流程。网络设备a确定rrpp环内存在链路故障,也即是rrpp环处于故障状态。
57.以网络设备d为例进行说明,作为传输节点的网络设备d,在预设时间内,无法通过副端口接收到链路状态探测报文。网络设备d确定rrpp环内存在链路故障。
58.步骤220、通过硬件发送模式,向硬件驱动发送第一通知报文,所述第一通知报文用于使所述硬件驱动确定所述第一环内存在链路故障后,向协议栈上报所述第一环的环路
状态,所述硬件驱动将所述第一环上各节点包括的mac表设置为无效状态并删除所述mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转发所述数据流量,当所述mac表中的mac表项全部删除后,所述硬件驱动将所述mac表设置为有效状态;
59.具体地,根据步骤210的描述,若在预设时间内,第一网络设备未接收到链路状态探测报文,则第一网络设备确定第一环内存在链路故障。
60.此时,第一网络设备通过硬件发送模式,向硬件驱动发送第一通知报文,该第一通知报文包括用于指示第一环内存在链路故障的第一标识。
61.硬件驱动接收到第一通知报文后,从中获取第一标识。根据第一标识,硬件驱动确定第一环内存在链路故障。硬件驱动刷新第一网络设备的mac表。硬件驱动还将第一通知报文转发至协议栈。
62.进一步地,硬件驱动刷新第一网络设备的mac表,具体过程为:
63.硬件驱动先将第一网络设备的mac表设置为无效状态。然后,硬件驱动删除mac表包括的mac表项。当mac表中的mac表项全部删除后,硬件驱动再将mac表设置为有效状态。
64.可以理解的是,硬件驱动删除mac表项后,当第一网络设备接收到数据流量后,由于mac表项已删除,第一网络设备无法为数据流量匹配转发。第一网络设备采用广播方式转发数据流量。
65.在本技术实施例中,向硬件驱动发送第一通知报文可由第一网络设备包括的交换芯片执行。
66.在图4中,以网络设备d为例进行说明。网络设备d确定rrpp环内存在链路故障后,网络设备d包括的交换芯片向硬件驱动发送第一通知报文。硬件驱动接收到第一通知报文后,根据第一标识,确定rrpp环内存在链路故障。硬件驱动先将网络设备d的mac表设置为无效状态。然后,硬件驱动删除mac表包括的mac表项。当mac表中的mac表项全部删除后,硬件驱动再将mac表设置为有效状态。
67.若网络设备d接收到测试仪发出的数据流量,由于网络设备d内mac表已清空,无法为数据流量匹配转发。网络设备d采用广播方式转发数据流量。此时,网络设备d通过自身的副端口(port2)向网络设备a的副端口(port2)转发数据流量。如图4中所示虚线流程。
68.可以理解的是,网络设备d采用广播方式转发数据流量时,也可通过自身的主端口(port1)转发数据流量。但由于网络设备d与网络设备c之间的链路故障,网络设备d的主端口(port1)转发数据流量失败。
69.同理,其他网络设备接收到数据流量后,也可按照前述方式,设置mac表状态、采用广播方式转发数据流量,在此不再复述。
70.网络设备a(网络设备a的副端口在保护vlan下的阻塞状态解除,具体描述请参见步骤230)、网络设备b、网络设备c接收到数据流量后,采用广播方式转发数据流量,测试仪通过port4接收到数据流量,此时,转发数据流量的路径仍为测试仪port3-网络设备d-网络设备a-网络设备b-网络设备c-测试仪port3,如图4中所示虚线流程。
71.步骤230、当所述第一网络设备为主节点时,将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除,以使得所述副端口在保护vlan下的状态为转发状态。
72.具体地,根据步骤220的描述,通过硬件发送模式,第一网络设备向硬件驱动发送第一通知报文后,若第一网络设备为主节点,则第一网络设备还将自身的副端口在保护
网络设备b-网络设备c-网络设备d,如图5中所示实线流程。
85.此时,在预设时间内,各节点均可通过副端口接收到链路状态探测报文。各节点确定rrpp环内链路故障恢复,也即是rrpp环处于健康状态。
86.以网络设备a为例进行说明。网络设备a确定rrpp环内链路故障恢复后,网络设备a包括的交换芯片向硬件驱动发送第二通知报文。硬件驱动接收到第二通知报文后,根据第二标识,确定rrpp环内链路故障恢复。硬件驱动重新学习自身端口的mac表项,并将mac表项存储至mac表中。
87.网络设备a将自身副端口(port2)在保护vlan下的阻塞状态开启,也即是,此时,副端口(port2)无法再接收到网络设备d转发的数据流量。
88.可以理解的是,网络设备a在将自身副端口(port2)在保护vlan下的阻塞状态开启之前,副端口(port2)在保护vlan下为转发状态,此时,转发数据流量的路径仍为测试仪port3-网络设备d-网络设备a-网络设备b-网络设备c-测试仪port3,如图5中所示虚线流程。
89.以网络设备d为例进行说明。网络设备d确定rrpp环内链路故障恢复后,网络设备d包括的交换芯片向硬件驱动发送第二通知报文。硬件驱动接收到第二通知报文后,根据第二标识,确定rrpp环内链路故障恢复。硬件驱动重新学习自身端口的mac表项,并将mac表项存储至mac表中。
90.若网络设备d接收到测试仪发出的数据流量,由于网络设备d已重新学习端口的mac表项,网络设备d可为数据流量匹配转发。网络设备d向网络设备c转发数据流量。网络设备c接收到数据流量后,也为数据流量匹配转发,测试仪通过port4接收到数据流量,此时,转发数据流量的路径为测试仪port3-网络设备d-网络设备c-port4,如图5中所示点横线流程。
91.可选地,在本技术实施例中,还包括第一网络设备设置向硬件驱动上报通知报文的发送模式。
92.具体地,第一网络设备还设置交换芯片向硬件驱动上报第一通知报文、第二通知报文的发送模式为单次发送,也即是,交换芯片仅向硬件驱动上报1次第一通知报文、第二通知报文。
93.通过硬件寄存器,第一网络设备将交换芯片的硬件发送模式设置为单次发送模式(交换芯片上报1次第一通知报文、第二通知报文后,硬件寄存器关掉中断),以使得硬件驱动接收的第一通知报文、第二通知报文的个数为1个。
94.基于同一发明构思,本技术实施例还提供了与环网收敛的处理方法对应的环网收敛的处理装置。参见图6,图6为本技术实施例提供的环网收敛的处理装置,所述装置应用于第一网络设备,所述第一网络设备处于第一环网内的第一环上,所述装置包括:
95.确定单元610,用于若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障;
96.发送单元620,用于通过硬件发送模式,向硬件驱动发送第一通知报文,所述第一通知报文用于使所述硬件驱动确定所述第一环内存在链路故障后,向协议栈上报所述第一环的环路状态,所述硬件驱动将所述第一环上各节点包括的主副端口的mac表设置为无效状态并删除所述mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转
发所述数据流量,当所述mac表中的mac表项全部删除后,所述硬件驱动将所述mac表设置为有效状态;
97.解除单元630,用于当所述第一网络设备为主节点时,将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除,以使得所述副端口在保护vlan下的状态为转发状态。
98.可选地,所述确定单元610还用于,若接收到所述链路状态探测报文,则确定所述第一环内链路故障恢复;
99.所述发送单元620还用于,通过硬件发送模式,向所述硬件驱动发送第二通知报文,所述第二通知报文用于使所述硬件驱动确定所述第一环内链路故障恢复,并向所述协议栈上报所述第一环的环路状态,所述硬件驱动重新学习端口的mac表项,并将所述mac表项存储至所述mac表中;
100.所述装置还包括:开启单元(图中未示出),用于当所述第一网络设备为主节点时,将所述副端口在保护vlan下的阻塞状态开启,以使得所述副端口在保护vlan下的状态为阻塞状态。
101.可选地,所述装置还包括:设置单元(图中未示出),用于通过硬件寄存器,将所述硬件发送模式设置为单次发送模式,以使得所述硬件驱动接收的所述第一通知报文或者所述第二通知报文的个数为1个。
102.可选地,所述发送单元620还用于,当所述第一网络设备为主节点时,通过所述第一网络设备包括的主端口,在所述第一环上发送所述链路状态探测报文,所述链路状态探测报文包括源mac地址字段、目的mac地址字段以及vlan字段,所述源mac地址字段的值为所述主端口的mac地址,所述目的mac地址字段的值为所述副端口的mac地址,所述vlan字段的值为控制vlan的标识;
103.所述装置还包括:判断单元(图中未示出),用于在预设时间内,判断是否通过所述副端口接收到所述链路状态探测报文;
104.所述确定单元610还用于,若在预设时间内,通过所述副端口接收到所述链路状态探测报文,则确定所述第一环内未存在链路故障,并在下一个发送周期,再次通过所述主端口,在所述第一环上发送所述链路状态探测报文。
105.可选地,所述装置还包括:接收单元(图中未示出),用于当所述第一网络设备为传输节点时,通过所述第一网络设备包括的主端口,接收所述主节点发送的所述链路状态探测报文;
106.获取单元(图中未示出),用于根据所述副端口的mac地址,从所述mac表中获取与所述副端口的mac地址匹配的mac表项,所述mac表项包括出接口,所述出接口为所述第一网络设备包括的副端口;
107.所述发送单元620还用于,通过所述副端口,向下一跳网络设备发送所述链路状态探测报文。
108.因此,通过应用本技术提供的环网收敛的处理装置,若在预设时间内,第一网络设备未接收到链路状态探测报文,则第一网络设备确定第一环内存在链路故障;通过硬件发送模式,第一网络设备向硬件驱动发送第一通知报文,第一通知报文用于使硬件驱动确定第一环内存在链路故障后,向协议栈上报第一环的环路状态,硬件驱动将第一环上各节点
包括的mac表设置为无效状态并删除mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转发数据流量,当mac表中的mac表项全部删除后,硬件驱动将mac表设置为有效状态;当第一网络设备为主节点时,第一网络设备将包括的副端口在保护vlan下的阻塞状态解除,以使得副端口在保护vlan下的状态为转发状态。
109.如此,通过硬件技术方式感知链路状态、链路状态上报、收敛环网,解决了现有提供的环网链路状态检测通知机制均为软件技术方案,耗时过长,导致环网收敛性能的瓶颈。本技术实施例提供的硬件技术方案加快了rrpp环网数据流量的收敛速度,提升效果明显,在工业领域具有一定的商业价值
110.基于同一发明构思,本技术实施例还提供了一种网络设备,如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本技术实施例所提供的环网收敛的处理方法。前述图6所示的环网收敛的处理装置,可采用如图7所示的网络设备硬件结构实现。
111.上述计算机可读存储介质730可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。
112.上述处理器710可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
113.本技术实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本技术实施例描述的环网收敛的处理方法。
114.另外,本技术实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本技术实施例描述的环网收敛的处理方法。
115.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
116.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
117.对于环网收敛的处理装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部
分说明即可。
118.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:1.一种环网收敛的处理方法,其特征在于,所述方法应用于第一网络设备,所述第一网络设备处于第一环网内的第一环上,所述方法包括:若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障;通过硬件发送模式,向硬件驱动发送第一通知报文,所述第一通知报文用于使所述硬件驱动确定所述第一环内存在链路故障后,向协议栈上报所述第一环的环路状态,所述硬件驱动将所述第一环上各节点包括的mac表设置为无效状态并删除所述mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转发所述数据流量,当所述mac表中的mac表项全部删除后,所述硬件驱动将所述mac表设置为有效状态;当所述第一网络设备为主节点时,将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除,以使得所述副端口在保护vlan下的状态为转发状态。2.根据权利要求1所述的方法,其特征在于,所述将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除之后,所述方法还包括:若接收到所述链路状态探测报文,则确定所述第一环内链路故障恢复;通过硬件发送模式,向所述硬件驱动发送第二通知报文,所述第二通知报文用于使所述硬件驱动确定所述第一环内链路故障恢复,并向所述协议栈上报所述第一环的环路状态,所述硬件驱动重新学习端口的mac表项,并将所述mac表项存储至所述mac表中;当所述第一网络设备为主节点时,将所述副端口在保护vlan下的阻塞状态开启,以使得所述副端口在保护vlan下的状态为阻塞状态。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:通过硬件寄存器,将所述硬件发送模式设置为单次发送模式,以使得所述硬件驱动接收的所述第一通知报文或者所述第二通知报文的个数为1个。4.根据权利要求1所述的方法,其特征在于,所述若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障之前,所述方法还包括:当所述第一网络设备为主节点时,通过所述第一网络设备包括的主端口,在所述第一环上发送所述链路状态探测报文,所述链路状态探测报文包括源mac地址字段、目的mac地址字段以及vlan字段,所述源mac地址字段的值为所述主端口的mac地址,所述目的mac地址字段的值为所述副端口的mac地址,所述vlan字段的值为控制vlan的标识;在预设时间内,判断是否通过所述副端口接收到所述链路状态探测报文;若在预设时间内,通过所述副端口接收到所述链路状态探测报文,则确定所述第一环内未存在链路故障,并在下一个发送周期,再次通过所述主端口,在所述第一环上发送所述链路状态探测报文。5.根据权利要求4所述的方法,其特征在于,所述若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障之前,所述方法还包括:当所述第一网络设备为传输节点时,通过所述第一网络设备包括的主端口,接收所述主节点发送的所述链路状态探测报文;根据所述副端口的mac地址,从所述mac表中获取与所述副端口的mac地址匹配的mac表项,所述mac表项包括出接口,所述出接口为所述第一网络设备包括的副端口;通过所述副端口,向下一跳网络设备转发所述链路状态探测报文。6.一种环网收敛的处理装置,其特征在于,所述装置应用于第一网络设备,所述第一网
络设备处于第一环网内的第一环上,所述装置包括:确定单元,用于若在预设时间内,未接收到链路状态探测报文,则确定所述第一环内存在链路故障;发送单元,用于通过硬件发送模式,向硬件驱动发送第一通知报文,所述第一通知报文用于使所述硬件驱动确定所述第一环内存在链路故障后,向协议栈上报所述第一环的环路状态,所述硬件驱动将所述第一环上各节点包括的主副端口的mac表设置为无效状态并删除所述mac表包括的mac表项,以使得各节点接收到数据流量后,按照广播方式转发所述数据流量,当所述mac表中的mac表项全部删除后,所述硬件驱动将所述mac表设置为有效状态;解除单元,用于当所述第一网络设备为主节点时,将所述第一网络设备包括的副端口在保护vlan下的阻塞状态解除,以使得所述副端口在保护vlan下的状态为转发状态。7.根据权利要求6所述的装置,其特征在于,所述确定单元还用于,若接收到所述链路状态探测报文,则确定所述第一环内链路故障恢复;所述发送单元还用于,通过硬件发送模式,向所述硬件驱动发送第二通知报文,所述第二通知报文用于使所述硬件驱动确定所述第一环内链路故障恢复,并向所述协议栈上报所述第一环的环路状态,所述硬件驱动重新学习端口的mac表项,并将所述mac表项存储至所述mac表中;所述装置还包括:开启单元,用于当所述第一网络设备为主节点时,将所述副端口在保护vlan下的阻塞状态开启,以使得所述副端口在保护vlan下的状态为阻塞状态。8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:设置单元,用于通过硬件寄存器,将所述硬件发送模式设置为单次发送模式,以使得所述硬件驱动接收的所述第一通知报文或者所述第二通知报文的个数为1个。9.根据权利要求6所述的装置,其特征在于,所述发送单元还用于,当所述第一网络设备为主节点时,通过所述第一网络设备包括的主端口,在所述第一环上发送所述链路状态探测报文,所述链路状态探测报文包括源mac地址字段、目的mac地址字段以及vlan字段,所述源mac地址字段的值为所述主端口的mac地址,所述目的mac地址字段的值为所述副端口的mac地址,所述vlan字段的值为控制vlan的标识;所述装置还包括:判断单元,用于在预设时间内,判断是否通过所述副端口接收到所述链路状态探测报文;所述确定单元还用于,若在预设时间内,通过所述副端口接收到所述链路状态探测报文,则确定所述第一环内未存在链路故障,并在下一个发送周期,再次通过所述主端口,在所述第一环上发送所述链路状态探测报文。10.根据权利要求9所述的装置,其特征在于,所述装置还包括:接收单元,用于当所述第一网络设备为传输节点时,通过所述第一网络设备包括的主端口,接收所述主节点发送的所述链路状态探测报文;获取单元,用于根据所述副端口的mac地址,从所述mac表中获取与所述副端口的mac地址匹配的mac表项,所述mac表项包括出接口,所述出接口为所述第一网络设备包括的副端口;所述发送单元还用于,通过所述副端口,向下一跳网络设备发送所述链路状态探测报文。
技术总结本申请提供一种环网收敛的处理方法及装置,该方法包括:若在预设时间内,未接收到链路状态探测报文,则确定第一环内存在链路故障;通过硬件发送模式,向硬件驱动发送第一通知报文,该第一通知报文用于使硬件驱动确定第一环内存在链路故障后,向协议栈上报第一环的环路状态,硬件驱动将第一环上各节点包括的主副端口的MAC表设置为无效状态并删除MAC表包括的MAC表项,当MAC表中的MAC表项全部删除后,硬件驱动将所述MAC表设置为有效状态;当第一网络设备为主节点时,将第一网络设备包括的副端口在保护VLAN下的阻塞状态解除,以使得副端口在保护VLAN下的状态为转发状态。保护VLAN下的状态为转发状态。保护VLAN下的状态为转发状态。
技术研发人员:杨波 梁学伟 吕晓航
受保护的技术使用者:新华三技术有限公司合肥分公司
技术研发日:2022.03.15
技术公布日:2022/7/5