CN101394354B - 一种避免中间系统邻居关系震荡的方法和一种中间系统 - Google Patents
一种避免中间系统邻居关系震荡的方法和一种中间系统 Download PDFInfo
- Publication number
- CN101394354B CN101394354B CN2008102245101A CN200810224510A CN101394354B CN 101394354 B CN101394354 B CN 101394354B CN 2008102245101 A CN2008102245101 A CN 2008102245101A CN 200810224510 A CN200810224510 A CN 200810224510A CN 101394354 B CN101394354 B CN 101394354B
- Authority
- CN
- China
- Prior art keywords
- lsp
- psnp
- lsdb
- neighbours
- link
- 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
Abstract
本发明公开了一种避免中间系统邻居关系震荡的方法,包括:中间系统IS在其LSDB中的N条链路状态信息产生更新时,不向邻居IS发送与所述更新后的N条链路状态信息一一对应的N个LSP,而是组装一个携带所述N个LSP的摘要信息的PSNP发送给邻居IS,以使得邻居IS根据所述N个LSP的摘要信息更新自身的LSDB;N为自然数。本发明还公开了一种中间系统。本发明的技术方案,极大减少了LSP更新时产生的ISIS报文,进而避免了由于ISIS报文发送和接收队列满而导致的ISIS邻居关系的震荡。
Description
技术领域
本发明涉及网络通信技术领域,尤指一种避免中间系统邻居关系震荡的方法和一种中间系统。
背景技术
中间系统到中间系统的域内路由信息交换协议(IntermediateSystem-to-Intermediate System intra-domain routing information exchangeprotocol),简称ISIS协议最初是国际标准化组织(ISO)为其无连接网络协议设计的一种动态路由协议。为了提供对IP的路由支持,因特网工程任务组(IETF)在RFC1195中对ISIS协议进行可扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化ISIS(Integrated ISIS或Dual ISIS)。ISIS协议是一种链路状态协议,使用最短路径优先(SPF)算法进行路由机型。ISIS是一种重要的内部网关协议(IGP),用于自治系统内部。
为了描述方便,先简要介绍ISIS协议中的一些术语:
中间系统(IS,Intermediate System):IS是ISIS协议中生成路由和传播路由信息的基本单元,在ISO规范中,一个路由器就是一个IS,因此ISIS协议是提供路由器和路由器之间通信的协议;
路由域(RD,Routing Domain),在一个路由域中一群IS通过相同的路由协议来交换路由信息;
区域(Area):路由域的划分单元;
链路状态数据库(LSDB,Link State Data Base):所有的网络内链路状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。
ISIS报文主要包括以下三种:
(1)Hello报文
Hello报文用于建立和维持邻居关系;
(2)链路状态报文(LSP,Link State Packet)
LSP用来交换链路状态信息;在ISIS中,每个IS都会将自身的链路状态信息携带在LSP中在本区域内扩散;每个IS收集本区域内所有的LSP生成自己的LSDB;
(3)时序报文(SNP,Sequence Number Packet)
SNP用于确认邻居之间最新接收的LSP;SNP包括全时序报文(CSNP,Complete SNP)和部分时序报文(PSNP,Partial SNP);PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP;CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB同步。
图1是现有的运行ISIS协议的网络的一个组网示意图。如图1所示,S1和S2表示连接到骨干网络的路由器,MRT1和MRT2表示汇聚层的路由器,RT1至RTn表示接入层的路由器。这里接入层的路由器RT1至RTn的数量可能超过几百台,甚至上千台。汇聚层的路由器MTR1和MTR2需要与接入层的这些路由器建立ISIS邻居关系。以MRT1为例,在MRT1上维护如此多的邻居关系,需要发送和接收大量的ISIS报文。在稳定的网络中,MRT1在大部分时间只需要发送和接收Hello报文维护邻居关系。但是,当LSDB中的链路状态信息更新(周期性地更新)时,每个路由器都需要向自身的所有邻居通知自身LSDB中更新的链路状态信息,LSDB中每一次更新的链路状态信息包括多个LSP分片(前面提到LSDB是IS通过收集本区域内的所有LSP生成的,LSP分片的内容其实就是生成LSDB时的LSP所承载的链路状态信息,因此每一个LSP分片对应一条链路状态信息),而这些LSP分片通常是同时或在相近的时间内产生的,例如在ISIS引入了大量的其他协议路由时,由于这些路由是同时引入的,所示在相同或相近的时 间产生大量的LSP分片。每个LSP分片的更新周期是相同的,所以这些LSP会在相同或相近的时间更新。在ISIS协议中,每个LSP分片都被组装成一个LSP发送出去,因此在LSDB中的链路状态信息更新时,即LSDB中的LSP分片更新时,IS路由器会发送大量的与更新的LSP分片一一对应的LSP,这会造成如下的问题:
1、如果是MRT1的LSDB中的链路状态信息周期性更新,可能会造成MRT1的ISIS报文发送队列满,从而部分Hello报文发不出去或者不能按时发出,造成邻居如RT1与MRT1的邻居关系超时,邻居关系震荡,而邻居关系的震荡又会造成MRT1与RT1等路由器重新生成LSP,造成MRT1有更多的ISIS报文发送,产生恶性循环,造成ISIS邻居关系不停震荡;
2、如果是RT1、RT2这些路由器的LSDB中的链路状态信息周期性更新,可能会造成MRT1的ISIS报文接收队列满,这样RT1、RT2这些路由器发送的Hello报文可能会MRT1丢弃,MRT1会认为RT1、RT2这些路由器的邻居关系超时,这样也会造成邻居关系震荡,也会产生恶性循环,造成ISIS邻居关系不停震荡。
对于上述问题,目前的解决方案有:
(1)扩大MRT1中的ISIS报文的接收和发送队列。但该方法不能解决根本问题,因为不可能无限地扩大ISIS报文的接收和发送队列,而周期性更新的LSP分片会随着网络的扩大和路由的增多成线性增长,当增长到一定程度时ISIS报文接收和发送队列还是会满。
(2)优先处理Hello报文,努力保持ISIS邻居关系。该方法需要区别出hello报文与其他ISIS报文,而hello报文与LSP报文和CSNP报文是很难简单区分,需要深度检测才能区分,因此该方法对设备硬件的要求很高。同时,ISIS报文接收队列满时,优先处理hello报文会造成LSP报文会丢弃,造成LSP重传,进而造成LSDB同步困难,会有更多的ISIS报文需要处理增加了处理负担。
(3)将Hello报文的定时器时间间隔扩大,并使用BFD(BFD一个通 用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障)探测邻居是否正常。此方法要求所有路由器设备都要支持BFD,而RT1、RT2到RTN都是低端路由器通常不支持BFD功能,而且RT1、RT2到RTN与MRT1和MRT2之间的链路通常是低速链路,运行BFD需要占用大量带宽;MRT1和MRT2需要建立大量ISIS邻居,进而需要建立同样多的BFD连接,可能会超过BFD规格限制。
综上所述,当一个IS与多个IS之间建立ISIS邻居关系时,由于LSDB中的链路状态信息周期性更新,可能会造成LSP的突发,使得ISIS报文的接收和发送队列溢出,导致ISIS邻居关系震荡。但现有技术中还没有一个有效解决该问题的方案。
发明内容
本发明的主要提供了两种避免中间系统邻居关系震荡的方法,这两种方法能够有效地避免LSDB中的链路状态信息周期性更新时的LSP突发所造成的ISIS报文发送和接收队列满所导致的ISIS邻居关系震荡。
本发明还提供了两种中间系统IS,这两种IS能够有效地避免LSDB中的链路状态信息周期性更新时的LSP突发所造成的ISIS报文发送和接收队列满所导致的ISIS邻居关系震荡。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种避免中间系统邻居关系震荡的方法,对于与第二中间系统IS存在邻居关系的第一中间系统IS,该方法包括:
第一IS在自身链路状态数据库LSDB中的N条链路状态信息更新时,组装部分时序报文PSNP,将与所述更新后的N条链路状态信息一一对应的N个链路状态报文LSP的N个LSP摘要信息携带在所述PSNP中发送给第二IS;其中,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数;
所述第一IS发送的PSNP使得第二IS根据收到的该PSNP中携带的LSP摘要信息更新该第二IS自身的LSDB。
本发明还公开了一种避免中间系统邻居关系震荡的方法,对于与第一中间系统IS存在邻居关系的第二中间系统IS,该方法包括:
第二IS在收到来自第一IS的部分时序报文PSNP时,对于该收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的链路状态报文LSP标识查找自身的链路状态数据库LSDB,判断是否存在相同的LSP标识;如果存在,则进一步判断该摘要信息中的序列号是否比LSDB中的与所述LSP 标识对应的序列号大;如果大,则用该摘要信息中的序列号、校验和和保持时间更新自身LSDB中与所述LSP标识对应的序列号、校验和和保持时间;
其中,所述PSNP是第一IS在自身LSDB中的N条链路状态信息更新时组装发送的;所述PSNP中携带有与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数。
本发明公开了一种中间系统IS,该IS包括:
链路状态更新信息发送模块,用于在所述IS的链路状态数据库LSDB中的N条链路状态信息更新时,组装部分时序报文PSNP,将与所述更新后的N条链路状态信息一一对应的N个链路状态报文LSP的N个LSP摘要信息携带在所述PSNP中发送给所述IS的邻居IS;其中,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数;
所述链路状态更新信息发送模块发送的所述PSNP使得所述邻居IS根据收到的该PSNP中携带的LSP摘要信息更新所述邻居IS自身的LSDB。
本发明还公开了一种中间系统IS,该IS包括:链路状态更新信息处理模块和链路状态数据库LSDB存储模块,其中,
LSDB存储模块,用于存储所述IS的链路状态数据库LSDB;
链路状态更新信息处理模块,用于在收到所述IS的邻居IS发送的部分时序报文PSNP时,对于该收到的PSNP中携带的每一个摘要信息,根据该 摘要信息中的链路状态报文LSP标识查找所述LSDB存储模块中的LSDB,判断LSDB中是否存在相同的LSP标识;如果存在,则进一步判断该摘要信息中的序列号是否比LSDB中与所述LSP标识对应的序列号大;如果大,则用该摘要信息中的序列号、校验和和保持时间更新LSDB中与所述LSP 标识对应的序列号、校验和和保持时间;
所述PSNP是所述邻居IS在其自身的LSDB中的N条链路状态信息更新时组装发送的;所述PSNP中携带有与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数。
由上述技术方案可见,本发明这种中间系统IS在其LSDB中的N条链路状态信息产生更新时,不向邻居IS发送与所述更新后的N条链路状态信息一一对应的N个LSP,而是组装一个携带所述N个LSP的摘要信息的PSNP发送给邻居IS,以使得邻居IS根据所述N个LSP的摘要信息更新自身的LSDB的方案,极大减少了LSP更新时产生的ISIS报文,进而避免了由于ISIS报文发送和接收队列满而导致的ISIS邻居关系的震荡。
附图说明
图1是现有的运行ISIS协议的网络的一个组网示意图;
图2是本发明实施例一种避免中间系统邻居关系震荡的方法的流程图;
图3是本发明一种中间系统IS的第一实施例组成结构框图;
图4是本发明一种中间系统IS的第二实施例组成结构框图。
具体实施方式
图2是本发明实施例一种避免中间系统邻居关系震荡的方法的流程图。如图2所示,对于存在邻居关系的第一IS和第二IS,该方法包括以下步骤:
步骤201,第一IS在自身LSDB中的N条链路状态信息更新时,不向第二IS发送与所述更新后的N条链路状态信息一一对应的N个LSP,而是组装PSNP,将所述N个LSP的N个LSP摘要信息携带在所述PSNP中发送给第二IS;其中,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数;
步骤202,第二IS在收到来自第一IS的PSNP时,对于该收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的LSP标识查找自身的LSDB判断是否存在相同的LSP标识;如果存在,则进一步判断该摘要信息中的序列号是否比LSDB中的与所述LSP标识对应的序列号大;如果大,则用该摘要信息中的序列号、校验和和保持时间更新自身LSDB中与所述LSP标识对应的序列号、校验和和保持时间。
上述方案极大减少了LSP更新时产生的ISIS报文,进而避免了由于ISIS报文发送和接收队列满而导致的ISIS邻居关系的震荡。
为使本发明的目的、技术方案及优点更加清楚明白,以下对本发明进行进一步的详细说明。
在ISIS中,当LSDB中链路状态信息周期性更新时,所发送的链路状态报文LSP承载的路由信息并没有改变,只是用于标识该LSP信息发生了变化。这些标识LSP的信息称为LSP摘要信息。LSP摘要信息包括:LSP标识(LSPID)、序列号、校验和、保持之间。
在ISIS中,当LSDB中链路状态信息周期性更新时,LSPID不变,序列号加1,重新计算校验和,保持时间置为最大值,即LSP摘要信息中LSPID不变,其他三项变化。
当一个IS的LSDB中链路状态信息周期性更新时,本IS会向自身的所有邻居IS发送相应的LSP,以通知邻居IS同步LSDB,此时便形成了上文中描述的突发报文。对于邻居IS同步LSDB而言,本IS其实并没有必要发送整个LSP,而只要通知邻居IS该LSP更新了,而LSP中的LSPID、序列号和校验和可以唯一标识一个LSP,因此本IS只需要将LSP摘要信息通知给邻居IS就可以使邻居IS同步其自身的LSDB,即邻居IS在收到LSP摘要信息后与自身LSDB中的相同LSPID的LSP分片进行比较,会发现该LSP摘要信息中序列号比自身LSDB中的相同LSPID的LSP分片的序列号大1,则邻居IS就认为该LSP摘要信息比自身LSDB中的相同LSPID的LSP分片要新,用该LSP摘要信息更新自身LSDB中的相同LSPID的LSP分片的摘要信息。
另外,在ISIS协议中,LSP摘要信息在包括CSNP和PSNP的SNP报文中携带,且一个SNP报文可以携带多个LSP摘要信息。
因此,在本发明实施例中本IS用PSNP报文通知邻居IS本IS的LSDB中的LSP分片的更新,因此在本IS的LSDB中的多个LSP分片的更新时,不再发送多个LSP,而只发送一个携带多个LSP摘要信息的PSNP,极大减少了ISIS报文的发送。
下面阐述如何区分现有技术中的普通PSNP和本发明中在LSDB中的链路状态信息更新时所发送的PSNP:
当LSDB中链路状态信息更新时,对于LSDB中任一个更新的LSP分片(即会被封装成一个LSP的一条链路状态信息),其LSPID是不变的唯一的,而序列号会加1。此时如果向邻居IS发送本发明中所述的含有该更新后的LSP分片的摘要信息的PSNP,则该摘要信息中的序列号比邻居IS的LSDB中相应序列号大,邻居IS则认为该摘要信息比自己的新,从而更新自身的LSDB。而现有技术中普通PSNP是用来请求LSP或者确认收到的LSP的,其中所携带的LSP摘要中的序列号与接收者LSDB中的相应序列号相同。可见,在本发明实施例中,可以通过比较PSNP中的LSP摘要信息中的序列号与本地LSDB中的相应序列号来区分现有技术中的普通PSNP和本发明中在LSDB中的链路状态信息更新时所发送的PSNP。
下面仍以图1中所示的MRT1以及MRT1的所有邻居(RT1至RTn)为例对本发明的技术方案进一步详细说明。
参见图1,MRT1的LSDB中的链路状态信息更新,且本实施例中假设此次更新的链路状态信息包括5条链路状态信息,即5个LSP分片。则按照现有技术的方案,MRT1此时会将更新后的5个LSP分片中的每个LSP 分片都封装成一个LSP,然后向自身的所有邻居发送封装后的5个LSP。而根据本发明的方案则会执行如下步骤:
1、MRT1在自身LSDB中的5条链路状态信息更新时,不向RT1~RTn发送与所述更新后的5条链路状态信息一一对应的5个LSP,而是组装PSNP,将所述5个LSP的5个LSP摘要信息携带在所述PSNP中发送给RT1~RTn。
2、RT1~RTn收到PSNP后的处理过程相同,这里以RT1为例进行说明:
2.1、RT1取出PSNP中的第一个LSP摘要信息,根据该摘要信息中的LSPID查找RT1自身的LSDB判断是否存在相同的LSPID;如果存在则执行2.2,如果不存在则执行2.3;
2.2、RT1进一步判断该LSP摘要信息中的序列号是否比自身LSDB中的与该LSPID对应的序列号大;如果该LSP摘要信息中的序列号比自身LSDB中的与该LSPID对应的序列号大,则用该LSP摘要信息中的序列号、校验和和保持时间更新自身LSDB中与所述LSP标识对应的序列号、校验和和保持时间;反之,如果相同或小于则表示当前接收的PSNP是现有技术中的普通PSNP,RT1按照现有的流程进行处理(需要说明的是:在广播网络中非DIS路由器不再继续处理PSNP,直接丢弃);执行步骤2.4;
2.3、RT1向MRT1发送请求与所述LSPID对应的LSP的PSNP;执行步骤2.4;
2.4、RT1取出PSNP中的下一个LSP摘要信息,进行与2.1~2.3相同的处理,直至处理完PSNP中的5个LSP摘要信息;
2.5、TR1处理完所接收的PSNP后,其自身的LSDB已产生更新,则RT1也根据自身LSDB中已更新的LSP摘要信息组建PSNP通告给其他链路上的邻居。
在步骤2.5中,如果MRT1与RT1之间的链路是P2P链路,则RT1在处理完所接收的PSNP后,还进一步向MRT1返回用于确认收到链路状态更新信息的PSNP;如果MRT1与RT1之间的链路是广播链路,则RT1在处理完所接收的PSNP后,不向MRT1返回用于确认收到链路状态更新信息的PSNP。
在实际组网中,有些IS能支持本发明中的方案,而有些IS不支持本发明的方案,为了描述方便,将支持本发明方案的IS称为新IS,将不支持本发明方案的IS称为旧IS。当实际组网中同时存在新IS和旧IS时,例如,在图1所示的组网中MRT1是新IS,而RT1~RTn中有部分是新IS,也有部分是旧IS时,本发明还给处理如下的优化处理方案:
将所述MRT1的与RT1~RTn连接的接口分为两组,分别为第一组和第二组;其中与第一组中的接口所连接的邻居RT能够处理MRT1在其自身的LSDB中的链路状态信息更新时所发送的PSNP(即这部分RT为新IS),而与第二组中的接口所连接的邻居RT则不能处理MRT1在其自身的LSDB中的链路状态信息更新时所发送的PSNP(即这部分RT是旧IS);MRT1在其自身的LSDB中的N条链路状态信息更新时,向第二组中的接口发送与所述更新后的N条链路状态信息一一对应的N个LSP,向第一组中的接口发送携带所述N个LSP的N个LSP摘要信息的PSNP;N为自然数。
在实际当中,可以采用静态配置方式,即手工配置方式将PRT1的与各邻居RT连接的接口分为第一组和第二组,如在广播链路中可以采用此种方式。在P2P链路中也可以采用静态配置方式将PRT1的与各邻居RT连接的接口分为第一组和第二组;或者,也可以通过首次的链路状态信息更新来判断,具体为:MRT1在自身LSDB中M条链路状态信息首次更新时,默认对端的邻居IS是新IS,这里以该邻居IS为RT1为例,MRT1不向RT1发送与所述更新后的M条链路状态信息一一对应的M个LSP,而是向RT1发送携带所述M个LSP的M个LSP摘要信息的PSNP;如果MTR1在指定时间内收到了RT1返回的确认收到链路状态更新信息的PSNP,则确认RT1是新IS,将MRT1的与RT1连接的接口分到第一组;反之,如果MRT1在指定时间内没有收到RT1返回的用于确认收到链路状态更新信息的PSNP,则确认RT1是旧IS,将MRT1的与RT1连接的接口分到第二组;M是自然数。
通过上述方案,可以使得支持本发明方案的新IS依然可以兼通原有的旧IS。
接下来给出本发明实施例中的中间系统IS的组成结构。
图3是本发明一种中间系统IS的第一实施例组成结构框图。如图3所示,该IS包括:
链路状态更新信息发送模块301,用于在所述IS的LSDB中的N条链路状态信息更新时,组装PSNP,将与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息携带在所述PSNP中发送给所述IS的邻居IS;其中,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数;
所述链路状态更新信息发送模块发送的所述PSNP使得所述邻居IS根据收到的该PSNP中携带的LSP摘要信息更新所述邻居IS自身的LSDB。具体为:所述链路状态更新信息发送模块发送的所述PSNP使得所述邻居IS在收该PSNP时,对于该PSNP中携带的每一个摘要信息,根据该摘要信息中的LSP标识查找该邻居IS自身的LSDB判断是否存在相同的LSP标识,如果存在,则进一步判断该摘要信息中的序列号是否比该邻居IS自身的LSDB中与所述LSP标识对应的序列号大,如果大,则用该摘要信息中的序列号、校验和和保持时间更新该邻居IS自身的LSDB中与所述LSP标识对应的序列号、校验和和保持时间。
在图3中,该IS的与各邻居IS连接的接口被分为第一组和第二组;其中与第一组中的接口所连接的邻居IS能够处理所述链路状态更新信息发送模块在所述IS的LSDB中的链路状态信息更新时所发送的PSNP,而与第二组中的接口所连接的邻居IS则不能处理所述链路状态更新信息发送模块在所述IS的LSDB中的链路状态信息更新时所发送的PSNP;
所述链路状态更新信息发送模块301,在所述IS的LSDB中的N条链路状态信息更新时,用于向第二组中的接口发送与所述更新后的N条链路 状态信息一一对应N个LSP,向第一组中的接口发送携带所述N个LSP的N个LSP摘要信息的PSNP。
在图3中,该IS进一步包括:邻居接口分组模块302,
所述邻居接口分组模块302,用于接收静态配置信息,并根据静态配置信息将该IS的与各邻居IS连接的接口分为第一组和第二组;
或者所述邻居接口分组模块302,在该IS的LSDB中的M条链路状态信息更新时,指令所述链路状态更新信息发送模块301不向与该IS的一个未分组的接口连接的指定邻居发送与所述更新后的M条链路状态信息一一对应的M个LSP,而是向该指定邻居发送携带所述M个LSP的M个LSP摘要信息的PSNP;如果该IS在指定时间内收到了所述指定邻居返回的用于确认收到链路状态更新信息的PSNP,则将该IS的与所述指定邻居连接的接口分到第一组;反之,如果第一IS在指定时间内没有收到所述指定邻居返回的用于确认收到链路状态更新信息的PSNP,则将该IS的与所述指定邻居连接的接口分到第二组;M是自然数。
图4是本发明一种中间系统IS的第二实施例组成结构框图。如图4所示,该IS包括:链路状态更新信息处理模块401和LSDB存储模块402,其中:
LSDB存储模块402,用于存储所述IS的链路状态数据库LSDB;
链路状态更新信息处理模块401,用于在收到所述IS的邻居IS发送的PSNP时,对于该收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的LSP标识查找LSDB存储模块402中的LSDB,判断LSDB是否存在相同的LSP标识;如果存在,则进一步判断该摘要信息中的序列号是否比LSDB中与所述LSP标识对应的序列号大;如果大,则用该摘要信息中的序列号、校验和和保持时间更新LSDB中与所述LSP标识对应的序列号、校验和和保持时间;
所述PSNP是所述邻居IS在其自身的LSDB中的N条链路状态信息更新时组装发送的;所述PSNP中携带有与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数。
在图4中,所述链路状态更新信息处理模块401,在对于所述收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的LSP标识查找自身的LSDB判断是否存在相同的LSP标识时,如果LSDB中不存在相同的LSP标识,则进一步用于,向发送PSNP的邻居IS发送请求与所述LSP标识对应的LSP的PSNP。
在图4中,所述链路状态更新信息处理模块401,进一步用于向发送所述PSNP的邻居IS返回用于确认收到链路状态更新信息的PSNP。
图3和图4中所述的中间系统IS可以是同一个IS。即该IS即可以在其自身LSDB中的N条链路状态信息更新时,组装PSNP,将与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息携带在所述PSNP中发送给自身的邻居IS;也可以接收并处理邻居IS在其自身LSDB中的N条链路状态信息更新时组装发送的PSNP。
综上所述,本发明实施例这种中间系统IS在其LSDB中的N条链路状态信息产生更新时,不向邻居IS发送与所述更新后的N条链路状态信息一一对应的N个LSP,而是组装一个携带所述N个LSP的摘要信息的PSNP发送给邻居IS,以使得邻居IS根据所述N个LSP的摘要信息更新自身的LSDB的方案,极大减少了LSP更新时产生的ISIS报文,从根本上解决了由于LSP周期性更新造成的ISIS报文大量突发,进而避免了由于ISIS报文发送和接收队列满而导致的ISIS邻居关系的震荡。且本发明实施例中的上述方案与原有的ISIS协议兼容。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种避免中间系统邻居关系震荡的方法,其特征在于,对于与第二中间系统IS存在邻居关系的第一中间系统IS,该方法包括:
第一IS在自身链路状态数据库LSDB中的N条链路状态信息更新时,组装部分时序报文PSNP,将与所述更新后的N条链路状态信息一一对应的N个链路状态报文LSP的N个LSP摘要信息携带在所述PSNP中发送给第二IS;其中,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数;
所述第一IS发送的PSNP使得第二IS根据收到的该PSNP中携带的LSP摘要信息更新该第二IS自身的LSDB。
2.如权利要求1所述的方法,其特征在于,该方法进一步包括:
将所述第一IS的与各邻居IS连接的接口分为第一组和第二组;其中与第一组中的接口所连接的邻居IS能够处理第一IS的LSDB中的链路状态信息更新时所发送的PSNP,而与第二组中的接口所连接的邻居IS则不能处理第一IS的LSDB中的链路状态信息更新时所发送的PSNP;所述第二IS与第一组中的接口连接;
第一IS的LSDB中的N条链路状态信息更新时,向第二组中的接口发送与所述更新后的N条链路状态信息一一对应的N个LSP,向第一组中的接口发送携带所述N个LSP的N个LSP摘要信息的PSNP。
3.如权利要求2所述的方法,其特征在于,所述将第一IS的与各邻居IS连接的接口分为第一组和第二组包括:
采用静态配置方式将第一IS的与各邻居IS连接的接口分为第一组和第二组;或者
对于与第一IS的一个未分组的接口连接的指定邻居IS,第一IS在其自身的LSDB中的M条链路状态信息发生更新时,不向该指定邻居IS发送与所述更新后的M条链路状态信息一一对应的M个LSP,而是向该指定邻居 发送携带所述M个LSP的M个LSP摘要信息的PSNP;如果第一IS在指定时间内收到了所述指定邻居返回的确认收到链路状态更新信息的PSNP,则将第一IS的与所述指定邻居连接的接口分到第一组;反之,如果第一IS在指定时间内没有收到所述指定邻居返回的用于确认收到链路状态更新信息的PSNP,则将第一IS的与所述指定邻居连接的接口分到第二组;M是自然数。
4.一种避免中间系统邻居关系震荡的方法,其特征在于,对于与第一中间系统IS存在邻居关系的第二中间系统IS,该方法包括:
第二IS在收到来自第一IS的部分时序报文PSNP时,对于该收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的链路状态报文LSP标识查找自身的链路状态数据库LSDB,判断是否存在相同的LSP标识;如果存在,则进一步判断该摘要信息中的序列号是否比LSDB中的与所述LSP标识对应的序列号大;如果大,则用该摘要信息中的序列号、校验和和保持时间更新自身LSDB中与所述LSP标识对应的序列号、校验和和保持时间;
其中,所述PSNP是第一IS在自身LSDB中的N条链路状态信息更新时组装发送的;所述PSNP中携带有与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数。
5.如权利要求4所述的方法,其特征在于,第二IS对于所述收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的LSP标识查找自身的LSDB,判断是否存在相同的LSP标识时,如果LSDB中不存在相同的LSP标识,则该方法进一步包括:
第二IS向第一IS发送请求与所述LSP标识对应的LSP的PSNP。
6.如权利要求4所述的方法,其特征在于,该方法进一步包括:
第二IS向第一IS返回用于确认收到链路状态更新信息的PSNP。
7.一种中间系统IS,其特征在于,该IS包括:
链路状态更新信息发送模块,用于在所述IS的链路状态数据库LSDB中的N条链路状态信息更新时,组装部分时序报文PSNP,将与所述更新后的N条链路状态信息一一对应的N个链路状态报文LSP的N个LSP摘要信息携带在所述PSNP中发送给所述IS的邻居IS;其中,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数;
所述链路状态更新信息发送模块发送的所述PSNP使得所述邻居IS根据收到的该PSNP中携带的LSP摘要信息更新所述邻居IS自身的LSDB。
8.如权利要求7所述的IS,其特征在于,该IS的与各邻居IS连接的接口被分为第一组和第二组;其中与第一组中的接口所连接的邻居IS能够处理所述链路状态更新信息发送模块在该IS的LSDB中的链路状态信息更新时所发送的PSNP,而与第二组中的接口所连接的邻居IS则不能处理所述链路状态更新信息发送模块在该IS的LSDB中的链路状态信息更新时所发送的PSNP;
所述链路状态更新信息发送模块,在所述IS的LSDB中的N条链路状态信息更新时,用于向第二组中的接口发送与所述更新后的N条链路状态信息一一对应的N个LSP,向第一组中的接口发送携带所述N个LSP的N个LSP摘要信息的PSNP。
9.如权利要求8所述的IS,其特征在于,该IS进一步包括:
邻居接口分组模块,用于接收静态配置信息,并根据静态配置信息将该IS的与各邻居IS连接的接口分为第一组和第二组;
或者所述邻居接口分组模块,在该IS的LSDB中的M条链路状态信息更新时,指令所述链路状态更新信息发送模块不向与该IS的一个未分组的接口连接的指定邻居发送与所述更新后的M条链路状态信息一一对应的M个LSP,而是向该指定邻居发送携带所述M个LSP的M个LSP摘要信息的PSNP;如果该IS在指定时间内收到了所述指定邻居返回的用于确认收到链路状态更新信息的PSNP,则将该IS的与所述指定邻居连接的接口分到第一组;反之,如果该IS在指定时间内没有收到所述指定邻居返回的用于确认收到链路状态更新信息的PSNP,则将该IS的与所述指定邻居连接的接口分到第二组;M是自然数。
10.一种中间系统IS,其特征在于,该IS包括:链路状态更新信息处理模块和链路状态数据库LSDB存储模块,其中,
LSDB存储模块,用于存储所述IS的链路状态数据库LSDB;
链路状态更新信息处理模块,用于在收到所述IS的邻居IS发送的部分时序报文PSNP时,对于该收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的链路状态报文LSP标识查找所述LSDB存储模块中的LSDB,判断LSDB中是否存在相同的LSP标识;如果存在,则进一步判断该摘要信息中的序列号是否比LSDB中与所述LSP标识对应的序列号大;如果大,则用该摘要信息中的序列号、校验和和保持时间更新LSDB中与所述LSP标识对应的序列号、校验和和保持时间;
所述PSNP是所述邻居IS在其自身的LSDB中的N条链路状态信息更新时组装发送的;所述PSNP中携带有与所述更新后的N条链路状态信息一一对应的N个LSP的N个LSP摘要信息,每个LSP摘要信息包括:LSP标识、序列号、校验和和保持时间;N为自然数。
11.如权利要求10所述的IS,其特征在于,
所述链路状态更新信息处理模块,在对于所述收到的PSNP中携带的每一个摘要信息,根据该摘要信息中的LSP标识查找自身的LSDB,判断是否存在相同的LSP标识时,如果LSDB中不存在相同的LSP标识,则进一步用于,向发送PSNP的邻居IS发送请求与所述LSP标识对应的LSP的PSNP。
12.如权利要求10所述的IS,其特征在于,
所述链路状态更新信息处理模块,进一步用于向发送所述PSNP的邻居IS返回用于确认收到链路状态更新信息的PSNP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102245101A CN101394354B (zh) | 2008-10-17 | 2008-10-17 | 一种避免中间系统邻居关系震荡的方法和一种中间系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102245101A CN101394354B (zh) | 2008-10-17 | 2008-10-17 | 一种避免中间系统邻居关系震荡的方法和一种中间系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101394354A CN101394354A (zh) | 2009-03-25 |
CN101394354B true CN101394354B (zh) | 2011-04-06 |
Family
ID=40494435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102245101A Active CN101394354B (zh) | 2008-10-17 | 2008-10-17 | 一种避免中间系统邻居关系震荡的方法和一种中间系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101394354B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616095B (zh) * | 2009-07-24 | 2012-10-03 | 华为技术有限公司 | 一种选举指定中间系统的方法和路由器 |
CN101834855B (zh) * | 2010-04-14 | 2014-03-19 | 杭州华三通信技术有限公司 | 一种防止序列号攻击的方法和设备 |
CN102647473A (zh) * | 2012-04-11 | 2012-08-22 | 北京星网锐捷网络技术有限公司 | 信息同步方法、装置和通讯设备 |
CN103152263B (zh) * | 2013-02-06 | 2016-01-06 | 杭州华三通信技术有限公司 | 链路状态协议数据单元分片更新方法及路由器 |
CN103152261B (zh) * | 2013-02-08 | 2016-06-01 | 杭州华三通信技术有限公司 | 一种链路状态协议数据单元分片报文生成发布方法和设备 |
CN103560947B (zh) * | 2013-10-25 | 2016-11-23 | 福建星网锐捷网络有限公司 | 一种避免中间系统邻居关系震荡的方法及装置 |
CN104683415A (zh) * | 2013-12-02 | 2015-06-03 | 乐视网信息技术(北京)股份有限公司 | 一种点对点网络中删除数据通知消息的发送方法及装置 |
CN103825822B (zh) * | 2014-02-18 | 2018-07-31 | 新华三技术有限公司 | 一种网络设备的状态信息传输方法和装置 |
CN104486213B (zh) * | 2014-12-30 | 2017-09-29 | 安徽皖通邮电股份有限公司 | 一种is‑is协议抑制拓扑震荡的方法 |
CN106789674B (zh) * | 2016-04-19 | 2020-12-11 | 新华三技术有限公司 | 一种链路状态更新方法及装置 |
CN106789673B (zh) * | 2016-04-22 | 2020-11-20 | 新华三技术有限公司 | 一种链路状态同步方法及装置 |
CN106130904A (zh) * | 2016-08-26 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种lsp链路状态协议数据单元的同步方法及装置 |
CN108206823B (zh) * | 2016-12-20 | 2020-06-02 | 华为技术有限公司 | 一种处理报文的方法、系统及网络设备 |
CN108880868B (zh) * | 2018-05-31 | 2021-02-26 | 新华三技术有限公司 | Bfd保活报文传输方法、装置、设备及机器可读存储介质 |
CN109525496B (zh) * | 2018-12-24 | 2021-01-26 | 杭州迪普科技股份有限公司 | 一种链路状态信息的更新方法及装置 |
CN114205263B (zh) * | 2021-12-08 | 2023-10-13 | 中国信息通信研究院 | 用于Ether CAT网络的通信方法、系统和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494270A (zh) * | 2002-11-02 | 2004-05-05 | ��Ϊ��������˾ | 一种流量工程链路状态信息扩散的方法 |
CN101179488A (zh) * | 2006-11-10 | 2008-05-14 | 华为技术有限公司 | 通告自治系统边界连接信息的方法和装置 |
-
2008
- 2008-10-17 CN CN2008102245101A patent/CN101394354B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494270A (zh) * | 2002-11-02 | 2004-05-05 | ��Ϊ��������˾ | 一种流量工程链路状态信息扩散的方法 |
CN101179488A (zh) * | 2006-11-10 | 2008-05-14 | 华为技术有限公司 | 通告自治系统边界连接信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101394354A (zh) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101394354B (zh) | 一种避免中间系统邻居关系震荡的方法和一种中间系统 | |
US5412654A (en) | Highly dynamic destination-sequenced destination vector routing for mobile computers | |
US7769888B2 (en) | Method and system for providing network and routing protocols for utility services | |
US9397925B2 (en) | Method and apparatus for advertising border connection information of autonomous system | |
US8072951B2 (en) | Method and system for providing routing protocols in a frequency hopping spread spectrum network | |
US8130700B2 (en) | Method and system for providing network and routing protocols for utility services | |
US7355983B2 (en) | Technique for graceful shutdown of a routing protocol in a network | |
US20060182038A1 (en) | Adaptive timing of update messages transmitted by routers employing the border gateway protocol | |
US8094583B2 (en) | Arrangement and method relating to routing of IP traffic in mobile wireless networks | |
US8291112B2 (en) | Selective a priori reactive routing | |
US20050265260A1 (en) | Optimizing flooding of information in link-state routing protocol | |
US20020131362A1 (en) | Network routing using link failure information | |
CN106063195A (zh) | 具有单独控制设备和转发设备的网络中的控制设备发现 | |
CN101455030A (zh) | 动态共享风险节点组(srng)成员发现 | |
US7391730B1 (en) | System and method for synchronizing link state databases in a network environment | |
CN102292942B (zh) | 一种路由处理方法、系统和路由器 | |
EP1847072B1 (en) | System for scheduling scans of interior nodes of a network domain for reachability events | |
US7245640B2 (en) | Packet origination | |
JP2013223131A (ja) | 伝送システム、集中制御計算機、及び伝送方法 | |
US8750166B2 (en) | Route topology discovery in data networks | |
US7532582B2 (en) | Method for selecting route in routing protocol | |
JPH06232872A (ja) | 情報通信装置 | |
Cisco | Configuring Integrated IS-IS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |