一种is-is协议抑制拓扑震荡的方法

文档序号:7824153阅读:346来源:国知局
一种is-is协议抑制拓扑震荡的方法
【专利摘要】本发明公开了一种IS-IS协议抑制拓扑震荡的方法,A:目标中间系统即目标IS在往LSP中的邻居TLV填写邻居信息时,按照邻居ID从小到大的顺序进行填写;B:目标中间系统即目标IS生成一条LSP时,如果这个LSP填写了邻居TLV,必须填写一个邻居范围TLV;本发明消除邻居在LSP分片之间移动的拓扑和路由震荡,屏蔽了很多变化的中间计算过程,消除了拓扑震荡;节约了计算资源:计算方中间系统只有收全目标中间系统所有的邻居描述信息才会触发拓扑计算,因此,屏蔽了很多变化的中间计算过程,中间计算过程不再进行拓扑和路由计算;保障通讯畅通:使用本发明避免了中间变化过程所导致的拓扑和路由震荡,也就避免了这种情况下的通讯中断。
【专利说明】一种IS-1S协议抑制拓扑震荡的方法
[0001]

【技术领域】
[0002]本发明涉及一种运行ISIS (中间系统到中间系统)路由协议的网络设备,对ISIS协议抑制拓扑震荡的一种方法。
[0003]

【背景技术】
[0004]中间系统到中间系统路由协议(ISIS)是一种动态的,基于链路状态的内部网关协议(IGP),ISIS协议通过hello报文交互协商建立邻居后,每一个中间系统(IS)都产生链路状态协议数据包(LSP)描述本中间系统(IS)的链路状态信息,并发送到网络中,并且也会存储网络拓扑上所有中间系统(IS)设备发送过来的LSP,形成链路状态数据库(LSDB), ISIS就是使用链路状态数据库(LSDB)通过最短路径优先算法(SPF)计算出到达目的地址的最佳路由。首先执行最短路径优先算法(SPF),依据链路状态数据库(LSDB)中LSP的邻居TLV (类型-长度-值)计算出拓扑结构,拓扑结构中包含了到达每一个IS (中间系统)的下一跳信息。然后,再拷贝拓扑中每个IS (中间系统)下一跳信息作为这个IS (中间系统)所携带路由的下一跳信息,把路由装载至路由表中,这个路由条目就成为了到达这个路由目的地的数据流量转发的依据。
[0005]在依据链路状态数据库(LSDB)中LSP的邻居TLV (类型-长度-值)计算出拓扑结构中,存在如下情况:假如目标IS (中间系统)原来有两条LSP,其中一个邻居存放在其中一条LSP中,计算方IS (中间系统)拓扑已经通过这个邻居建立了稳定的拓扑。但是,如果此时这个目标IS (中间系统)将这个邻居从原来的I号LSP分片移动到2号LSP分片中,计算方IS (中间系统)总会先收到一个LSP分片然后再收到另一个LSP分片,如果先收到I号LSP分片,从计算方IS (中间系统)所保存的目标IS (中间系统)整个系列LSP来看这个邻居被删除了,触发了 SPF拓扑计算,导致通过这个邻居所能到达的拓扑节点全部发生中断,并删除了这些拓扑节点相关的路由;然后,又收到了 2号分片,又触发了 SPF拓扑计算,通过这个邻居所能到达的拓扑节点路径恢复,又恢复了这些拓扑节点相关的路由。这样,出现了一次拓扑和路由震荡,这种震荡导致了业务数据流量中断;消耗了计算资源。
[0006]


【发明内容】

[0007]本发明的目的就是消除邻居信息在LSP分片之间移动所导致的拓扑震荡,消除路由震荡,进而消除这种情况下的流量中断,提供了一种IS-1S协议抑制拓扑震荡的方法。
[0008]本发明的基本思想是计算方IS (中间系统)通过目标IS (中间系统)在LSP中填写的邻居范围TLV判断是否收全目标IS (中间系统)所有邻居信息,做出是否执行SPF拓扑计算的决定,从而避免目标IS (中间系统)的邻居在LSP之间移动出现邻居暂时删除导致的拓扑震荡。
[0009]为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种IS-1S协议抑制拓扑震荡的方法,
A:目标中间系统即目标IS在往LSP中的邻居TLV填写邻居信息时,按照邻居ID从小到大的顺序进行填写。
[0010]B:目标中间系统即目标IS生成一条LSP时,如果这个LSP填写了邻居TLV,必须填写一个邻居范围TLV。
[0011]C:目标中间系统即目标IS生成一条LSP时,邻居范围TLV中开始邻居ID即开始邻居标识的填写:若此LSP分片是第一个填写邻居TLV的LSP分片,则开始邻居ID即开始邻居标识填写为全0x00 ;若此LSP分片不是第一个填写邻居TLV的LSP分片,则开始邻居ID即开始邻居标识填写为上一个LSP分片中填写的最后一个邻居ID加I。
[0012]D:目标中间系统即目标IS生成一条LSP时,邻居范围TLV中结束邻居ID即结束邻居标识的填写:若此LSP分片是最后一个填写邻居TLV的LSP分片,那么结束邻居ID即结束邻居标识填写为全OxFF ;若此LSP分片不是最后一个填写邻居TLV的LSP分片,则结束邻居ID即结束邻居标识填写为此LSP分片中填写的最后一个邻居ID即结束邻居标识。
[0013]作为优选,在填写邻居TLV的LSP中添加一个邻居范围TLV描述此LSP中填写邻居的范围,包括:
所述邻居范围TLV,TLV表示:类型-长度-值,表示LSP分片中邻居TLV中所包含邻居的范围,其包括一个字节的类型,一个字节的长度,值中包括七个字节的开始邻居ID即开始邻居标识和七个字节的结束邻居ID即结束邻居标识。
[0014]作为优选,所述邻居范围TLV包含在包含邻居TLV的LSP分片中。
[0015]作为优选,所述邻居范围TLV包括开始邻居ID即开始邻居标识的填写与结束邻居ID即结束邻居标识的填写。
[0016]开始邻居ID即开始邻居标识的填写:若此LSP分片是第一个填写邻居TLV的LSP分片,则开始邻居ID填写为全0x00 ;若此LSP分片不是第一个填写邻居TLV的LSP分片,则开始邻居ID填写为上一个LSP分片中填写的最后一个邻居ID加I。
[0017]结束邻居ID即结束邻居标识的填写:若此LSP分片是最后一个填写邻居TLV的LSP分片,那么结束邻居ID填写为全OxFF ;若此LSP分片不是最后一个填写邻居TLV的LSP分片,那么结束邻居ID填写为此LSP分片中填写的最后一个邻居ID。
[0018]作为优选,计算方IS收到目标IS发来的LSP后检查是否保存了源IS完整的邻居,若保存了源IS完整的邻居,则马上进行拓扑计算,若不保存源IS完整的邻居,则延迟一段时间进行拓扑计算,此过程包括以下步骤:
首先:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,发现此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID为全0x00,结束邻居ID为全OxFF,则此LSP分片包含了目标中间系统即目标IS所有邻居描述信息,立即触发SPF拓扑计算;
其次:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,检测此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID不为全0x00或结束邻居ID不为全OxFF或开始邻居ID不为全0x00并且结束邻居ID不为全OxFF,则此LSP分片不包含了目标中间系统即目标IS所有的邻居描述信息,计算方中间系统即计算方IS将保存的目标中间系统即目标IS所有的LSP分片中的邻居范围TLV取出来进行检查,若存在邻居ID范围的缺失,则延迟触发SPF拓扑计算,延迟触发的时间默认为10ms ;否则,立即触发SPF拓扑计算;
邻居ID范围缺失表示当前所有的LSP保存的邻居范围TLV所描述的邻居ID范围没有包含了全部的邻居ID从0x00000000000000到OxFFFFFFFFFFFFFF的范围;
再次:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,检测此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID不为全0x00或结束邻居ID不为全OxFF或开始邻居ID不为全0x00并且结束邻居ID不为全OxFF,则此LSP分片不包含了目标中间系统即目标IS所有的邻居描述信息,计算方中间系统即计算方IS将保存的目标中间系统即目标IS所有的LSP分片中的邻居范围TLV取出来进行检查,如果存在邻居ID范围的重叠,则延迟触发SPF拓扑计算,延迟触发的时间默认为10ms ;否则,立即触发SPF拓扑计算,
邻居ID范围重叠表示当前两个或多个LSP保存的邻居范围TLV所描述的邻居ID范围重叠。
[0019]本发明由于采用了以上技术方案,具有显著的技术效果:
(I)消除邻居在LSP分片之间移动的拓扑和路由震荡:计算方中间系统(IS)只有收全目标中间系统(IS)所有的邻居描述信息才会触发拓扑计算,因此,屏蔽了很多变化的中间计算过程,消除了拓扑震荡。
[0020](2)节约了计算资源:计算方中间系统(IS)只有收全目标中间系统(IS)所有的邻居描述信息才会触发拓扑计算,因此,屏蔽了很多变化的中间计算过程,中间计算过程不再进行拓扑和路由计算。
[0021](3)保障通讯畅通:使用本发明避免了中间变化过程所导致的拓扑和路由震荡,也就避免了这种情况下的通讯中断。
[0022]

【专利附图】

【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为邻居范围TLV。
[0025]图2为拓扑图。
[0026]

【具体实施方式】
[0027]下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
[0028]实施例1: 一种IS-1S协议抑制拓扑震荡的方法,
A:目标中间系统即目标IS在往LSP中的邻居TLV填写邻居信息时,按照邻居ID从小到大的顺序进行填写。
[0029]B:目标中间系统即目标IS生成一条LSP时,如果这个LSP填写了邻居TLV,必须填写一个邻居范围TLV。
[0030]C:目标中间系统即目标IS生成一条LSP时,邻居范围TLV中开始邻居ID即开始邻居标识的填写:若此LSP分片是第一个填写邻居TLV的LSP分片,则开始邻居ID即开始邻居标识填写为全0x00 ;若此LSP分片不是第一个填写邻居TLV的LSP分片,则开始邻居ID即开始邻居标识填写为上一个LSP分片中填写的最后一个邻居ID加I。
[0031]D:目标中间系统即目标IS生成一条LSP时,邻居范围TLV中结束邻居ID即结束邻居标识的填写:若此LSP分片是最后一个填写邻居TLV的LSP分片,那么结束邻居ID即结束邻居标识填写为全OxFF ;若此LSP分片不是最后一个填写邻居TLV的LSP分片,则结束邻居ID即结束邻居标识填写为此LSP分片中填写的最后一个邻居ID即结束邻居标识。
[0032]在填写邻居TLV的LSP中添加一个邻居范围TLV描述此LSP中填写邻居的范围,包括:所述邻居范围TLV,TLV表示:类型-长度-值,表示LSP分片中邻居TLV中所包含邻居的范围,其包括一个字节的类型,一个字节的长度,值中包括七个字节的开始邻居ID即开始邻居标识和七个字节的结束邻居ID即结束邻居标识。
[0033]所述邻居范围TLV包含在包含邻居TLV的LSP分片中。
[0034]所述邻居范围TLV包括开始邻居ID即开始邻居标识的填写与结束邻居ID即结束邻居标识的填写。
[0035]开始邻居ID即开始邻居标识的填写:若此LSP分片是第一个填写邻居TLV的LSP分片,则开始邻居ID填写为全0x00 ;若此LSP分片不是第一个填写邻居TLV的LSP分片,则开始邻居ID填写为上一个LSP分片中填写的最后一个邻居ID加I。
[0036]结束邻居ID即结束邻居标识的填写:若此LSP分片是最后一个填写邻居TLV的LSP分片,那么结束邻居ID填写为全OxFF ;若此LSP分片不是最后一个填写邻居TLV的LSP分片,那么结束邻居ID填写为此LSP分片中填写的最后一个邻居ID。
[0037]计算方IS收到目标IS发来的LSP后检查是否保存了源IS完整的邻居,若保存了源IS完整的邻居,则马上进行拓扑计算,若不保存源IS完整的邻居,则延迟一段时间进行拓扑计算,此过程包括以下步骤:
首先:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,发现此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID为全0x00,结束邻居ID为全OxFF,则此LSP分片包含了目标中间系统即目标IS所有邻居描述信息,立即触发SPF拓扑计算;
其次:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,检测此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID不为全0x00或结束邻居ID不为全OxFF或开始邻居ID不为全0x00并且结束邻居ID不为全OxFF,则此LSP分片不包含了目标中间系统即目标IS所有的邻居描述信息,计算方中间系统即计算方IS将保存的目标中间系统即目标IS所有的LSP分片中的邻居范围TLV取出来进行检查,若存在邻居ID范围的缺失,则延迟触发SPF拓扑计算,延迟触发的时间默认为10ms ;否则,立即触发SPF拓扑计算;
邻居ID范围缺失表示当前所有的LSP保存的邻居范围TLV所描述的邻居ID范围没有包含了全部的邻居ID从0x00000000000000到OxFFFFFFFFFFFFFF的范围;
再次:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,检测此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID不为全0x00或结束邻居ID不为全OxFF或开始邻居ID不为全0x00并且结束邻居ID不为全OxFF,则此LSP分片不包含了目标中间系统即目标IS所有的邻居描述信息,计算方中间系统即计算方IS将保存的目标中间系统即目标IS所有的LSP分片中的邻居范围TLV取出来进行检查,如果存在邻居ID范围的重叠,则延迟触发SPF拓扑计算,延迟触发的时间默认为10ms ;否则,立即触发SPF拓扑计算,
邻居ID范围重叠表示当前两个或多个LSP保存的邻居范围TLV所描述的邻居ID范围重叠。
[0038]图2为从一个复杂网络拓扑中截取的一个部分截图,在此截图中,Rl和R2之间建立邻居关系,Rl和R2还分别与此截图以外的中间系统建立很多邻居。Rl的system-1d为1111.1111.1111.R2 的 system-1d 为 2222.2222.2222。
[0039]以Rl为目标中间系统即目标IS,也可以称为发送方中间系统,R2为计算方中间系统即计算方IS,计算方中间系统即计算方IS收到了 Rl在内的其他网络拓扑节点的所有LSP,假如此时Rl由于某些链路状态的变化,导致Rl到达R2的邻居从I号LSP分片移动到了 2号LSP分片中。计算方中间系统即计算方IS收到了目标中间系统即目标IS的I号LSP分片后,发现到达R2的邻居删除了,触发了 SPF拓扑计算,此时,从R2所保存的Rl的所有LSP来看,Rl到达R2的邻居的确删除了,即使R2还有R2到达Rl的邻居,但是双向检查不能通过。因此,计算方R2到达Rl以及通过Rl到达其他网络节点的拓扑都会删除,同时它们相关的路由也会被删除,引起到达这些目标路由流量的中断。只有后续又收到了 Rl的2号LSP分片时,再次触发SPF拓扑计算,计算方R2到达Rl以及通过Rl到达其他网络拓扑节点的拓扑才会重新添加,它们相关的路由也才会重新添加,到达这些目标路由流量才能恢复。显然,这个过程中导致了一次大规模的拓扑和路由震荡。
[0040]结合本发明方法可以得到:
Rl由于某些链路状态的变化,导致Rl到达R2的邻居从I号LSP分片移动到了 2号LSP分片中,Rl按照邻居ID的从小到大往后填写至LSP的邻居TLV中,Rl生成的LSP分片I时,填写了 0000.0000.0001.00到1111.0000.1111.00的邻居,同时需要填写一个邻居范围TLV:由于LSP的I号分片是填写邻居信息的第一个LSP分片,因此开始邻居ID为:0000.0000.0000.00,结束邻居 ID 为最后一个填写的邻居 ID:1111.0000.1111.00。Rl 生成的 LSP 分片 I 时,填写了 R2 这个邻居 2222.2222.2222.00 到 5555.5555.5555.00,同时需要填写一个邻居范围TLV:由于LSP的I号分片是填写邻居信息的最后一个LSP分片,因此开始邻居ID为上一个LSP分片即I号LSP分片填写的最后一个邻居ID加1:1111.0000.1111.0lo因为LSP 2号分片为填写邻居信息的最后一个LSP分片,因此结束邻居 ID 为 FFFF.FFFF.FFFF.FF0
[0041]计算方R2首先收到Rl生成的LSP I号分片,覆盖自己保存的Rl老的LSP I号分片,然后将保存的Rl所有的LSP分片的邻居范围TLV取出来进行检查:当前的LSP I号分片的范围是0000.0000.0000.00到1111.0000.1111.00 ;当前的LSP 2号分片的范围是2222.2222.2222.01 到 FFFF.FFFF.FFFF.FF。相比整个邻居 ID 范围从 0000.0000.0000.00到 FFFF.FFFF.FFFF.FF,存在 1111.0000.1111.00 到 2222.2222.2222.01 之间邻居 ID范围的缺失。那么,延迟一段时间(默认为100ms)进行触发SPF拓扑计算。如果在延迟时间内收到了 Rl生成的LSP 2号分片,覆盖自己保存的Rl老的LSP 2号分片,然后将保存的Rl所有的LSP分片的邻居范围TLV取出来进行检查:当前的LSP I号分片的范围是0000.0000.0000.00到1111.0000.1111.00 ;当前的LSP 2号分片的范围是1111.0000.1111.01 到 FFFF.FFFF.FFFF.FF。相比整个邻居 ID 范围从 0000.0000.0000.00到FFFF.FFFF.FFFF.FF,已经完全覆盖整个邻居ID范围区间,马上触发SPF拓扑计算。如果延迟时间到期还没有收到Rl生成的I号分片,仍然执行SPF拓扑计算。
[0042]此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属【技术领域】的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
【权利要求】
1.一种IS-1S协议抑制拓扑震荡的方法,其特征在于: A:目标中间系统即目标IS在往LSP中的邻居TLV填写邻居信息时,按照邻居ID从小到大的顺序进行填写; B:目标中间系统即目标IS生成一条LSP时,若此LSP填写了邻居TLV,则必须填写一个邻居范围TLV ; C:目标中间系统即目标IS生成一条LSP时,邻居范围TLV中开始邻居ID即开始邻居标识的填写:若此LSP分片是第一个填写邻居TLV的LSP分片,则开始邻居ID即开始邻居标识填写为全OxOO ;若此LSP分片不是第一个填写邻居TLV的LSP分片,则开始邻居ID即开始邻居标识填写为上一个LSP分片中填写的最后一个邻居ID加I ; D:目标中间系统即目标IS生成一条LSP时,邻居范围TLV中结束邻居ID即结束邻居标识的填写:若此LSP分片是最后一个填写邻居TLV的LSP分片,那么结束邻居ID即结束邻居标识填写为全OxFF ;若此LSP分片不是最后一个填写邻居TLV的LSP分片,则结束邻居ID即结束邻居标识填写为此LSP分片中填写的最后一个邻居ID即结束邻居标识。
2.根据权利要求1所述的一种IS-1S协议抑制拓扑震荡的方法,其特征在于:在填写邻居TLV的LSP中添加一个邻居范围TLV描述此LSP中填写邻居的范围,包括: 所述邻居范围TLV,TLV表示:类型-长度-值,表示LSP分片中邻居TLV中所包含邻居的范围,其包括一个字节的类型,一个字节的长度,值中包括七个字节的开始邻居ID即开始邻居标识和七个字节的结束邻居ID即结束邻居标识。
3.根据权利要求2所述的一种IS-1S协议抑制拓扑震荡的方法,其特征在于:所述邻居范围TLV包含在包含邻居TLV的LSP分片中。
4.根据权利要求2所述的一种IS-1S协议抑制拓扑震荡的方法,其特征在于:所述邻居范围TLV包括开始邻居ID即开始邻居标识的填写与结束邻居ID即结束邻居标识的填与O
5.根据权利要求1所述的一种IS-1S协议抑制拓扑震荡的方法,其特征在于:计算方IS收到目标IS发来的LSP后检查是否保存了源IS完整的邻居,若保存了源IS完整的邻居,则马上进行拓扑计算,若不保存源IS完整的邻居,则延迟一段时间进行拓扑计算,此过程包括以下步骤: 首先:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,发现此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID为全0x00,结束邻居ID为全OxFF,则此LSP分片包含了目标中间系统即目标IS所有邻居描述信息,立即触发SPF拓扑计算; 其次:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,检测此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID不为全0x00或结束邻居ID不为全OxFF或开始邻居ID不为全0x00并且结束邻居ID不为全OxFF,则此LSP分片不包含了目标中间系统即目标IS所有的邻居描述信息,计算方中间系统即计算方IS将保存的目标中间系统即目标IS所有的LSP分片中的邻居范围TLV取出来进行检查,若存在邻居ID范围的缺失,则延迟触发SPF拓扑计算,延迟触发的时间默认为10ms ;否则,立即触发SPF拓扑计算; 再次:计算方中间系统即计算方IS接收到目标中间系统即目标IS的LSP报文分片后,检测此LSP分片包含邻居TLV,同时包含邻居范围TLV,若邻居范围TLV中的开始邻居ID不为全OxOO或结束邻居ID不为全OxFF或开始邻居ID不为全0x00并且结束邻居ID不为全OxFF,则此LSP分片不包含了目标中间系统即目标IS所有的邻居描述信息,计算方中间系统即计算方IS将保存的目标中间系统即目标IS所有的LSP分片中的邻居范围TLV取出来进行检查,如果存在邻居ID范围的重叠,则延迟触发SPF拓扑计算,延迟触发的时间默认为10ms ;否则,立即触发SPF拓扑计算。
【文档编号】H04L12/703GK104486213SQ201410835044
【公开日】2015年4月1日 申请日期:2014年12月30日 优先权日:2014年12月30日
【发明者】周能强, 吴兰, 周光如, 谢倩, 陈培磊 申请人:安徽皖通邮电股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1