CN112187646A - 报文表项处理方法及装置 - Google Patents
报文表项处理方法及装置 Download PDFInfo
- Publication number
- CN112187646A CN112187646A CN202011025566.1A CN202011025566A CN112187646A CN 112187646 A CN112187646 A CN 112187646A CN 202011025566 A CN202011025566 A CN 202011025566A CN 112187646 A CN112187646 A CN 112187646A
- Authority
- CN
- China
- Prior art keywords
- node
- ring network
- topology information
- port
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/437—Ring fault isolation or reconfiguration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种报文表项处理方法及装置。在本申请中,基于在环网正常、故障及恢复时分别通过获取节点拓扑信息、故障信息及主节点生成的环网恢复信息,以使环网上所有节点可以各自根据本地获取的节点拓扑信息、故障信息及环网恢复信息得到与环网正常、故障及恢复时对应的环网拓扑信息,并基于该环网拓扑信息快速更新本地转发表项,从而在环网故障产生和环网故障恢复时,避免了删除本地转发表项再学习生成的过程,实现了数据流量的快速切换。
Description
技术领域
本申请涉及网络技术领域,尤其涉及报文表项处理方法、装置、网络设备及机器可读存储介质。
背景技术
以太网是目前应用最广泛的局域网技术,它具有简便,经济和高数据速率等特点。近年来更是迅速向广域网和城域网技术发展。电信级以太网要求网络自愈时间在50ms以内。因此,如何提高以太网技术的可靠性成为人们关注的焦点。由此业界先后研究及开发了多种环网协议,比如:常用的环网协议包括MSTP(Multiple Spanning Tree Protocol,多生成树协议)、RRPP(Rapid Ring Protection Protocol,快速环网保护协议)、ERPS(EthernetRing Protection Switching,以太环网保护倒换)。随着环网上的节点数增多,在环网产生故障和故障恢复时,MSTP协议的网络自愈性能较差。因此,基于RRPP协议或ERPS协议构建的环网更为广泛。
发明内容
本申请提供一种报文表项处理方法,所述方法应用于环网上的节点,所述方法包括:
当所述环网正常时,若本节点为所述环网的主节点,则将已获得的至少一个节点在所述环网的节点拓扑信息通过本地转发端口发送;若本节点为所述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在所述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在所述环网上的节点拓扑信息一起通过另一转发端口转发;
当本节点在所述环网上的一转发端口故障导致所述环网故障时,通过本节点在所述环网上的另一非故障转发端口转发故障信息,所述故障信息至少包括:故障端口,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项。
可选的,所述节点拓扑信息包括节点在所述环网上所属的控制VLAN、节点对应在所述控制VLAN的VLAN虚接口IP地址及MAC地址、节点在所述环网上的转发端口及其端口状态。
可选的,还包括:
当所述环网故障恢复时,若本节点为所述环网的主节点,则根据本节点存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息,通过本节点在所述环网上的转发端口转发环网恢复信息,所述环网恢复信息至少包括:端口状态被置为正常的所有节点端口;若本节点为所述环网的传输节点,在本节点通过转发端口接收到环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
可选的,所述根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项,包括:
根据所述故障端口和已存储的节点拓扑信息,确定所述环网故障时的环网拓扑信息;
根据确定的所述环网故障时的环网拓扑信息,更新本地转发表项。
可选的,所述根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项,包括:
根据所有节点端口和已存储的节点拓扑信息,确定所述环网故障恢复时的环网拓扑信息;
根据确定的所述环网故障恢复时的环网拓扑信息,更新本地转发表项。
可选的,所述转发表项包括二层转发表项、与二层转发表项对应的三层转发表项,所述更新本地转发表项,包括:
更新本地二层转发表项;
根据本地更新的二层转发表项,更新对应的本地三层转发表项。
本申请还提供一种报文表项处理装置,所述装置应用于环网上的节点,所述装置包括:
第一处理模块,用于当所述环网正常时,若本节点为所述环网的主节点,则将已获得的至少一个节点在所述环网的节点拓扑信息通过本地转发端口发送;若本节点为所述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在所述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在所述环网上的节点拓扑信息一起通过另一转发端口转发;
第二处理模块,用于当本节点在所述环网上的一转发端口故障导致所述环网故障时,通过本节点在所述环网上的另一非故障转发端口转发故障信息,所述故障信息至少包括:故障端口,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项。
可选的,所述节点拓扑信息包括节点在所述环网上所属的控制VLAN、节点对应在所述控制VLAN的VLAN虚接口IP地址及MAC地址、节点在所述环网上的转发端口及其端口状态。
可选的,还包括:
第三处理模块,用于当所述环网故障恢复时,若本节点为所述环网的主节点,则根据本节点存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息,通过本节点在所述环网上的转发端口转发环网恢复信息,所述环网恢复信息至少包括:端口状态被置为正常的所有节点端口;若本节点为所述环网的传输节点,在本节点通过转发端口接收到环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
可选的,在根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项过程中,所述第二处理模块进一步:
根据所述故障端口和已存储的节点拓扑信息,确定所述环网故障时的环网拓扑信息;
根据确定的所述环网故障时的环网拓扑信息,更新本地转发表项。
可选的,在根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项过程中,所述第三处理模块进一步:
根据所有节点端口和已存储的节点拓扑信息,确定所述环网故障恢复时的环网拓扑信息;
根据确定的所述环网故障恢复时的环网拓扑信息,更新本地转发表项。
可选的,所述第一处理模块、所述第二处理模块、所述第三处理模块各自包括更新子模块,所述转发表项包括二层转发表项、与二层转发表项对应的三层转发表项,在更新本地转发表项过程中,所述更新子模块进一步:
更新本地二层转发表项;
根据本地更新的二层转发表项,更新对应的本地三层转发表项。
本申请还提供一种网络设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,基于在环网正常、故障及恢复时分别通过获取节点拓扑信息、故障信息及主节点生成的环网恢复信息,以使环网上所有节点可以各自根据本地获取的节点拓扑信息、故障信息及环网恢复信息得到与环网正常、故障及恢复时对应的环网拓扑信息,并基于该环网拓扑信息快速更新本地转发表项,从而在环网故障产生和环网故障恢复时,避免了删除本地转发表项再学习生成的过程,实现了数据流量的快速切换。
附图说明
图1是一示例性实施例提供的一种环网的组网示意图;
图2是一示例性实施例提供的一种报文表项处理方法的流程图;
图3是一示例性实施例提供的一种RRPP环网的节点拓扑信息收集的过程示意图;
图4是一示例性实施例提供的另一种RRPP环网的节点拓扑信息收集的过程示意图;
图5是一示例性实施例提供的一种RRPP环网的链路故障上报的过程示意图;
图6是一示例性实施例提供的一种RRPP环网的环网恢复的过程示意图;
图7是一示例性实施例提供的一种网络设备的硬件结构图;
图8是一示例性实施例提供的一种报文表项处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的报文表项处理的相关技术,进行简要说明。
请参见图1,图1是本申请一实施例提供的一种环网的组网示意图。
如图1所示,4个网络设备(S1、S2、S3、S4)组成环网;其中,S1作为环网的主节点,Port2为主节点的主端口,Port1为主节点的副端口;S2、S3、S4为环网的传输节点,每个传输节点各自有一对转发端口(比如:S2的Port3、Port4,S3的Port5、Port6,S4的Port7、Port8)。
如图1所示,4个位于不同VLAN(Virtual Local Area Network,虚拟局域网)的接入网络设备(位于VLAN 11的H1、位于VLAN 12的H2、位于VLAN 13的H3、位于VLAN 14的H4)分别通过三层方式接入至该环网。
例如,如图1所示,H1(在VLAN11下的虚接口IP地址为11.1.1.2)通过端口10与S1的端口9相连,并且端口9、10都已加入至VLAN 11中,S1在VLAN 11下的虚接口IP地址为11.1.1.1,H1将S1的在VLAN 11下的虚接口IP地址为11.1.1.1作为网关。H2、H3、H4接入该环网方式与H1类似,请参照图1所示的H1连接方式及描述,这里不再赘述。
如图1所示,该环网的控制VLAN为VLAN 100,也即,该环网的环网协议(比如:RRPP、ERPS)报文在VLAN 100中进行转发,在环网正常时,环网协议报文沿如图1所示的虚线圆弧箭头所示的路径(S1的端口Port2->S2的端口Port3->S2的端口Port4->S3的端口Port5->S3的端口Port6->点S4的端口Port7->S4的端口Port8->S1的端口Port2)进行转发。
如图1所示,该环网的数据VLAN包括VLAN11、VLAN12、VLAN13、VLAN14;其中,H1/H2/H3/H4之间的通信的数据报文需要通过S1/S2/S3/S4构建的环网进行跨VLAN转发,而该环网也被称为三层环网。
如图1所示的带“B”圆圈,表示主节点S1的端口Port1处于阻塞(Block)状态,针对在数据VLAN中的转发报文,无法经端口Port1在环网中转发,避免形成环路。需要说明的是,图1中的处于阻塞状态端口Port1仅为示例,在环网协议为RRPP时,处于阻塞状态端口Port1与图1所示状态相同;在环网协议为ERPS时,处于阻塞状态端口Port1与图1所示状态相同,并且与主节点S1的相邻节点S4的端口Port8同时也处于阻塞状态。
通常,环网的协议报文在环网的控制VLAN 100中转发时,S1/S2/S3/S4本地各自将基于MAC(Media Access Control,介质访问控制)地址学习生成与该协议报文相关的MAC表项,以及基于ARP(Address Resolution Protocol,地址解析协议)协议生成与该MAC表项相关的ARP表项。
以S1为例,在环网正常时,VLAN 100上生成的MAC表项,如下所示:
0000-0000-000B VLAN 100Port2
0000-0000-000C VLAN 100Port2
0000-0000-000D VLAN 100Port2
VLAN 100上生成的ARP表项,如下所示:
100.1.1.2 0000-0000-000B vlan 100Port2
100.1.1.3 0000-0000-000C vlan 100Port2
100.1.1.4 0000-0000-000D vlan 100Port2
在一些场景下,以如图1所示的环网协议为RRPP协议为例,当环网链路故障产生时,比如:当S2和S3之间的链路中断时,S2和S3将会发送Link-Down协议报文(链路Down协议报文,一种RRPP协议报文)给主节点S1;主节点S1收到该Link-Down协议报文后,会将副端口Port1从阻塞状态变成转发状态,并发送Common-Flush-FDB协议报文(一种RRPP协议报文)给环上其它节点,通知环上其它节点将环上VLAN 100的MAC表项删除,再重新学习MAC表项,然后更新环上VLAN 100的ARP表项。
在另一些场景下,当RRPP链路故障恢复时,比如:当S2和S3之间的链路恢复连接时,Port4和Port5先处于临时阻塞状态,当主节点S1的副端口能收到主端口Port1发送的hello协议报文(一种RRPP协议报文),将Port1从转发状态变成阻塞状态,发送Complete-Flush-FDB协议报文(一种RRPP协议报文)给环上其它节点;在S2和S3收到该Complete-Flush-FDB协议报文后,将Port4和Port5从临时阻塞状态设置为转发状态;同时,所有节点将各自保存的环上VLAN 100的MAC表项删除,再重新学习MAC表项,然后更新环上VLAN 100的ARP表项。
基于以上场景可见,在RRPP环网的故障产生和故障恢复时,都是等主节点感知到故障产生和故障恢复后,由主节点发送Common-Flush-FDB协议报文或Complete-Flush-FDB协议报文至环上的其它节点,触发所有节点先将环上VLAN 100的MAC表项删除,再重新学习MAC表项,然后再更新VLAN100的ARP表项。由此导致在环网故障产生和环网故障恢复时的环网状态切换比较慢,从而影响了数据流量的切换。
在环网协议为ERPS协议时,存在与RRPP协议上述场景的类似问题。
例如,在一些场景下,以如图1所示的环网协议为ERPS协议为例,当环网链路故障产生时,比如:当S2和S3之间的链路中断时,S2和S3将会发送SF(Signal Fail,信号失败)协议报文(一种ERPS协议报文)给其它节点;在主节点S1和邻居节点S4收到该SF协议报文后,分别会将RPL链路(Ring Protection Link,环保护链路)两端的RPL端口(Port1、Port8)从阻塞状态变成转发状态;同时,环上所有节点将各自保存的环上VLAN 100的MAC表项删除,再重新学习MAC表项,然后更新环上VLAN 100的ARP表项。
在另一些场景下,以如图1所示的环网协议为ERPS协议为例,当ERPS链路故障恢复时,比如:当S2和S3之间的链路恢复连接时,Port4和Port5先处于临时阻塞状态,S2和S3分别发送NR(No Request,链路恢复)协议报文(一种ERPS协议报文);主节点S1收到该NR协议报文后,启动一个等待定时器,如果在定时器在超时前没有收到SF协议报文,将Port1从转发状态改成阻塞状态,主节点S1发送(NR,RB)(No Request,RPL Block,链路恢复,RPL阻塞)协议报文(一种ERPS协议报文)给环上其它节点;S2和设备S3收到该(NR,RB)协议报文后分别将Port4和Port5从临时阻塞状态设置为转发状态,邻居节点S4收到该(NR,RB)协议报文后将Port8从转发状态设置为阻塞状态;同时,所有节点将各自保存的环上VLAN 100的MAC表项删除,再重新学习MAC表项,然后更新环上VLAN 100的ARP表项。
基于以上场景可见,在ERPS环网的故障产生和故障恢复时,也是等主节点感知到故障产生和故障恢复后,由主节点发送(NR,RB)协议报文至环上的其它节点,触发所有节点先将环上VLAN 100的MAC表项删除,再重新学习MAC表项,然后再更新VLAN 100的ARP表项。由此导致在环网故障产生和环网故障恢复时的环网状态切换比较慢,从而影响了数据流量的切换。
基于此,在如图1所示的环网的组网架构基础上,本申请旨在提出一种,通过收集节点拓扑信息和故障信息,快速更新节点本地转发表项的技术方案。
在实现时,当环网正常时,若本节点为环网的主节点,则将已获得的至少一个节点在环网的节点拓扑信息通过本地转发端口发送;若本节点为环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在环网上的节点拓扑信息一起通过另一转发端口转发。
进一步地,当本节点在环网上的一转发端口故障导致环网故障时,通过本节点在环网上的另一非故障转发端口转发故障信息,故障信息至少包括:故障端口,根据故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据故障端口以及已存储的节点拓扑信息更新本地转发表项。
进一步地,当环网故障恢复时,若本节点为环网的主节点,则更新本地转发表项并生成环网恢复信息,通过本节点在环网上的转发端口转发环网恢复信息,环网恢复信息至少包括:端口状态被置为正常的所有节点端口;若本节点为环网的传输节点,在本节点通过转发端口接收到环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
在以上方案中,基于在环网正常、故障及恢复时分别通过获取节点拓扑信息、故障信息及主节点生成的环网恢复信息,以使环网上所有节点可以各自根据本地获取的节点拓扑信息、故障信息及环网恢复信息得到与环网正常、故障及恢复时对应的环网拓扑信息,并基于该环网拓扑信息快速更新本地转发表项,从而在环网故障产生和环网故障恢复时,避免了删除本地转发表项再学习生成的过程,实现了数据流量的快速切换。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本申请一实施例提供的一种报文表项处理方法的流程图,该方法应用于环网上的节点;上述方法执行以下步骤:
步骤202、当上述环网正常时,若本节点为上述环网的主节点,则将已获得的至少一个节点在上述环网的节点拓扑信息通过本地转发端口发送;若本节点为上述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在上述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在上述环网上的节点拓扑信息一起通过另一转发端口转发。
步骤204、当本节点在上述环网上的一转发端口故障导致上述环网故障时,通过本节点在上述环网上的另一非故障转发端口转发故障信息,上述故障信息至少包括:故障端口,根据上述故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据上述故障端口以及已存储的节点拓扑信息更新本地转发表项。
在本说明书中,上述环网,可以包括二层环网或三层环网。
其中,二层环网,是指环网中的数据流量通过OSI(Open System InterconnectionReference Model,开放式系统互联通信参考模型)中或TCP/IP模型中的二层网络协议进行转发的环网;
三层环网,是指环网中的数据流量通过OSI中或TCP/IP模型中的三层网络协议进行转发的环网。例如,当上述环网为三层环网时,该环网的组网架构,请参见图1所示,具体请参见前文描述,这里不再赘述。
在本说明书中,上述环网,可以为包括任何基于公有环网协议或私有环网协议构建的环网。
例如,上述环网具体可以为基于RRPP环网协议构建的RRPP环网。又例如,上述环网还可以为基于ERPS环网协议构建的ERPS环网。
在本说明书中,上述节点,可以包括上述环网中的任何一个节点。例如,上述节点可以为上述环网的主节点,也可以为上述环网的传输节点。
在本说明书中,上述主节点,是指上述环网中的用于控制环网形成环路的节点。例如,以上述环网为RRPP环网为例,上述主节点可以具体为RRPP环网中的主节点。又例如,以上述环网为ERPS环网为例,上述主节点可以具体为ERPS环网中的主节点(通常也被称为Owner节点)。
在本说明书中,上述传输节点,包括上述环网中的除上述主节点外的其它节点。例如,以上述环网为RRPP环网为例,上述传输节点具体可以包括RRPP环网中的传输节点。又例如,以上述环网为ERPS环网为例,上述主节点具体可以为ERPS环网中的普通节点(通常也被称为Normal节点)或邻居节点(通常也被称为Neighbor节点)。
在本说明书中,上述节点拓扑信息,是指上述节点在上述环网的控制VLAN中的拓扑信息。
在示出的一种实施方式中,上述节点拓扑信息可以包括节点在上述环网上所属的控制VLAN、节点对应在上述控制VLAN的VLAN虚接口IP地址及MAC地址、节点在上述环网上的转发端口及其端口状态。
例如,以图1所示的环网为例,主节点S1的节点拓扑信息具体可以包括VLAN 100(控制VLAN)、100.1.1.1(VLAN虚接口IP地址)、0000-0000-000A(MAC地址)、Port1-Block(转发端口及其端口状态),Port2-Forward(转发端口及其端口状态)。
需要说明的是,由于节点在环网中的节点角色不同,节点的转发端口及其端口状态根据环网协议的协议定义具有不同的转发状态。
例如,以主节点为例,当如图1所示的主节点S1的转发端口及其端口状态为Port1-Block,Port2-Forward时,Port1-Block表示端口Port1的端口状态为Block状态(阻塞状态),Port2-Forward表示端口Port2的端口状态为Forward状态(转发状态)。
又例如,以传输节点为例,当如图1所示的传输节点S2的转发端口及其端口状态为Port3-Forward,Port4-Forward时,Port3-Forward表示端口Port3的端口状态为Forward状态(转发状态),Port4-Forward表示端口Port4的端口状态为Forward状态(转发状态)。当如图1所示的传输节点S3的转发端口及其端口状态为Port5-Forward,Port6-Forward时,Port5-Forward表示端口Port5的端口状态为Forward状态(转发状态),Port6-Forward表示端口Port6的端口状态为Forward状态(转发状态)。当传输节点S2和传输节点S3之间的链路中断时,该链路两端的端口Port4和Port5的端口状态为Error状态(错误状态),也即,Port4-Error,Port5-Error。
在本说明书中,上述转发表项,是指上述环网的各个节点本地保存的转发表项;
其中,上述转发表项包括二层转发表项、与二层转发表项对应的三层转发表项。例如,在实际应用中,二层转发表项具体可以包括MAC表项。三层转发表项具体可以包括ARP表项(IPv4协议)、ND(Neighbor Discovery,邻居发现)表项(IPv6协议)。
在本说明书中,当上述环网正常时,若本节点为上述环网的主节点,则将已获得的至少一个节点在上述环网的节点拓扑信息通过本地转发端口发送。
在示出的一种实施方式中,在上述环网为RRPP环网时,当RRPP环网正常时,RRPP环网的主节点,将已获得的至少一个节点在RRPP环网的节点拓扑信息通过本地转发端口发送。
在实现时,对于RRPP三层环网,可以新增一种节点拓扑信息收集的RRPP协议报文,该RRPP协议报文具体可以包括RRPP报文头和待收集的节点拓扑信息;其中,在该RRPP报文头中指示RRPP报文类型的RRPPTYPE字段中新增一种报文类型的枚举值,使用该枚举值来指示节点拓扑信息收集的RRPP协议报文;待收集的节点拓扑信息,具体可以携带或保存在RRPP报文头之后的RESERVED字段中。
类似地,对于ERPS三层环网,可以新增一种节点拓扑信息收集的ERPS协议报文,该ERPS协议报文具体可以包括ERPS报文头和待收集的节点拓扑信息;其中,在该ERPS报文头中指示ERPS报文类型的Request/State字段中新增一种报文类型的枚举值,使用该枚举值来指示节点拓扑信息收集的ERPS协议报文;待收集的节点拓扑信息,具体可以携带或保存在ERPS报文头之后的RESERVED2字段中。
请参见图3,图3是本申请一实施例提供的一种RRPP环网的节点拓扑信息收集的过程示意图。
图3基于图1变化而来,图3与图1的组网架构相同(为了方便画图展示图1中的H1、H2、H3、H4在图3中被省略未画出),图3与图1的主要区别在于:在图3中,环网具体为RRPP环网,新增了一种节点拓扑信息收集报文,以及展示了节点拓扑信息收集报文在RRPP环网中的发送和转发的过程。
如图3所示,当RRPP环网正常时,主节点S1将节点拓扑信息收集的RRPP协议报文通过本地转发端口Port2(主端口)发送至传输节点S2的端口Port3;其中,该报文的报文内容包括RRPP报文头和主节点的节点拓扑信息,主节点的节点拓扑信息包括“100.1.1.1 0000-0000-000A 100 Port1-Block Port2-Forward”。
在本说明书中,当上述环网正常时,若本节点为上述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在上述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在上述环网上的节点拓扑信息一起通过另一转发端口转发。
例如,以上述环网为RRPP环网为例,请参见图3所示,当RRPP环网正常时,在传输节点S2在本地一转发端口Port3接收到携带了主节点拓扑信息的节点拓扑信息收集报文时,保存接收的主节点的节点拓扑信息,并检测该节点拓扑信息收集报文是否包括本节点在RRPP环网上的节点拓扑信息(100.1.1.20000-0000-000B Port3-Forward Port4-Forward),在接收到的节点拓扑信息收集报文中的节点拓扑信息不包括S2节点在RRPP环网上的节点拓扑信息时,将接收的主节点S1的节点拓扑信息(100.1.1.1 0000-0000-000APort1-Block Port2-Forward)以及传输节点S2在RRPP环网上的节点拓扑信息(100.1.1.20000-0000-000B Port3-Forward Port4-Forward)一起通过另一转发端口Port4转发出。
依次类推,传输节点S3在Port5端口接收到转发入的节点拓扑信息收集报文,将本节点在RRPP环网上的节点拓扑信息(100.1.1.3 0000-0000-000C Port5-Forward Port5-Forward)增加至该节点拓扑信息收集报文中,并将该节点拓扑信息收集报文通过另一转发端口Port6转发出;传输节点S4在Port7端口接收到转发入的节点拓扑信息收集报文,将本节点在RRPP环网上的节点拓扑信息(100.1.1.4 0000-0000-000D Port7-Forward Port8-Forward)增加至该节点拓扑信息收集报文中,并将该节点拓扑信息收集报文通过另一转发端口Port8转发出。
如图3所示,主节点S1在Port2端口(主节点的副端口,该端口为阻塞状态)接收到转发入的节点拓扑信息收集报文,此时,该节点拓扑信息收集报文的报文内容具体包括:
RRPP报文头
100.1.1.1 0000-0000-000A 100Port1-Block Port2-Forward
100.1.1.2 0000-0000-000B 100Port3-Forward Port4-Forward
100.1.1.3 0000-0000-000C 100Port5-Forward Port6-Forward
100.1.1.4 0000-0000-000D 100Port7-Forward Port8-Forward
在示出的一种实施方式中,当上述环网正常时,在上述环网中的主节点接收到上述环网中的所有节点的节点拓扑信息后,主节点可以按照预设时间周期,定期将上述环网中的所有节点的节点拓扑信息在上述环网中周期性地发送。
请参见图4,图4是本申请一实施例提供的另一种RRPP环网的节点拓扑信息收集的过程示意图。
图4基于图3变化而来,图4与图3的组网架构相同,图4与图3的主要区别在于:在图4中,主节点S1将已收集的RRPP环网中的所有节点的节点拓扑信息,以节点拓扑信息收集报文的方式在RRPP环网中周期地转发。
在示出的一种实施方式中,当上述环网正常时,上述环网的传输节点在本地一转发端口接收到上述环网中所有节点的拓扑信息后,针对本节点的拓扑信息检查是否正确并修正保存,将包括经本节点检查及修正后的本节点的拓扑信息的所有节点的拓扑信息通过另一转发端口转发。
例如,请参见图4,在传输节点S2从端口Port4接收到主节点S1发送的携带RRPP环网中的所有节点的节点拓扑信息的节点拓扑信息收集报文后,针对本节点S2的拓扑信息(100.1.1.2 0000-0000-000B 100 Port3-Forward Port4-Forward)检查是否正确,如果S2的节点拓扑信息存在错误则进行修正保存;将包括经本节点S2检查及修正后的S2节点的拓扑信息的所有节点的拓扑信息通过另一转发端口Port4转发出。针对其它传输节点S3、S4依次类推,具体过程不再赘述。
需要说明的是,以上描述的示例主要针对环网为正常时的情况。在环网为故障时的情况与对环网为正常时的情况类似,主要区别在于:在节点拓扑信息收集时,环网的故障节点(比如:端口故障的主节点、端口故障的一个或多个传输节点)可以通过非故障端口进行转发,具体过程不再赘述。
请参见图5,图5是本申请一实施例提供的一种RRPP环网的链路故障上报的过程示意图。
图5基于图4变化而来,图5与图4的组网架构相同,图5与图4的主要区别在于:在图5中,传输节点S2和传输节点S3之间的链路发生故障(如图5中所示的“X”),也即,传输节点S2的端口Port4和传输节点S3的端口Port5无法进行转发,端口Port4和端口Port5的端口状态都为故障(比如,可以使用Error来表示端口故障状态)。另外,在图5中新增了一种改进的链路故障通知报文,以及展示了链路故障通知报文在RRPP环网中的发送和转发的过程。
在本说明书中,当本节点在上述环网上的一转发端口故障导致上述环网故障时,通过本节点在上述环网上的另一非故障转发端口转发故障信息,上述故障信息至少包括:故障端口。
在实现时,对于RRPP三层环网,可以针对Link-Down协议报文进行改进,该改进后的Link-Down协议报文具体可以包括RRPP报文类型为Link-Down的RRPP报文头和故障信息,故障信息具体可以携带在Link-Down报文头之后的RESERVED字段中;其中,该故障信息至少包括:故障端口。当然在实际应用中,上述故障信息也可以为包括故障端口所在的节点的节点拓扑信息。
类似地,对于ERPS三层环网,可以针对SF协议报文或者MS(Manual Switch,手工倒换)协议报文、FS(Forced Switch,强制倒换)协议报文进行改进。以针对SF协议报文为例,该改进后的SF协议报文具体可以包括ERPS报文类型为SF的ERPS报文头和故障信息,故障信息具体可以携带在SF报文头之后的RESERVED 2字段中;其中,该故障信息至少包括:故障端口。当然在实际应用中,上述故障信息还可以包括故障端口所在的节点的节点拓扑信息。针对MS协议报文、FS协议报文的改进与SF协议报文的改进类似,这里不再赘述。
为了方便理解,以上述环网为RRPP环网为例,请参见图5所示,传输节点S2和传输节点S3之间的链路发生故障时,也即,S2的端口Port4和S3的端口Port5都为故障状态,则S2节点通过在RRPP环网上的另一非故障转发端口Port3转发携带了故障信息的链路故障通知报文(也即,前文描述的改进后的Link-Down协议报文),该故障信息至少包括:故障端口Port4,当然该故障信息还以包括如图5所示的S2的节点拓扑信息(100.1.1.2 0000-0000-000B Port3-Forward Port4-Error);S3节点通过在RRPP环网上的另一非故障转发端口Port6转发携带了故障信息的链路故障通知报文(也即,前文描述的改进后的Link-Down协议报文),该故障信息至少包括:故障端口Port5,当然该故障信息还以包括如图5所示的S3的节点拓扑信息(100.1.1.3 0000-0000-000C Port5-Error Port6-Forward)。
如图5所示,由S2节点发出携带了S2的节点拓扑信息的链路故障通知报文,在如图5所示的RRPP环网内侧展示,该链路故障通知报文的转发路径S2->S1->S4->S3。
如图5所示,由S3节点发出携带了S3的节点拓扑信息的链路故障通知报文,在如图5所示的RRPP环网外侧展示,该链路故障通知报文的转发路径S3->S4->S1->S2。
在本说明书中,在上述环网中发出上述故障信息的节点,可以根据上述故障信息中的故障端口以及已存储的节点拓扑信息更新本地转发表项。
例如,请参见图5,S2可以根据故障信息中的故障端口(Port4-Error)以及已存储的节点拓扑信息(已存储的RRPP环网正常时的所有节点的节点拓扑信息)更新本地转发表项。S3可以根据故障信息中的故障端口(Port5-Error)以及已存储的节点拓扑信息(RRPP环网正常时的已存储的所有节点的节点拓扑信息)更新本地转发表项。
在本说明书中,在上述环网中的接收到上述故障信息的节点,可以通过转发端口接收上述故障信息,并获取到上述故障信息中的故障端口,根据上述故障信息中的故障端口以及已存储的节点拓扑信息更新本地转发表项。
例如,请参见图5,在RRPP环网中的接收到故障信息(包括Port4-Error的S2的节点拓扑信息)的节点(S1、S4、S3),可以分别根据故障信息中的故障端口(Port4-Error)以及已存储的节点拓扑信息(已存储的RRPP环网正常时的所有节点的节点拓扑信息)更新本地转发表项。在RRPP环网中的接收到故障信息(包括Port5-Error的S3的节点拓扑信息)的节点(S4、S1、S2),可以分别根据故障信息中的故障端口(Port5-Error)以及已存储的节点拓扑信息(已存储的RRPP环网正常时的所有节点的节点拓扑信息)更新本地转发表项。
在本说明书中,在上述环网中的主节点接收到上述故障信息后,会立即将上述环网中的主节点的副端口的状态从阻塞状态设置为转发状态。
例如,请参见图5,在S1接收到S2或S3发送的故障信息后,会立即将环网中的主节点的副端口Port1的状态从阻塞状态(如图4中所示的带“B”圆圈)设置为转发状态(如图5中所示的Port1已不带“B”圆圈)。
需要说明的是,图5仅示出了两个传输节点之间的链路发生故障的场景,实际还可能存在以下多种场景中一种或组合:多个传输节点之间的链路发生故障、主节点和相邻的传输节点之间的链路发生故障,以及一个或多个传输节点宕机等故障场景。以上多种故障场景的过程,与图5示出的情况类似,具体不再赘述。
在本说明书中,在上述环网故障后,上述环网的主节点及传输节点各自在本地根据上述故障信息中的故障端口以及已存储的节点拓扑信息,更新本地转发表项。
例如,以图5所示的故障场景为例,RRPP环网的主节点S1及传输节点(S2、S3、S4)各自在本地根据故障信息(包括Port4-Error的S2的节点拓扑信息、包括Port5-Error的S3的节点拓扑信息)中的故障端口(Port4-Error、Port5-Error)以及已存储的节点拓扑信息(如图4所示的RRPP环网正常时,各个节点本地保存的所有节点的拓扑信息),更新各自本地转发表项。
在示出的一种实施方式中,当上述环网故障时,在上述环网的主节点及传输节点各自在本地根据上述故障信息中的故障端口以及已存储的节点拓扑信息更新本地转发表项的过程中,上述环网的主节点及传输节点分别根据上述故障端口和已存储的节点拓扑信息,确定上述环网故障时的环网拓扑信息;
其中,上述环网拓扑信息,至少包括上述环网中的节点之间的连接关系、所有节点的拓扑信息以及上述环网故障时的环网中报文的转发路径。
例如,以图5所示的故障场景为例,RRPP环网的主节点S1及传输节点(S2、S3、S4)分别根据故障端口(Port4-Error、Port5-Error)和已存储的节点拓扑信息(如图4所示的RRPP环网正常时,各个节点本地保存的所有节点的拓扑信息),确定RRPP环网故障时的环网拓扑信息;其中,该环网拓扑信息,至少包括RRPP环网中的节点之间的连接关系(比如:RRPP环网故障时的节点之间连接的顺序)、所有节点的拓扑信息(RRPP环网故障时的所有节点的拓扑信息)以及RRPP环网报文转发路径(比如:RRPP环网故障时的S1、S2、S3、S4中的任意两个节点之间的报文转发路径,该报文转发路径包括双向转发)。
在本说明书中,在各个节点确定出上述环网故障时的环网拓扑信息后,各个节点根据确定的上述环网故障时的环网拓扑信息,更新本地转发表项。
接着以上示例继续示例,在各个节点(S1、S2、S3、S4)各自确定出RRPP环网故障时的环网拓扑信息后,各个节点根据该环网拓扑信息,分别更新本地转发表项。
在示出的一种实施方式中,在各个节点根据上述环网故障时的环网拓扑信息更新本地转发表项的过程中,各个节点更新本地二层转发表项。
例如,以图5所示的故障场景为例,S1确定出的RRPP环网故障时的环网拓扑信息具体包括:S1与S2之间报文转发路径为Port2-Port3、S1与S3之间报文转发路径为Port1-Port8-Port7-Port6、S1与S4之间报文转发路径为Port1-Port8,则S1对本地保存的在环网正常时VLAN 100上生成的MAC表项进行更新,更新前的MAC表项,如下所示:
0000-0000-000B VLAN 100Port2
0000-0000-000C VLAN 100Port2
0000-0000-000D VLAN 100Port2
更新后的MAC表项,如下所示:
0000-0000-000B VLAN 100Port2(根据环网拓扑信息,保持Port2不变)
0000-0000-000C VLAN 100Port1(根据环网拓扑信息,将Port2替换为Port1)
0000-0000-000D VLAN 100Port1(根据环网拓扑信息,将Port2替换为Port1)
又例如,以传输节点S2为例,S2对本地保存的在环网正常时VLAN 100上生成的MAC表项进行更新,更新前的MAC表项,如下所示:
0000-0000-000A VLAN 100Port3
0000-0000-000C VLAN 100Port4
0000-0000-000D VLAN 100Port4
更新后的MAC表项,如下所示:
0000-0000-000A VLAN 100Port3(根据环网拓扑信息,保持Port3不变)
0000-0000-000C VLAN 100Port3(根据环网拓扑信息,将Port4替换为Port3)
0000-0000-000D VLAN 100Port3(根据环网拓扑信息,将Port4替换为Port3)
类似地,其它个传输节点(S3、S4)执行与主节点S1及传输节点S2的以上描述的相似过程,这里不再赘述。
在本说明书中,在各个节点更新完成本地二层转发表项后,各个节点根据本地更新的二层转发表项,更新对应的本地三层转发表项。
接着以上示例继续举例,以图5所示的故障场景为例,在各个节点(S1、S2、S3、S4)更新完成本地MAC表项后,各个节点根据本地更新的MAC表项表项,更新对应的ARP表项(IPv4协议下的三层转发表项)或ND表项(IPv6协议下的三层转发表项)。比如:S1基于更新后的MAC表项的更新后的ARP表项,请参见以下所示:
100.1.1.2 0000-0000-000B VLAN 100Port2
100.1.1.3 0000-0000-000C VLAN 100Port1
100.1.1.4 0000-0000-000D VLAN 100Port1
需要说明的是,在环网故障时,与前文描述的RRPP环网的MAC表项删除,再重新学习MAC表项,再基于新学习MAC表项更新对应的ARP表项/ND表项的技术方案相比,无需主节点向RRPP环网内发送Common-Flush-FDB协议报文,也无需触发所有节点先将环上VLAN 100的MAC表项删除,再重新学习MAC表项,环网中各个节点可以基于环网拓扑信息直接替换更新MAC表项及ARP表项(ND表项),提高了环网切换速度,实现了数据流量的快速切换。
请参见图6,图6是本申请一实施例提供的一种RRPP环网的环网恢复的过程示意图。
图6基于图5变化而来,图6与图5的组网架构相同,图6与图5的主要区别在于:在图6中,传输节点S2和传输节点S3之间的链路故障已恢复(如图5中所示的“X”在图6中已不存在),也即,传输节点S2的端口Port4和传输节点S3的端口Port5恢复转发状态,端口Port4和端口Port5的端口状态都为转发(比如,可以使用Forward来表示端口转发状态)。另外,在图6中新增了一种改进的环网恢复通知报文,以及展示了环网恢复通知报文在RRPP环网中的发送和转发的过程。
在本说明中,在上述环网故障后,上述环网的主节点可以基于环网健康检测协议报文,对上述环网进行环路完整性检测。
例如,以上述环网为RRPP环网为例,请参见图6所示,传输节点S2和传输节点S3之间的链路故障已恢复,主节点S1可以在副端口Port1接收到从主端口Port2发出的、经各个传输节点顺时针转发回至副端口Port1的RRPP hello协议报文(RRPP环网的健康检测协议报文),则主节点S1监测到RRPP环网故障恢复。
在本说明中,在监测到上述环网故障恢复时,上述环网的主节点将自身的副端口的端口状态由转发状态设置为阻塞状态。
例如,请参见图6所示,在监测到RRPP环网故障恢复时,主节点S1将自身的副端口Port1的端口状态由转发状态(Forward)设置为阻塞状态(Block,如图6中所示的带“B”圆圈)。
在示出的一种实施方式中,当上述环网故障恢复时,若本节点为上述环网的主节点,则主节点根据本节点存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息,通过本节点在所述环网上的转发端口转发环网恢复信息,上述环网恢复信息至少包括:端口状态被置为正常的所有节点端口。
在实现时,对于RRPP三层环网,可以针对Complete-Flush-FDB协议报文进行改进,该改进后的Complete-Flush-FDB协议报文具体可以包括RRPP报文类型为Complete-Flush-FDB的RRPP报文头和环网恢复信息,环网恢复信息具体可以携带在Complete-Flush-FDB报文头之后的RESERVED字段中;其中,该环网恢复信息至少包括:端口状态被置为正常的所有节点端口。当然在实际应用中,上述环网恢复信息也可以为包括端口状态被置为正常的所有节点端口的节点拓扑信息。
类似地,对于ERPS三层环网,可以针对(NR,RB)链路恢复RPL阻塞协议报文进行改进。该改进后的(NR,RB)协议报文具体可以包括ERPS报文类型为(NR,RB)的ERPS报文头和环网恢复信息,环网恢复信息具体可以携带在(NR,RB)报文头之后的RESERVED 2字段中;其中,该环网恢复信息至少包括:端口状态被置为正常的所有节点端口。当然在实际应用中,该环网恢复信息也可以为包括端口状态被置为正常的所有节点端口的节点拓扑信息。
例如,以上述环网为RRPP三层环网,请参见图6,S1传输节点S2和传输节点S3之间的链路故障恢复后,主节点S1根据本地存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息;其中,S1节点本地存储的最新的所有节点的节点拓扑信息,比如:请参见图6中所示,包括以下:
100.1.1.1 0000-0000-000A 100Port1-Block Port2-Forward
100.1.1.2 0000-0000-000B 100Port3-Forward Port4-Forward
100.1.1.3 0000-0000-000C 100Port5-Forward Port6-Forward
100.1.1.4 0000-0000-000D 100Port7-Forward Port8-Forward
主节点S1根据本节点存储的如上所示的最新的所有节点的节点拓扑信息,更新本地MAC表项。
比如:在如图6所示的RRPP环网故障恢复时,主节点S1的更新前的MAC表项,如下所示:
0000-0000-000B VLAN 100Port2
0000-0000-000C VLAN 100Port1
0000-0000-000D VLAN 100Port1
主节点S1的更新后的MAC表项,如下所示:
0000-0000-000B VLAN 100Port2(根据环网拓扑信息,保持Port2不变)
0000-0000-000C VLAN 100Port2(根据环网拓扑信息,将Port1替换为Port2)
0000-0000-000D VLAN 100Port2(根据环网拓扑信息,将Port1替换为Port2)
在主节点S1更新完成本地二层转发表项后,主节点S1根据本地更新的MAC表项,更新对应的本地对应的ARP表项(IPv4协议下的三层转发表项)或ND表项(IPv6协议下的三层转发表项)。三层转发表项的更新过程与前文描述的S1的三层转发表项更新过程类似,这里不再赘述。
同时,主节点S1通过本节点在RRPP环网上的转发端口Port2将携带了环网恢复信息的环网恢复通知报文(也即,前文描述的改进后的Complete-Flush-FDB报文)转发出,并顺时针转发经过如图6所示各个传输节点(S2、S3、S4)。
在示出的一种实施方式中,当上述环网故障恢复时,若本节点为上述环网的传输节点,在该传输节点通过转发端口接收到上述环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
接着以上示例继续举例,请参见图6所示,以传输节点S2为例,S2通过转发端口Port3接收到携带了环网恢复信息的环网恢复通知报文后,并从该环网恢复通知报文获取到环网恢复信息中的端口状态被置为正常的所有节点端口,比如:
100.1.1.1 0000-0000-000A 100Port1-Block Port2-Forward
100.1.1.2 0000-0000-000B 100Port3-Forward Port4-Forward
100.1.1.3 0000-0000-000C 100Port5-Forward Port6-Forward
100.1.1.4 0000-0000-000D 100Port7-Forward Port8-Forward
S2根据端口状态被置为正常的所有节点端口以及已存储的节点拓扑信息(RRPP环网故障时)更新本地转发表项。
需要说明的是,在传输节点通过转发端口接收到上述环网恢复信息后,故障恢复的传输节点基于环网协议的实现,将临时阻塞状态的端口重新设置为转发状态。例如,在如图6所示的故障恢复的传输节点S2、S3接收到携带了环网恢复信息的环网恢复通知报文后,传输节点S2、S3分别将临时阻塞状态(Pre-forwarding State)的端口Port4、Port5重新设置为转发状态;其中,临时阻塞状态,具体是指节点的环上的两个转发端口都Up,至少一个环上端口处于阻塞状态。关于临时阻塞状态的详细说明,具体可以参见RRPP协议及ERPS协议说明。
在示出的一种实施方式中,当上述环网故障恢复时,在上述环网的传输节点根据所有节点端口和已存储的节点拓扑信息更新本地转发表项的过程中,上述环网的传输节点确定上述环网故障恢复时的环网拓扑信息,并根据确定的上述环网故障恢复时的环网拓扑信息。
接着以上示例继续举例,以图6所示的故障恢复场景为例,RRPP环网的传输节点(S2、S3、S4)分别端口状态被置为正常的所有节点端口(Port1-Block、Port2-Forward、Port3-Forward、Port4-Forward、Port5-Forward、Port6-Forward Port7-Forward、Port8-Forward)和已存储的节点拓扑信息(如图5所示的RRPP环网故障时,各个节点本地保存的所有节点的拓扑信息),确定RRPP环网故障恢复时的环网拓扑信息;其中,该环网拓扑信息,至少包括RRPP环网中的节点之间的连接关系(比如:RRPP环网故障恢复时的节点之间连接的顺序)、所有节点的拓扑信息(RRPP环网故障恢复时的所有节点的拓扑信息)以及RRPP环网报文转发路径(比如:RRPP环网故障恢复时的S1、S2、S3、S4中的任意两个节点之间的报文转发路径,该报文转发路径包括双向转发)。
在本说明书中,在各个传输节点确定出上述环网故障恢复时的环网拓扑信息后,各个节点根据确定的上述环网故障时的环网拓扑信息,更新本地转发表项。
接着以上示例继续举例,以传输节点S2为例,在环网故障恢复时,S2对本地保存的环网故障时的VLAN 100上生成的MAC表项进行更新,更新前的MAC表项,如下所示:
0000-0000-000A VLAN 100Port3
0000-0000-000C VLAN 100Port3
0000-0000-000D VLAN 100Port3
更新后的MAC表项,如下所示:
0000-0000-000A VLAN 100Port3(根据环网拓扑信息,保持Port3不变)
0000-0000-000C VLAN 100Port4(根据环网拓扑信息,将Port3替换为Port4)
0000-0000-000D VLAN 100Port4(根据环网拓扑信息,将Port3替换为Port4)
在传输节点S2更新完成本地二层转发表项后,传输节点S2根据本地更新的MAC表项,更新对应的本地对应的ARP表项(IPv4协议下的三层转发表项)或ND表项(IPv6协议下的三层转发表项)。三层转发表项的更新过程与前文描述的S1的三层表项更新过程类似,这里不再赘述。
类似地,其它个传输节点(S3、S4)执行与主节点S1及传输节点S2的以上描述的相似过程,这里不再赘述。
需要说明的是,在环网故障恢复时,与前文描述的RRPP环网的MAC表项删除,再重新学习MAC表项,再基于新学习MAC表项更新对应的ARP表项/ND表项的技术方案相比,无需主节点向RRPP环网内发送Complete-Flush-FDB协议报文,也无需触发所有节点先将环上VLAN 100的MAC表项删除,再重新学习MAC表项,环网中各个节点可以基于环网拓扑信息直接替换更新MAC表项及ARP表项(ND表项),提高了环网切换速度,实现了数据流量的快速切换。
另外,需要说明的是,在环网故障恢复时,由环网的主节点将根据本地存储的最新的所有节点的节点拓扑信息生成环网恢复信息并向环网中的传输节点发送,由此保证了整个环网的环网拓扑信息以主节点为准的可靠性。比如:在环网故障时,部分传输节点可能存在网络故障、设备重启、宕机以及传输节点被从环网中移除或被新增至环网中的各种异常情况或组合,导致传输节点本地保存的节点拓扑信息不全或错误。
在本说明书中,当上述环网故障恢复完成后,上述环网中的所有节点的状态将恢复至上述环网正常时的状态。例如,在如图6所述的RRPP环网故障恢复完成后,RRPP环网中的所有节点的状态将恢复至如图4所述的RRPP环网正常时的类似状态。
需要说明的是,以上描述的示例,以上述环网为RRPP环网进行说明。针对上述环网为ERPS环网时的过程类似,具体不再赘述。
在以上技术方案中,基于在环网正常、故障及恢复时分别通过获取节点拓扑信息、故障信息及主节点生成的环网恢复信息,以使环网上所有节点可以各自根据本地获取的节点拓扑信息、故障信息及环网恢复信息得到与环网正常、故障及恢复时对应的环网拓扑信息,并基于该环网拓扑信息快速更新本地转发表项,从而在环网故障产生和环网故障恢复时,避免了删除本地转发表项再学习生成的过程,实现了数据流量的快速切换。
与上述方法实施例相对应,本申请还提供了报文表项处理装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种报文表项处理装置的实施例。本说明书的报文表项处理装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书的报文表项处理装置所在网络设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据该网络设备的实际功能,还可以包括其他硬件,对此不再赘述。
图8是本说明书一实施例示出的一种报文表项处理装置的框图。
请参考图8,所述报文表项处理装置80可以应用在前述图7所示的作为环网上的节点的网络设备中;所述装置包括:
第一处理模块801,用于当所述环网正常时,若本节点为所述环网的主节点,则将已获得的至少一个节点在所述环网的节点拓扑信息通过本地转发端口发送;若本节点为所述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在所述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在所述环网上的节点拓扑信息一起通过另一转发端口转发;
第二处理模块802,用于当本节点在所述环网上的一转发端口故障导致所述环网故障时,通过本节点在所述环网上的另一非故障转发端口转发故障信息,所述故障信息至少包括:故障端口,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项。
在本实施例中,所述节点拓扑信息包括节点在所述环网上所属的控制VLAN、节点对应在所述控制VLAN的VLAN虚接口IP地址及MAC地址、节点在所述环网上的转发端口及其端口状态。
在本实施例中,还包括:
第三处理模块803(图8中未示出),用于当所述环网故障恢复时,若本节点为所述环网的主节点,则根据本节点存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息,通过本节点在所述环网上的转发端口转发环网恢复信息,所述环网恢复信息至少包括:端口状态被置为正常的所有节点端口;若本节点为所述环网的传输节点,在本节点通过转发端口接收到环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
在本实施例中,在根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项过程中,所述第二处理模块802进一步:
根据所述故障端口和已存储的节点拓扑信息,确定所述环网故障时的环网拓扑信息;
根据确定的所述环网故障时的环网拓扑信息,更新本地转发表项。
在本实施例中,在根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项过程中,所述第三处理模块803进一步:
根据所有节点端口和已存储的节点拓扑信息,确定所述环网故障恢复时的环网拓扑信息;
根据确定的所述环网故障恢复时的环网拓扑信息,更新本地转发表项。
在本实施例中,所述第一处理模块801、所述第二处理模块802、所述第三处理模块803各自包括更新子模块(图8中未示出),所述转发表项包括二层转发表项、与二层转发表项对应的三层转发表项,在更新本地转发表项过程中,所述更新子模块进一步:
更新本地二层转发表项;
根据本地更新的二层转发表项,更新对应的本地三层转发表项。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (12)
1.一种报文表项处理方法,其特征在于,所述方法应用于环网上的节点,所述方法包括:
当所述环网正常时,若本节点为所述环网的主节点,则将已获得的至少一个节点在所述环网的节点拓扑信息通过本地转发端口发送;若本节点为所述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在所述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在所述环网上的节点拓扑信息一起通过另一转发端口转发;
当本节点在所述环网上的一转发端口故障导致所述环网故障时,通过本节点在所述环网上的另一非故障转发端口转发故障信息,所述故障信息至少包括:故障端口,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项。
2.根据权利要求1所述的方法,其特征在于,所述节点拓扑信息包括节点在所述环网上所属的控制VLAN、节点对应在所述控制VLAN的VLAN虚接口IP地址及MAC地址、节点在所述环网上的转发端口及其端口状态。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述环网故障恢复时,若本节点为所述环网的主节点,则根据本节点存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息,通过本节点在所述环网上的转发端口转发环网恢复信息,所述环网恢复信息至少包括:端口状态被置为正常的所有节点端口;若本节点为所述环网的传输节点,在本节点通过转发端口接收到环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
4.根据权利要求1所述的方法,其特征在于,所述根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项,包括:
根据所述故障端口和已存储的节点拓扑信息,确定所述环网故障时的环网拓扑信息;
根据确定的所述环网故障时的环网拓扑信息,更新本地转发表项。
5.根据权利要求3所述的方法,其特征在于,所述根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项,包括:
根据所有节点端口和已存储的节点拓扑信息,确定所述环网故障恢复时的环网拓扑信息;
根据确定的所述环网故障恢复时的环网拓扑信息,更新本地转发表项。
6.根据权利要求1或4所述的方法,其特征在于,所述转发表项包括二层转发表项、与二层转发表项对应的三层转发表项,所述更新本地转发表项,包括:
更新本地二层转发表项;
根据本地更新的二层转发表项,更新对应的本地三层转发表项。
7.一种报文表项处理装置,其特征在于,所述装置应用于环网上的节点,所述装置包括:
第一处理模块,用于当所述环网正常时,若本节点为所述环网的主节点,则将已获得的至少一个节点在所述环网的节点拓扑信息通过本地转发端口发送;若本节点为所述环网的传输节点,则在本地一转发端口接收到节点拓扑信息时存储接收的节点拓扑信息,并在接收的节点拓扑信息不包括本节点在所述环网上的节点拓扑信息时,将接收的节点拓扑信息以及本节点在所述环网上的节点拓扑信息一起通过另一转发端口转发;
第二处理模块,用于当本节点在所述环网上的一转发端口故障导致所述环网故障时,通过本节点在所述环网上的另一非故障转发端口转发故障信息,所述故障信息至少包括:故障端口,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项;在本节点通过转发端口接收到故障信息并获取到故障信息中的故障端口时,根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项。
8.根据权利要求7所述的装置,其特征在于,所述节点拓扑信息包括节点在所述环网上所属的控制VLAN、节点对应在所述控制VLAN的VLAN虚接口IP地址及MAC地址、节点在所述环网上的转发端口及其端口状态。
9.根据权利要求7所述的装置,其特征在于,还包括:
第三处理模块,用于当所述环网故障恢复时,若本节点为所述环网的主节点,则根据本节点存储的最新的所有节点的节点拓扑信息,更新本地转发表项并生成环网恢复信息,通过本节点在所述环网上的转发端口转发环网恢复信息,所述环网恢复信息至少包括:端口状态被置为正常的所有节点端口;若本节点为所述环网的传输节点,在本节点通过转发端口接收到环网恢复信息并获取到环网恢复信息中的所有节点端口,根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项。
10.根据权利要求7所述的装置,其特征在于,在根据所述故障端口以及已存储的节点拓扑信息更新本地转发表项过程中,所述第二处理模块进一步:
根据所述故障端口和已存储的节点拓扑信息,确定所述环网故障时的环网拓扑信息;
根据确定的所述环网故障时的环网拓扑信息,更新本地转发表项。
11.根据权利要求9所述的装置,其特征在于,在根据所有节点端口以及已存储的节点拓扑信息更新本地转发表项过程中,所述第三处理模块进一步:
根据所有节点端口和已存储的节点拓扑信息,确定所述环网故障恢复时的环网拓扑信息;
根据确定的所述环网故障恢复时的环网拓扑信息,更新本地转发表项。
12.根据权利要求7或10所述的装置,其特征在于,所述第一处理模块、所述第二处理模块、所述第三处理模块各自包括更新子模块,所述转发表项包括二层转发表项、与二层转发表项对应的三层转发表项,在更新本地转发表项过程中,所述更新子模块进一步:
更新本地二层转发表项;
根据本地更新的二层转发表项,更新对应的本地三层转发表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011025566.1A CN112187646B (zh) | 2020-09-25 | 2020-09-25 | 报文表项处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011025566.1A CN112187646B (zh) | 2020-09-25 | 2020-09-25 | 报文表项处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112187646A true CN112187646A (zh) | 2021-01-05 |
CN112187646B CN112187646B (zh) | 2022-07-29 |
Family
ID=73944017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011025566.1A Active CN112187646B (zh) | 2020-09-25 | 2020-09-25 | 报文表项处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112187646B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022218419A1 (zh) * | 2021-04-17 | 2022-10-20 | 华为技术有限公司 | 一种组建网络的方法、以太网系统和车辆 |
CN116094990A (zh) * | 2023-01-19 | 2023-05-09 | 重庆长安汽车股份有限公司 | 基于mac地址转发表的软件优化方法、装置及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009628A (zh) * | 2007-01-09 | 2007-08-01 | 杭州华为三康技术有限公司 | 一种交换网络拓扑变化时组播表项更新的方法及装置 |
CN101141365A (zh) * | 2006-09-06 | 2008-03-12 | 杭州华三通信技术有限公司 | 网络节点及其所在以太环网的故障恢复方法 |
US20090016214A1 (en) * | 2007-07-12 | 2009-01-15 | Allied Telesis Holdings K.K. | Method and system for network recovery from multiple link failures |
CN101425953A (zh) * | 2008-12-09 | 2009-05-06 | 中兴通讯股份有限公司 | 一种以太环网的地址更新方法和网络节点 |
CN101841450A (zh) * | 2010-04-08 | 2010-09-22 | 深圳市金宏威实业发展有限公司 | 多个环形拓扑构建相交环实现稳定通信的方法及拓扑结构 |
CN102104519A (zh) * | 2009-12-17 | 2011-06-22 | 中兴通讯股份有限公司 | 基于拓扑信息的环网恢复方法与装置 |
CN102104520A (zh) * | 2009-12-18 | 2011-06-22 | 中兴通讯股份有限公司 | 基于拓扑信息的环网保护方法与装置 |
CN106357832A (zh) * | 2016-08-24 | 2017-01-25 | 浙江宇视科技有限公司 | 环网地址表项更新机制方法及装置 |
CN107196832A (zh) * | 2017-07-10 | 2017-09-22 | 杭州中威电子股份有限公司 | 快速环网保护方法 |
CN109450765A (zh) * | 2018-12-14 | 2019-03-08 | 新华三技术有限公司 | 一种拓扑信息的收集方法及装置 |
-
2020
- 2020-09-25 CN CN202011025566.1A patent/CN112187646B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141365A (zh) * | 2006-09-06 | 2008-03-12 | 杭州华三通信技术有限公司 | 网络节点及其所在以太环网的故障恢复方法 |
CN101009628A (zh) * | 2007-01-09 | 2007-08-01 | 杭州华为三康技术有限公司 | 一种交换网络拓扑变化时组播表项更新的方法及装置 |
US20090016214A1 (en) * | 2007-07-12 | 2009-01-15 | Allied Telesis Holdings K.K. | Method and system for network recovery from multiple link failures |
CN101425953A (zh) * | 2008-12-09 | 2009-05-06 | 中兴通讯股份有限公司 | 一种以太环网的地址更新方法和网络节点 |
CN102104519A (zh) * | 2009-12-17 | 2011-06-22 | 中兴通讯股份有限公司 | 基于拓扑信息的环网恢复方法与装置 |
CN102104520A (zh) * | 2009-12-18 | 2011-06-22 | 中兴通讯股份有限公司 | 基于拓扑信息的环网保护方法与装置 |
CN101841450A (zh) * | 2010-04-08 | 2010-09-22 | 深圳市金宏威实业发展有限公司 | 多个环形拓扑构建相交环实现稳定通信的方法及拓扑结构 |
CN106357832A (zh) * | 2016-08-24 | 2017-01-25 | 浙江宇视科技有限公司 | 环网地址表项更新机制方法及装置 |
CN107196832A (zh) * | 2017-07-10 | 2017-09-22 | 杭州中威电子股份有限公司 | 快速环网保护方法 |
CN109450765A (zh) * | 2018-12-14 | 2019-03-08 | 新华三技术有限公司 | 一种拓扑信息的收集方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022218419A1 (zh) * | 2021-04-17 | 2022-10-20 | 华为技术有限公司 | 一种组建网络的方法、以太网系统和车辆 |
CN116094990A (zh) * | 2023-01-19 | 2023-05-09 | 重庆长安汽车股份有限公司 | 基于mac地址转发表的软件优化方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112187646B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1877808B1 (en) | Method, apparatus, and system for improving ethernet ring convergence time | |
JP4020753B2 (ja) | リング切替方法 | |
US7778205B2 (en) | System and method for implementing virtual ports within ring networks | |
CN108156014B (zh) | 一种环路故障处理方法和交换机 | |
US7903586B2 (en) | Ring rapid multiple spanning tree protocol system and method | |
US8675477B2 (en) | Address refreshing method and device of ethernet ring network | |
US20100014527A1 (en) | Packet ring network system, packet forwarding method and node | |
CN112187646B (zh) | 报文表项处理方法及装置 | |
JP2013081157A (ja) | ユニキャストトラフィックを復元する方法及び装置 | |
CN106992931B (zh) | 基于双归环的交换机冗余备份方法和双归环系统 | |
US7920464B2 (en) | Method of redundancy of ring network | |
CN110912815A (zh) | 一种网元防成环方法、装置、设备及可读存储介质 | |
JP2007151041A (ja) | 相互接続用スイッチングハブ | |
US11552882B2 (en) | Efficient propagation of fault routing notifications | |
CN112995002B (zh) | 一种交换机环网的设计方法、交换机及存储介质 | |
CN109412851B (zh) | 链路层路径检测方法、装置及系统 | |
EP3573288B1 (en) | Method and system for processing service flow in packet network | |
CN112003783B (zh) | 一种以太网二层防环的方法及装置 | |
Cisco | Managing Your Catalyst 3900 | |
Cisco | Managing Your Catalyst 3900 | |
Cisco | Managing Your Catalyst 3900 | |
Cisco | Managing Your Catalyst 3900 | |
CN111555916B (zh) | 一种部署环网的方法、装置、存储介质及设备 | |
Cisco | Managing Your Catalyst 3900 | |
Cisco | Managing the Catalyst 3920 |
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 |