專利名稱:支持附加sys-id的is-is路由實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,涉及通信網(wǎng)絡(luò)中的路由技術(shù),尤其涉及 一種支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法以及支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置。
背景技術(shù):
IS-IS (Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol,中間系統(tǒng)間域內(nèi)路由交換協(xié)議)是一種基于SPF ( Shortest Path First,最短路徑優(yōu)先)算法的IGP (Internal Gateway Protocol,內(nèi)部網(wǎng)關(guān) 協(xié)議),其利用LSP (Link State Protocol,鏈路狀態(tài)協(xié)議)數(shù)據(jù)單元(簡稱 LSP)攜帶相關(guān)的路由和拓?fù)湫畔?,并根?jù)由LSP構(gòu)成的LSDB (Link State Database,鏈路狀態(tài)數(shù)據(jù)庫)進(jìn)行路由計(jì)算。以圖1A所示情況為例,假設(shè)在 RO設(shè)備上的LSDB—共包含三個LSP,分別由IS (Intermediate System,中 間系統(tǒng))R0、 Rl和R2生成??梢钥闯觯琑O生成的LSP標(biāo)識了 RO設(shè)備上 存在鄰居Rl , Rl生成的LSP標(biāo)識了 Rl設(shè)備上存在鄰居RO和R2, R2生成 的LSP標(biāo)識了 R2設(shè)備上存在鄰居Rl。顯然,路由計(jì)算的過程就是對LSP 的分析處理過程通過分析RO產(chǎn)生的LSP,可以知道R0與R1相連;通過 分析R1產(chǎn)生的LSP,可以知道R1和R2相連,因此很容易形成如圖IB所 示的拓?fù)潢P(guān)系圖。同時,為了確保網(wǎng)絡(luò)拓?fù)涞碾p向連通,必須進(jìn)行2WAY(雙 向)檢査,例如通過分析Rl生成的LSP發(fā)現(xiàn)R2,則必須回指檢査R2生成 的LSP中是否存在鄰居Rl,在存在的情況下Rl和R2之間的連接才能正式 成為可用拓?fù)渎窂健膱D1A可以看出,LSP通過"LSP報(bào)文頭+—組TLV (Type Length Value,類型長度值)數(shù)據(jù)"的結(jié)構(gòu)實(shí)現(xiàn)對LSP和鄰居IS的標(biāo)識,如圖2A 所示。其中,LSP報(bào)文頭通過LSP-ID唯一標(biāo)識該LSP,如圖2B所示,該 LSP-ID包括6字節(jié)的SYS-ID (系統(tǒng)標(biāo)識符),1字節(jié)的PSN-ID (pseudonode
ID,偽節(jié)點(diǎn)標(biāo)識符)以及l(fā)字節(jié)的LSP-Num (LSP分片號);其中,SYS-ID 標(biāo)識生成該LSP的IS; PSN-ID為0時標(biāo)識該IS全局生成的非偽節(jié)點(diǎn)LSP, PSN-ID為01 FF時標(biāo)識該IS上某些DIS (Designed IS,指定中間系統(tǒng))接 口生成的偽節(jié)點(diǎn)LSP。同時,TLV通過攜帶有Neighbor-ID (鄰居標(biāo)識符) 的IS Neighbors (IS鄰居信息)字段實(shí)現(xiàn)對鄰居IS的標(biāo)識。如圖2C所示, 該Neighbor-ID包括鄰居IS的SYS-ID和PSN-ID 。在大規(guī)模路由網(wǎng)絡(luò)中,上述LSP的數(shù)據(jù)結(jié)構(gòu)大大限制了 IS-IS的應(yīng)用。 這是由于LSP-ID的格式?jīng)Q定了一個IS僅能生成0 FF共256個能夠發(fā)布 IP可達(dá)地址TLV的非偽節(jié)點(diǎn)LSP;根據(jù)一個LSP的常見缺省大小1500字節(jié) 來計(jì)算,256個LSP—共能存放的IP可達(dá)地址TLV大概在4萬條以內(nèi),即 一個IS在一個區(qū)域內(nèi)僅能發(fā)布4萬條以內(nèi)的路由信息。為了克服這一問題,RFC3786 (RFC: Request For Comments,請求評議 的互聯(lián)網(wǎng)草案)提供了 IS-IS擴(kuò)展LSP片段的技術(shù)方紫'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稱為標(biāo)準(zhǔn)SYS-ID (Normal SYS-ID),其生成的LSP稱為原始LSP (Original LSP);其余SYS-ID稱為附加SYS-ID (Additional SYS-ID),其 生成的LSP稱為擴(kuò)展LSP (Extended LSP)。由于每一個SYS-ID生成的非 偽節(jié)點(diǎn)LSP為256個,因此,當(dāng)同一個IS在同一個區(qū)域生成的所有擴(kuò)展LSP 和原始LSP存在隸屬關(guān)系時,IS所能生成的發(fā)布路由信息的LSP個數(shù)就是 256與所配置的SYS-ID個數(shù)之積,大大提高了一個IS所能發(fā)布的路由條數(shù)。 其中,為了表示擴(kuò)展LSP和原始LSP的隸屬關(guān)系,RFC3786所提供的技術(shù) 方案在每個附加SYS-ID生成的第0片擴(kuò)展LSP (即LSP-Num為0)中存放 一個IS-Alias-ID TLV (IS別名標(biāo)識符TLV),在該TLV中記錄所隸屬的標(biāo) 準(zhǔn)SYS-ID和相應(yīng)的PSN-ID;可以看出,實(shí)現(xiàn)LSP片段擴(kuò)展后, 一個IS可 以生成更多的LSP并發(fā)布,從而使得一個IS支持發(fā)布的路由總條數(shù)得到大 幅度提升。理論上來說,網(wǎng)絡(luò)上其他IS收到LSP后通過IS-Alias-ID能夠識別各原 始LSP和擴(kuò)展LSP的隸屬關(guān)系,從而正確計(jì)算并建立路由;但是由于這種 擴(kuò)展的LSP難以通過2WAY檢査,因此導(dǎo)致該技術(shù)方案的實(shí)現(xiàn)瓶頸。舉例 來說,如圖3所示,假設(shè)IS-A和IS-B建立IS-IS鄰居關(guān)系,其中IS-A的SYS-ID 為R0, IS-B使用了LSP片段擴(kuò)展方案,其標(biāo)準(zhǔn)SYS-ID為Rl ,附加SYS-ID 為R2:通常情況下,IS-A只與IS-B的標(biāo)準(zhǔn)SYS-ID建立鄰居關(guān)系,亦即在 IS-A產(chǎn)生的LSP中只會存在一個Neighbor-ID為Rl的IS Neighbors TLV; 假設(shè)IS-B由于其標(biāo)準(zhǔn)SYS-ID (Rl)生成的原始LSP被其他內(nèi)容占滿,而將 Neighbor-ID為RO的IS Neighbors TLV放入由附加SYS-ID (R2)生成的擴(kuò) 展LSP;可以看出,雖然R2產(chǎn)生的LSP存在指向R0的LSP,但檢査RO生 成的LSP中卻只存在鄰居Rl,因此路由計(jì)算無法通過2WAY檢査,無法正 常計(jì)算出相關(guān)路由。為了突破上述瓶頸,實(shí)現(xiàn)對附加SYS-ID的支持,現(xiàn)有技術(shù)中通常是采 用標(biāo)準(zhǔn)SYS-ID發(fā)送IIH (IS-IS Hello Packets, IS-IS Hello報(bào)文)去發(fā)現(xiàn)鄰居 IS,但當(dāng)鄰居關(guān)系UP后向原始LSP添加IS Neighbors TLV發(fā)現(xiàn)沒有空間, 因此轉(zhuǎn)而將該TLV放入擴(kuò)展LSP后,需要用擴(kuò)展LSP對應(yīng)的附加SYS-ID 重新發(fā)送IIH報(bào)文來重建鄰居關(guān)系,即確保被使用的擴(kuò)展LSP所對應(yīng)的附加 SYS-ID與相應(yīng)的IS建立鄰居關(guān)系,以便在路由計(jì)算時通過2WAY檢査。不難看出,這種支持附加SYS-ID的技術(shù)方案需要重新進(jìn)行鄰居關(guān)系的 建立;同時,由于IIH報(bào)文是針對接口發(fā)送的,因此對于同一個接口建立多 個鄰居的廣播口而言還要考慮對該接口上其他受影響鄰居的配合調(diào)整??偟?來說,其整體實(shí)現(xiàn)比較復(fù)雜繁瑣。發(fā)明內(nèi)容本發(fā)明的目的是克服現(xiàn)有技術(shù)中所存在的缺陷,提供一種簡單可行的支 持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方案。為實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供了一種支持附加SYS-ID的IS-IS 路由實(shí)現(xiàn)方法,包括以下步驟51、 構(gòu)建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任 一 LSP集合包括在某一 PSN-ID下,一 IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以 及以附加SYS-ID生成的LSP;52、 進(jìn)行路由拓?fù)溆?jì)算時,在LSDB中第一 IS的一 LSP攜帶的第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合中進(jìn)行回指檢査;如果在第二 IS 的LSP集合中存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID 對應(yīng)所述第一 IS的相應(yīng)LSP集合,則回指檢査通過,建立第一 IS與第二 IS 之間的路由拓?fù)渎窂?。本發(fā)明的實(shí)施例還提供了一種支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝 置,設(shè)置在包括依次連接的LSP收集單元、LSDB和LSP拓?fù)浣卧?的IS中;該IS-IS路由實(shí)現(xiàn)裝置包括LSP集合組織單元,與該LSDB連接,用于構(gòu)建LSDB中每一IS基 于不同PSN-ID的LSP集合并保存,其中,任一 LSP集合包括在某一 PSN-ID下,一 IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以及該IS以附加SYS-ID 生成的LSP;LSP回指檢査單元,與LSP集合組織單元連接,用于在LSDB中第 一 IS的一 LSP攜帶的第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合中 進(jìn)行回指檢査,如果在第二 IS的LSP集合中存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的相應(yīng)LSP 集合,則回指檢査通過并觸發(fā)所述LSP拓?fù)浣卧⑺龅谝?IS與 第二 IS之間的路由拓?fù)渎窂?,否則回指檢查失敗并拒絕建立路由拓?fù)渎?徑。由上述技術(shù)方案可知,本發(fā)明的實(shí)施例通過擴(kuò)展2WAY檢查對象的范 圍,具有以下有益效果1、 有效實(shí)現(xiàn)了支持附加SYS-ID的IS-IS路由實(shí)現(xiàn);2、 無需在IS Neighbors TLV放入擴(kuò)展LSP時重新執(zhí)行鄰居關(guān)系的建立, 簡化了支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)過程。下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1A為IS-IS路由過程中一LSDB實(shí)例的組成示意圖;圖1B為基于圖1A所示LSDB形成的拓?fù)潢P(guān)系圖;圖2A為LSP的數(shù)據(jù)結(jié)構(gòu)示意圖;圖2B為LSP報(bào)文頭的數(shù)據(jù)結(jié)構(gòu)示意圖;圖2C為TLV中Neighbor-ID的數(shù)據(jù)結(jié)構(gòu)示意圖; 圖3為現(xiàn)有技術(shù)中對擴(kuò)展LSP進(jìn)行2WAY檢査的情況示意圖; 圖4為本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法的一實(shí)施 例流程圖;圖5為本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法的另一實(shí) 施例流程圖;圖6為IS-Alias-ID TLV的數(shù)據(jù)結(jié)構(gòu)示意圖;圖7為采用鏈表形式實(shí)現(xiàn)LSP集合的一結(jié)構(gòu)示意圖;圖8為圖5所示方法中査找該LSP所在的第一 IS的LSP集合的流程圖;圖9為圖5所示方法中査找第一 Neighbor-ID指向的第二 IS的LSP集合 的流程圖;圖10為本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法的一具 體實(shí)施例示意圖;圖11為本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置的一實(shí) 施例框圖;圖12為本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置的另一 實(shí)施例框圖。
具體實(shí)施方式
為了避免每一次在IS Neighbors TLV放入擴(kuò)展LSP時重新執(zhí)行鄰居關(guān)系 的建立,簡單有效的實(shí)現(xiàn)對具有附加SYS-ID的IS-IS路由的支持,本發(fā)明通 過擴(kuò)展2WAY檢査對象的范圍,提供了一種支持附加SYS-ID的IS-IS路由 實(shí)現(xiàn)方法和相應(yīng)的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置。請結(jié)合圖4及圖5,該支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法包括以下 步驟Sl、構(gòu)建LSDB中每一 IS基于不同PSN-ID的LSP集合,其中,任一 LSP集合包括在某一 PSN-ID下,一 IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以及以附 加SYS-ID生成的LSP;具體來說,在每一個IS的LSDB中,既包括了 IS自身生成的LSP,也 包括了收集到的其它IS生成的LSP,依據(jù)該LSDB,每一個IS能夠進(jìn)行路 由拓?fù)溆?jì)算。無論對于自身生成的LSP,還是其它IS生成的LSP,在具有附 加SYS-ID的情況下,對于任一 IS的PSN-ID,生成的LSP都可能包括以標(biāo) 準(zhǔn)SYS-ID生成的原始LSP以及以附加SYS-ID生成的擴(kuò)展LSP,該以附加 SYS-ID生成的擴(kuò)展LSP用于在標(biāo)準(zhǔn)SYS-ID生成的原始LSP全部被占用時 提供對更多路由信息的支持。由于現(xiàn)有技術(shù)中進(jìn)行2WAY檢査基于的是包括SYS-ID和PSN-ID在內(nèi) 的Neighbor-ID,這就導(dǎo)致了同一IS下,具有相同PSN-ID的原始LSP和擴(kuò) 展LSP無法統(tǒng)一起來;為了克服這一問題,本步驟采用將原始LSP以及擴(kuò) 展LSP集合起來的技術(shù)方案。在現(xiàn)有技術(shù)中,第O片(LSP-Num=0)的原始LSP和擴(kuò)展LSP都記錄 有IS-Alias-ID TLV,其數(shù)據(jù)結(jié)構(gòu)如圖6所示,包括6字節(jié)的標(biāo)準(zhǔn)SYS-ID, 用于填寫擴(kuò)展LSP所隸屬的原始LSP對應(yīng)的標(biāo)準(zhǔn)SYS-ID,對于原始LSP而 言,此處填寫的內(nèi)容為其自身SYS-ID和PSN-ID; 1字節(jié)的PSN-ID,用于填 寫擴(kuò)展LSP所隸屬的原始LSP的偽節(jié)點(diǎn)標(biāo)識符,即擴(kuò)展LSP與原始LSP的 PSN-ID是統(tǒng)一的;1字節(jié)的Sub-TLVs Length字段,用于填寫Sub-TLVs長 度;總長度為Sub-TLVs Length指定長度的Sub-TLVs,用于填寫一些附屬屬 性,目前暫時作為保留使用。根據(jù)上述結(jié)構(gòu)可以看出,增加了 IS-Alias-ID TLV 后,能夠有效標(biāo)識出同一個IS產(chǎn)生的原始PLS與擴(kuò)展PLS之間的隸屬關(guān)系。 而本發(fā)明所提供的方法也可以基于這一點(diǎn)進(jìn)行2WAY檢査對象的擴(kuò)展。具體的,本步驟Sl包括511、 檢査LSDB中所有LSP的LSP-ID,將具有相同SYS-ID和PSN-ID 的LSP通過某種數(shù)據(jù)結(jié)構(gòu)(比如可以通過鏈表)組織起來,分別構(gòu)成LSDB 的子集;其中,每一個子集中都會包含一個攜帶IS-Alias-IDTLV的LSP;512、 對每一子集中記錄有IS-Alias-ID TLV的LSP進(jìn)行檢查; 按照現(xiàn)有技術(shù)的情況, 一般是第O片UPLSP-NUm=0)的LSP攜帶IS-Alias-ID TLV;因此,步驟S12往往是對第0片LSP進(jìn)行檢査。當(dāng)然,如 果定義記錄IS-Alias-ID TLV的LSP為其它分片,本發(fā)明技術(shù)方案同樣適 用。513、 將具有相同IS-Alias-ID TLV的子集關(guān)聯(lián)起來,構(gòu)成對應(yīng)于相 應(yīng)IS的LSP集合;本步驟S13的具體操作可以為通過鏈表將具有相同IS-Alias-ID TLV
的LSP組織起來,從而實(shí)現(xiàn)具有相同IS-Alias-ID TLV的子集的關(guān)聯(lián)。通過上述步驟Sl,就可以將原始LSP以及隸屬于其的擴(kuò)展LSP組織成 一個大的邏輯LSP,其中包含所有具有相同IS-Alias-ID TLV內(nèi)容的第0分片 LSP以及和這些LSP具有相同SYS-ID和PSN-ID的所有其他LSP。如圖7 所示,為采用鏈表形式實(shí)現(xiàn)LSP集合的一結(jié)構(gòu)示意圖,任何一個LSP集合 都包含了一 IS在一 PSN-ID下全部的LSP。但本領(lǐng)域技術(shù)人員可以理解,組 織LSP的方法并不局限于鏈表,也可以采用其他的數(shù)據(jù)結(jié)構(gòu)加以組織。在構(gòu)建了 LSP集合之后,就可以將其應(yīng)用到IS-IS路由計(jì)算的2WAY檢 査中,包括S2、進(jìn)行路由拓?fù)溆?jì)算時,在LSDB中第一 IS的一 LSP攜帶的第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合中進(jìn)行回指檢査;如果在第二 IS 的LSP集合中存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID 對應(yīng)所述第一IS的相應(yīng)LSP集合,則回指檢査通過,建立第一IS與第二IS 之間的路由拓?fù)渎窂?。通過本步驟S2可以看出,路由計(jì)算進(jìn)行2WAY檢査時,始終以LSP和 Neighbor-ID相關(guān)的整個LSP集合為準(zhǔn),整個LSP集合中任一 LSP滿足2 WAY 檢査條件就可以通過2WAY檢査。具體可以包括S21、査找該LSP所在的第一IS的LSP集合;由于該LSP攜帶有該第一 Neighbor-ID,因此需要進(jìn)行回指檢查。按照現(xiàn)有技術(shù)中鄰居關(guān)系建立的原則, 一般是與IS的正常SYS-ID 建立鄰居關(guān)系,當(dāng)然也不排除某些情況下,附加SYS-ID與正常SYS-ID 以及附加SYS-ID與附加SYS-ID之間建立鄰居關(guān)系。因此,為了保證具 有附加SYS-ID的IS-IS的2WAY檢査成功,其回指檢査對象為該LSP 所在的一第一IS的LSP集合。當(dāng)集合以鏈表形式組織攜帶有IS-Alias-ID TLV的LSP時,本步驟 Sll具體可采取的操作請結(jié)合圖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、 根據(jù)該記錄有IS-Alias-ID TLV的LSP査找相應(yīng)的第一 IS的LSP集合。522、 查找該第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合; 為了保證具有附加SYS-ID的IS-IS的2WAY檢查成功,回指檢查范圍為第一 Neighbor-ID指向的第二 IS的LSP集合。當(dāng)集合以鏈表形式組 織攜帶有IS-Alias-ID TLV的LSP時,具體可采取的操作請結(jié)合圖9,包 括5221、 査找以該第一 Neighbor-ID生成并記錄有IS-Alias-ID TLV的 LSP,亦即,査找與該第一 Neighbor-ID —致的SYS-ID和PSN-ID生成的 LSP;具體的査找方法與LSP的存儲方式有關(guān),比如,可以以該第一 Neighbor-ID為關(guān)鍵字,以哈希表形式査找與所述第一 Neighbor-ID內(nèi)容 一致并記錄有IS-Alias-ID TLV的LSP;本領(lǐng)域技術(shù)人員也可以采用其他 的査找方法實(shí)現(xiàn)。同時,根據(jù)現(xiàn)有技術(shù),所查找到的LSP—般為第O分片LSP,即該 LSP-ID中SYS-ID與PSN-ID內(nèi)容與該第一 Neighbor-ID內(nèi)容一致并且 LSP-Num為0的LSP。5222、 根據(jù)該LSP査找相應(yīng)的第二IS的LSP集合;在本實(shí)施例中, 可以根據(jù)鏈表直接?xùn)苏页龅诙?IS的LSP集合。需要指出的是,基于不同的集合組織與存儲方式,步驟S21和步驟 S22也可以采用其他的査找方式。523、 遍歷第二IS的LSP集合, 一攜帶有第二 Neighbor-ID的LSP, 且該第二 Neighbor-ID對應(yīng)所述第一 IS的LSP集合時,回指檢査通過并 建立第一 IS與第二 IS之間的路由拓?fù)渎窂剑駝t回指檢査失敗并拒絕建 立第一 IS與第二 IS之間的路由拓?fù)渎窂?;以及,如果存在第?Neighbor-ID為相應(yīng)第一 IS的LSP集合中標(biāo)準(zhǔn) 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進(jìn)
行檢查即可,以降低比較的工作量。通過上述步驟S1 S2,無論IS之間使用正常SYS-ID或者附加SYS-ID 建立鄰居,也無論IS鄰居TLV放到原始LSP或者擴(kuò)展LSP中,都可以正確 的通過2WAY檢査并正確計(jì)算出路由信息,從而有效支持?jǐn)U展LSP所攜帶 的鄰居信息,提高了擴(kuò)展LSP的使用意義。同時,本發(fā)明所提供的方法相比 于RFC3786推薦的方法更為簡單,無需進(jìn)行鄰居關(guān)系的重新建立,因此易于 實(shí)現(xiàn),具有更大的推廣價值。請結(jié)合圖10,作為本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn) 方法一具體實(shí)施例,能夠比較直觀的說明本發(fā)明的有益效果所在。如圖10 所示,LSPRA集合中包含其標(biāo)準(zhǔn)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集合中包含其標(biāo)準(zhǔn)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檢査就可以通過。進(jìn)一步的,為了保證回指檢査的正確性,本發(fā)明所提供的支持附加 SYS-ID的IS-IS路由實(shí)現(xiàn)方法還包括周期性或者實(shí)時檢查LSP的變化,并 相應(yīng)調(diào)整所述LSP集合。需要說明的是,本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法 是基于已劃分的LSP集合進(jìn)行的;但此并非局限,本發(fā)明所提供的方案還包 括通過在每一次路由計(jì)算時根據(jù)需要劃分LSP集合來取代預(yù)先劃分LSP 集合,并根據(jù)實(shí)時劃分的LSP集合進(jìn)行回指檢査??梢钥闯觯摷夹g(shù)方案同 樣能夠達(dá)到支持具有附加SYS-ID的IS-IS路由且無需重建鄰居關(guān)系的技術(shù)效 果。但是,這種方案將帶來較大的系統(tǒng)開銷。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟 可以通過程序指令相關(guān)的硬件來完成,所述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括如下步驟Sl、構(gòu)建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任
一 LSP集合包括在某一 PSN-ID下,一 IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以 及以附加SYS-ID生成的LSP;S2、進(jìn)行路由拓?fù)溆?jì)算時,在LSDB中第一IS的一LSP攜帶的第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合中進(jìn)行回指檢査;如果在第二 IS的LSP集合中存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的相應(yīng)LSP集合,則回指檢查通過,建立 第一 IS與第二 IS之間的路由拓?fù)渎窂?。所述的存儲介質(zhì)包括ROM/RAM、磁碟或者光盤等。本發(fā)明的實(shí)施例還提供了一種支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置 100,其設(shè)置在包括依次連接的LSP收集單元201、 LSDB 202和LSP拓?fù)浣?立單元203的IS200中;其中,LSDB 202用于存儲LSP收集單元201收集 到的完整LSP信息。當(dāng)一IS作為進(jìn)行路由計(jì)算的IS時,LSP拓?fù)浣卧?203根據(jù)LSDB 202中的信息進(jìn)行拓?fù)溆?jì)算,同時IS-IS路由實(shí)現(xiàn)裝置100相 應(yīng)啟動。請結(jié)合圖ll,該IS-IS路由實(shí)現(xiàn)裝置100包括LSP集合組織單元101,與LSDB 202連接,用于構(gòu)建LSDB202中 任一 IS基于不同PSN-ID的LSP集合并保存,其中,任一LSP集合包括 在某一 PSN-ID下,一 IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以及該IS以附加 SYS-ID生成的LSP;LSP回指檢査單元102,與LSP集合組織單元101連接,用于在LSDB202 中第一 IS的一 LSP攜帶的第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合中 進(jìn)行回指檢査,如果在第二 IS的LSP集合中存在一攜帶有第二 Neighbor-ID 的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的相應(yīng)LSP集合,則回指檢 査通過并觸發(fā)LSP拓?fù)浣卧?03建立該第一 IS 200與第二 IS 200之間 的路由拓?fù)渎窂剑駝t回指檢査失敗并拒絕建立路由拓?fù)渎窂?。可以看出,通過本發(fā)明所提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置 100,在路由計(jì)算中進(jìn)行2WAY檢査時,同樣是始終以整個LSP集合為準(zhǔn), 整個LSP集合中任一 LSP滿足2WAY檢查條件就可以通過2WAY檢查。從 而,無論IS之間使用正常SYS-ID或者附加SYS-ID建立鄰居,也無論IS鄰
居TLV放到原始LSP或者擴(kuò)展LSP中,都能夠簡單有效的實(shí)現(xiàn)支持附加 SYS-ID的IS-IS路由。請參考圖12,為路由實(shí)現(xiàn)裝置100—具體實(shí)施例的框圖,其中LSP集合組織單元101可以包括LSP子集構(gòu)建模塊1011,用于將LSDB 202中具有相同SYS-ID和 PSN-ID的LSP組織為子集;LSP子集保存模塊1012,與LSP子集構(gòu)建模塊1011連接,用于保 存子集;具體的,該LSP子集保存模塊1012可以為保存具有相同SYS-ID 和PSN-ID的LSP的鏈表;LSP子集關(guān)聯(lián)模塊1013,與LSP子集保存模塊1012連接,用于保存 具有相同IS-Alias-IDTLV的子集關(guān)聯(lián)信息;具體的,該LSP子集關(guān)聯(lián)模 塊1013可以為保存具有相同IS-Alias-ID TLV的LSP的鏈表。結(jié)合圖7可以看出,該LSP集合組織單元101構(gòu)建形成的LSP集合 中,包括了每一IS以正常SYS-ID和附加SYS-ID生成的全部LSP。LSP回指檢查單元102可以包括回指檢査啟動模塊1021,用于對該LSP所攜帶的第一 Neighbor-ID啟動回指檢查;LSP集合査找模塊1022,與回指檢査指令接收模塊1021和LSP集 合組織單元101連接,用于查找該LSP所在的第一IS的LSP集合以及第 一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合;LSP集合遍歷模塊1023,與LSP集合査找模塊1022和LSP集合組 織單元101連接,用于遍歷該第二 IS的LSP集合,存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的LSP集合 時,即存在第二 Neighbor-ID為該第一 IS的LSP集合中標(biāo)準(zhǔn)SYS-ID和 PSN-ID或者附加SYS-ID和PSN-ID之一的LSP時,觸發(fā)LSP拓?fù)浣?單元203來建立第一 IS 200與第二 IS 200路由拓?fù)渎窂?,否則拒絕建立 路由拓?fù)渎窂?。較佳的,為了保證回指檢査的正確性,LSP集合組織單元101還包括 LSP更新模塊1014,用于周期性或者實(shí)時檢查LSP的變化,并相應(yīng)觸發(fā)LSP 子集構(gòu)建模塊IOII。 本領(lǐng)域技術(shù)人員可以理解,本發(fā)明提供的支持附加SYS-ID的IS-IS路由 實(shí)現(xiàn)裝置100可以采用集中設(shè)置的方式,來替代上述描述的設(shè)置在IS中的技 術(shù)方案。具體的,是將該IS-IS路由實(shí)現(xiàn)裝置作為一個獨(dú)立的設(shè)備,與一個 區(qū)域內(nèi)全部的IS連接,并收集這些IS生成的LSP并構(gòu)建集合。這樣,任一 IS進(jìn)行路由拓?fù)溆?jì)算的回指檢査時,可以向該IS-IS路由實(shí)現(xiàn)裝置100發(fā)出 2WAY檢査指令,并根據(jù)獲得的檢查結(jié)果進(jìn)行拓?fù)浣ⅲ瑥亩苊庠诿恳粋€ IS中進(jìn)行LSP集合的構(gòu)建。進(jìn)一步的,對于上述實(shí)施例中提供的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn) 方法和支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置而言,不僅適用于非偽節(jié)點(diǎn) LSP,也適用于偽節(jié)點(diǎn)LSP,即PSN-ID為合法的任意值時都適用于本專利, 其中偽節(jié)點(diǎn)LSP與非偽節(jié)點(diǎn)LSP的差別僅在于PSN-ID有所不同。最后所應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限 制,盡管參照較佳實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員 應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā) 明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法,其特征在于,包括以下步驟S1、構(gòu)建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任一LSP集合包括在某一PSN-ID下,一IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以及以附加SYS-ID生成的LSP;S2、進(jìn)行路由拓?fù)溆?jì)算時,在LSDB中第一IS的一LSP攜帶的第一Neighbor-ID所對應(yīng)的第二IS的LSP集合中進(jìn)行回指檢查;如果在第二IS的LSP集合中存在一攜帶有第二Neighbor-ID的LSP,且該第二Neighbor-ID對應(yīng)所述第一IS的相應(yīng)LSP集合,則回指檢查通過,建立第一IS與第二IS之間的路由拓?fù)渎窂健?br>
2. 根據(jù)權(quán)利要求1所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法,其 特征在于,所述步驟Sl包括511、 將LSDB中具有相同SYS-ID和PSN-ID的LSP組織為子集;512、 對每一子集中記錄有IS-Alias-IDTLV的LSP進(jìn)行檢査;513、 將具有相同IS-Alias-ID TLV的子集關(guān)聯(lián)起來,構(gòu)成對應(yīng)于相 應(yīng)IS的LSP集合。
3. 根據(jù)權(quán)利要求2所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法, 其特征在于,所述步驟Sll包括通過鏈表將具有相同SYS-ID和PSN-ID 的LSP組織起來。
4. 根據(jù)權(quán)利要求2所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法, 其特征在于,所述記錄有IS-Alias-ID TLV的LSP為第0片LSP,所述步 驟S12為對每一子集中的第0片LSP進(jìn)行檢査。
5. 根據(jù)權(quán)利要求2所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法,其特 征在于,所述步驟S13包括通過鏈表將具有相同IS-Alias-ID TLV的LSP 組織起來,實(shí)現(xiàn)具有相同IS-Alias-ID TLV的子集的關(guān)聯(lián)。
6. 根據(jù)權(quán)利要求1所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法, 其特征在于,還包括周期性或者實(shí)時檢査LSP的變化,并相應(yīng)調(diào)整所述 LSP集合。
7. 根據(jù)權(quán)利要求1-6任一所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方 法,其特征在于,所述步驟S2包括521、 査找所述LSP所在的第一IS的LSP集合;522、 査找所述第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合;523、 遍歷所述第二 IS的LSP集合,存在一攜帶有第二 Neighbor-ID 的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的LSP集合時,回指檢 査通過并建立第一 IS與第二 IS之間的路由拓?fù)渎窂?,否則回指檢査失敗 并拒絕建立第一 IS與第二 IS之間的路由拓?fù)渎窂健?br>
8. 根據(jù)權(quán)利要求7所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法, 其特征在于,所述步驟S22包括以所述第一 Neighbor-ID為關(guān)鍵字,以 哈希表形式査找與所述第一 Neighbor-ID內(nèi)容一致并記錄有IS-Alias-ID TLV的LSP,并根據(jù)所述LSP査找相應(yīng)的第二 IS的LSP集合。
9. 一種支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置,設(shè)置在包括依次連 接的LSP收集單元、LSDB和LSP拓?fù)浣卧腎S中;其特征在于, 該IS-IS路由實(shí)現(xiàn)裝置包括LSP集合組織單元,與所述LSDB連接,用于構(gòu)建LSDB中每一IS 基于不同PSN-ID的LSP集合并保存,其中,任一LSP集合包括在某一 PSN-ID下,一 IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以及該IS以附加SYS-ID 生成的LSP;LSP回指檢查單元,與所述LSP集合組織單元連接,用于在LSDB 中第一 IS的一 LSP攜帶的第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集 合中進(jìn)行回指檢查,如果在第二 IS的LSP集合中存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的相應(yīng)LSP 集合,則回指檢査通過并觸發(fā)所述LSP拓?fù)浣卧⑺龅谝?IS與 第二 IS之間的路由拓?fù)渎窂?,否則回指檢查失敗并拒絕建立路由拓?fù)渎?徑。
10. 根據(jù)權(quán)利要求9所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置, 其特征在于,所述LSP集合組織單元包括LSP子集構(gòu)建模塊,用于將LSDB中具有相同SYS-ID和PSN-ID的 LSP組織為子集; LSP子集保存模塊,與所述LSP子集構(gòu)建模塊連接,用于保存子集;LSP子集關(guān)聯(lián)模塊,與所述LSP子集保存模塊連接,用于保存具有 相同IS-Alias-ID TLV的子集關(guān)聯(lián)信息。
11. 根據(jù)權(quán)利要求10所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置, 其特征在于,所述LSP子集保存模塊為保存具有相同SYS-ID和PSN-ID 的LSP的鏈表;所述LSP子集關(guān)聯(lián)模塊為保存具有相同IS-Alias-ID TLV 的LSP的鏈表。
12. 根據(jù)權(quán)利要求10所述的支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)裝置, 其特征在于,所述LSP集合組織單元還包括LSP更新模塊,用于周期 性或者實(shí)時檢査LSP的變化,并相應(yīng)觸發(fā)所述LSP子集構(gòu)建模塊。
13. 根據(jù)權(quán)利要求9-12任一所述的支持附加SYS-ID的IS-IS路由實(shí) 現(xiàn)裝置,其特征在于,所述LSP回指檢査單元包括回指檢査啟動模塊,用于對所述LSP所攜帶的第一 Neighbor-ID啟 動回指檢査;LSP集合查找模塊,與所述回指檢查啟動模塊和所述LSP集合組織 單元連接,用于査找所述LSP所在的第一 IS的LSP集合以及所述第一 Neighbor-ID所對應(yīng)的第二 IS的LSP集合;LSP集合遍歷模塊,與所述LSP集合査找模塊和所述LSP集合組織 單元連接,用于遍歷所述第二 IS的LSP集合,存在一攜帶有第二 Neighbor-ID的LSP,且該第二 Neighbor-ID對應(yīng)所述第一 IS的LSP集合 時,觸發(fā)所述LSP拓?fù)浣卧獊斫⑺龅谝?IS與第二 IS之間的路 由拓?fù)渎窂剑駝t拒絕建立路由拓?fù)渎窂健?br>
全文摘要
本發(fā)明公開了一種支持附加SYS-ID的IS-IS路由實(shí)現(xiàn)方法和裝置。該方法包括構(gòu)建LSDB中每一IS基于不同PSN-ID的LSP集合,其中,任一LSP集合包括在某一PSN-ID下,該IS以標(biāo)準(zhǔn)SYS-ID生成的LSP以及以附加SYS-ID生成的LSP;進(jìn)行路由拓?fù)溆?jì)算時,在LSDB中第一IS的一LSP攜帶的第一Neighbor-ID所對應(yīng)的第二IS的LSP集合中進(jìn)行回指檢查;如果在第二IS的LSP集合中存在一攜帶有第二Neighbor-ID的LSP,且該第二Neighbor-ID對應(yīng)該第一IS的相應(yīng)LSP集合,則回指檢查通過,建立第一IS與第二IS之間的路由拓?fù)渎窂?。通過本發(fā)明公開的方法及裝置,簡單有效地實(shí)現(xiàn)了支持附加SYS-ID的IS-IS路由。
文檔編號H04L12/56GK101150514SQ200710166380
公開日2008年3月26日 申請日期2007年11月8日 優(yōu)先權(quán)日2007年11月8日
發(fā)明者錢雪彪 申請人:杭州華三通信技術(shù)有限公司