一种基于ISIS网络的序列号翻转方法和设备
技术领域
本发明涉及通信技术领域,特别是涉及一种基于ISIS(Intermediate System to Intermediate System,中间系统到中间系统)网络的序列号翻转方法和设备。
背景技术
为了保证全网(区域)的拓扑一致,计算出无环路由,ISIS协议规定:
(1)在广播网上,ISIS系统通过选举出来的DIS(Designated Intermediate System,指定中间系统)周期性发送CSNP(Complete Sequence Numbers Protocol Data Unit,完整序列号数据协议单元,包含本地所有LSP(Link State Protocol Data Unit,链路状态数据协议单元,用于描述链路状态信息的报文单元)的摘要信息(如发送者、序列号、校验和、剩余时限)),以保证链路上所有LSDB(Link State Data Base,链路状态数据库,所有LSP的集合)一致。
具体的,各网络设备通过比较本地LSDB与收到的CSNP;如果本地没有某个LSP或者某个LSP更旧(即收到的CSNP中序列号更大),则网络设备通过PSNP(Partial Sequence Numbers Protocol Data Unit,部分序列号数据协议单元,用于LSDB不同步时进行LSP请求或者确认)向DIS请求该LSP;如果本地有某个LSP但CSNP中没有,或者本地某个LSP更新(即收到的CSNP中序列号更小),则网络设备主动向DIS泛洪该LSP。
(2)在P2P(Point-to-Point,点到点)链路上,ISIS系统不需要选举DIS,且在P2P NBR(P2P Neighbor,点到点邻居,一条链路上建立P2P NBR后,该链路只能有这一个邻居)建立后进行一次CSNP交互,后续LSP泛洪过程都需要得到对端的PSNP确认(或从对端收到更新的LSP),否则一直重传。
现有技术中,当由于拓扑或者接口反复变化等原因导致LSP的序列号激增时,会出现序列号到达SequenceModulus(序列号系数,0xFFFFFFFF)的情况,且由于序列号在LSP的相关报文中为4字节,因此序列号如果达到SequenceModulus(0xFFFFFFFF),则网络设备无法通过提升序列号的方式继续更新这一LSP。为了解决上述问题,LSP的序列号需要在SequenceModulus基础上继续累加时,该LSP的始发网络设备需要静默21Min(LSP最大生存时间20Min),以确保该LSP在各网络设备上被清除,并重新开始生成序列号从头开始的LSP。但是,网络设备在静默21Min时,会导致网络设备在这段时间内的邻居中断,无法转发流量,流量中断时间很长。
发明内容
本发明实施例提供一种基于ISIS网络的序列号翻转方法和设备,以减少发生序列号翻转时的设备不可用时间。
为了达到上述目的,本发明实施例提供一种基于中间系统到中间系统ISIS网络的序列号翻转方法,该方法包括以下步骤:
网络设备在获知自身链路状态数据协议单元LSP的序列号需要翻转时,在所有点到点邻居P2P NBR接口上发送用于清除所述LSP的LSP清除报文,并为所有P2P NBR接口分别设置所述LSP对应的指定标志;其中,所述指定标志用于表示需要周期性通过对应的P2P NBR接口发送所述LSP清除报文;
所述网络设备在P2P NBR接口上收到所述LSP清除报文对应的确认报文或者所述LSP清除报文时,删除所述P2P NBR接口上设置的所述LSP对应的指定标志;
所述网络设备在所有P2P NBR接口上设置的所述LSP对应的指定标志均被删除之后,对所述LSP的序列号进行翻转处理。
所述方法进一步包括:当所述网络设备收到其它网络设备发送的用于清除其它LSP的LSP清除报文时,所述网络设备在收到所述用于清除其它LSP的LSP清除报文的P2P NBR接口之外的其它P2P NBR接口上发送所述用于清除其它LSP的LSP清除报文,并通过收到所述用于清除其它LSP的LSP清除报文的P2P NBR接口向所述其它网络设备返回所述用于清除其它LSP的LSP清除报文对应的确认报文,以及为所述其它P2P NBR接口设置所述其它LSP对应的指定标志;
所述网络设备在P2P NBR接口上收到所述用于清除其它LSP的LSP清除报文对应的确认报文或者所述用于清除其它LSP的LSP清除报文时,删除所述P2P NBR接口上设置的所述其它LSP对应的指定标志。
所述方法进一步包括:所述网络设备在收到来自其它网络设备的LSP时,如果所述网络设备有P2P NBR接口上设置的所述LSP对应的指定标志没有被删除,且所述网络设备上所述LSP对应的序列号为需要翻转的序列号,则所述网络设备拒绝处理来自其它网络设备的所述LSP。
所述LSP清除报文具体包括:剩余时限为0的LSP清除报文。
所述ISIS网络具体为:最短路径桥接SPB-ISIS网络。
本发明实施例提供一种基于中间系统到中间系统ISIS网络的序列号翻转设备,该设备包括:
发送模块,用于在获知本设备链路状态数据协议单元LSP的序列号需要翻转时,在所有点到点邻居P2P NBR接口上发送用于清除所述LSP的LSP清除报文;
设置模块,用于为所有P2P NBR接口分别设置所述LSP对应的指定标志;其中,所述指定标志用于表示需要周期性通过对应的P2P NBR接口发送所述LSP清除报文;
接收模块,用于在P2P NBR接口上接收所述LSP清除报文对应的确认报文或者所述LSP清除报文;
删除模块,用于在P2P NBR接口上收到所述LSP清除报文对应的确认报文或者所述LSP清除报文时,删除所述P2P NBR接口上设置的所述LSP对应的指定标志;
处理模块,用于在所有P2P NBR接口上设置的所述LSP对应的指定标志均被删除之后,对所述LSP的序列号进行翻转处理。
所述发送模块,还用于当收到其它网络设备发送的用于清除其它LSP的LSP清除报文时,在收到用于清除其它LSP的LSP清除报文的P2P NBR接口之外的其它P2P NBR接口上发送所述用于清除其它LSP的LSP清除报文,并通过收到所述用于清除其它LSP的LSP清除报文的P2P NBR接口向所述其它网络设备返回所述用于清除其它LSP的LSP清除报文对应的确认报文;
所述设置模块,还用于为所述其它P2P NBR接口设置所述其它LSP对应的指定标志;
所述接收模块,还用于在P2P NBR接口上接收所述用于清除其它LSP的LSP清除报文对应的确认报文或者所述用于清除其它LSP的LSP清除报文;
所述删除模块,还用于在P2P NBR接口上收到所述用于清除其它LSP的LSP清除报文对应的确认报文或者所述用于清除其它LSP的LSP清除报文时,删除所述P2P NBR接口上设置的所述其它LSP对应的指定标志。
所述处理模块,还用于在收到来自其它网络设备的LSP时,如果本设备有P2P NBR接口上设置的所述LSP对应的指定标志没有被删除,且本设备上所述LSP对应的序列号为需要翻转的序列号,则拒绝处理来自其它网络设备的所述LSP。
所述LSP清除报文具体包括:剩余时限为0的LSP清除报文。
所述ISIS网络具体为:最短路径桥接SPB-ISIS网络。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在SPB-ISIS网络中,当LSP的序列号需要翻转时,网络设备通过主动发送用于清除该LSP的LSP清除报文,并及时获知各网络设备均已经清除该LSP的情况,继而及时进行序列号翻转,不需要静默21Min才进行序列号翻转,减少了发生序列号翻转时的设备不可用时间。
附图说明
图1是本发明实施例提供的一种基于ISIS网络的序列号翻转方法流程图;
图2和图3是本发明实施例中的应用场景示意图;
图4是本发明实施例提出的一种基于ISIS网络的序列号翻转设备结构图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
由于SPB(Shortest Path Bridge,最短路径桥接)-ISIS网络采用全P2P链路组网,每个LSP都会有确认机制,基于此,本发明实施例提出一种基于ISIS网络的序列号翻转方法,该ISIS网络具体可以为SPB-ISIS网络,且在SPB-ISIS网络中,如图1所示,该方法包括以下步骤:
步骤101,网络设备在获知自身LSP(后续以LSP1为例进行说明)的序列号需要翻转(如LSP1的序列号达到SequenceModulus(如0xFFFFFFFF)后又需要更新时,说明LSP1的序列号需要翻转)时,在所有P2P NBR接口上发送用于清除该LSP1的LSP清除报文(即剩余时限为0的LSP清除报文),并为所有P2P NBR接口分别设置该LSP1对应的指定标志(如SRM(Send Routing Message,发送选路消息,其可以参见ISO10589)标记);其中,该指定标志用于表示需要周期性通过对应的P2P NBR接口发送LSP清除报文。
以图2为本发明实施例的应用场景示意图,网络设备S在获知LSP1的序列号需要翻转时,在所有P2P NBR接口(即接口S1和接口S2)上发送用于清除LSP1的LSP清除报文,并为接口S1和接口S2分别设置LSP1对应的SRM标记;当接口S1上对应有SRM标记时,网络设备S需要周期性通过接口S1发送用于清除LSP1的LSP清除报文;当接口S2上对应有SRM标记时,网络设备S需要周期性通过接口S2发送用于清除LSP1的LSP清除报文。
步骤102,网络设备在P2P NBR接口上收到该LSP清除报文对应的确认报文(即PSNP确认报文)或者该LSP清除报文时,删除该P2P NBR接口上设置的LSP1对应的指定标志。
以图2为例,网络设备S在接口S1和接口S2上发送用于清除LSP1的LSP清除报文后,如果在接口S1上收到该LSP清除报文对应的确认报文,则删除接口S1上设置的LSP1对应的指定标志,之后网络设备S不会继续通过接口S1发送该LSP清除报文;如果在接口S2上收到该LSP清除报文对应的确认报文,则删除接口S2上设置的LSP1对应的指定标志,之后网络设备S不会继续通过接口S2发送该LSP清除报文。
继续以图2为例,网络设备S在接口S1和接口S2上发送用于清除LSP1的LSP清除报文后,网络设备A在收到用于清除LSP1的LSP清除报文后,向网络设备S发送该LSP清除报文对应的确认报文,并将用于清除LSP1的LSP清除报文发送给网络设备B;网络设备B在收到来自网络设备A的用于清除LSP1的LSP清除报文后,向网络设备A发送该LSP清除报文对应的确认报文,并将用于清除LSP1的LSP清除报文发送给网络设备S;网络设备S在通过接口S2收到用于清除LSP1的LSP清除报文后,隐式确认在接口S2上收到该LSP清除报文对应的确认报文,即可以删除接口S2上设置的LSP1对应的指定标志,之后网络设备S不会继续通过接口S2发送该LSP清除报文。
同理,网络设备S在接口S1和接口S2上发送用于清除LSP1的LSP清除报文后,网络设备B在收到用于清除LSP1的LSP清除报文后,向网络设备S发送该LSP清除报文对应的确认报文,并将用于清除LSP1的LSP清除报文发送给网络设备A、C、D;网络设备A在收到来自网络设备B的用于清除LSP1的LSP清除报文后,向网络设备B发送该LSP清除报文对应的确认报文,并将用于清除LSP1的LSP清除报文发送给网络设备S;网络设备S在通过接口S1收到用于清除LSP1的LSP清除报文后,隐式确认在接口S1上收到该LSP清除报文对应的确认报文,即可以删除接口S1上设置的LSP1对应的指定标志,之后网络设备S不会继续通过接口S1发送该LSP清除报文。
步骤103,网络设备在所有P2P NBR接口上设置的LSP1对应的指定标志均被删除之后,对LSP1的序列号进行翻转处理,即网络设备可以生成序列号从最小开始的LSP1,并通过所有P2P NBR接口发送LSP1。
本发明实施例中,当网络设备收到其它网络设备发送的用于清除其它LSP(后续以LSP2为例进行说明)的LSP清除报文时,网络设备在收到用于清除LSP2的LSP清除报文的P2P NBR接口之外的其它P2P NBR接口上发送用于清除LSP2的LSP清除报文,并通过收到用于清除LSP2的LSP清除报文的P2P NBR接口向其它网络设备返回用于清除LSP2的LSP清除报文对应的确认报文,并为其它P2P NBR接口设置LSP2对应的指定标志;网络设备在P2P NBR接口上收到用于清除LSP2的LSP清除报文对应的确认报文或用于清除LSP2的LSP清除报文时,删除P2P NBR接口上设置的LSP2对应的指定标志。
以图2为例,网络设备S通过接口S1收到来自网络设备A的用于清除LSP2的LSP清除报文时,网络设备S在接口S1之外的其它P2P NBR接口(接口S2)上发送用于清除LSP2的LSP清除报文,并通过接口S1向网络设备A返回用于清除LSP2的LSP清除报文对应的确认报文,并为接口S2设置LSP2对应的指定标志;进一步,网络设备S在接口S2上收到用于清除LSP2的LSP清除报文对应的确认报文或者用于清除LSP2的LSP清除报文时,删除接口S2上设置的LSP2对应的指定标志。
在上述处理过程中,以图3所示的应用场景为例继续说明,假设网络设备A已经向网络设备S发送用于清除LSP3的LSP清除报文对应的确认报文(即PSNP确认报文),此时网络设备S可以对LSP3的序列号进行翻转处理,生成序列号从最小开始的LSP3,并将重新生成的LSP3发送给网络设备A;假设此时网络设备A还未收到来自网络设备B的用于清除LSP3的LSP清除报文对应的确认报文,即网络设备A上仍然有LSP3对应的指定标志,则网络设备A上记录的LSP3的序列号为需要翻转时的序列号(如序列号SequenceModulus);因此,网络设备A收到重新生成的LSP3后,需要将序列号SequenceModulus的LSP3返回给网络设备S,使得网络设备S将本地的LSP3对应的序列号更新为SequenceModulus,之后又需要进行序列号翻转处理,以此类推,如果网络设备A在较长时间内未收到来自网络设备B的用于清除LSP3的LSP清除报文对应的确认报文,则网络将变得极不稳定。
基于上述问题,本发明实施例中,各网络设备在收到来自其它网络设备的LSP时,如果网络设备有P2P NBR接口上设置的LSP对应的指定标志没有被删除,且网络设备上该LSP对应的序列号为需要翻转的序列号,则网络设备拒绝处理来自其它网络设备的LSP。
继续以图3所示的应用场景为例,假设网络设备A已经向网络设备S发送用于清除LSP3的LSP清除报文对应的确认报文,此时网络设备S可对LSP3的序列号进行翻转处理,生成序列号从最小开始的LSP3,并将重新生成的LSP3发送给网络设备A;假设此时网络设备A还未收到来自网络设备B的用于清除LSP3的LSP清除报文对应的确认报文,即网络设备A上有LSP3对应的指定标志,则网络设备A上记录的LSP3的序列号为需要翻转时的序列号(如序列号SequenceModulus);本发明实施例中,网络设备A会拒绝处理来自网络设备S的LSP3,即网络设备A收到重新生成的LSP3后,不会将序列号SequenceModulus的LSP3返回给网络设备S,一直到网络设备A收到来自网络设备B的用于清除LSP3的LSP清除报文对应的确认报文,且删除上记录的LSP3的序列号(即需要翻转时的序列号SequenceModulus),使得网络变得稳定可靠。
基于与上述方法同样的发明构思,本发明实施例还提出了一种基于中间系统到中间系统ISIS网络的序列号翻转设备,如图4所示,该设备包括:
发送模块11,用于在获知本设备链路状态数据协议单元LSP的序列号需要翻转时,在所有点到点邻居P2P NBR接口上发送用于清除该LSP的LSP清除报文;
设置模块12,用于为所有P2P NBR接口分别设置所述LSP对应的指定标志;其中,所述指定标志用于表示需要周期性通过对应的P2P NBR接口发送所述LSP清除报文;
接收模块13,用于在P2P NBR接口上接收所述LSP清除报文对应的确认报文或者所述LSP清除报文;
删除模块14,用于在P2P NBR接口上收到所述LSP清除报文对应的确认报文或者所述LSP清除报文时,删除所述P2P NBR接口上设置的所述LSP对应的指定标志;
处理模块15,用于在所有P2P NBR接口上设置的所述LSP对应的指定标志均被删除之后,对所述LSP的序列号进行翻转处理。
所述发送模块11,还用于当收到其它网络设备发送的用于清除其它LSP的LSP清除报文时,在收到用于清除其它LSP的LSP清除报文的P2P NBR接口之外的其它P2P NBR接口上发送所述用于清除其它LSP的LSP清除报文,并通过收到用于清除其它LSP的LSP清除报文的P2P NBR接口向所述其它网络设备返回所述用于清除其它LSP的LSP清除报文对应的确认报文;
所述设置模块12,还用于为所述其它P2P NBR接口设置所述其它LSP对应的指定标志;
所述接收模块13,还用于在P2P NBR接口上接收用于清除其它LSP的LSP清除报文对应的确认报文或者所述用于清除其它LSP的LSP清除报文;
所述删除模块14,还用于在P2P NBR接口上收到所述用于清除其它LSP的LSP清除报文对应的确认报文或者所述用于清除其它LSP的LSP清除报文时,删除所述P2P NBR接口上设置的所述其它LSP对应的指定标志。
所述处理模块15,还用于在收到来自其它网络设备的LSP时,如果本设备有P2P NBR接口上设置的所述LSP对应的指定标志没有被删除,且本设备上所述LSP对应的序列号为需要翻转的序列号,则拒绝处理来自其它网络设备的所述LSP。
本发明实施例中,所述LSP清除报文具体包括:剩余时限为0的LSP清除报文。所述ISIS网络具体为:最短路径桥接SPB-ISIS网络。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。