專利名稱:通告數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)。更具體地說,本發(fā)明涉及用于通告數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法和裝置。
背景技術(shù):
本部分所描述的方法可能被實(shí)現(xiàn),但不一定是先前已想到或已實(shí)現(xiàn)的方法。因此,除非在這里以其他方式指出,本部分所描述的方法不是針對(duì)本申請(qǐng)中的權(quán)利要求的現(xiàn)有技術(shù),并且也不因?yàn)楸话ㄔ诒静糠种卸姓J(rèn)是現(xiàn)有技術(shù)。
在諸如因特網(wǎng)之類的計(jì)算機(jī)網(wǎng)絡(luò)中,根據(jù)多種路由協(xié)議之一,經(jīng)由鏈路(諸如電話線路或光纖線路之類的通信路徑)和節(jié)點(diǎn)(通常是沿著連接到其的多條鏈路中的一條或多條引導(dǎo)分組的路由器)的網(wǎng)絡(luò)從源向H的地發(fā)送數(shù)據(jù)分組。
這種協(xié)議之一是鏈路狀態(tài)協(xié)議。鏈路狀態(tài)協(xié)議依賴于駐留在每個(gè)節(jié)點(diǎn)處的路由算法。網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)在整個(gè)網(wǎng)絡(luò)中通告去往相鄰節(jié)點(diǎn)的鏈路,并且提供與每條鏈路相關(guān)聯(lián)的代價(jià),所述鏈路代價(jià)可以基于諸如鏈路帶寬或延遲之類的任何合適的度量,并且通常被表示為整數(shù)值。鏈路可以具有非對(duì)稱的代價(jià),就是說,沿某條鏈路的AB方向的代價(jià)可以不同于BA方向的代價(jià)?;谝枣溌窢顟B(tài)分組(LSP)形式通告的信息,每個(gè)節(jié)點(diǎn)構(gòu)建鏈路狀態(tài)數(shù)據(jù)庫(LSDB),鏈路狀態(tài)數(shù)據(jù)庫是整個(gè)網(wǎng)絡(luò)拓?fù)涞挠成洌⑶依迷摂?shù)據(jù)庫,每個(gè)節(jié)點(diǎn)通常基于諸如最短路徑優(yōu)先(SPF)算法之類的合適的算法構(gòu)建去往每個(gè)可用節(jié)點(diǎn)的單條最優(yōu)路由。結(jié)果構(gòu)建了“生成樹”,該生成樹的根位于該節(jié)點(diǎn)處,并且示出了包括中間節(jié)點(diǎn)的去往每個(gè)可用目的節(jié)點(diǎn)的最優(yōu)路徑。因?yàn)槊總€(gè)節(jié)點(diǎn)都具有公共的LSDB(除了在所通告的改變正沿網(wǎng)絡(luò)傳播時(shí)之外),所以任何節(jié)點(diǎn)都能夠計(jì)算以任何其他節(jié)點(diǎn)為根的生成樹。
結(jié)果,當(dāng)去往目的節(jié)點(diǎn)的分組到達(dá)某一節(jié)點(diǎn)(其在這里被稱作“第一節(jié)點(diǎn)”)時(shí),第一節(jié)點(diǎn)識(shí)別出到目的地的最優(yōu)路由,并沿該路由將分組轉(zhuǎn)發(fā)到下一節(jié)點(diǎn)。下一節(jié)點(diǎn)重復(fù)該步驟,等等。
因此,應(yīng)當(dāng)注意,每個(gè)節(jié)點(diǎn)不管從何節(jié)點(diǎn)接收到分組,都決定應(yīng)當(dāng)向其轉(zhuǎn)發(fā)分組的下一節(jié)點(diǎn)。在某些情形中,這可能導(dǎo)致“環(huán)路”。具體地說,這可能發(fā)生在路由轉(zhuǎn)變期間數(shù)據(jù)庫(以及對(duì)應(yīng)的轉(zhuǎn)發(fā)信息)暫時(shí)不同步時(shí),即,在由于網(wǎng)絡(luò)中的改變而傳播新的LSP時(shí)。例如,如果節(jié)點(diǎn)A經(jīng)由節(jié)點(diǎn)B向節(jié)點(diǎn)Z發(fā)送分組,所述節(jié)點(diǎn)B包含根據(jù)其SPF的最優(yōu)路由,就可能在節(jié)點(diǎn)B處導(dǎo)致這樣的情形,即節(jié)點(diǎn)B根據(jù)其SPF確定去往節(jié)點(diǎn)Z的最佳路由是經(jīng)由節(jié)點(diǎn)A,并且將分組發(fā)回。雖然通常分組將具有最大跳數(shù),并且在達(dá)到該最大條數(shù)之后分組將被丟棄,但是該過程可以無限繼續(xù)。這種環(huán)路可能是兩個(gè)節(jié)點(diǎn)之間的直接環(huán)路,或者是沿節(jié)點(diǎn)回路的間接環(huán)路。
在傳統(tǒng)的系統(tǒng)中,當(dāng)鏈路發(fā)生故障時(shí),相鄰節(jié)點(diǎn)以介質(zhì)專用方式標(biāo)識(shí)出該故障。這導(dǎo)致了路由轉(zhuǎn)變,由此相鄰節(jié)點(diǎn)向網(wǎng)絡(luò)中的其他節(jié)點(diǎn)通告該鏈路故障。這可以通過簡單地從LSP中移除該鏈路來實(shí)現(xiàn),或者在某些情形中,將其代價(jià)設(shè)置為足夠高的整數(shù)值,以至于引導(dǎo)所有流量繞過該發(fā)生故障的鏈路來實(shí)現(xiàn)。該值常常被稱作“無窮大”,并且將看到這些方法的作用都是相同的。
然而,通告故障的LSP花費(fèi)有限時(shí)間穿過網(wǎng)絡(luò),并且然后每個(gè)節(jié)點(diǎn)都必須重新運(yùn)行其SPF,并且將新生成的路由向下傳遞至它的轉(zhuǎn)發(fā)機(jī)制,結(jié)果,在網(wǎng)絡(luò)中的不同節(jié)點(diǎn)處維護(hù)的LSDB之間將存在不一致。在某些情形中,這可能導(dǎo)致上述環(huán)路的發(fā)生,這些環(huán)路可能持續(xù)存在,直至LSDB再次一致,這可能會(huì)花費(fèi)數(shù)百毫秒。
參考圖1可以更好地理解形成環(huán)路的潛在原因。
圖1圖示了一般設(shè)計(jì)的簡單網(wǎng)絡(luò)10,該網(wǎng)絡(luò)包括標(biāo)號(hào)分別為12、14、16、18和20的節(jié)點(diǎn)A、B、D、X和Y。這些節(jié)點(diǎn)通過穿過ABDYXA的回路形式的鏈路而被連接到一起,其中鏈路22連接節(jié)點(diǎn)A和B。所有鏈路都具有代價(jià)1,除了連接節(jié)點(diǎn)Y和D的鏈路24具有代價(jià)5之外。當(dāng)所有鏈路都工作時(shí),到達(dá)節(jié)點(diǎn)X并且目的地為節(jié)點(diǎn)D的分組將采用具有代價(jià)3的路由XABD,而不是采用具有代價(jià)6的路由XYD。類似地,到達(dá)節(jié)點(diǎn)Y的目的地為節(jié)點(diǎn)D的分組將采用具有代價(jià)4的路由YXABD,而不是具有代價(jià)5的YD。如果節(jié)點(diǎn)A和B之間的鏈路22發(fā)生故障,則節(jié)點(diǎn)A通過發(fā)出將鏈路22的代價(jià)有效地設(shè)置為“無窮大”的LSP來通告該故障。在某一時(shí)刻,該LSP將已經(jīng)到達(dá)X,從而允許X更新其LSDB,但是仍未到達(dá)節(jié)點(diǎn)Y。結(jié)果,現(xiàn)在到達(dá)節(jié)點(diǎn)X且目的地為節(jié)點(diǎn)D的分組將被轉(zhuǎn)發(fā)向作為代價(jià)為6的路由XYD一部分的Y,而不是代價(jià)為無窮大的XABD。然而,當(dāng)該分組到達(dá)節(jié)點(diǎn)Y時(shí),由于節(jié)點(diǎn)Y仍舊將節(jié)點(diǎn)A和B之間的鏈路22的代價(jià)記錄為1,因此根據(jù)其SPF,最小代價(jià)路由仍舊是經(jīng)由代價(jià)為4的XABD。因此,該分組被返回給節(jié)點(diǎn)X,節(jié)點(diǎn)X再次試圖將其發(fā)送到節(jié)點(diǎn)Y,等等。將會(huì)發(fā)現(xiàn),這種性質(zhì)的環(huán)路可以是兩個(gè)節(jié)點(diǎn)之間的直接環(huán),或者是沿節(jié)點(diǎn)回路的間接環(huán)。
這種性質(zhì)的環(huán)路是不希望出現(xiàn)的,因?yàn)樗鼈兒谋M了網(wǎng)絡(luò)中的帶寬,直到跳數(shù)達(dá)到適當(dāng)?shù)拈撝禃r(shí)分組被丟棄為止。
在下述文獻(xiàn)中描述了一種提議的通告鏈路故障的解決方案PaoloNarváez、Kai-Yeung Siu和Hong-Yi Tzen,“Fault-Tolerant Routing in theInternet without Flooding”,proceedings of the 1999 IEEE Workshop onFault-Tolerant Parallel and Distributed Systems,San Juan,Puerto Rico,1999年4月。根據(jù)該解決方案,當(dāng)鏈路發(fā)生故障時(shí),并非向整個(gè)網(wǎng)絡(luò)發(fā)送LSP,而是只有在發(fā)生故障的鏈路周圍的最短或所有“恢復(fù)路徑”上的那些節(jié)點(diǎn)才被通知,并且那些節(jié)點(diǎn)中的每個(gè)都只更新其路由表中涉及受鏈路故障影響的目的地集合的部分。結(jié)果,分組被強(qiáng)制沿著恢復(fù)路徑傳遞。然而,這種方法導(dǎo)致在所涉及的每個(gè)節(jié)點(diǎn)處的路由協(xié)議的極大混亂,并且可能形成暫時(shí)環(huán)路。
在附圖中以示例方式而非限制方式圖示出本發(fā)明,在附圖中,相同的標(biāo)號(hào)表示相同的元件,其中圖1是圖示了可能的路由配置的示例性網(wǎng)絡(luò)圖;圖2圖示了對(duì)應(yīng)于圖1的網(wǎng)絡(luò)圖的一般化網(wǎng)絡(luò)圖;圖3A是圖示了通告數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法的高級(jí)視圖的流程圖;圖3B是圖示了通告數(shù)據(jù)網(wǎng)絡(luò)中的鏈路代價(jià)的方法的替換實(shí)施方式的流程圖;以及圖4是圖示了可以在其上實(shí)現(xiàn)實(shí)施方式的計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式
下面描述用于通告數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法和裝置。在下面的描述中,為了解釋目的,闡述了許多具體細(xì)節(jié),以便充分理解本發(fā)明。然而,本領(lǐng)域的技術(shù)人員將清楚,沒有這些具體細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明。在其他實(shí)例中,以框圖形式圖示了公知的結(jié)構(gòu)和設(shè)備,以避免不必要地模糊本發(fā)明。
在這里根據(jù)下面的大綱描述實(shí)施方式1.0總體概述2.0結(jié)構(gòu)和功能概述3.0通告鏈路代價(jià)的方法4.0實(shí)現(xiàn)機(jī)制—硬件概述5.0擴(kuò)展和替換1.0總體概述在本發(fā)明中實(shí)現(xiàn)了前面背景技術(shù)中標(biāo)識(shí)出的需求,以及將在下面的描述中變清楚的其他需求和目標(biāo),本發(fā)明在一個(gè)方面包括用于通告數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法。網(wǎng)絡(luò)具有作為組件的節(jié)點(diǎn)和鏈路。節(jié)點(diǎn)檢測具有關(guān)聯(lián)鏈路的相鄰組件的狀態(tài)變化,該變化是從激活狀態(tài)到禁止?fàn)顟B(tài)的變化,或者反之。利用某一增量值來改變關(guān)聯(lián)鏈路代價(jià),然后改變的代價(jià)被通告。
因?yàn)殒溌反鷥r(jià)被逐步改變,而不是立即改變到其最終值,所以在網(wǎng)絡(luò)的其余部分中不會(huì)建立環(huán)路。
在其他方面,本發(fā)明包含被配置為用于執(zhí)行前述步驟的計(jì)算機(jī)裝置和計(jì)算機(jī)可讀介質(zhì)。
2.0結(jié)構(gòu)和功能概述再次參考圖1所示的實(shí)施方式可以進(jìn)一步理解該方法,該示了示出可能的路由配置的示例性網(wǎng)絡(luò)圖。數(shù)據(jù)通信網(wǎng)絡(luò)包括節(jié)點(diǎn)A、B、D、X、Y和鏈路22、24、26。網(wǎng)絡(luò)10例如包括因特網(wǎng)或諸如路由域或虛擬網(wǎng)絡(luò)之類的子網(wǎng)。每條鏈路22、24、26標(biāo)注有關(guān)聯(lián)的鏈路代價(jià),例如“1”、“5”等,該關(guān)聯(lián)的鏈路代價(jià)被與標(biāo)識(shí)鏈路的信息像關(guān)聯(lián)地存儲(chǔ)在每個(gè)節(jié)點(diǎn)處的路由數(shù)據(jù)庫中。每個(gè)節(jié)點(diǎn)A、B、D、X、Y都包括一個(gè)或多個(gè)單獨(dú)或共同實(shí)現(xiàn)這里所述過程的硬件或軟件元件。
圖3A是圖示了通告數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法的高級(jí)視圖的流程圖。在方框302中,檢測到具有關(guān)聯(lián)鏈路的相鄰組件的狀態(tài)改變。狀態(tài)改變可以包括組件故障、由于有計(jì)劃的停機(jī)而引起的組件禁止、組件激活等等。在方框304中,與經(jīng)歷狀態(tài)改變的組件相關(guān)聯(lián)的鏈路的鏈路代價(jià)值被改變一增量值。改變鏈路代價(jià)值的步驟可以包括遞增(增加)鏈路代價(jià)值,遞減(減少)鏈路代價(jià)值,用乘數(shù)或其他因子修改鏈路代價(jià)值,等等。在方框306中,向網(wǎng)絡(luò)中的其他節(jié)點(diǎn)通告改變后的鏈路代價(jià)值。
例如,參考圖1,第一節(jié)點(diǎn)A通過鏈路22而通信耦合到相鄰的第二節(jié)點(diǎn)B,并且第三節(jié)點(diǎn)X通過鏈路28耦合到節(jié)點(diǎn)A。當(dāng)節(jié)點(diǎn)X需要向節(jié)點(diǎn)A轉(zhuǎn)發(fā)分組時(shí),在正常操作中,X將使用鏈路28來轉(zhuǎn)發(fā)分組,因?yàn)殒溌?8的代價(jià)為“1”,相反,沿鏈路26、24、23、22至節(jié)點(diǎn)A的代價(jià)為“8”。當(dāng)包括有鏈路22的相鄰組件發(fā)生故障,或者以諸如有計(jì)劃的停機(jī)或繞過擁塞鏈路之類的任何其他方式而使相鄰組件禁止時(shí),節(jié)點(diǎn)A通告這種情況,逐步增大其路由表中的關(guān)聯(lián)鏈路代價(jià)1,等待該通告的傳播,并且然后再次遞增關(guān)聯(lián)的鏈路代價(jià)。結(jié)果,在第一次通告的遞增已到達(dá)節(jié)點(diǎn)X之后,節(jié)點(diǎn)X將向節(jié)點(diǎn)A轉(zhuǎn)發(fā)分組,這是由于這仍是最小代價(jià)路由。雖然丟失了該分組,但是與建立消耗帶寬的環(huán)路相比這是可取的,因?yàn)楦邔拥目煽總鬏攨f(xié)議將使節(jié)點(diǎn)X向節(jié)點(diǎn)A重發(fā)分組。
一旦第一次遞增已到達(dá)所有的節(jié)點(diǎn),由于節(jié)點(diǎn)X和Y“看見”相同的鏈路22的代價(jià),就可以再次遞增并通告該鏈路代價(jià)。
在下面的討論中將更詳細(xì)地討論增量的最優(yōu)大小和相繼通告的遞增之間的時(shí)間間隔。將會(huì)清楚,可以將本發(fā)明同等地應(yīng)用到在鏈路被激活時(shí)的狀態(tài)改變,例如,當(dāng)通過以適當(dāng)?shù)脑隽繌臒o窮大的開始值減小代價(jià)而使鏈路回到運(yùn)行中時(shí)的狀態(tài)改變。
該方法對(duì)于有計(jì)劃地停機(jī)是有用的,因?yàn)樗辉O(shè)計(jì)為在存在不干擾那些協(xié)議的路由器協(xié)議的環(huán)境中運(yùn)行。此外,該方法也不需要對(duì)遠(yuǎn)端節(jié)點(diǎn)或路由器的重配置。
3.0通告鏈路代價(jià)的方法圖2圖示了對(duì)應(yīng)于圖1的網(wǎng)絡(luò)圖的一般化網(wǎng)絡(luò)圖。參考圖2,可以看到,圖1中所示的鏈路代價(jià)被一般化鏈路代價(jià)x、L和y所代替。鏈路代價(jià)x代表節(jié)點(diǎn)X和D之間的一般化累積代價(jià),鏈路代價(jià)L代表節(jié)點(diǎn)X和Y之間的鏈路代價(jià),鏈路代價(jià)y代表節(jié)點(diǎn)Y和D之間的鏈路代價(jià)。在本實(shí)施例中,節(jié)點(diǎn)X和Y之間的鏈路26是對(duì)稱的,即,在兩個(gè)方向上的鏈路代價(jià)都相同。在其他實(shí)施方式中,鏈路代價(jià)可以根據(jù)鏈路上的分組轉(zhuǎn)發(fā)方向而變化。
在本系統(tǒng)中,當(dāng)鏈路A、B遞增i時(shí),如果以下條件保持為真,則可能形成環(huán)路經(jīng)由A、B從X到D的代價(jià)≥經(jīng)由Y從X到D的代價(jià),并且不經(jīng)由X從Y到D的代價(jià)≥經(jīng)由XAB從Y到D的代價(jià)。
這可以在數(shù)學(xué)上被表示為x+i≥L+y并且y≥L+x。
組合這些得到表達(dá)式i≥2L。
或者,為了不形成環(huán)路i<2L。
換言之,對(duì)于網(wǎng)絡(luò)中的X、Y和D的任何選擇都不可能存在環(huán)路的條件為任何增量都嚴(yán)格小于該網(wǎng)絡(luò)中的最小鏈路代價(jià)的兩倍(這是最安全的假設(shè))。對(duì)于最小鏈路代價(jià)為1的網(wǎng)絡(luò),這一條件給出最大安全鏈路代價(jià)的增量為1。
這種方法可以被擴(kuò)展到這樣的系統(tǒng)在該系統(tǒng)中,節(jié)點(diǎn)X和Y不一定相鄰,并且其中節(jié)點(diǎn)X和Y之間的鏈路或環(huán)路代價(jià)不對(duì)稱。一般來說,在這種情形中,如果增量大于或者等于通過環(huán)路的代價(jià),則該環(huán)路只可能圍繞兩個(gè)或多個(gè)節(jié)點(diǎn)的集合。在那種情形中,可以看到上面的不等式仍舊適用,因?yàn)闆]有環(huán)路代價(jià)將小于網(wǎng)絡(luò)中的最小鏈路代價(jià)的兩倍(因?yàn)榄h(huán)路必須通過至少兩個(gè)鏈路)。
在更一般的情形中,還可能存在多個(gè)故障。在第一種情形中,在公共路徑中發(fā)生了m次“累加(additive)”遞增,則不形成環(huán)的條件為mi<2L。
如果該遞增不是累加的(即,它們位于平行路徑中),則條件i<2L仍舊適用,因?yàn)樗鼈冊(cè)谙嗤瑫r(shí)刻不能影響同一代價(jià)。
一種可能發(fā)生這種情況的情形是如果一個(gè)節(jié)點(diǎn)發(fā)生故障,則這將導(dǎo)致到該節(jié)點(diǎn)的所有鏈路同時(shí)發(fā)生故障。在節(jié)點(diǎn)只具有兩條鏈路的情形中,正常條件適用于最小增量,即,m=1,這是因?yàn)楣收喜皇抢奂拥模?,它們不位于同一路徑?該路徑被發(fā)生故障的節(jié)點(diǎn)斷開了)。如果到某個(gè)節(jié)點(diǎn)存在多于兩條鏈路,則可能發(fā)生累加遞增,但是m的最大值為m=2,這是因?yàn)榭梢晕挥谕ㄟ^發(fā)生故障的節(jié)點(diǎn)的公共路徑中的鏈路不多于兩條。結(jié)果,在具有m個(gè)并發(fā)鏈路故障和n個(gè)并發(fā)節(jié)點(diǎn)故障的網(wǎng)絡(luò)中(假定作為最壞的情形它們必須是累加的),避免環(huán)路的不等式為(m+2n)i<2L。
因此可以保證,如果發(fā)生故障的網(wǎng)絡(luò)組件的代價(jià)以i個(gè)步驟或小于i個(gè)步驟遞增,并且只在保證所有節(jié)點(diǎn)都已接收到通告并已處理了更新的信息的時(shí)刻之后再通告進(jìn)一步的遞增,則將不可能形成環(huán)路。
圖3B是圖示了通告數(shù)據(jù)網(wǎng)絡(luò)中的鏈路代價(jià)的方法的替換實(shí)施方式的流程圖。在框310中,檢測到具有關(guān)聯(lián)鏈路的一個(gè)或多個(gè)組件的狀態(tài)改變。與圖3A中的框302一樣,狀態(tài)改變可以包括組件故障、由于有計(jì)劃的停機(jī)而引起的組件禁止、組件激活等等。
在框312中,基于網(wǎng)絡(luò)中的最小鏈路代價(jià)、在框310中檢測到狀態(tài)改變的鏈路的數(shù)目和網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)目來計(jì)算鏈路代價(jià)增量。在一種實(shí)施方式中,計(jì)算鏈路代價(jià)增量,以使得對(duì)于m條鏈路和n個(gè)節(jié)點(diǎn)的狀態(tài)改變,增量值i滿足條件(m+2n)i<2L,其中L是網(wǎng)絡(luò)中的最小鏈路代價(jià)。
在框314中,與在框302中檢測出狀態(tài)變化的組件相關(guān)聯(lián)的鏈路的鏈路代價(jià)被改變。改變鏈路代價(jià)值的步驟可以包括遞增(增加)鏈路代價(jià)值、遞減(減少)鏈路代價(jià)值、用乘數(shù)或其他因子修改鏈路代價(jià)值,等等。最常見的是當(dāng)檢測出的組件的狀態(tài)變化指示禁止或故障時(shí),關(guān)聯(lián)的鏈路代價(jià)被遞減計(jì)算出的鏈路代價(jià)增量值,并且當(dāng)檢測出的狀態(tài)變化指示重激活時(shí),鏈路代價(jià)被遞增鏈路代價(jià)增量值。
在框316中,向網(wǎng)絡(luò)中的其他節(jié)點(diǎn)通告鏈路代價(jià)值。在框318中,執(zhí)行測試來確定改變后的鏈路代價(jià)值已達(dá)到閾值代價(jià)值還是接近無窮大值。下面將進(jìn)一步描述框318中的測試的使用。如果框318中的測試為真,則沒有必要遞增并通告鏈路代價(jià)值,并且處理在框322處結(jié)束。
在框320中,執(zhí)行測試來確定是否已經(jīng)過了指定的重復(fù)時(shí)間間隔。如果是,則控制前進(jìn)到框314,在該框中鏈路代價(jià)再次以前面計(jì)算出的增量變化,然后在框316中再次通告新改變的鏈路代價(jià)值。
在優(yōu)化中,一旦可以保證在其鄰居已接收并處理了在前的增量之前沒有節(jié)點(diǎn)將接收增量(即在代表如下兩者之和的延遲之后其一是任何一對(duì)相鄰節(jié)點(diǎn)之間的最大期望傳播延遲,其二是在接收到LSP和基于該LSP的SPF計(jì)算結(jié)果被用于轉(zhuǎn)發(fā)流量之間的最大期望延遲差),就可以生成增量?;谑褂玫奶囟ňW(wǎng)絡(luò)組件和配置將可測量或已知所述延遲,并且所述延遲例如可以被配置為管理參數(shù)。
作為進(jìn)一步的優(yōu)化,應(yīng)當(dāng)認(rèn)識(shí)到在發(fā)生故障的鏈路的代價(jià)中的任何增量將只影響位于具有該發(fā)生故障的鏈路的公共路徑中的鏈路。因此,不用識(shí)別網(wǎng)絡(luò)中的最小鏈路代價(jià),所要考慮的僅僅是其根位于發(fā)生故障的鏈路遠(yuǎn)端的反向生成樹中的最小鏈路代價(jià),其中該反向生成樹通過發(fā)生故障的鏈路?!胺聪蛏蓸洹?有時(shí)稱作“匯集樹”)示出了可達(dá)該節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)的最優(yōu)路由。因此,如框324所示,在框312中計(jì)算出鏈路代價(jià)增量之前,可選地計(jì)算反向生成樹。更進(jìn)一步的優(yōu)化是在每此遞增之后重新計(jì)算反向生成樹,并且因此重新計(jì)算最大準(zhǔn)許的下一增量。因此,如圖3B所示,控制可以從框320轉(zhuǎn)到框324,而不是直接從框320到框314。由于最大增量可以被增加,所以這可以導(dǎo)致前一最小代價(jià)鏈路被排除在外。同樣,為了成功地重新計(jì)算,由于越來越少的最小代價(jià)路由包括發(fā)生故障的鏈路不斷增加的代價(jià),所以反向生成樹可能收縮。
在結(jié)合上述方法的情形中,根據(jù)任何合適的機(jī)制計(jì)算發(fā)生故障的組件(尤其是發(fā)生故障的節(jié)點(diǎn))的修復(fù)路徑,然后,在進(jìn)一步的優(yōu)化中,代價(jià)的遞增在相鄰節(jié)點(diǎn)到發(fā)生故障的節(jié)點(diǎn)之間被同步,以使得節(jié)點(diǎn)在發(fā)出進(jìn)一步的增量之前,彼此等待來自可獲得修復(fù)路徑的鄰居節(jié)點(diǎn)的遞增后的LSP。
再次參考框318的測試,將認(rèn)識(shí)到作為進(jìn)一步的優(yōu)化,沒必要連續(xù)遞增鏈路代價(jià)直至無窮大,尤其是在代表無窮大的真值可能非常大時(shí)。實(shí)際上,只需要將代價(jià)遞增至某一閾值代價(jià),在該閾值代價(jià)上,鏈路代價(jià)使得網(wǎng)絡(luò)中沒有節(jié)點(diǎn)將使用該代價(jià)計(jì)算路由。在鏈路故障的情形中,當(dāng)AB鏈路的代價(jià)已被遞增增加至大于從A到B不經(jīng)過鏈路AB的路徑的最小代價(jià)的值時(shí),這就可以得到保證。在那一值處,發(fā)生故障的鏈路的代價(jià)在最后一跳中可以增加至“無窮大”。在節(jié)點(diǎn)B故障的情形中,對(duì)于所有的節(jié)點(diǎn)X,增加鏈路代價(jià),直至該鏈路代價(jià)被增加至大于經(jīng)由比代價(jià)BX小的最短替換路徑的AX的代價(jià),其中通過運(yùn)行在A處路由的SPF可以輕易地計(jì)算出這些值。
為了最小化收斂時(shí)間,增量代價(jià)可以被優(yōu)化,以使在上述增量值限度內(nèi)通告的鏈路代價(jià)改變的次數(shù)最小化。
盡管上面的討論涉及在網(wǎng)絡(luò)組件發(fā)生故障或者由于其他原因而被脫離服務(wù)時(shí)鏈路代價(jià)的遞增增加,但是在網(wǎng)絡(luò)組件被引入服務(wù)的情形中同樣可以應(yīng)用該方法。在傳統(tǒng)的系統(tǒng)中,這可以通過通告在單個(gè)跳中鏈路代價(jià)從“無窮大”向下改變至新的代價(jià)來有效地實(shí)現(xiàn),但是這可能再次導(dǎo)致環(huán)路。在那種情形中,根據(jù)本方法,首先在上面討論的上邊界(即,不通過新組件的最小代價(jià)路徑的鏈路代價(jià))處通告鏈路代價(jià)。然后,使用相同的增量和時(shí)間間隔來遞增增加代價(jià),直到該代價(jià)達(dá)到該鏈路代價(jià)的配置值。然而,通告代價(jià)的節(jié)點(diǎn)可以將整個(gè)鏈路看作具有其最終配置代價(jià),該最終配置代價(jià)可以致使數(shù)據(jù)流量比除該情形之外的其他情況更快地穿過鏈路。
這里所描述的方法可以使用駐留在路由器中它的LSDB中的網(wǎng)絡(luò)拓?fù)湫畔?,以軟件或硬件形式被?shí)現(xiàn)在特定節(jié)點(diǎn)或路由器中,根據(jù)所述網(wǎng)絡(luò)拓?fù)湫畔?,可以針?duì)特定節(jié)點(diǎn)或者實(shí)際上針對(duì)網(wǎng)絡(luò)上的任何其他節(jié)點(diǎn)來運(yùn)行SPF。
在第一實(shí)例中,在節(jié)點(diǎn)中以任何合適的方式(例如,介質(zhì)專用方式)檢測到諸如組件故障之類的組件狀態(tài)改變?;蛘撸赡馨l(fā)生有計(jì)劃的組件激活或禁止,在任一情形中,可以實(shí)現(xiàn)上述鏈路代價(jià)通告。增量的大小和遞增之間的時(shí)間間隔可以如上述方式計(jì)算出。就計(jì)算需要例如基于網(wǎng)絡(luò)拓?fù)鋪碚f,在本示例中,這被輕易完成,而不是在利用在節(jié)點(diǎn)處的LSDB中的網(wǎng)絡(luò)信息的事件之前就耗盡了計(jì)算時(shí)間,盡管這也是一種可能的選擇。在鏈路代價(jià)被遞增增加的情形中,一旦鏈路代價(jià)達(dá)到無窮大,或者在優(yōu)化中達(dá)到上面討論的上邊界值,節(jié)點(diǎn)就可以將代價(jià)增加至使組件脫離服務(wù)的“無窮大”。類似的考慮也適用于將組件投入服務(wù)的情形。
4.0實(shí)現(xiàn)機(jī)制-硬件概述圖4是圖示了可以在其中實(shí)現(xiàn)本發(fā)明實(shí)施方式的計(jì)算機(jī)系統(tǒng)80的框圖。優(yōu)選實(shí)施方式是使用在諸如路由器設(shè)備之類的網(wǎng)絡(luò)元件中運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)程序來實(shí)現(xiàn)的。因此,在本實(shí)施方式中,計(jì)算機(jī)系統(tǒng)80是路由器。
計(jì)算機(jī)系統(tǒng)80包括總線82或用于傳輸信息的其他通信機(jī)制,以及耦合到總線82以用于處理信息的處理器84。計(jì)算機(jī)系統(tǒng)80還包括耦合到總線82以用于存儲(chǔ)信息和將要由處理器84執(zhí)行的指令的主存儲(chǔ)器86,例如隨機(jī)訪問存儲(chǔ)器(RAM)、閃存或者其他動(dòng)態(tài)存儲(chǔ)設(shè)備。主存儲(chǔ)器86還可以用來存儲(chǔ)在執(zhí)行要被處理器84執(zhí)行的指令期間的臨時(shí)變量或其他中間信息。計(jì)算機(jī)系統(tǒng)80還包括耦合到總線82的只讀存儲(chǔ)器(ROM)88或其他靜態(tài)存儲(chǔ)設(shè)備,其用于存儲(chǔ)用于處理器84的靜態(tài)信息和指令。還提供了耦合到總線82的諸如磁盤、閃存或光盤之類的存儲(chǔ)設(shè)備90,以存儲(chǔ)信息和指令。
通信接口98可以耦合到總線82,以用于向處理器84傳輸信息和命令選擇。接口98是諸如RS-232或RS-422接口之類的傳統(tǒng)串口。外部終端92或其他計(jì)算機(jī)系統(tǒng)連接到計(jì)算機(jī)系統(tǒng)80,并且使用接口98向其提供命令。在計(jì)算機(jī)系統(tǒng)80中運(yùn)行的固件或軟件提供終端接口或基于字符的命令接口,以使得可以向計(jì)算機(jī)系統(tǒng)提供外部命令。
交換系統(tǒng)96耦合到總線82,并且具有輸入接口和各自的去往外部網(wǎng)絡(luò)元件的輸出接口(統(tǒng)稱為99)。外部網(wǎng)絡(luò)元件可以包括多個(gè)附加路由器120或者耦合到一個(gè)或多個(gè)主機(jī)或路由器的本地網(wǎng)絡(luò),或者諸如因特網(wǎng)之類的具有一臺(tái)或多臺(tái)服務(wù)器的全球網(wǎng)絡(luò)。交換系統(tǒng)96根據(jù)預(yù)定的協(xié)議和公知的約定,將到達(dá)輸入接口的信息流量交換至輸出接口99。例如,與處理器84協(xié)作,交換系統(tǒng)96可以確定到達(dá)輸入接口的數(shù)據(jù)分組的目的地,并且使用輸出接口將其發(fā)送到正確的目的地。目的地可以包括在本地網(wǎng)絡(luò)或因特網(wǎng)中的主機(jī)、服務(wù)器、其他終點(diǎn)站或其他路由和交換設(shè)備。
計(jì)算機(jī)系統(tǒng)80實(shí)現(xiàn)為充當(dāng)上述通告鏈路代價(jià)的方法中的節(jié)點(diǎn)的路由器,其中,在鏈路99或路由器120的狀態(tài)改變時(shí),鏈路99的關(guān)聯(lián)鏈路代價(jià)遞增變化。根據(jù)本發(fā)明的一種實(shí)施方式,由計(jì)算機(jī)系統(tǒng)80響應(yīng)于執(zhí)行包含在主存儲(chǔ)器86中的一條或多條指令的一個(gè)或多個(gè)序列的處理器84,提供該實(shí)現(xiàn)。這種指令可以從另一種計(jì)算機(jī)可讀介質(zhì)(例如,存儲(chǔ)器90)讀入到主存儲(chǔ)器86中。包含在主存儲(chǔ)器86中的指令序列的執(zhí)行使處理器84執(zhí)行這里描述的過程步驟。也可以使用多處理布置中的一個(gè)或多個(gè)處理器來執(zhí)行包含在主存儲(chǔ)器86中的指令序列。在替換實(shí)施方式中,可以使用硬連線電路來替換軟件指令或者與軟件指令組合使用來實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明的實(shí)施方式并不受限于硬件電路和軟件的任何特定組合。
這里所使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”指參與向處理器84提供指令以執(zhí)行的任何介質(zhì)。這種介質(zhì)可以采用多種形式,包括但不限于,非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)例如包括光盤或磁盤,例如存儲(chǔ)設(shè)備90。易失性介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器,例如主存儲(chǔ)器86。傳輸介質(zhì)包括同軸線纜、銅線和光纖,包括構(gòu)成總線82的線路。傳輸介質(zhì)還可以采用諸如聲波或電磁波之類的無線鏈路的形式,例如在無線電波和紅外數(shù)據(jù)通信期間生成的那些。
計(jì)算機(jī)可讀介質(zhì)的通用形式例如包括軟盤、柔性盤、硬盤、磁帶、或任何其他磁介質(zhì)、CD-ROM、任何其他光介質(zhì)、打孔卡、紙帶、任何其他具有孔狀圖案的物理介質(zhì)、RAM、PROM和EPROM、FLASH-EPROM、任何其他存儲(chǔ)芯片或盒帶、如下文所述的載波、或者計(jì)算機(jī)可讀的任何其他介質(zhì)。
各種形式的計(jì)算機(jī)可讀介質(zhì)可以參與向處理器84傳送一條或多條指令的一個(gè)或多個(gè)序列以執(zhí)行。例如,最初指令可以被存儲(chǔ)在遠(yuǎn)程計(jì)算機(jī)的磁盤中。遠(yuǎn)程計(jì)算機(jī)可以將指令加載到其動(dòng)態(tài)存儲(chǔ)器中,并且使用調(diào)整解調(diào)器通過電話線發(fā)送指令。計(jì)算機(jī)系統(tǒng)80本地的調(diào)制解調(diào)器可以接收電話線中的數(shù)據(jù),并且使用紅外發(fā)射器將數(shù)據(jù)轉(zhuǎn)換為紅外信號(hào)。耦合到總線82的紅外探測器可以接收紅外信號(hào)中承載的數(shù)據(jù),并將該數(shù)據(jù)置于總線82中。總線82向主存儲(chǔ)器86傳送該數(shù)據(jù),從主存儲(chǔ)器86中處理器84獲取并執(zhí)行指令。在被處理器84執(zhí)行之前或執(zhí)行之后,由主存儲(chǔ)器86接收到的指令可以可選地被存儲(chǔ)到存儲(chǔ)設(shè)備90中。
接口99還提供耦合到本地網(wǎng)絡(luò)所連接的網(wǎng)絡(luò)鏈路的雙向數(shù)據(jù)通信。例如,接口99可以是向?qū)?yīng)類型的電話線提供數(shù)據(jù)通信連接的綜合服務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào)制解調(diào)器。作為另一個(gè)示例,接口99可以是向兼容的LAN提供數(shù)據(jù)通信連接的局域網(wǎng)(LAN)卡。也可以實(shí)現(xiàn)無線鏈路。在任何這種實(shí)現(xiàn)中,接口99發(fā)送和接收承載數(shù)字?jǐn)?shù)據(jù)流的電信號(hào)、電磁信號(hào)或光信號(hào),其中數(shù)字?jǐn)?shù)據(jù)流代表各種類型的信息。
網(wǎng)絡(luò)鏈路通常通過一個(gè)或多個(gè)網(wǎng)絡(luò)向其他數(shù)據(jù)設(shè)備提供數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路可以通過本地網(wǎng)絡(luò)向由因特網(wǎng)服務(wù)供應(yīng)商(ISP)運(yùn)行的主機(jī)計(jì)算機(jī)或數(shù)據(jù)設(shè)備提供連接。然后,ISP通過現(xiàn)在通常被稱作“因特網(wǎng)”的全球分組數(shù)據(jù)通信網(wǎng)絡(luò)來提供數(shù)據(jù)通信服務(wù)。本地網(wǎng)絡(luò)和因特網(wǎng)都使用承載數(shù)字?jǐn)?shù)據(jù)流的電信號(hào)、電磁信號(hào)或光信號(hào)。通過各種網(wǎng)絡(luò)的信號(hào)、以及網(wǎng)絡(luò)鏈路中和通過接口99的信號(hào)(其承載去往和來自計(jì)算機(jī)系統(tǒng)80的數(shù)字?jǐn)?shù)據(jù))是傳輸信息的載波的示例形式。
計(jì)算機(jī)系統(tǒng)80可以通過(一個(gè)或多個(gè))網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路和接口99來發(fā)送消息并接收數(shù)據(jù),包括程序代碼。在因特網(wǎng)示例中,服務(wù)器可能通過因特網(wǎng)、ISP、本地網(wǎng)絡(luò)和通信接口98傳輸所請(qǐng)求的用于應(yīng)用程序的代碼。根據(jù)本發(fā)明,一個(gè)這種被下載的應(yīng)用提供這里所描述的方法。
在代碼被接收到之后,接收到的代碼可以由處理器84執(zhí)行,并且/或者將代碼存儲(chǔ)在存儲(chǔ)設(shè)備90或其他非易失性存儲(chǔ)設(shè)備中以用于以后執(zhí)行。這樣,計(jì)算機(jī)系統(tǒng)80可以獲得載波形式的應(yīng)用代碼。
5.0擴(kuò)展和替換本發(fā)明陳述的方法步驟可以以任何適當(dāng)?shù)捻樞驁?zhí)行,并且可以在適當(dāng)情況下,并行或互換描述示例和實(shí)施方式中的多個(gè)方面。應(yīng)當(dāng)理解,可以使用任何適當(dāng)?shù)穆酚蓞f(xié)議,例如中間系統(tǒng)-中間系統(tǒng)(IS-IS)或者開放最短路徑優(yōu)先(OSPF)。類似地,任何合適的網(wǎng)絡(luò)都可以提供實(shí)現(xiàn)該方法的平臺(tái)。
在前面的說明書中,已參考本發(fā)明的特定實(shí)施方式描述了本發(fā)明。但是,很清楚,可以對(duì)本發(fā)明作出各種修改和改變,而不脫離本發(fā)明寬廣的精神和范圍。因此,說明書和附圖被認(rèn)為是解釋性的,而不是限制性的。
權(quán)利要求
1.一種方法,用于通告具有作為組件的節(jié)點(diǎn)和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià),其中節(jié)點(diǎn)執(zhí)行下述步驟檢測具有關(guān)聯(lián)鏈路的相鄰組件的狀態(tài)變化,其中所述狀態(tài)變化是從激活狀態(tài)到禁止?fàn)顟B(tài)的變化,或者反之;將關(guān)聯(lián)鏈路代價(jià)改變?cè)隽恐?;和通告所述改變后的代價(jià)。
2.如權(quán)利要求1所述的方法,其中,所述節(jié)點(diǎn)以一個(gè)或多個(gè)預(yù)定時(shí)間間隔重復(fù)所述將關(guān)聯(lián)鏈路代價(jià)改變?cè)隽恐挡⑼ǜ娓淖兒蟮拇鷥r(jià)的步驟。
3.如權(quán)利要求2所述的方法,其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,所述網(wǎng)絡(luò)中的節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
4.如權(quán)利要求2所述的方法,其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,任何一對(duì)相鄰節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
5.如權(quán)利要求2所述的方法,其中,重復(fù)所述步驟,直至達(dá)到閾值代價(jià),其中在所述閾值代價(jià)處,將沒有網(wǎng)絡(luò)中的節(jié)點(diǎn)使用所述關(guān)聯(lián)鏈路來計(jì)算路由。
6.如權(quán)利要求1所述的方法,其中,所述狀態(tài)改變是從激活狀態(tài)到禁止?fàn)顟B(tài),并且其中所述改變關(guān)聯(lián)鏈路代價(jià)的步驟包括逐步增加所述關(guān)聯(lián)鏈路代價(jià)。
7.如權(quán)利要求1所述的方法,其中,所述狀態(tài)改變是從禁止?fàn)顟B(tài)到激活狀態(tài),并且其中所述改變關(guān)聯(lián)鏈路代價(jià)的步驟包括逐步減少所述關(guān)聯(lián)鏈路代價(jià)。
8.如權(quán)利要求1所述的方法,其中,所述增量值被選擇為小于所述網(wǎng)絡(luò)中的一組預(yù)定鏈路的最小鏈路代價(jià)的兩倍。
9.如權(quán)利要求8所述的方法,其中,所述節(jié)點(diǎn)具有沿所述關(guān)聯(lián)鏈路可達(dá)的相鄰節(jié)點(diǎn),并且所述一組預(yù)定鏈路包括所有下述鏈路通過所述鏈路,所述相鄰節(jié)點(diǎn)經(jīng)由所述關(guān)聯(lián)鏈路可達(dá)。
10.如權(quán)利要求9所述的方法,還包括下述步驟構(gòu)建其根位于下述相鄰節(jié)點(diǎn)處的反向生成樹,其中所述相鄰節(jié)點(diǎn)包括包含有所述關(guān)聯(lián)鏈路的路徑,并且所述一組預(yù)定鏈路包含被包括在所述反向生成樹中的所有鏈路。
11.如權(quán)利要求1所述的方法,其中,對(duì)于m條鏈路和n個(gè)節(jié)點(diǎn)的狀態(tài)改變,增量值i滿足條件(m+2n)i<2L,其中L是所述網(wǎng)絡(luò)中的最小鏈路代價(jià)。
12.一種計(jì)算機(jī)可讀介質(zhì),包括用于通告具有作為組件的節(jié)點(diǎn)和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的一個(gè)或多個(gè)指令序列,當(dāng)一個(gè)或多個(gè)處理器執(zhí)行所述指令序列時(shí),所述指令序列使所述一個(gè)或多個(gè)處理器執(zhí)行下述步驟檢測具有關(guān)聯(lián)鏈路的相鄰組件的狀態(tài)變化,其中所述狀態(tài)變化是從激活狀態(tài)到禁止?fàn)顟B(tài)的變化,或者反之;將關(guān)聯(lián)鏈路代價(jià)改變?cè)隽恐担缓屯ǜ嫠龈淖兒蟮拇鷥r(jià)。
13.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中,以一個(gè)或多個(gè)預(yù)定時(shí)間間隔重復(fù)所述將關(guān)聯(lián)鏈路代價(jià)改變?cè)隽恐挡⑼ǜ娓淖兒蟮拇鷥r(jià)的步驟。
14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,所述網(wǎng)絡(luò)中的節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
15.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,任何一對(duì)相鄰節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
16.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,重復(fù)所述步驟,直至達(dá)到閾值代價(jià),其中在所述閾值代價(jià)處,將沒有網(wǎng)絡(luò)中的節(jié)點(diǎn)使用所述關(guān)聯(lián)鏈路來計(jì)算路由。
17.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中,所述狀態(tài)改變是從激活狀態(tài)到禁止?fàn)顟B(tài),并且其中所述改變關(guān)聯(lián)鏈路代價(jià)的步驟包括逐步增加所述關(guān)聯(lián)鏈路代價(jià)。
18.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中,所述狀態(tài)改變是從禁止?fàn)顟B(tài)到激活狀態(tài),并且其中所述改變關(guān)聯(lián)鏈路代價(jià)的步驟包括逐步減少所述關(guān)聯(lián)鏈路代價(jià)。
19.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中,所述增量值被選擇為小于所述網(wǎng)絡(luò)中的一組預(yù)定鏈路的最小鏈路代價(jià)的兩倍。
20.如權(quán)利要求19所述的計(jì)算機(jī)可讀介質(zhì),其中,所述節(jié)點(diǎn)具有沿所述關(guān)聯(lián)鏈路可達(dá)的相鄰節(jié)點(diǎn),并且所述一組預(yù)定鏈路包括所有下述鏈路通過所述鏈路,所述相鄰節(jié)點(diǎn)經(jīng)由所述關(guān)聯(lián)鏈路可達(dá)。
21.如權(quán)利要求20所述的計(jì)算機(jī)可讀介質(zhì),其中,所述一個(gè)或多個(gè)處理器還執(zhí)行下述步驟構(gòu)建其根位于下述相鄰節(jié)點(diǎn)處的反向生成樹,其中所述相鄰節(jié)點(diǎn)包括包含有所述關(guān)聯(lián)鏈路的路徑,并且所述一組預(yù)定鏈路包含被包括在所述反向生成樹中的所有鏈路。
22.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中,對(duì)于m條鏈路和n個(gè)節(jié)點(diǎn)的狀態(tài)改變,增量值i滿足條件(m+2n)i<2L,其中L是所述網(wǎng)絡(luò)中的最小鏈路代價(jià)。
23.一種設(shè)備,用于通告具有作為組件的節(jié)點(diǎn)和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià),所述設(shè)備包括用于檢測具有關(guān)聯(lián)鏈路的相鄰組件的狀態(tài)變化的裝置,其中所述狀態(tài)變化是從激活狀態(tài)到禁止?fàn)顟B(tài)的變化,或者反之;用于將關(guān)聯(lián)鏈路的代價(jià)改變?cè)隽恐档难b置;和用于通告所述改變后的代價(jià)的裝置。
24.如權(quán)利要求23所述的設(shè)備,其中,用于改變的裝置以一個(gè)或多個(gè)預(yù)定時(shí)間間隔重復(fù)所述將關(guān)聯(lián)鏈路的代價(jià)改變?cè)隽恐挡⑼ǜ娓淖兒蟮拇鷥r(jià)的步驟。
25.如權(quán)利要求24所述的設(shè)備,其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,所述網(wǎng)絡(luò)中的節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
26.如權(quán)利要求24所述的設(shè)備,其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,任何一對(duì)相鄰節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
27.如權(quán)利要求24所述的設(shè)備,其中,所述用于改變的裝置重復(fù)所述步驟,直至達(dá)到閾值代價(jià),其中在所述閾值代價(jià)處,將沒有網(wǎng)絡(luò)中的節(jié)點(diǎn)使用所述關(guān)聯(lián)鏈路來計(jì)算路由。
28.如權(quán)利要求23所述的設(shè)備,其中,所述狀態(tài)改變是從激活狀態(tài)到禁止?fàn)顟B(tài),并且其中所述用于改變關(guān)聯(lián)鏈路代價(jià)的裝置包括用于逐步增加所述關(guān)聯(lián)鏈路代價(jià)的裝置。
29.如權(quán)利要求23所述的設(shè)備,其中,所述狀態(tài)改變是從禁止?fàn)顟B(tài)到激活狀態(tài),并且其中所述用于改變關(guān)聯(lián)鏈路代價(jià)的裝置包括用于逐步減少所述關(guān)聯(lián)鏈路代價(jià)的裝置。
30.如權(quán)利要求23所述的設(shè)備,其中,所述增量值被選擇為小于所述網(wǎng)絡(luò)中的一組預(yù)定鏈路的最小鏈路代價(jià)的兩倍。
31.如權(quán)利要求30所述的設(shè)備,其中,相鄰節(jié)點(diǎn)沿所述關(guān)聯(lián)鏈路可達(dá),并且所述一組預(yù)定鏈路包括所有下述鏈路通過所述鏈路,所述相鄰節(jié)點(diǎn)經(jīng)由所述關(guān)聯(lián)鏈路可達(dá)。
32.如權(quán)利要求31所述的設(shè)備,還包括下述裝置,所述裝置用于構(gòu)建其根位于下述相鄰節(jié)點(diǎn)處的反向生成樹,其中所述相鄰節(jié)點(diǎn)包括包含有所述關(guān)聯(lián)鏈路的路徑,并且所述一組預(yù)定鏈路包含被包括在所述反向生成樹中的所有鏈路。
33.如權(quán)利要求23所述的設(shè)備,其中,對(duì)于m條鏈路和n個(gè)節(jié)點(diǎn)的狀態(tài)改變,增量值i滿足條件(m+2n)i<2L,其中L是所述網(wǎng)絡(luò)中的最小鏈路代價(jià)。
34.一種設(shè)備,用于通告具有作為組件的節(jié)點(diǎn)和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià),所述設(shè)備包括處理器;網(wǎng)絡(luò)接口,該網(wǎng)絡(luò)接口被通信耦合到所述處理器以經(jīng)由去往所述處理器的相鄰組件在所述處理器和網(wǎng)絡(luò)之間傳輸一個(gè)或多個(gè)分組流;以及可由所述處理器訪問的計(jì)算機(jī)可讀介質(zhì),并且所述計(jì)算機(jī)可讀介質(zhì)包括用于通告具有作為組件的節(jié)點(diǎn)和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的一個(gè)或多個(gè)指令序列,當(dāng)所述處理器執(zhí)行所述指令序列時(shí),所述指令序列使所述處理器執(zhí)行下述步驟檢測具有關(guān)聯(lián)鏈路的相鄰組件的狀態(tài)變化,其中所述狀態(tài)變化是從激活狀態(tài)到禁止?fàn)顟B(tài),或者反之;將關(guān)聯(lián)鏈路的代價(jià)改變?cè)隽恐?;和通告所述改變后的代價(jià)。
35.如權(quán)利要求34所述的設(shè)備,其中,以一個(gè)或多個(gè)預(yù)定時(shí)間間隔重復(fù)所述將關(guān)聯(lián)鏈路的代價(jià)改變?cè)隽恐挡⑼ǜ娓淖兒蟮拇鷥r(jià)的步驟。
36.如權(quán)利要求35所述的設(shè)備,其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,所述網(wǎng)絡(luò)中的節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
37.如權(quán)利要求35所述的設(shè)備,其中,所述一個(gè)或多個(gè)預(yù)定時(shí)間間隔包括下述時(shí)間間隔在所述時(shí)間間隔之后,任何一對(duì)相鄰節(jié)點(diǎn)已接收到并處理了所通告的改變后的代價(jià)。
38.如權(quán)利要求35所述的設(shè)備,其中,重復(fù)所述步驟,直至達(dá)到閾值代價(jià),其中在所述閾值代價(jià)處,將沒有網(wǎng)絡(luò)中的節(jié)點(diǎn)使用所述關(guān)聯(lián)鏈路來計(jì)算路由。
39.如權(quán)利要求34所述的設(shè)備,其中,所述狀態(tài)改變是從激活狀態(tài)到禁止?fàn)顟B(tài),并且其中所述改變關(guān)聯(lián)鏈路代價(jià)的步驟包括逐步增加所述關(guān)聯(lián)鏈路代價(jià)。
40.如權(quán)利要求34所述的設(shè)備,其中,所述狀態(tài)改變是從禁止?fàn)顟B(tài)到激活狀態(tài),并且其中所述改變關(guān)聯(lián)鏈路代價(jià)的步驟包括逐步減少所述關(guān)聯(lián)鏈路代價(jià)。
41.如權(quán)利要求34所述的設(shè)備,其中,所述增量值被選擇為小于所述網(wǎng)絡(luò)中的一組預(yù)定鏈路的最小鏈路代價(jià)的兩倍。
42.如權(quán)利要求41所述的設(shè)備,其中,所述節(jié)點(diǎn)具有沿所述關(guān)聯(lián)鏈路可達(dá)的相鄰節(jié)點(diǎn),并且所述一組預(yù)定鏈路包括所有下述鏈路通過所述鏈路,所述相鄰節(jié)點(diǎn)經(jīng)由所述關(guān)聯(lián)鏈路可達(dá)。
43.如權(quán)利要求42所述的設(shè)備,其中,所述處理器還執(zhí)行下述步驟構(gòu)建其根位于下述相鄰節(jié)點(diǎn)處的反向生成樹,其中所述相鄰節(jié)點(diǎn)包括包含有所述關(guān)聯(lián)鏈路的路徑,并且所述預(yù)定的一組鏈路包含被包括在所述反向生成樹中的所有鏈路。
44.如權(quán)利要求34所述的設(shè)備,其中,對(duì)于m條鏈路和n個(gè)節(jié)點(diǎn)的狀態(tài)改變,增量值i滿足條件(m+2n)i<2L,其中L是所述網(wǎng)絡(luò)中的最小鏈路代價(jià)。
45.如權(quán)利要求34所述的設(shè)備,其包括路由器。
全文摘要
本發(fā)明描述了一種用于通告具有作為組件的節(jié)點(diǎn)和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中的鏈路代價(jià)的方法。節(jié)點(diǎn)檢測相鄰組件的狀態(tài)變化。狀態(tài)變化可以是從激活狀態(tài)到禁止?fàn)顟B(tài)的變化,或者反之。節(jié)點(diǎn)將關(guān)聯(lián)鏈路代價(jià)改變?cè)隽恐?,并且通告改變后的代價(jià)。
文檔編號(hào)H04L12/56GK1736064SQ200380106520
公開日2006年2月15日 申請(qǐng)日期2003年10月30日 優(yōu)先權(quán)日2002年12月17日
發(fā)明者揚(yáng)·尚德 申請(qǐng)人:思科技術(shù)公司