链路状态协议数据包的生成方法及装置的制造方法

文档序号:8265573阅读:217来源:国知局
链路状态协议数据包的生成方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域,具体而言,涉及一种链路状态协议数据包的生成方法及装 置。
【背景技术】
[0002] 目前,相关技术中所采用的中间系统到中间系统(ISIS)路由协议是一种动态的、 基于链路状态的内部网关协议(IGP)。ISIS协议在通过HELLO报文交互协商建立邻居之后, 每一个中间系统(IS)均会产生链路状态协议数据包(LSP)描述该IS的链路状态信息,并 发送至网络中。此外,每个IS还会存储网络拓扑上其余IS发送过来的LSP,以形成链路状 态数据库(LSDB)。ISIS就是使用LSDB通过最短路径优先算法(SPF)计算出到达目的地址 的最佳路由的。
[0003] 在集成的ISIS路由协议中,LSP主要包含大量的互联网协议(IP)可达性信息,即 IP前缀路由信息。上述IP可达性信息主要来源于以下两个方面:一方面是IS自身配置的 三层路由接口,该接口上配置的IP前缀会作为IP可达性信息在LSP中通告,以表示该IS可 以到达这个IP路由网段;另一方面是在IS配置了路由泄露或者重分发之后,将ISIS路由 协议自身产生的三层路由表或者配置的对应重分发的路由协议产生的三层路由表中的IP 前缀在LSP中通告,以表示通过该IS可以经由IS另一层次的路由或者其他路由协议可以 到达该IP路由网段。
[0004] 每个IS均需要通告链路状态信息,链路状态信息可以分为多种类型,并且使用类 型长度值(TLV)的形式填写在LSP中。每个IS通告的LSP会有多个分片,最多为256个分 片,每个分片分别对应一个编号,从〇到255。每个分片存在一个最大长度,默认情况下为 1492个字节。在通常情况下,一个IS产生的LSP都是从0编号分片的LSP开始产生,当0 编号分片的LSP填充到最大长度时,如果还有链路状态信息需要填充在LSP通告时,即会生 成1编号分片;以此类推,直至全部需要通告的链路状态信息都在LSP中的通告为止。因 此,上述LSP分片除了最后一个LSP可能由于需要通告的链路状态信息结束,长度没有达到 最大长度之外,其他的LSP分片均可达到最大长度(1492)。
[0005] 由此,在大规模的网络中,需要通告的链路状态数据库较为庞大。尤其是,该网络 中通常需要通告大量IP可达性信息,故而,IP可达性信息通常会占用大多数的LSP分片进 行通告。而当一个需要在LSP中通告的IP可达性信息的增加、删除、改变(包括metric 改变、类型改变、属性改变)导致其所占用的LSP长度发生变化时,均会导致其所在LSP分 片及其后续分片的LSP重新生成,从而导致这些LSP的格局重组。而格局重组会带来负面 影响,即为远端IS在计算当前IS通告的IP可达性信息时,某些IP可达性信息已经从一个 分片移动至另外一个分片,而当这些LSP在网络中发生洪泛时,远端IS会先接收到移走这 个IP可达性信息的LSP,从而删除这个IP路由。当经过一段时间又接收到另一个LSP分片 时,这个IP可达性信息重新在这个LSP分片中通告,才能够恢复这个IP路由,进而导致这 一段时间路由消失,到达这个IP前缀的流量被迫中断。
[0006] 随着网络规模的逐步扩大,IS所需要通告的链路状态信息随之大量增加,从而导 致所需要产生的LSP也会日益增加。但是,某些链路状态信息(例如:IP可达性信息)会由 于某些原因(例如:某些链路由于物理故障频繁up和down、重分发协议的路由出现大量震 荡、ISIS协议system-id配置重复)出现震荡,频繁增加、删除、改变(包括:metric改变, 类型改变、属性改变),由此会不断引发众多LSP的重组与更新。从而,大量消耗本地IS的 CPU资源;并且IS生成LSP效率也会随之大幅降低,就在某些LSP还没有来得及响应上次 改变的情况下,又开始了新一轮的重组更新,因而增加了网络上LSP洪泛负载,同时引发网 络拓扑中全部中IS路由的频繁震荡。

【发明内容】

[0007] 本发明提供了一种链路状态协议数据包的生成方法及装置,以至少解决相关技术 中由于在LSP生成时会出现大量LSP频繁进行重组和更新增加了网络上LSP洪泛负载,同 时引发网络拓扑中全部中IS路由的频繁震荡的问题。
[0008] 根据本发明的一个方面,提供了一种链路状态协议数据包的生成方法。
[0009] 根据本发明的链路状态协议数据包的生成方法包括:配置预留空间的长度,其中, 预留空间的长度小于单个LSP分片的默认最大长度;按照预留空间的长度在依次生成的每 个LSP分片中设置预留空间。
[0010] 优选地,在按照预留空间的长度在依次生成的每个LSP分片中设置预留空间之 后,还包括:根据待插入的链路状态信息条目(ITEM)的类型和/或该ITEM的关键字查找与 待插入的ITEM对应的LSP分片编号以及在该LSP分片中待插入的位置信息;在确定查找到 的LSP分片中的剩余空间的长度大于或等于待插入的ITEM的长度的情况下,直接按照LSP 分片编号和待插入的位置信息将待插入的ITEM插入至查找到的LSP分片中;对查找到的 LSP分片中的链路状态信息进行重组和更新。
[0011] 优选地,在按照预留空间的长度在依次生成的每个LSP分片中设置预留空间之 后,还包括:在确定查找到的LSP分片中的剩余空间的长度小于待插入的ITEM的长度并且 当前使用的IS中还存在尚未使用的LSP分片的情况下,从LSP分片编号开始依次对每个 LSP分片中的链路状态信息进行重组和更新。
[0012] 优选地,在按照预留空间的长度在依次生成的每个LSP分片中设置预留空间之 后,还包括:在确定查找到的LSP分片中的剩余空间的长度小于待插入的ITEM的长度并且 IS中的全部LSP分片均已被使用的情况下,重新对预留空间的长度进行调整。
[0013] 优选地,在按照预留空间的长度在依次生成的每个LSP分片中设置预留空间之 后,还包括:查找待删除的ITEM所在的LSP分片;判断在查找到的LSP分片中除待删除的 ITEM之外是否还存在其他的ITEM ;如果是,则对查找到的LSP分片中的链路状态信息进行 重组和更新;如果否,则重新对预留空间的长度进行调整。
[0014] 优选地,按照以下公式重新对预留空间的长度进行调整:
[0015]
【主权项】
1. 一种链路状态协议数据包的生成方法,其特征在于,包括: 配置预留空间的长度,其中,所述预留空间的长度小于单个链路状态协议数据包LSP分片的默认最大长度; 按照所述预留空间的长度在依次生成的每个LSP分片中设置所述预留空间。
2. 根据权利要求1所述的方法,其特征在于,在按照所述预留空间的长度在依次生成 的每个LSP分片中设置所述预留空间之后,还包括: 根据待插入的链路状态信息条目ITEM的类型和/或该ITEM的关键字查找与所述待插 入的ITEM对应的LSP分片编号以及在该LSP分片中待插入的位置信息; 在确定查找到的LSP分片中的剩余空间的长度大于或等于所述待插入的ITCM的长度 的情况下,直接按照所述LSP分片编号和所述待插入的位置信息将所述待插入的ITEM插入 至所述查找到的LSP分片中; 对所述查找到的LSP分片中的链路状态信息进行重组和更新。
3. 根据权利要求2所述的方法,其特征在于,在按照所述预留空间的长度在依次生成 的每个LSP分片中设置所述预留空间之后,还包括: 在确定查找到的LSP分片中的剩余空间的长度小于所述待插入的ITEM的长度并且当 前使用的中间系统IS中还存在尚未使用的LSP分片的情况下,从所述LSP分片编号开始依 次对每个LSP分片中的链路状态信息进行重组和更新。
4. 根据权利要求3所述的方法,其特征在于,在按照所述预留空间的长度在依次生成 的每个LSP分片中设置所述预留空间之后,还包括: 在确定查找到的LSP分片中的剩余空间的长度小于所述待插入的ITEM的长度并且所 述IS中的全部LSP分片均已被使用的情况下,重新对所述预留空间的长度进行调整。
5. 根据权利要求1所述的方法,其特征在于,在按照所述预留空间的长度在依次生成 的每个LSP分片中设置所述预留空间之后,还包括: 查找待删除的ITEM所在的LSP分片; 判断在查找到的LSP分片中除所述待删除的ITEM之外是否还存在其他的ITEM; 如果是,则对所述查找到的LSP分片中的链路状态信息进行重组和更新; 如果否,则重新对所述预留空间的长度进行调整。
6. 根据权利要求4或5所述的方法,其特征在于,按照以下公式重新对所述预留空间的 长度进行调整:
其中,k为所述预留空间的长度,L_为所述默认最大长度,表示编号为n的LSP分 片当前的实际长度,〇彡n彡256,0〈N〈100。
7. -种链路状态协议数据包的生成装置,其特征在于,包括: 配置模块,用于配置预留空间的长度,其中,所述预留空间的长度小于单个链路状态协 议数据包LSP分片的默认最大长度; 设置模块,用于按照所述预留空间的长度在依次生成的每个LSP分片中设置所述预留 空间。
8. 根据权利要求7所述的装置,其特征在于,所述装置还包括: 第一查找模块,用于根据待插入的链路状态信息条目ITEM的类型和/或该ITEM的关 键字查找与所述待插入的ITEM对应的LSP分片编号以及在该LSP分片中待插入的位置信 息; 插入模块,用于在确定查找到的LSP分片中的剩余空间的长度大于或等于所述待插入 的ITEM的长度的情况下,直接按照所述LSP分片编号和所述待插入的位置信息将所述待插 入的ITEM插入至所述查找到的LSP分片中; 第一重组更新模块,用于对所述查找到的LSP分片中的链路状态信息进行重组和更 新。
9. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 第二重组更新模块,用于在确定查找到的LSP分片中的剩余空间的长度小于所述待插 入的ITEM的长度并且当前使用的中间系统IS中还存在尚未使用的LSP分片的情况下,从 所述LSP分片编号开始依次对每个LSP分片中的链路状态信息进行重组和更新。
10. 根据权利要求9所述的装置,其特征在于,所述装置还包括: 第一调整模块,用于在确定查找到的LSP分片中的剩余空间的长度小于所述待插入的ITEM的长度并且所述IS中的全部LSP分片均已被使用的情况下,重新对所述预留空间的长 度进行调整。
11. 根据权利要求7所述的装置,其特征在于,所述装置还包括: 第二查找模块,用于查找待删除的ITEM所在的LSP分片; 判断模块,用于判断在查找到的LSP分片中除所述待删除的ITEM之外是否还存在其他 的ITEM; 第三重组更新模块,用于在所述判断模块输出为是时,对所述查找到的LSP分片中的 链路状态信息进行重组和更新; 第二调整模块,用于在所述判断模块输出为否时,重新对所述预留空间的长度进行调 整。
【专利摘要】本发明公开了一种链路状态协议数据包的生成方法及装置,在上述方法中,配置预留空间的长度,其中,预留空间的长度小于单个LSP分片的默认最大长度;按照预留空间的长度在依次生成的每个LSP分片中设置预留空间。根据本发明提供的技术方案,能够大幅消除由于网络震荡所引起的不良影响。
【IPC分类】H04L12-751
【公开号】CN104579976
【申请号】CN201410379451
【发明人】吴强, 周广腾
【申请人】中兴通讯股份有限公司
【公开日】2015年4月29日
【申请日】2014年8月4日
【公告号】WO2014187398A1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1