两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種快速路由收斂方法

文檔序號(hào):7865210閱讀:1243來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種快速路由收斂方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體說(shuō)是一種快速路由收斂方法。
背景技術(shù)
現(xiàn)有的路由算法可以分為兩大類(lèi)基于距離矢量路由算法和基于鏈路狀態(tài)路由算法?;诰嚯x矢量路由算法中,每個(gè)路由節(jié)點(diǎn)(簡(jiǎn)稱(chēng)為節(jié)點(diǎn))從其鄰居處獲得路由信息,并在每一條路由信息上疊加從自己到這個(gè)鄰居的距離矢量,從而形成自己的路由信息,如路由信息協(xié)議(Routing Information Protocol, RIP)?;阪溌窢顟B(tài)路由算法中,每個(gè)路由節(jié)點(diǎn)將自己與鄰居節(jié)點(diǎn)的鏈路信息通告給網(wǎng)絡(luò)中的其他所有路由節(jié)點(diǎn),然后每個(gè)路由節(jié)點(diǎn)執(zhí)行最短路徑優(yōu)先(Short e s t PathFirst, SPF)算法,找出自己到其他所有節(jié)點(diǎn)的最優(yōu)路由。典型的鏈路狀態(tài)路由協(xié)議有中間系統(tǒng)到中間系統(tǒng)(Intermediate System to Intermediate System, ISIS)協(xié)議和開(kāi)放最短路徑優(yōu)先(Open Shortest Path First,0SPF)協(xié)議。雖然ISIS和OSPF在功能上有些差異,但其基本原理算法都是一樣的。OSPF是為IP協(xié)議簇而開(kāi)發(fā)的,而ISIS是針對(duì)開(kāi)放系統(tǒng)互聯(lián)(Open System Interconnect, 0SI)參考模型開(kāi)發(fā)的,隨后才被擴(kuò)展支持IP。鏈路狀態(tài)路由協(xié)議必須發(fā)現(xiàn)鄰居,分發(fā)學(xué)習(xí)路由地址、鏈路開(kāi)銷(xiāo)(與帶寬、時(shí)延等有關(guān))等。這些信息都包含在鏈路狀態(tài)分組(Link State Packet,LSP)中。不同節(jié)點(diǎn)產(chǎn)生的LSP都有自己唯一的標(biāo)識(shí)(Identification, ID),使用遞增的序列號(hào)來(lái)區(qū)分LSP的新舊。ID相同的LSP,序列號(hào)大的表示最近生成的,將用于路由計(jì)算。LSP在網(wǎng)絡(luò)中洪泛,生成鏈路狀態(tài)信息庫(kù)(Link State Database,LSDB)。然后每個(gè)路由節(jié)點(diǎn)啟用一種廣泛應(yīng)用的稱(chēng)作Dijkstra的SPF算法(簡(jiǎn)稱(chēng)為Di jkstra算法,迪杰斯特拉算法),計(jì)算出到達(dá)所有其他路由節(jié)點(diǎn)的最短路徑。該算法(指稱(chēng)作Dijkstra的SPF算法)是一個(gè)迭代的構(gòu)造最短路徑樹(shù)(Shortest Path Tree, SPT)的過(guò)程,其基本思路是根據(jù)節(jié)點(diǎn)鏈路狀態(tài)信息庫(kù)中描述的拓?fù)湫畔?gòu)建最短路徑樹(shù),然后將鏈路狀態(tài)信息庫(kù)中描述的路由信息作為樹(shù)上的葉子生成最終路由?,F(xiàn)有的路由計(jì)算對(duì)CPU (中央處理器單元)要求很高。對(duì)于鏈路狀態(tài)路由協(xié)議來(lái)說(shuō),一旦網(wǎng)絡(luò)中有鏈路狀態(tài)發(fā)生變化(鏈路UP、DOWN或者開(kāi)銷(xiāo)改變等),網(wǎng)絡(luò)中的所有路由節(jié)點(diǎn)都會(huì)重新計(jì)算路由,執(zhí)行Dijkstra算法。重新計(jì)算路由的過(guò)程對(duì)于小網(wǎng)絡(luò)而言,影響不大。但是隨著網(wǎng)絡(luò)IP化進(jìn)程的加劇,網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,一個(gè)網(wǎng)絡(luò)中可能有成千上萬(wàn)的節(jié)點(diǎn)。對(duì)于網(wǎng)絡(luò)拓?fù)浔容^復(fù)雜、路由節(jié)點(diǎn)數(shù)量也很大的現(xiàn)代網(wǎng)絡(luò)而言,每進(jìn)行一次全部路由的計(jì)算都會(huì)占用大量系統(tǒng)資源,對(duì)系統(tǒng)造成很大沖擊,同時(shí),由于處理工作量太大造成耗時(shí)太長(zhǎng)而無(wú)法滿(mǎn)足路由快速收斂的需求。目前已經(jīng)有一些減少SPF計(jì)算次數(shù)的方法提出來(lái),如設(shè)置指數(shù)增長(zhǎng)的連續(xù)SPF計(jì)算間隔,防止過(guò)度頻繁的路由計(jì)算,這種方法雖然降低了 CPU的占用率,卻又導(dǎo)致路由節(jié)點(diǎn)無(wú)法對(duì)鏈路變化立即做出反應(yīng),從而降低了路由收斂速度。
5
Dijkstra算法涉及到兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu)。一個(gè)是PATH,即路由節(jié)點(diǎn)執(zhí)行計(jì)算之后的最短路徑,是一個(gè)方向圖。另一個(gè)是TENT,一個(gè)臨時(shí)數(shù)據(jù)庫(kù),表示候選節(jié)點(diǎn),當(dāng)TENT為空時(shí),路由計(jì)算即結(jié)束。大的網(wǎng)絡(luò)拓?fù)渲?,網(wǎng)絡(luò)總是在動(dòng)態(tài)變化的,可能有鏈路的斷開(kāi),有節(jié)點(diǎn)離開(kāi)這個(gè)網(wǎng)絡(luò),也有可能有新的節(jié)點(diǎn)加入,鏈路狀態(tài)信息庫(kù)也會(huì)隨之更新,從而路由也重新計(jì)算和安裝。對(duì)于基于鏈路狀態(tài)路由算法,只要有鏈路發(fā)生了改變,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)必須要對(duì)整個(gè)網(wǎng)絡(luò)拓?fù)渲匦掠?jì)算路由,以自身為根節(jié)點(diǎn)執(zhí)行Dijkstra算法,這導(dǎo)致了少數(shù)節(jié)點(diǎn)的變化會(huì)觸發(fā)全網(wǎng)所有節(jié)點(diǎn)的路由重新計(jì)算,占用大量系統(tǒng)資源,對(duì)系統(tǒng)造成很大沖擊。實(shí)際上大多數(shù)情形是沒(méi)有必要的,因?yàn)橛幸徊糠值逆溌凡⒉粫?huì)在SPT上,網(wǎng)路中實(shí)際鏈路的數(shù)目通常都比SPT上的多。另外,大多鏈路都是靠近葉子節(jié)點(diǎn)的,即遠(yuǎn)離根節(jié)點(diǎn),只會(huì)影響少數(shù)的節(jié)點(diǎn)?,F(xiàn)有的技術(shù)在進(jìn)行路由計(jì)算的過(guò)程中,其中大多數(shù)重新計(jì)算是不必要的,由于不能有選擇性的處理,從而浪費(fèi)了大量的CPU,降低了收斂速度。

發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種快速路由收斂方法,對(duì)路由算法本身的計(jì)算和更新進(jìn)行了優(yōu)化,既可以快速響應(yīng)拓?fù)渥兓?,又可以減少CPU負(fù)載。為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是一種快速路由收斂方法,其特征在于,包括以下步驟步驟1,預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r當(dāng)網(wǎng)絡(luò)中的任意一個(gè)路由節(jié)點(diǎn)在收到新的鏈路狀態(tài)分組LSP之后,該收到新的鏈路狀態(tài)分組LSP的路由節(jié)點(diǎn)并不立即啟動(dòng)Dijkstra算法進(jìn)行整個(gè)拓?fù)涞穆酚芍匦掠?jì)算,而是根據(jù)當(dāng)前最短路徑優(yōu)先樹(shù)SPT、鏈路狀態(tài)信息庫(kù)LSDB信息及新的鏈路狀態(tài)分組LSP所含鄰居節(jié)點(diǎn)的信息,分析網(wǎng)絡(luò)拓?fù)涞淖兓闆r,將網(wǎng)絡(luò)拓?fù)涞淖兓闆r分為以下四類(lèi)—是有一個(gè)葉子節(jié)點(diǎn)加入網(wǎng)絡(luò);計(jì)為easel ;二是網(wǎng)絡(luò)拓?fù)錄](méi)有發(fā)生變化,只是有一些路由信息發(fā)生了改變;計(jì)為case2 ;三是鏈路斷開(kāi);計(jì)為case3 ;四是其他情形;計(jì)為case4 ;步驟2,根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由對(duì)于第一類(lèi)拓?fù)渥兓援?dāng)前的SPT為基礎(chǔ)作為已知PATH,新加入的節(jié)點(diǎn)作為備選節(jié)點(diǎn)加入TENT,執(zhí)行Dijkstra算法,并更新新加入節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于第二類(lèi)拓?fù)渥兓?,以?dāng)前的SPT為基礎(chǔ)作為已知PATH,備選節(jié)點(diǎn)TENT為空,執(zhí)行Dijkstra算法,直接跳過(guò)SPF計(jì)算的過(guò)程,只是更新變化了的IP可達(dá)信息;對(duì)于第三類(lèi)拓?fù)渥兓?,有兩種情形,一種是不在SPT上的鏈路斷開(kāi),不進(jìn)行任何操作,另一種是在SPT上的鏈路斷開(kāi),以當(dāng)前的SPT為基礎(chǔ),刪除受影響的節(jié)點(diǎn)之后作為已知的PATH,受影響的節(jié)點(diǎn)作為備選節(jié)點(diǎn)加入TENT,執(zhí)行Dijkstra算法,更新受影響節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于第四類(lèi)拓?fù)渥兓?,均以自身為根?jié)點(diǎn)重新執(zhí)行完整的SPF計(jì)算,并更新所有的IP可達(dá)信息。在上述技術(shù)方案的基礎(chǔ)上,所述預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r由拓?fù)浞治瞿K處
6理,所述根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由由路由處理模塊處理。在上述技術(shù)方案的基礎(chǔ)上,檢測(cè)到網(wǎng)絡(luò)中節(jié)點(diǎn)或是鏈路有變化的節(jié)點(diǎn)會(huì)產(chǎn)生相應(yīng)的LSP并向全網(wǎng)通告該變化,所述變化包括有節(jié)點(diǎn)離開(kāi)、有新的節(jié)點(diǎn)加入、有鏈路斷開(kāi)或有節(jié)點(diǎn)接口狀態(tài)發(fā)生變化。在上述技術(shù)方案的基礎(chǔ)上,LSP用于描述一個(gè)路由節(jié)點(diǎn)的鏈路狀態(tài)信息,用LSP ID標(biāo)識(shí),LSP中記錄了鄰居的LSP ID和IP可達(dá)信息;LSDB是路由節(jié)點(diǎn)自身的LSP以及從其他節(jié)點(diǎn)接收到的LSP的集合;節(jié)點(diǎn)加入SPT后則從SPT獲得其對(duì)應(yīng)的LSP頂點(diǎn)信息;LSP和LSP頂點(diǎn)信息二者通過(guò)LSP ID互相關(guān)聯(lián)。在上述技術(shù)方案的基礎(chǔ)上,預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r的具體步驟如下步驟1,當(dāng)網(wǎng)絡(luò)中的路由節(jié)點(diǎn)接收到一個(gè)新的LSP之后,拓?fù)浞治瞿K首先會(huì)判斷LSDB中是否已有相同LSP ID對(duì)應(yīng)的LSP信息,如果沒(méi)有,轉(zhuǎn)步驟2,如果有,轉(zhuǎn)步驟3 ;步驟2,判斷新LSP對(duì)應(yīng)的路由節(jié)點(diǎn)是否在SPT上,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束,如果不是,轉(zhuǎn)步驟2. I ;步驟2. I,根據(jù)新LSP中的鄰居LSP ID判斷新LSP中是否有且只有一個(gè)鄰居,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為casel,判斷結(jié)束,如果不是,則轉(zhuǎn)步驟2. 2 ;步驟2. 2,判斷新LSP中鄰居的數(shù)量是否大于1,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束,如果不是,則表示沒(méi)有鄰居,直接結(jié)束判斷,并不進(jìn)行路由計(jì)算;步驟3,判斷舊LSP對(duì)應(yīng)的路由節(jié)點(diǎn)是否在SPT上,如果是則轉(zhuǎn)步驟4,如果不是則轉(zhuǎn)步驟2. 1,步驟4,判斷舊LSP中是否有鄰居信息,如果沒(méi)有,則轉(zhuǎn)步驟2. 1,如果有,則轉(zhuǎn)步驟5,步驟5,判斷新LSP和舊LSP中鄰居信息是否不同,如果新LSP和舊LSP鄰居信息完全相同,表示僅有一些IP可達(dá)信息的變化,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case2,判斷結(jié)束;如果新LSP和舊LSP鄰居不同,則轉(zhuǎn)步驟6 ;步驟6,判斷新LSP中有的鄰居在舊LSP中有沒(méi)有,如果新的LSP中包含舊的LSP中沒(méi)有的鄰居節(jié)點(diǎn),則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束;如果新的LSP中不包含舊的LSP中沒(méi)有的鄰居節(jié)點(diǎn),則轉(zhuǎn)步驟7,步驟7,判斷舊LSP中有的鄰居在新LSP中有沒(méi)有,如果舊LSP中的一個(gè)鄰居在新LSP中沒(méi)有,而且僅此一個(gè)鄰居沒(méi)有,表示第一次檢測(cè)到只有一條鏈路斷開(kāi),則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case3,判斷結(jié)束;否則,網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束。在上述技術(shù)方案的基礎(chǔ)上,如果在當(dāng)前拓?fù)渥兓樾螢閏asel_case3的任意一種情形時(shí),此時(shí)再收到新的LSP時(shí),所有情形均直接判定為case4。在上述技術(shù)方案的基礎(chǔ)上,路由處理模塊對(duì)于casel,執(zhí)行葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算;路由處理模塊對(duì)于case2,直接跳過(guò)SPF計(jì)算的過(guò)程,只是更新變化了的IP可達(dá)信
路由處理模塊對(duì)于case3,執(zhí)行鏈路斷開(kāi)時(shí)的SPF計(jì)算,更新受影響節(jié)點(diǎn)的IP可達(dá)
信息;路由處理模塊對(duì)于case4,從根節(jié)點(diǎn)開(kāi)始重新執(zhí)行完整的SPF計(jì)算,并更新所有的IP可達(dá)信息。在上述技術(shù)方案的基礎(chǔ)上,執(zhí)行葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算的具體步驟如下葉子節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),首先判斷葉子節(jié)點(diǎn)的父節(jié)點(diǎn)是否在SPT上,如果葉子節(jié)點(diǎn)的父節(jié)點(diǎn)不在SPT上,則對(duì)所有節(jié)點(diǎn)執(zhí)行SPF計(jì)算;如果葉子節(jié)點(diǎn)的父節(jié)點(diǎn)在SPT上,則將父節(jié)點(diǎn)的所有鄰居加入TENT表,然后判斷葉子節(jié)點(diǎn)是否在父節(jié)點(diǎn)的TENT表中,如果葉子節(jié)點(diǎn)不在父節(jié)點(diǎn)的TENT表中,則清空TENT表后再對(duì)所有節(jié)點(diǎn)執(zhí)行SPF計(jì)算;如果葉子節(jié)點(diǎn)在父節(jié)點(diǎn)的TENT表中,則將葉子節(jié)點(diǎn)指向其父節(jié)點(diǎn),并從TENT列表中將該葉子節(jié)點(diǎn)刪除,并在SPT上注冊(cè)。在上述技術(shù)方案的基礎(chǔ)上,執(zhí)行鏈路斷開(kāi)時(shí)的SPF計(jì)算的具體步驟如下如果為鏈路斷開(kāi)的情形,則記錄下當(dāng)前nLSP及nlsp中缺少的對(duì)端鄰居nbrLSP,所述nLSP為新收到的LSP,所述nbrLSP為斷開(kāi)鏈路另一端節(jié)點(diǎn)的LSP ;記錄后判斷nLSP對(duì)應(yīng)的頂點(diǎn)V是否在SPT上,如果nLSP對(duì)應(yīng)的頂點(diǎn)V不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由重新計(jì)算,同case4 ;否則進(jìn)一步判斷nbrLSP對(duì)應(yīng)的頂點(diǎn)W是否在SPT上,如果nbrLSP對(duì)應(yīng)的頂點(diǎn)W不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由重新計(jì)算,同case4 ;否則即頂點(diǎn)V和頂點(diǎn)W都在SPT上,則判斷W和V關(guān)系;如果W不是V的孩子節(jié)點(diǎn),V也不是W的孩子節(jié)點(diǎn),則表示該鏈路并不在SPT上,無(wú)需路由計(jì)算和路由更新,計(jì)算結(jié)束;如果W不是V的孩子節(jié)點(diǎn),而V是W的孩子,則將W和V互換,使V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn);如果W是V的孩子節(jié)點(diǎn),則不用互換W和V,V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn);至此,滿(mǎn)足了條件“V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn)”,則從SPT上刪除W節(jié)點(diǎn)及其孩子節(jié)點(diǎn),將這些被刪除的節(jié)點(diǎn)加入TENT列表中,再對(duì)TENT列表中的節(jié)點(diǎn)執(zhí)行SPF計(jì)算,將其逐一重新附加到SPT上,計(jì)算結(jié)束。本發(fā)明所述的快速路由收斂方法,對(duì)路由算法本身的計(jì)算和更新進(jìn)行了優(yōu)化,既可以快速響應(yīng)拓?fù)渥兓挚梢詼p少CPU負(fù)載。實(shí)際網(wǎng)絡(luò)應(yīng)用中,某些鏈路狀態(tài)信息的變化并不需要讓所有路由都全部重新計(jì)算,本發(fā)明所述的方法通過(guò)預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r,使得重新進(jìn)行路由計(jì)算的波及面控制在最小范圍內(nèi),節(jié)約了系統(tǒng)的CPU資源并加快了由鏈路狀態(tài)變化引發(fā)的路由收斂速度。


本發(fā)明有如下附圖圖I是本發(fā)明中一個(gè)基本的網(wǎng)絡(luò)拓?fù)鋱D,圖2是本發(fā)明中拓?fù)浞治瞿K的處理流程圖,圖3是本發(fā)明中路由處理模塊的處理流程圖,圖4是本發(fā)明中葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算流程圖,
圖5是本發(fā)明中鏈路斷開(kāi)時(shí)SPF計(jì)算的流程圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明所述的快速路由收斂方法,包括以下步驟步驟1,預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r當(dāng)網(wǎng)絡(luò)中的任意一個(gè)路由節(jié)點(diǎn)在收到新的鏈路狀態(tài)分組LSP之后,該收到新的鏈路狀態(tài)分組LSP的路由節(jié)點(diǎn)并不立即啟動(dòng)Dijkstra算法進(jìn)行整個(gè)拓?fù)涞穆酚芍匦掠?jì)算,而是根據(jù)當(dāng)前最短路徑優(yōu)先樹(shù)SPT、鏈路狀態(tài)信息庫(kù)LSDB信息及新的鏈路狀態(tài)分組LSP所含鄰居節(jié)點(diǎn)的信息,分析網(wǎng)絡(luò)拓?fù)涞淖兓闆r,將網(wǎng)絡(luò)拓?fù)涞淖兓闆r分為以下四類(lèi)一是有一個(gè)葉子節(jié)點(diǎn)加入網(wǎng)絡(luò);二是網(wǎng)絡(luò)拓?fù)錄](méi)有發(fā)生變化,只是有一些路由信息發(fā)生了改變;三是鏈路斷開(kāi);四是其他情形;步驟2,根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由對(duì)于第一類(lèi)拓?fù)渥兓?,以?dāng)前的SPT為基礎(chǔ)作為已知PATH,新加入的節(jié)點(diǎn)作為備選節(jié)點(diǎn)加入TENT,執(zhí)行Dijkstra算法,并更新新加入節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于第二類(lèi)拓?fù)渥兓援?dāng)前的SPT為基礎(chǔ)作為已知PATH,備選節(jié)點(diǎn)TENT為空,執(zhí)行Dijkstra算法,直接跳過(guò)SPF計(jì)算的過(guò)程,只是更新變化了的IP可達(dá)信息;對(duì)于第三類(lèi)拓?fù)渥兓?,有兩種情形,一種是不在SPT上的鏈路斷開(kāi),不進(jìn)行任何操作,另一種是在SPT上的鏈路斷開(kāi),以當(dāng)前的SPT為基礎(chǔ),刪除受影響的節(jié)點(diǎn)之后作為已知的PATH,受影響的節(jié)點(diǎn)作為備選節(jié)點(diǎn)加入TENT,執(zhí)行Dijkstra算法,更新受影響節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于第四類(lèi)拓?fù)渥兓?,均以自身為根?jié)點(diǎn)重新執(zhí)行完整的SPF計(jì)算,并更新所有的IP可達(dá)信息。本發(fā)明通過(guò)以上方法,當(dāng)網(wǎng)絡(luò)拓?fù)浠蛘呗酚尚畔l(fā)生變化時(shí),系統(tǒng)不需要進(jìn)行全部路由計(jì)算,每次只是根據(jù)網(wǎng)絡(luò)變化的不同情況做出最精簡(jiǎn)的處理,使得路由計(jì)算處理工作量降到最低,從而大大節(jié)約路由計(jì)算所占用的時(shí)間。在上述技術(shù)方案的基礎(chǔ)上,所述預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r由拓?fù)浞治瞿K處理,所述根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由由路由處理模塊處理。每個(gè)路由節(jié)點(diǎn)均通過(guò)拓?fù)浞治瞿K和路由處理模塊實(shí)現(xiàn)了所述的快速路由收斂方法,每個(gè)路由節(jié)點(diǎn)均使用該快速路由收斂方法。以下通過(guò)實(shí)施例進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。如圖I所示,這是一個(gè)網(wǎng)絡(luò)拓?fù)鋱D形,實(shí)線(xiàn)是根據(jù)Di jkstra算法計(jì)算出的SPT樹(shù),虛線(xiàn)則表示不在該SPT樹(shù)上的鏈路。這里執(zhí)行路由計(jì)算的根節(jié)點(diǎn)是節(jié)點(diǎn)A,節(jié)點(diǎn)B和節(jié)點(diǎn)C是節(jié)點(diǎn)A的孩子,節(jié)點(diǎn)A是節(jié)點(diǎn)B和節(jié)點(diǎn)C的父親。節(jié)點(diǎn)D、E、F均為葉子節(jié)點(diǎn)。當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)或者鏈路有任何變化,比如有節(jié)點(diǎn)離開(kāi)或者有新的節(jié)點(diǎn)加入,或者有鏈路斷開(kāi)時(shí),檢測(cè)到該變化的節(jié)點(diǎn)會(huì)產(chǎn)生相應(yīng)的LSP向全網(wǎng)通告該變化。即檢測(cè)到網(wǎng)絡(luò)中節(jié)點(diǎn)或是鏈路有變化的節(jié)點(diǎn)會(huì)產(chǎn)生相應(yīng)的LSP并向全網(wǎng)通告該變化,所述變化包括有節(jié)點(diǎn)離開(kāi)、有新的節(jié)點(diǎn)加入、有鏈路斷開(kāi)或有節(jié)點(diǎn)接口狀態(tài)發(fā)生變化。LSP用于描述一個(gè)路由節(jié)點(diǎn)的鏈路狀態(tài)信息,用LSPID標(biāo)識(shí),LSP中記錄了鄰居(與自身建立鄰接關(guān)系的網(wǎng)絡(luò)中其他路由節(jié)點(diǎn))的LSP ID和IP可達(dá)信息;LSDB是路由節(jié)點(diǎn)自身的LSP以及從其他節(jié)點(diǎn)接收到的LSP的集合;節(jié)點(diǎn)加入SPT后則從SPT獲得其對(duì)應(yīng)的LSP頂點(diǎn)信息;LSP與LSP頂點(diǎn)中均有LSP ID, 二者(指LSP和LSP頂點(diǎn)信息)通過(guò)LSP ID互相關(guān)聯(lián);判斷一個(gè)節(jié)點(diǎn)是否在SPT上,則可以通過(guò)查找SPT上是否有該節(jié)點(diǎn)LSP ID對(duì)應(yīng)的LSP頂點(diǎn)信息獲知,如果有,則表示該節(jié)點(diǎn)在SPT上,如果沒(méi)有,則該節(jié)點(diǎn)不在SPT上。拓?fù)浞治瞿K預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r,每一個(gè)執(zhí)行快速路由收斂方法的節(jié)點(diǎn)根據(jù)當(dāng)前最短路徑優(yōu)先樹(shù)SPT、鏈路狀態(tài)信息庫(kù)LSDB信息及新的鏈路狀態(tài)分組LSP所含鄰居節(jié)點(diǎn)的信息,分析網(wǎng)絡(luò)拓?fù)涞淖兓闆r,分為四類(lèi),如前所述的casel case4。如圖2所示,預(yù)先評(píng)估的具體過(guò)程如下步驟1,當(dāng)網(wǎng)絡(luò)中的路由節(jié)點(diǎn)接收到一個(gè)新的LSP之后,拓?fù)浞治瞿K首先會(huì)判斷LSDB中是否已有相同LSP ID對(duì)應(yīng)的LSP信息,如果沒(méi)有,轉(zhuǎn)步驟2,如果有,即舊LSP,轉(zhuǎn)步驟3 ;步驟2,判斷新LSP對(duì)應(yīng)的路由節(jié)點(diǎn)是否在SPT上,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束,即如果LSP是一個(gè)新接收到的LSP且其對(duì)應(yīng)的路由節(jié)點(diǎn)已經(jīng)在SPT上,則標(biāo)記為case4 ;如果不是,轉(zhuǎn)步驟2. I ;步驟2. I,根據(jù)新LSP中的鄰居LSP ID判斷新LSP中是否有且只有一個(gè)鄰居,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為casel,判斷結(jié)束,如果不是,則轉(zhuǎn)步驟2. 2 ;步驟2. 2,判斷新LSP中鄰居的數(shù)量是否大于1,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束,如果不是,則表示沒(méi)有鄰居,直接結(jié)束判斷,并不進(jìn)行路由計(jì)算;即當(dāng)LSP是一個(gè)新收到的LSP且該LSP不在SPT上,如果該新LSP中有且只有一個(gè)鄰居信息,表示有一個(gè)葉子節(jié)點(diǎn)加入網(wǎng)絡(luò),是casel,如有兩個(gè)以上鄰居信息則為case4,如沒(méi)有鄰居信息則不進(jìn)行路由計(jì)算;步驟3,判斷舊LSP對(duì)應(yīng)的路由節(jié)點(diǎn)是否在SPT上,如果是則轉(zhuǎn)步驟4,如果不是則轉(zhuǎn)步驟2. 1,步驟4,判斷舊LSP中是否有鄰居信息,如果沒(méi)有,則轉(zhuǎn)步驟2. 1,如果有,則轉(zhuǎn)步驟5,步驟5,判斷新LSP和舊LSP中鄰居信息是否不同,如果新LSP和舊LSP鄰居信息完全相同,表示僅有一些IP可達(dá)信息的變化,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case2,判斷結(jié)束;即如果LSDB中已有該節(jié)點(diǎn)的LSP,如果新LSP和舊LSP鄰居相同,表示僅有一些IP可達(dá)信息的變化,為case2 ;如果新LSP和舊LSP鄰居不同,則轉(zhuǎn)步驟6 ;步驟6,判斷新LSP中有的鄰居在舊LSP中有沒(méi)有,如果新的LSP中包含舊的LSP中沒(méi)有的鄰居節(jié)點(diǎn),則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束;如果新的LSP中不包含舊的LSP中沒(méi)有的鄰居節(jié)點(diǎn),則轉(zhuǎn)步驟7,步驟7,判斷舊LSP中有的鄰居在新LSP中有沒(méi)有,如果舊LSP中的一個(gè)鄰居在新LSP中沒(méi)有,而且僅此一個(gè)鄰居沒(méi)有,表示第一次檢測(cè)到只有一條鏈路斷開(kāi),則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case3,判斷結(jié)束;否則,網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束。在上述技術(shù)方案的基礎(chǔ)上,由于同時(shí)收到多個(gè)LSP的判斷較為復(fù)雜,本發(fā)明針對(duì)收到多個(gè)LSP的情況特別規(guī)定如下如果在當(dāng)前拓?fù)渥兓樾螢閏asel_case3的任意一種情形時(shí),此時(shí)再收到新的LSP時(shí),所有情形均直接判定為case4。路由處理模塊按照網(wǎng)絡(luò)拓?fù)涞淖兓闆r的不同處理流程如圖3所示。對(duì)于casel,執(zhí)行葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算,詳見(jiàn)圖4 ;對(duì)于case2,直接跳過(guò)SPF計(jì)算的過(guò)程,只是更新變化了的IP可達(dá)信息;對(duì)于case3,執(zhí)行鏈路斷開(kāi)時(shí)的SPF計(jì)算,詳見(jiàn)圖5,更新受影響節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于case4,從根節(jié)點(diǎn)開(kāi)始重新執(zhí)行完整的SPF計(jì)算,并更新所有的IP可達(dá)信息。可參見(jiàn)前述的步驟2,二者含義相同,僅僅是表述上的區(qū)別。如圖4為葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算流程圖(casel)。葉子節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),首先判斷葉子節(jié)點(diǎn)的父節(jié)點(diǎn)是否在SPT上,葉子節(jié)點(diǎn)的父節(jié)點(diǎn),即葉子節(jié)點(diǎn)LSP中唯一的鄰居節(jié)點(diǎn)信息,必須要在SPT上,如果葉子節(jié)點(diǎn)的父節(jié)點(diǎn)不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由計(jì)算(即對(duì)所有節(jié)點(diǎn)執(zhí)行SPF計(jì)算);如果葉子節(jié)點(diǎn)的父節(jié)點(diǎn)在SPT上,則將父節(jié)點(diǎn)的所有鄰居加入TENT表,然后判斷葉子節(jié)點(diǎn)是否在父節(jié)點(diǎn)的TENT表中,葉子節(jié)點(diǎn)必須在父節(jié)點(diǎn)的TENT表中,如果葉子節(jié)點(diǎn)不在父節(jié)點(diǎn)的TENT表中,則清空TENT表后再執(zhí)行全部節(jié)點(diǎn)的路由計(jì)算(即對(duì)所有節(jié)點(diǎn)執(zhí)行SPF計(jì)算);如果葉子節(jié)點(diǎn)在父節(jié)點(diǎn)的TENT表中,則將葉子節(jié)點(diǎn)指向其父節(jié)點(diǎn),并從TENT列表中將該葉子節(jié)點(diǎn)刪除,并在SPT上注冊(cè)。如圖5為鏈路斷開(kāi)時(shí)SPF計(jì)算的流程圖(case3)。如果為鏈路斷開(kāi)的情形,則記錄下當(dāng)前nLSP及nlsp中缺少的對(duì)端鄰居nbrLSP,所述nLSP為新收到的LSP,所述nbrLSP為斷開(kāi)鏈路另一端節(jié)點(diǎn)的LSP ;記錄后判斷nLSP對(duì)應(yīng)的頂點(diǎn)V是否在SPT上,如果nLSP對(duì)應(yīng)的頂點(diǎn)V不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由重新計(jì)算,同case4 ;否則進(jìn)一步判斷nbrLSP對(duì)應(yīng)的頂點(diǎn)W是否在SPT上,如果nbrLSP對(duì)應(yīng)的頂點(diǎn)W不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由重新計(jì)算,同case4 ;否則即頂點(diǎn)V和頂點(diǎn)W都在SPT上,則判斷W和V關(guān)系;如果W不是V的孩子節(jié)點(diǎn),V也不是W的孩子節(jié)點(diǎn),則表示該鏈路并不在SPT上,無(wú)需路由計(jì)算和路由更新,計(jì)算結(jié)束;如果W不是V的孩子節(jié)點(diǎn),而V是W的孩子,則將W和V互換,使V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn);如果W是V的孩子節(jié)點(diǎn),則不用互換W和V,V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn);至此,滿(mǎn)足了條件“V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn)”,則從SPT上刪除W節(jié)點(diǎn)及其孩子節(jié)點(diǎn),將這些被刪除的節(jié)點(diǎn)加入TENT列表中,再對(duì)TENT列表中的節(jié)點(diǎn)執(zhí)行SPF計(jì)算,將其逐一重新附加到SPT上,計(jì)算結(jié)束。本說(shuō)明書(shū)中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1.一種快速路由收斂方法,其特征在于,包括以下步驟步驟1,預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r當(dāng)網(wǎng)絡(luò)中的任意一個(gè)路由節(jié)點(diǎn)在收到新的鏈路狀態(tài)分組LSP之后,該收到新的鏈路狀態(tài)分組LSP的路由節(jié)點(diǎn)并不立即啟動(dòng)Dijkstra算法進(jìn)行整個(gè)拓?fù)涞穆酚芍匦掠?jì)算,而是根據(jù)當(dāng)前最短路徑優(yōu)先樹(shù)SPT、鏈路狀態(tài)信息庫(kù)LSDB信息及新的鏈路狀態(tài)分組LSP所含鄰居節(jié)點(diǎn)的信息,分析網(wǎng)絡(luò)拓?fù)涞淖兓闆r,將網(wǎng)絡(luò)拓?fù)涞淖兓闆r分為以下四類(lèi)一是有一個(gè)葉子節(jié)點(diǎn)加入網(wǎng)絡(luò);計(jì)為easel ;二是網(wǎng)絡(luò)拓?fù)錄](méi)有發(fā)生變化,只是有一些路由信息發(fā)生了改變;計(jì)為case2 ;三是鏈路斷開(kāi);計(jì)為case3 ;四是其他情形;計(jì)為case4 ;步驟2,根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由對(duì)于第一類(lèi)拓?fù)渥兓?,以?dāng)前的SPT為基礎(chǔ)作為已知PATH,新加入的節(jié)點(diǎn)作為備選節(jié)點(diǎn)加入TENT,執(zhí)行Dijkstra算法,并更新新加入節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于第二類(lèi)拓?fù)渥兓?,以?dāng)前的SPT為基礎(chǔ)作為已知PATH,備選節(jié)點(diǎn)TENT為空,執(zhí)行Dijkstra算法,直接跳過(guò)SPF計(jì)算的過(guò)程,只是更新變化了的IP可達(dá)信息;對(duì)于第三類(lèi)拓?fù)渥兓?,有兩種情形,一種是不在SPT上的鏈路斷開(kāi),不進(jìn)行任何操作,另一種是在SPT上的鏈路斷開(kāi),以當(dāng)前的SPT為基礎(chǔ),刪除受影響的節(jié)點(diǎn)之后作為已知的PATH,受影響的節(jié)點(diǎn)作為備選節(jié)點(diǎn)加入TENT,執(zhí)行Dijkstra算法,更新受影響節(jié)點(diǎn)的IP可達(dá)信息;對(duì)于第四類(lèi)拓?fù)渥兓?,均以自身為根?jié)點(diǎn)重新執(zhí)行完整的SPF計(jì)算,并更新所有的IP可達(dá)信息。
2.如權(quán)利要求I所述的快速路由收斂方法,其特征在于所述預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r由拓?fù)浞治瞿K處理,所述根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由由路由處理模塊處理。
3.如權(quán)利要求I所述的快速路由收斂方法,其特征在于檢測(cè)到網(wǎng)絡(luò)中節(jié)點(diǎn)或是鏈路有變化的節(jié)點(diǎn)會(huì)產(chǎn)生相應(yīng)的LSP并向全網(wǎng)通告該變化,所述變化包括有節(jié)點(diǎn)離開(kāi)、有新的節(jié)點(diǎn)加入、有鏈路斷開(kāi)或有節(jié)點(diǎn)接口狀態(tài)發(fā)生變化。
4.如權(quán)利要求I所述的快速路由收斂方法,其特征在于LSP用于描述一個(gè)路由節(jié)點(diǎn)的鏈路狀態(tài)信息,用LSP ID標(biāo)識(shí),LSP中記錄了鄰居的LSP ID和IP可達(dá)信息;LSDB是路由節(jié)點(diǎn)自身的LSP以及從其他節(jié)點(diǎn)接收到的LSP的集合;節(jié)點(diǎn)加入SPT后則從SPT獲得其對(duì)應(yīng)的LSP頂點(diǎn)信息;LSP和LSP頂點(diǎn)信息二者通過(guò)LSP ID互相關(guān)聯(lián)。
5.如權(quán)利要求I所述的快速路由收斂方法,其特征在于預(yù)先評(píng)估網(wǎng)絡(luò)拓?fù)涞淖兓闆r的具體步驟如下步驟1,當(dāng)網(wǎng)絡(luò)中的路由節(jié)點(diǎn)接收到一個(gè)新的LSP之后,拓?fù)浞治瞿K首先會(huì)判斷LSDB中是否已有相同LSP ID對(duì)應(yīng)的LSP信息,如果沒(méi)有,轉(zhuǎn)步驟2,如果有,轉(zhuǎn)步驟3 ;步驟2,判斷新LSP對(duì)應(yīng)的路由節(jié)點(diǎn)是否在SPT上,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束,如果不是,轉(zhuǎn)步驟2. I ;CN 102916879 A書(shū)求要利權(quán)2/3頁(yè)步驟2. 1,根據(jù)新LSP中的鄰居LSP ID判斷新LSP中是否有且只有一個(gè)鄰居,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為casel,判斷結(jié)束,如果不是,則轉(zhuǎn)步驟2. 2 ;步驟2. 2,判斷新LSP中鄰居的數(shù)量是否大于1,如果是,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束,如果不是,則表示沒(méi)有鄰居,直接結(jié)束判斷,并不進(jìn)行路由計(jì)算;步驟3,判斷舊LSP對(duì)應(yīng)的路由節(jié)點(diǎn)是否在SPT上,如果是則轉(zhuǎn)步驟4,如果不是則轉(zhuǎn)步驟 2. 1,步驟4,判斷舊LSP中是否有鄰居信息,如果沒(méi)有,則轉(zhuǎn)步驟2. I,如果有,則轉(zhuǎn)步驟5,步驟5,判斷新LSP和舊LSP中鄰居信息是否不同,如果新LSP和舊LSP鄰居信息完全相同,表示僅有一些IP可達(dá)信息的變化,則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case2,判斷結(jié)束;如果新LSP和舊LSP鄰居不同,則轉(zhuǎn)步驟6 ;步驟6,判斷新LSP中有的鄰居在舊LSP中有沒(méi)有,如果新的LSP中包含舊的LSP中沒(méi)有的鄰居節(jié)點(diǎn),則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束;如果新的LSP中不包含舊的LSP中沒(méi)有的鄰居節(jié)點(diǎn),則轉(zhuǎn)步驟7,步驟7,判斷舊LSP中有的鄰居在新LSP中有沒(méi)有,如果舊LSP中的一個(gè)鄰居在新LSP中沒(méi)有,而且僅此一個(gè)鄰居沒(méi)有,表示第一次檢測(cè)到只有一條鏈路斷開(kāi),則網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case3,判斷結(jié)束;否則,網(wǎng)絡(luò)拓?fù)涞淖兓闆r為case4,判斷結(jié)束。
6.如權(quán)利要求5所述的快速路由收斂方法,其特征在于如果在當(dāng)前拓?fù)渥兓樾螢閏asel-case3的任意一種情形時(shí),此時(shí)再收到新的LSP時(shí),所有情形均直接判定為case4。
7.如權(quán)利要求5所述的快速路由收斂方法,其特征在于路由處理模塊對(duì)于casel,執(zhí)行葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算;路由處理模塊對(duì)于case2,直接跳過(guò)SPF計(jì)算的過(guò)程,只是更新變化了的IP可達(dá)信息;路由處理模塊對(duì)于case3,執(zhí)行鏈路斷開(kāi)時(shí)的SPF計(jì)算,更新受影響節(jié)點(diǎn)的IP可達(dá)信路由處理模塊對(duì)于case4,從根節(jié)點(diǎn)開(kāi)始重新執(zhí)行完整的SPF計(jì)算,并更新所有的IP可達(dá)信息。
8.如權(quán)利要求7所述的快速路由收斂方法,其特征在于執(zhí)行葉子節(jié)點(diǎn)加入時(shí)的SPF計(jì)算的具體步驟如下葉子節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),首先判斷葉子節(jié)點(diǎn)的父節(jié)點(diǎn)是否在SPT上,如果葉子節(jié)點(diǎn)的父節(jié)點(diǎn)不在SPT上,則對(duì)所有節(jié)點(diǎn)執(zhí)行SPF計(jì)算;如果葉子節(jié)點(diǎn)的父節(jié)點(diǎn)在SPT上,則將父節(jié)點(diǎn)的所有鄰居加入TENT表,然后判斷葉子節(jié)點(diǎn)是否在父節(jié)點(diǎn)的TENT表中,如果葉子節(jié)點(diǎn)不在父節(jié)點(diǎn)的TENT表中,則清空TENT表后再對(duì)所有節(jié)點(diǎn)執(zhí)行SPF計(jì)算;如果葉子節(jié)點(diǎn)在父節(jié)點(diǎn)的TENT表中,則將葉子節(jié)點(diǎn)指向其父節(jié)點(diǎn),并從TENT列表中將該葉子節(jié)點(diǎn)刪除,并在SPT上注冊(cè)。
9.如權(quán)利要求7所述的快速路由收斂方法,其特征在于執(zhí)行鏈路斷開(kāi)時(shí)的SPF計(jì)算的具體步驟如下如果為鏈路斷開(kāi)的情形,則記錄下當(dāng)前nLSP及nlsp中缺少的對(duì)端鄰居nbrLSP,所述nLSP為新收到的LSP,所述nbrLSP為斷開(kāi)鏈路另一端節(jié)點(diǎn)的LSP ;記錄后判斷nLSP對(duì)應(yīng)的頂點(diǎn)V是否在SPT上,如果nLSP對(duì)應(yīng)的頂點(diǎn)V不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由重新計(jì)算,同case4 ;3否則進(jìn)一步判斷nbrLSP對(duì)應(yīng)的頂點(diǎn)W是否在SPT上,如果nbrLSP對(duì)應(yīng)的頂點(diǎn)W不在SPT上,則執(zhí)行全部節(jié)點(diǎn)的路由重新計(jì)算,同case4 ;否則即頂點(diǎn)V和頂點(diǎn)W都在SPT上,則判斷W和V關(guān)系;如果W不是V的孩子節(jié)點(diǎn),V也不是W的孩子節(jié)點(diǎn),則表示該鏈路并不在SPT上,無(wú)需路由計(jì)算和路由更新,計(jì)算結(jié)束;如果W不是V的孩子節(jié)點(diǎn),而V是W的孩子,則將W和V互換,使V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn);如果W是V的孩子節(jié)點(diǎn),則不用互換W和V,V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn);至此,滿(mǎn)足了條件“V表示節(jié)點(diǎn),W表示孩子節(jié)點(diǎn)”,則從SPT上刪除W節(jié)點(diǎn)及其孩子節(jié)點(diǎn),將這些被刪除的節(jié)點(diǎn)加入TENT列表中,再對(duì)TENT列表中的節(jié)點(diǎn)執(zhí)行SPF計(jì)算,將其逐一重新附加到SPT上,計(jì)算結(jié)束。
全文摘要
本發(fā)明涉及一種快速路由收斂方法,當(dāng)網(wǎng)絡(luò)中的任意一個(gè)路由節(jié)點(diǎn)在收到新的鏈路狀態(tài)分組LSP之后,該收到新的鏈路狀態(tài)分組LSP的路由節(jié)點(diǎn)并不立即啟動(dòng)Dijkstra算法進(jìn)行整個(gè)拓?fù)涞穆酚芍匦掠?jì)算,而是根據(jù)當(dāng)前最短路徑優(yōu)先樹(shù)SPT、鏈路狀態(tài)信息庫(kù)LSDB信息及新的鏈路狀態(tài)分組LSP所含鄰居節(jié)點(diǎn)的信息,分析網(wǎng)絡(luò)拓?fù)涞淖兓闆r,將網(wǎng)絡(luò)拓?fù)涞淖兓闆r分為以下四類(lèi)一是有一個(gè)葉子節(jié)點(diǎn)加入網(wǎng)絡(luò);二是網(wǎng)絡(luò)拓?fù)錄](méi)有發(fā)生變化,只是有一些路由信息發(fā)生了改變;三是鏈路斷開(kāi);四是其他情形;根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓闆r決定參與SPF計(jì)算的節(jié)點(diǎn)并計(jì)算路由。本發(fā)明,對(duì)路由算法本身的計(jì)算和更新進(jìn)行了優(yōu)化,既可以快速響應(yīng)拓?fù)渥兓?,又可以減少CPU負(fù)載。
文檔編號(hào)H04L12/721GK102916879SQ201210451780
公開(kāi)日2013年2月6日 申請(qǐng)日期2012年11月13日 優(yōu)先權(quán)日2012年11月13日
發(fā)明者劉劍華, 張峰 申請(qǐng)人:烽火通信科技股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
长宁县| 麻阳| 金门县| 扎囊县| 洪江市| 汕头市| 南宫市| 晴隆县| 龙门县| 云浮市| 达尔| 海林市| 五常市| 新兴县| 六枝特区| 松潘县| 天台县| 平武县| 修武县| 东光县| 宝坻区| 东安县| 寻甸| 贵溪市| 卫辉市| 微山县| 东方市| 德江县| 长宁县| 寿光市| 耒阳市| 房山区| 普洱| 吉林市| 南江县| 安康市| 如皋市| 平阳县| 横峰县| 宜宾县| 凉城县|