支持附加sys-id的is-is路由实现方法及装置的制作方法

文档序号:7663385阅读:230来源:国知局
专利名称:支持附加sys-id的is-is路由实现方法及装置的制作方法
技术领域
本发明属于网络通信技术领域,涉及通信网络中的路由技术,尤其涉及 一种支持附加SYS-ID的IS-IS路由实现方法以及支持附加SYS-ID的IS-IS路由实现装置。
背景技术
IS-IS (Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol,中间系统间域内路由交换协议)是一种基于SPF ( Shortest Path First,最短路径优先)算法的IGP (Internal Gateway Protocol,内部网关 协议),其利用LSP (Link State Protocol,链路状态协议)数据单元(简称 LSP)携带相关的路由和拓扑信息,并根据由LSP构成的LSDB (Link State Database,链路状态数据库)进行路由计算。以图1A所示情况为例,假设在 RO设备上的LSDB—共包含三个LSP,分别由IS (Intermediate System,中 间系统)R0、 Rl和R2生成。可以看出,RO生成的LSP标识了 RO设备上 存在邻居Rl , Rl生成的LSP标识了 Rl设备上存在邻居RO和R2, R2生成 的LSP标识了 R2设备上存在邻居Rl。显然,路由计算的过程就是对LSP 的分析处理过程通过分析RO产生的LSP,可以知道R0与R1相连;通过 分析R1产生的LSP,可以知道R1和R2相连,因此很容易形成如图IB所 示的拓扑关系图。同时,为了确保网络拓扑的双向连通,必须进行2WAY(双 向)检査,例如通过分析Rl生成的LSP发现R2,则必须回指检査R2生成 的LSP中是否存在邻居Rl,在存在的情况下Rl和R2之间的连接才能正式 成为可用拓扑路径。从图1A可以看出,LSP通过"LSP报文头+—组TLV (Type Length Value,类型长度值)数据"的结构实现对LSP和邻居IS的标识,如图2A 所示。其中,LSP报文头通过LSP-ID唯一标识该LSP,如图2B所示,该 LSP-ID包括6字节的SYS-ID (系统标识符),1字节的PSN-ID (pseudonode
ID,伪节点标识符)以及l字节的LSP-Num (LSP分片号);其中,SYS-ID 标识生成该LSP的IS; PSN-ID为0时标识该IS全局生成的非伪节点LSP, PSN-ID为01 FF时标识该IS上某些DIS (Designed IS,指定中间系统)接 口生成的伪节点LSP。同时,TLV通过携带有Neighbor-ID (邻居标识符) 的IS Neighbors (IS邻居信息)字段实现对邻居IS的标识。如图2C所示, 该Neighbor-ID包括邻居IS的SYS-ID和PSN-ID 。在大规模路由网络中,上述LSP的数据结构大大限制了 IS-IS的应用。 这是由于LSP-ID的格式决定了一个IS仅能生成0 FF共256个能够发布 IP可达地址TLV的非伪节点LSP;根据一个LSP的常见缺省大小1500字节 来计算,256个LSP—共能存放的IP可达地址TLV大概在4万条以内,即 一个IS在一个区域内仅能发布4万条以内的路由信息。为了克服这一问题,RFC3786 (RFC: Request For Comments,请求评议 的互联网草案)提供了 IS-IS扩展LSP片段的技术方紫'Extending the Number of Intermediate System to Intermediate System (IS-IS) Link State PDU (LSP) Fragments Beyond the 256 Limit":在每一个IS中配置多个SYS-ID,主用 SYS-ID称为标准SYS-ID (Normal SYS-ID),其生成的LSP称为原始LSP (Original LSP);其余SYS-ID称为附加SYS-ID (Additional SYS-ID),其 生成的LSP称为扩展LSP (Extended LSP)。由于每一个SYS-ID生成的非 伪节点LSP为256个,因此,当同一个IS在同一个区域生成的所有扩展LSP 和原始LSP存在隶属关系时,IS所能生成的发布路由信息的LSP个数就是 256与所配置的SYS-ID个数之积,大大提高了一个IS所能发布的路由条数。 其中,为了表示扩展LSP和原始LSP的隶属关系,RFC3786所提供的技术 方案在每个附加SYS-ID生成的第0片扩展LSP (即LSP-Num为0)中存放 一个IS-Alias-ID TLV (IS别名标识符TLV),在该TLV中记录所隶属的标 准SYS-ID和相应的PSN-ID;可以看出,实现LSP片段扩展后, 一个IS可 以生成更多的LSP并发布,从而使得一个IS支持发布的路由总条数得到大 幅度提升。理论上来说,网络上其他IS收到LSP后通过IS-Alias-ID能够识别各原 始LSP和扩展LSP的隶属关系,从而正确计算并建立路由;但是由于这种 扩展的LSP难以通过2WAY检査,因此导致该技术方案的实现瓶颈。举例 来说,如图3所示,假设IS-A和IS-B建立IS-IS邻居关系,其中IS-A的SYS-ID 为R0, IS-B使用了LSP片段扩展方案,其标准SYS-ID为Rl ,附加SYS-ID 为R2:通常情况下,IS-A只与IS-B的标准SYS-ID建立邻居关系,亦即在 IS-A产生的LSP中只会存在一个Neighbor-ID为Rl的IS Neighbors TLV; 假设IS-B由于其标准SYS-ID (Rl)生成的原始LSP被其他内容占满,而将 Neighbor-ID为RO的IS Neighbors TLV放入由附加SYS-ID (R2)生成的扩 展LSP;可以看出,虽然R2产生的LSP存在指向R0的LSP,但检査RO生 成的LSP中却只存在邻居Rl,因此路由计算无法通过2WAY检査,无法正 常计算出相关路由。为了突破上述瓶颈,实现对附加SYS-ID的支持,现有技术中通常是采 用标准SYS-ID发送IIH (IS-IS Hello Packets, IS-IS Hello报文)去发现邻居 IS,但当邻居关系UP后向原始LSP添加IS Neighbors TLV发现没有空间, 因此转而将该TLV放入扩展LSP后,需要用扩展LSP对应的附加SYS-ID 重新发送IIH报文来重建邻居关系,即确保被使用的扩展LSP所对应的附加 SYS-ID与相应的IS建立邻居关系,以便在路由计算时通过2WAY检査。不难看出,这种支持附加SYS-ID的技术方案需要重新进行邻居关系的 建立;同时,由于IIH报文是针对接口发送的,因此对于同一个接口建立多 个邻居的广播口而言还要考虑对该接口上其他受影响邻居的配合调整。总的 来说,其整体实现比较复杂繁琐。发明内容本发明的目的是克服现有技术中所存在的缺陷,提供一种简单可行的支 持附加SYS-ID的IS-IS路由实现方案。为实现上述目的,本发明的实施例提供了一种支持附加SYS-ID的IS-IS 路由实现方法,包括以下步骤51、 构建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任 一 LSP集合包括在某一 PSN-ID下,一 IS以标准SYS-ID生成的LSP以 及以附加SYS-ID生成的LSP;52、 进行路由拓扑计算时,在LSDB中第一 IS的一 LSP携带的第一 Neighbor-ID所对应的第二 IS的LSP集合中进行回指检査;如果在第二 IS 的LSP集合中存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID 对应所述第一 IS的相应LSP集合,则回指检査通过,建立第一 IS与第二 IS 之间的路由拓扑路径。本发明的实施例还提供了一种支持附加SYS-ID的IS-IS路由实现装 置,设置在包括依次连接的LSP收集单元、LSDB和LSP拓扑建立单元 的IS中;该IS-IS路由实现装置包括LSP集合组织单元,与该LSDB连接,用于构建LSDB中每一IS基 于不同PSN-ID的LSP集合并保存,其中,任一 LSP集合包括在某一 PSN-ID下,一 IS以标准SYS-ID生成的LSP以及该IS以附加SYS-ID 生成的LSP;LSP回指检査单元,与LSP集合组织单元连接,用于在LSDB中第 一 IS的一 LSP携带的第一 Neighbor-ID所对应的第二 IS的LSP集合中 进行回指检査,如果在第二 IS的LSP集合中存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID对应所述第一 IS的相应LSP 集合,则回指检査通过并触发所述LSP拓扑建立单元建立所述第一 IS与 第二 IS之间的路由拓扑路径,否则回指检查失败并拒绝建立路由拓扑路 径。由上述技术方案可知,本发明的实施例通过扩展2WAY检查对象的范 围,具有以下有益效果1、 有效实现了支持附加SYS-ID的IS-IS路由实现;2、 无需在IS Neighbors TLV放入扩展LSP时重新执行邻居关系的建立, 简化了支持附加SYS-ID的IS-IS路由实现过程。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1A为IS-IS路由过程中一LSDB实例的组成示意图;图1B为基于图1A所示LSDB形成的拓扑关系图;图2A为LSP的数据结构示意图;图2B为LSP报文头的数据结构示意图;图2C为TLV中Neighbor-ID的数据结构示意图; 图3为现有技术中对扩展LSP进行2WAY检査的情况示意图; 图4为本发明所提供的支持附加SYS-ID的IS-IS路由实现方法的一实施 例流程图;图5为本发明所提供的支持附加SYS-ID的IS-IS路由实现方法的另一实 施例流程图;图6为IS-Alias-ID TLV的数据结构示意图;图7为采用链表形式实现LSP集合的一结构示意图;图8为图5所示方法中査找该LSP所在的第一 IS的LSP集合的流程图;图9为图5所示方法中査找第一 Neighbor-ID指向的第二 IS的LSP集合 的流程图;图10为本发明所提供的支持附加SYS-ID的IS-IS路由实现方法的一具 体实施例示意图;图11为本发明所提供的支持附加SYS-ID的IS-IS路由实现装置的一实 施例框图;图12为本发明所提供的支持附加SYS-ID的IS-IS路由实现装置的另一 实施例框图。
具体实施方式
为了避免每一次在IS Neighbors TLV放入扩展LSP时重新执行邻居关系 的建立,简单有效的实现对具有附加SYS-ID的IS-IS路由的支持,本发明通 过扩展2WAY检査对象的范围,提供了一种支持附加SYS-ID的IS-IS路由 实现方法和相应的支持附加SYS-ID的IS-IS路由实现装置。请结合图4及图5,该支持附加SYS-ID的IS-IS路由实现方法包括以下 步骤Sl、构建LSDB中每一 IS基于不同PSN-ID的LSP集合,其中,任一 LSP集合包括在某一 PSN-ID下,一 IS以标准SYS-ID生成的LSP以及以附 加SYS-ID生成的LSP;具体来说,在每一个IS的LSDB中,既包括了 IS自身生成的LSP,也 包括了收集到的其它IS生成的LSP,依据该LSDB,每一个IS能够进行路 由拓扑计算。无论对于自身生成的LSP,还是其它IS生成的LSP,在具有附 加SYS-ID的情况下,对于任一 IS的PSN-ID,生成的LSP都可能包括以标 准SYS-ID生成的原始LSP以及以附加SYS-ID生成的扩展LSP,该以附加 SYS-ID生成的扩展LSP用于在标准SYS-ID生成的原始LSP全部被占用时 提供对更多路由信息的支持。由于现有技术中进行2WAY检査基于的是包括SYS-ID和PSN-ID在内 的Neighbor-ID,这就导致了同一IS下,具有相同PSN-ID的原始LSP和扩 展LSP无法统一起来;为了克服这一问题,本步骤采用将原始LSP以及扩 展LSP集合起来的技术方案。在现有技术中,第O片(LSP-Num=0)的原始LSP和扩展LSP都记录 有IS-Alias-ID TLV,其数据结构如图6所示,包括6字节的标准SYS-ID, 用于填写扩展LSP所隶属的原始LSP对应的标准SYS-ID,对于原始LSP而 言,此处填写的内容为其自身SYS-ID和PSN-ID; 1字节的PSN-ID,用于填 写扩展LSP所隶属的原始LSP的伪节点标识符,即扩展LSP与原始LSP的 PSN-ID是统一的;1字节的Sub-TLVs Length字段,用于填写Sub-TLVs长 度;总长度为Sub-TLVs Length指定长度的Sub-TLVs,用于填写一些附属属 性,目前暂时作为保留使用。根据上述结构可以看出,增加了 IS-Alias-ID TLV 后,能够有效标识出同一个IS产生的原始PLS与扩展PLS之间的隶属关系。 而本发明所提供的方法也可以基于这一点进行2WAY检査对象的扩展。具体的,本步骤Sl包括511、 检査LSDB中所有LSP的LSP-ID,将具有相同SYS-ID和PSN-ID 的LSP通过某种数据结构(比如可以通过链表)组织起来,分别构成LSDB 的子集;其中,每一个子集中都会包含一个携带IS-Alias-IDTLV的LSP;512、 对每一子集中记录有IS-Alias-ID TLV的LSP进行检查; 按照现有技术的情况, 一般是第O片UPLSP-NUm=0)的LSP携带IS-Alias-ID TLV;因此,步骤S12往往是对第0片LSP进行检査。当然,如 果定义记录IS-Alias-ID TLV的LSP为其它分片,本发明技术方案同样适 用。513、 将具有相同IS-Alias-ID TLV的子集关联起来,构成对应于相 应IS的LSP集合;本步骤S13的具体操作可以为通过链表将具有相同IS-Alias-ID TLV
的LSP组织起来,从而实现具有相同IS-Alias-ID TLV的子集的关联。通过上述步骤Sl,就可以将原始LSP以及隶属于其的扩展LSP组织成 一个大的逻辑LSP,其中包含所有具有相同IS-Alias-ID TLV内容的第0分片 LSP以及和这些LSP具有相同SYS-ID和PSN-ID的所有其他LSP。如图7 所示,为采用链表形式实现LSP集合的一结构示意图,任何一个LSP集合 都包含了一 IS在一 PSN-ID下全部的LSP。但本领域技术人员可以理解,组 织LSP的方法并不局限于链表,也可以采用其他的数据结构加以组织。在构建了 LSP集合之后,就可以将其应用到IS-IS路由计算的2WAY检 査中,包括S2、进行路由拓扑计算时,在LSDB中第一 IS的一 LSP携带的第一 Neighbor-ID所对应的第二 IS的LSP集合中进行回指检査;如果在第二 IS 的LSP集合中存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID 对应所述第一IS的相应LSP集合,则回指检査通过,建立第一IS与第二IS 之间的路由拓扑路径。通过本步骤S2可以看出,路由计算进行2WAY检査时,始终以LSP和 Neighbor-ID相关的整个LSP集合为准,整个LSP集合中任一 LSP满足2 WAY 检査条件就可以通过2WAY检査。具体可以包括S21、査找该LSP所在的第一IS的LSP集合;由于该LSP携带有该第一 Neighbor-ID,因此需要进行回指检查。按照现有技术中邻居关系建立的原则, 一般是与IS的正常SYS-ID 建立邻居关系,当然也不排除某些情况下,附加SYS-ID与正常SYS-ID 以及附加SYS-ID与附加SYS-ID之间建立邻居关系。因此,为了保证具 有附加SYS-ID的IS-IS的2WAY检査成功,其回指检査对象为该LSP 所在的一第一IS的LSP集合。当集合以链表形式组织携带有IS-Alias-ID TLV的LSP时,本步骤 Sll具体可采取的操作请结合图8,包括5211、 提取该LSP的SYS-ID和PSN-ID;5212、 査找以i亥SYS-ID和PSN-ID生成的记录有IS画Alias國ID TLV 的LSP, 一般为以该SYS-ID和PSN-ID生成的第0分片LSP;5213、 根据该记录有IS-Alias-ID TLV的LSP査找相应的第一 IS的LSP集合。522、 查找该第一 Neighbor-ID所对应的第二 IS的LSP集合; 为了保证具有附加SYS-ID的IS-IS的2WAY检查成功,回指检查范围为第一 Neighbor-ID指向的第二 IS的LSP集合。当集合以链表形式组 织携带有IS-Alias-ID TLV的LSP时,具体可采取的操作请结合图9,包 括5221、 査找以该第一 Neighbor-ID生成并记录有IS-Alias-ID TLV的 LSP,亦即,査找与该第一 Neighbor-ID —致的SYS-ID和PSN-ID生成的 LSP;具体的査找方法与LSP的存储方式有关,比如,可以以该第一 Neighbor-ID为关键字,以哈希表形式査找与所述第一 Neighbor-ID内容 一致并记录有IS-Alias-ID TLV的LSP;本领域技术人员也可以采用其他 的査找方法实现。同时,根据现有技术,所查找到的LSP—般为第O分片LSP,即该 LSP-ID中SYS-ID与PSN-ID内容与该第一 Neighbor-ID内容一致并且 LSP-Num为0的LSP。5222、 根据该LSP査找相应的第二IS的LSP集合;在本实施例中, 可以根据链表直接査找出第二 IS的LSP集合。需要指出的是,基于不同的集合组织与存储方式,步骤S21和步骤 S22也可以采用其他的査找方式。523、 遍历第二IS的LSP集合, 一携带有第二 Neighbor-ID的LSP, 且该第二 Neighbor-ID对应所述第一 IS的LSP集合时,回指检査通过并 建立第一 IS与第二 IS之间的路由拓扑路径,否则回指检査失败并拒绝建 立第一 IS与第二 IS之间的路由拓扑路径;以及,如果存在第二 Neighbor-ID为相应第一 IS的LSP集合中标准 SYS-ID和PSN-ID或者附加SYS-ID和PSN-ID之一的LSP时,回指检查 通过。由于同样的SYS-ID和PSN-ID所生成的所有LSP分片的LSP-ID都 相同,只是LSP-Num不一致而已,因此,本步骤S23中仅对该LSP集合 中所有第0分片或者第X分片(X=l、 2 )的SYS-ID和PSN-ID进
行检查即可,以降低比较的工作量。通过上述步骤S1 S2,无论IS之间使用正常SYS-ID或者附加SYS-ID 建立邻居,也无论IS邻居TLV放到原始LSP或者扩展LSP中,都可以正确 的通过2WAY检査并正确计算出路由信息,从而有效支持扩展LSP所携带 的邻居信息,提高了扩展LSP的使用意义。同时,本发明所提供的方法相比 于RFC3786推荐的方法更为简单,无需进行邻居关系的重新建立,因此易于 实现,具有更大的推广价值。请结合图10,作为本发明所提供的支持附加SYS-ID的IS-IS路由实现 方法一具体实施例,能够比较直观的说明本发明的有益效果所在。如图10 所示,LSPRA集合中包含其标准SYS-ID (RA)生成的LSP RA.00~RA.ff、 附加SYS-ID (RA1)生成的LSP RA1.00 RAl.ff以及附加SYS-ID (RA2) 生成的LSPRA2.00 RA2.ff, LSP RB集合中包含其标准SYS-ID (RB)生成 的LSP RB.00~RB.ff、附加SYS-ID (RB1)生成的LSP RB1.00 RBl.ff以及 附加SYS-ID (RB2)生成的LSP RB2.00~RB2.ff。贝i」,只要LSPRA集合中 有任意LSP包含指向RB、 RB1和RB2中任意一个的IS Neighbors TLV,同 时LSP RB集合中有任意LSP包含指向RA、 RA1和RA2中任意一个的IS Neighbors TLV,则2WAY检査就可以通过。进一步的,为了保证回指检査的正确性,本发明所提供的支持附加 SYS-ID的IS-IS路由实现方法还包括周期性或者实时检查LSP的变化,并 相应调整所述LSP集合。需要说明的是,本发明所提供的支持附加SYS-ID的IS-IS路由实现方法 是基于已划分的LSP集合进行的;但此并非局限,本发明所提供的方案还包 括通过在每一次路由计算时根据需要划分LSP集合来取代预先划分LSP 集合,并根据实时划分的LSP集合进行回指检査。可以看出,该技术方案同 样能够达到支持具有附加SYS-ID的IS-IS路由且无需重建邻居关系的技术效 果。但是,这种方案将带来较大的系统开销。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤Sl、构建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任
一 LSP集合包括在某一 PSN-ID下,一 IS以标准SYS-ID生成的LSP以 及以附加SYS-ID生成的LSP;S2、进行路由拓扑计算时,在LSDB中第一IS的一LSP携带的第一 Neighbor-ID所对应的第二 IS的LSP集合中进行回指检査;如果在第二 IS的LSP集合中存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID对应所述第一 IS的相应LSP集合,则回指检查通过,建立 第一 IS与第二 IS之间的路由拓扑路径。所述的存储介质包括ROM/RAM、磁碟或者光盘等。本发明的实施例还提供了一种支持附加SYS-ID的IS-IS路由实现装置 100,其设置在包括依次连接的LSP收集单元201、 LSDB 202和LSP拓扑建 立单元203的IS200中;其中,LSDB 202用于存储LSP收集单元201收集 到的完整LSP信息。当一IS作为进行路由计算的IS时,LSP拓扑建立单元 203根据LSDB 202中的信息进行拓扑计算,同时IS-IS路由实现装置100相 应启动。请结合图ll,该IS-IS路由实现装置100包括LSP集合组织单元101,与LSDB 202连接,用于构建LSDB202中 任一 IS基于不同PSN-ID的LSP集合并保存,其中,任一LSP集合包括 在某一 PSN-ID下,一 IS以标准SYS-ID生成的LSP以及该IS以附加 SYS-ID生成的LSP;LSP回指检査单元102,与LSP集合组织单元101连接,用于在LSDB202 中第一 IS的一 LSP携带的第一 Neighbor-ID所对应的第二 IS的LSP集合中 进行回指检査,如果在第二 IS的LSP集合中存在一携带有第二 Neighbor-ID 的LSP,且该第二 Neighbor-ID对应所述第一 IS的相应LSP集合,则回指检 査通过并触发LSP拓扑建立单元203建立该第一 IS 200与第二 IS 200之间 的路由拓扑路径,否则回指检査失败并拒绝建立路由拓扑路径。可以看出,通过本发明所提供的支持附加SYS-ID的IS-IS路由实现装置 100,在路由计算中进行2WAY检査时,同样是始终以整个LSP集合为准, 整个LSP集合中任一 LSP满足2WAY检查条件就可以通过2WAY检查。从 而,无论IS之间使用正常SYS-ID或者附加SYS-ID建立邻居,也无论IS邻
居TLV放到原始LSP或者扩展LSP中,都能够简单有效的实现支持附加 SYS-ID的IS-IS路由。请参考图12,为路由实现装置100—具体实施例的框图,其中LSP集合组织单元101可以包括LSP子集构建模块1011,用于将LSDB 202中具有相同SYS-ID和 PSN-ID的LSP组织为子集;LSP子集保存模块1012,与LSP子集构建模块1011连接,用于保 存子集;具体的,该LSP子集保存模块1012可以为保存具有相同SYS-ID 和PSN-ID的LSP的链表;LSP子集关联模块1013,与LSP子集保存模块1012连接,用于保存 具有相同IS-Alias-IDTLV的子集关联信息;具体的,该LSP子集关联模 块1013可以为保存具有相同IS-Alias-ID TLV的LSP的链表。结合图7可以看出,该LSP集合组织单元101构建形成的LSP集合 中,包括了每一IS以正常SYS-ID和附加SYS-ID生成的全部LSP。LSP回指检查单元102可以包括回指检査启动模块1021,用于对该LSP所携带的第一 Neighbor-ID启动回指检查;LSP集合査找模块1022,与回指检査指令接收模块1021和LSP集 合组织单元101连接,用于查找该LSP所在的第一IS的LSP集合以及第 一 Neighbor-ID所对应的第二 IS的LSP集合;LSP集合遍历模块1023,与LSP集合査找模块1022和LSP集合组 织单元101连接,用于遍历该第二 IS的LSP集合,存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID对应所述第一 IS的LSP集合 时,即存在第二 Neighbor-ID为该第一 IS的LSP集合中标准SYS-ID和 PSN-ID或者附加SYS-ID和PSN-ID之一的LSP时,触发LSP拓扑建立 单元203来建立第一 IS 200与第二 IS 200路由拓扑路径,否则拒绝建立 路由拓扑路径。较佳的,为了保证回指检査的正确性,LSP集合组织单元101还包括 LSP更新模块1014,用于周期性或者实时检查LSP的变化,并相应触发LSP 子集构建模块IOII。 本领域技术人员可以理解,本发明提供的支持附加SYS-ID的IS-IS路由 实现装置100可以采用集中设置的方式,来替代上述描述的设置在IS中的技 术方案。具体的,是将该IS-IS路由实现装置作为一个独立的设备,与一个 区域内全部的IS连接,并收集这些IS生成的LSP并构建集合。这样,任一 IS进行路由拓扑计算的回指检査时,可以向该IS-IS路由实现装置100发出 2WAY检査指令,并根据获得的检查结果进行拓扑建立,从而避免在每一个 IS中进行LSP集合的构建。进一步的,对于上述实施例中提供的支持附加SYS-ID的IS-IS路由实现 方法和支持附加SYS-ID的IS-IS路由实现装置而言,不仅适用于非伪节点 LSP,也适用于伪节点LSP,即PSN-ID为合法的任意值时都适用于本专利, 其中伪节点LSP与非伪节点LSP的差别仅在于PSN-ID有所不同。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限 制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员 应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发 明技术方案的精神和范围。
权利要求
1.一种支持附加SYS-ID的IS-IS路由实现方法,其特征在于,包括以下步骤S1、构建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任一LSP集合包括在某一PSN-ID下,一IS以标准SYS-ID生成的LSP以及以附加SYS-ID生成的LSP;S2、进行路由拓扑计算时,在LSDB中第一IS的一LSP携带的第一Neighbor-ID所对应的第二IS的LSP集合中进行回指检查;如果在第二IS的LSP集合中存在一携带有第二Neighbor-ID的LSP,且该第二Neighbor-ID对应所述第一IS的相应LSP集合,则回指检查通过,建立第一IS与第二IS之间的路由拓扑路径。
2. 根据权利要求1所述的支持附加SYS-ID的IS-IS路由实现方法,其 特征在于,所述步骤Sl包括511、 将LSDB中具有相同SYS-ID和PSN-ID的LSP组织为子集;512、 对每一子集中记录有IS-Alias-IDTLV的LSP进行检査;513、 将具有相同IS-Alias-ID TLV的子集关联起来,构成对应于相 应IS的LSP集合。
3. 根据权利要求2所述的支持附加SYS-ID的IS-IS路由实现方法, 其特征在于,所述步骤Sll包括通过链表将具有相同SYS-ID和PSN-ID 的LSP组织起来。
4. 根据权利要求2所述的支持附加SYS-ID的IS-IS路由实现方法, 其特征在于,所述记录有IS-Alias-ID TLV的LSP为第0片LSP,所述步 骤S12为对每一子集中的第0片LSP进行检査。
5. 根据权利要求2所述的支持附加SYS-ID的IS-IS路由实现方法,其特 征在于,所述步骤S13包括通过链表将具有相同IS-Alias-ID TLV的LSP 组织起来,实现具有相同IS-Alias-ID TLV的子集的关联。
6. 根据权利要求1所述的支持附加SYS-ID的IS-IS路由实现方法, 其特征在于,还包括周期性或者实时检査LSP的变化,并相应调整所述 LSP集合。
7. 根据权利要求1-6任一所述的支持附加SYS-ID的IS-IS路由实现方 法,其特征在于,所述步骤S2包括521、 査找所述LSP所在的第一IS的LSP集合;522、 査找所述第一 Neighbor-ID所对应的第二 IS的LSP集合;523、 遍历所述第二 IS的LSP集合,存在一携带有第二 Neighbor-ID 的LSP,且该第二 Neighbor-ID对应所述第一 IS的LSP集合时,回指检 査通过并建立第一 IS与第二 IS之间的路由拓扑路径,否则回指检査失败 并拒绝建立第一 IS与第二 IS之间的路由拓扑路径。
8. 根据权利要求7所述的支持附加SYS-ID的IS-IS路由实现方法, 其特征在于,所述步骤S22包括以所述第一 Neighbor-ID为关键字,以 哈希表形式査找与所述第一 Neighbor-ID内容一致并记录有IS-Alias-ID TLV的LSP,并根据所述LSP査找相应的第二 IS的LSP集合。
9. 一种支持附加SYS-ID的IS-IS路由实现装置,设置在包括依次连 接的LSP收集单元、LSDB和LSP拓扑建立单元的IS中;其特征在于, 该IS-IS路由实现装置包括LSP集合组织单元,与所述LSDB连接,用于构建LSDB中每一IS 基于不同PSN-ID的LSP集合并保存,其中,任一LSP集合包括在某一 PSN-ID下,一 IS以标准SYS-ID生成的LSP以及该IS以附加SYS-ID 生成的LSP;LSP回指检查单元,与所述LSP集合组织单元连接,用于在LSDB 中第一 IS的一 LSP携带的第一 Neighbor-ID所对应的第二 IS的LSP集 合中进行回指检查,如果在第二 IS的LSP集合中存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID对应所述第一 IS的相应LSP 集合,则回指检査通过并触发所述LSP拓扑建立单元建立所述第一 IS与 第二 IS之间的路由拓扑路径,否则回指检查失败并拒绝建立路由拓扑路 径。
10. 根据权利要求9所述的支持附加SYS-ID的IS-IS路由实现装置, 其特征在于,所述LSP集合组织单元包括LSP子集构建模块,用于将LSDB中具有相同SYS-ID和PSN-ID的 LSP组织为子集; LSP子集保存模块,与所述LSP子集构建模块连接,用于保存子集;LSP子集关联模块,与所述LSP子集保存模块连接,用于保存具有 相同IS-Alias-ID TLV的子集关联信息。
11. 根据权利要求10所述的支持附加SYS-ID的IS-IS路由实现装置, 其特征在于,所述LSP子集保存模块为保存具有相同SYS-ID和PSN-ID 的LSP的链表;所述LSP子集关联模块为保存具有相同IS-Alias-ID TLV 的LSP的链表。
12. 根据权利要求10所述的支持附加SYS-ID的IS-IS路由实现装置, 其特征在于,所述LSP集合组织单元还包括LSP更新模块,用于周期 性或者实时检査LSP的变化,并相应触发所述LSP子集构建模块。
13. 根据权利要求9-12任一所述的支持附加SYS-ID的IS-IS路由实 现装置,其特征在于,所述LSP回指检査单元包括回指检査启动模块,用于对所述LSP所携带的第一 Neighbor-ID启 动回指检査;LSP集合查找模块,与所述回指检查启动模块和所述LSP集合组织 单元连接,用于査找所述LSP所在的第一 IS的LSP集合以及所述第一 Neighbor-ID所对应的第二 IS的LSP集合;LSP集合遍历模块,与所述LSP集合査找模块和所述LSP集合组织 单元连接,用于遍历所述第二 IS的LSP集合,存在一携带有第二 Neighbor-ID的LSP,且该第二 Neighbor-ID对应所述第一 IS的LSP集合 时,触发所述LSP拓扑建立单元来建立所述第一 IS与第二 IS之间的路 由拓扑路径,否则拒绝建立路由拓扑路径。
全文摘要
本发明公开了一种支持附加SYS-ID的IS-IS路由实现方法和装置。该方法包括构建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任一LSP集合包括在某一PSN-ID下,该IS以标准SYS-ID生成的LSP以及以附加SYS-ID生成的LSP;进行路由拓扑计算时,在LSDB中第一IS的一LSP携带的第一Neighbor-ID所对应的第二IS的LSP集合中进行回指检查;如果在第二IS的LSP集合中存在一携带有第二Neighbor-ID的LSP,且该第二Neighbor-ID对应该第一IS的相应LSP集合,则回指检查通过,建立第一IS与第二IS之间的路由拓扑路径。通过本发明公开的方法及装置,简单有效地实现了支持附加SYS-ID的IS-IS路由。
文档编号H04L12/56GK101150514SQ200710166380
公开日2008年3月26日 申请日期2007年11月8日 优先权日2007年11月8日
发明者钱雪彪 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1