專利名稱:用于報(bào)告數(shù)據(jù)網(wǎng)絡(luò)中的資源不足情況的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)網(wǎng)絡(luò),并且更具體地涉及報(bào)告數(shù)據(jù)網(wǎng)絡(luò)中的資源不足(OOR)情況。
背景技術(shù):
數(shù)據(jù)網(wǎng)絡(luò)是通過(guò)用于在諸如個(gè)人計(jì)算機(jī)和工作站之類的端節(jié)點(diǎn)之間傳輸數(shù)據(jù)的通信鏈路和分段來(lái)互連的節(jié)點(diǎn)的地理上的分布式集合??梢杂泻芏囝愋偷木W(wǎng)絡(luò),從局域網(wǎng)(LAN)到廣域網(wǎng)(WAN)。LAN通常連接位于同一個(gè)總的物理場(chǎng)所(例如建筑物或校園)中的專用私有通信鏈路上的節(jié)點(diǎn)。另一方面,WAN通常連接長(zhǎng)距離通信鏈路(例如公用載波電話線)上的大量地理上分散的節(jié)點(diǎn)?;ヂ?lián)網(wǎng)是WAN的示例,它連接全世界的不同網(wǎng)絡(luò),提供各個(gè)網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的全球通信。節(jié)點(diǎn)通常通過(guò)根據(jù)預(yù)定的協(xié)議(例如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP))交換離散的幀或數(shù)據(jù)分組來(lái)在數(shù)據(jù)網(wǎng)絡(luò)上進(jìn)行通信。在本上下文中,協(xié)議由一組限定節(jié)點(diǎn)怎樣彼此交互的規(guī)則構(gòu)成。
在典型的布置中,數(shù)據(jù)網(wǎng)絡(luò)中的端節(jié)點(diǎn)經(jīng)一個(gè)或多個(gè)中間節(jié)點(diǎn)(例如路由器)被耦合。路由器通常被配置為在網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)之間“路由”數(shù)據(jù),例如分組。路由通常是在第三層(L3)中執(zhí)行,這一層是開(kāi)放式系統(tǒng)互連參考模型(OSI-RM)中的網(wǎng)絡(luò)層。
路由器常常要維護(hù)轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)(FDB),其通常被配置為保存路由信息,該路由信息可以包括路由器用來(lái)確定為了到達(dá)目的地,數(shù)據(jù)(例如數(shù)據(jù)分組)要被轉(zhuǎn)發(fā)到的地方的L3地址和接口信息。例如,路由器可以具有被組織為包含一個(gè)或多個(gè)條目的路由表,其中每個(gè)條目包含目的節(jié)點(diǎn)的L3目的地址和關(guān)于通過(guò)其可以到達(dá)目的節(jié)點(diǎn)的路由器上的接口的接口信息。包含與路由表中的條目的目的地址相匹配的目的地址的數(shù)據(jù)分組被路由器轉(zhuǎn)發(fā)給由匹配條目所指定的接口,以傳送到目的節(jié)點(diǎn)。
路由器可以執(zhí)行允許路由器路由分組并與網(wǎng)絡(luò)中的其它路由器交換路由信息的一個(gè)或多個(gè)路由協(xié)議。路由器常常利用這個(gè)信息來(lái)配置(例如計(jì)算)它們的FDB。路由協(xié)議可以包括距離向量協(xié)議,例如眾所周知的路由信息協(xié)議(RIP),或鏈路狀態(tài)協(xié)議,例如眾所周知的中間系統(tǒng)對(duì)中間系統(tǒng)(IS-IS)協(xié)議和開(kāi)放式最短路徑優(yōu)先(OSPF)協(xié)議。路由信息通常以公告消息的形式在路由器之間被交換。例如,執(zhí)行OSPF協(xié)議的節(jié)點(diǎn)利用被稱為鏈路狀態(tài)公告(LSA)的公告消息來(lái)交換路由信息(例如鏈路狀態(tài))。這里所使用的公告消息一般指路由協(xié)議用來(lái)將路由信息傳送給網(wǎng)絡(luò)中的其它中間節(jié)點(diǎn)(例如路由器、交換機(jī))的消息。獲得公告消息的中間節(jié)點(diǎn)可以利用其中包含的信息來(lái)更新其FDB。
路由器可以利用面向連接的協(xié)議按照“面向連接”的方式將數(shù)據(jù)分組傳送通過(guò)源和目的地之間的網(wǎng)絡(luò)。面向連接的協(xié)議在建立在源和目的地之間的預(yù)定路徑(常常被稱為連接或電路)上將數(shù)據(jù)分組傳送通過(guò)網(wǎng)絡(luò)。這里,在任何數(shù)據(jù)被傳送之前,建立源和目的地之間的連接或電路。在連接被建立之后,數(shù)據(jù)在由該連接限定的路徑上在源和目的地之間被傳送。
一些面向連接的協(xié)議利用單向連接,即按照從源到目的地的一個(gè)方向傳送數(shù)據(jù)的連接。例如,路由器A和路由器B之間的單向連接按照從路由器A到路由器B的一個(gè)方向傳送數(shù)據(jù)。為了按照其它方向(即從路由器B到路由器A)傳送數(shù)據(jù),則需要建立從路由器B到路由器A的另一單向連接。
連接可以利用信令協(xié)議在端與端之間“發(fā)送信令”,所述信令協(xié)議例如資源預(yù)留協(xié)議(RSVP)。發(fā)起連接的信令的連接端常常被稱為連接的“頭端”,而終止信令的連接端常常被稱為連接的“尾端”。位于連接的頭端的路由器常常被稱為頭端節(jié)點(diǎn),而位于連接的尾端的路由器常常被稱為尾端節(jié)點(diǎn)。因而,例如在其中路由器A位于連接的“頭端”且路由器B位于連接的“尾端”的從源到目的地的連接中,路由器A是頭端節(jié)點(diǎn)且路由器B是尾端節(jié)點(diǎn)。
當(dāng)連接不再被需要時(shí),該連接通常被“拆除”并且該連接所利用的諸如節(jié)點(diǎn)、接口、協(xié)議等的資源可用于其它連接。這里所使用的資源指與中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體。這些實(shí)體可以包括中間節(jié)點(diǎn)本身、中間節(jié)點(diǎn)上的接口(例如端口)和運(yùn)行在中間節(jié)點(diǎn)上的協(xié)議。
多協(xié)議標(biāo)簽交換(MPLS)眾所周知的面向連接的協(xié)議的一個(gè)示例是多協(xié)議標(biāo)簽交換(MPLS)協(xié)議。MPLS利用新穎的基于標(biāo)簽的轉(zhuǎn)發(fā)技術(shù),其簡(jiǎn)化了復(fù)雜網(wǎng)絡(luò)中的互聯(lián)網(wǎng)協(xié)議(IP)流量路由。MPLS提供了包含面向連接的鏈路層所允許的各種特征的架構(gòu),所述特征例如包括服務(wù)質(zhì)量(QoS)、流量工程和基于約束關(guān)系的路由(CR)。
根據(jù)MPLS協(xié)議,預(yù)定的標(biāo)簽交換路徑(LSP)的頭端節(jié)點(diǎn)將標(biāo)簽添加到分組。頭端節(jié)點(diǎn)通常是常常被稱為入口LSR的標(biāo)簽交換路由器(LSR)。LSP是分組經(jīng)過(guò)從LSP的“頭端”到LSP的“尾端”的網(wǎng)絡(luò)所采用的預(yù)定路徑,并且標(biāo)簽通常包含與LSP相關(guān)聯(lián)的信息(例如標(biāo)志)。當(dāng)分組經(jīng)過(guò)LSP時(shí),處理該分組的LSR利用包含在標(biāo)簽中的標(biāo)志信息來(lái)沿著LSP“交換”分組。當(dāng)分組到達(dá)LSP的“尾端”處的節(jié)點(diǎn)(例如出口LSR)時(shí),標(biāo)簽被去除并且修改后的分組可以被相應(yīng)地進(jìn)一步處理(例如被路由)。
MPLS-流量工程(MPLS-TE)流量工程(TE)涉及按照便于有效且可靠的網(wǎng)絡(luò)操作同時(shí)優(yōu)化網(wǎng)絡(luò)資源利用率和數(shù)據(jù)流量性能的方式選擇數(shù)據(jù)流量所利用的路徑的過(guò)程。TE在各種帶寬和管理要求下工作以選擇用于傳送數(shù)據(jù)流量的最佳路徑。TE的目的在于計(jì)算從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的路徑,該路徑不違反各種約束條件(例如帶寬和各種管理要求)并且就某種度量標(biāo)準(zhǔn)而言是最佳的。一旦選擇了路徑,TE就負(fù)責(zé)建立和維護(hù)沿著該路徑的狀態(tài)。
雖然MPLS協(xié)議提供了在轉(zhuǎn)發(fā)MPLS網(wǎng)絡(luò)中的分組時(shí)的基礎(chǔ)性技術(shù),但是它并沒(méi)有提供用于支持TE所必需的所有組件。MPLS-TE是MPLS協(xié)議的擴(kuò)展,其利用TE來(lái)建立并維護(hù)MPLS-TE標(biāo)簽交換路徑(MPLS-TELSP)。MPLS-TE LSP由MPLS-TE按照確保資源可用于使用MPLS-TELSP的數(shù)據(jù)流的方式建立。MPLS-TE LSP通常起始于頭端LSR并且終止于尾端LSR。例如RSVP-TE的協(xié)議通常被用于為MPLS-TE LSP預(yù)留資源。
MPLS區(qū)分服務(wù)TE(DS-TE)MPLS區(qū)分服務(wù)TE(DS-TE)是MPLS-TE的擴(kuò)展,其使得流量基于服務(wù)類(CoS)而被分類。利用DS-TE,數(shù)據(jù)流被分成多個(gè)類并且資源基于每個(gè)類被分配給數(shù)據(jù)流。屬于特定DS-TE類的分組被說(shuō)成是構(gòu)成了行為集(BA)。
在DS-TE LSP的入口節(jié)點(diǎn),利用MPLS墊片頭(shim header)標(biāo)記分組,并且分組被分類到DS-TE類中并且被引導(dǎo)到合適的DS-TE LSP上。墊片頭包括20位標(biāo)簽值和3位實(shí)驗(yàn)值。獲得分組的LSR利用3位的實(shí)驗(yàn)值和/或20位的標(biāo)簽值來(lái)確定對(duì)分組的處理。
資源不足(OOR)情況在建立MPLS-TE LSP期間,沿著該路徑的節(jié)點(diǎn)可以接受MPLS-TELSP或者拒絕它??赡苁构?jié)點(diǎn)拒絕MPLS-TE LSP的一種情況是“資源不足”(OOR)情況。例如,當(dāng)允許新的MPLS-TE LSP將使節(jié)點(diǎn)(1)超出節(jié)點(diǎn)所允許的MPLS-TE LSP的最大數(shù)目,(2)離開(kāi)MPLS-TE LSP標(biāo)簽空間和/或(3)耗盡節(jié)點(diǎn)上的各種硬件資源時(shí),可能出現(xiàn)OOR情況。
當(dāng)MPLS-TE LSP被拒絕時(shí),拒絕該MPLS-TE LSP的節(jié)點(diǎn)通常通過(guò)拒絕消息將該拒絕傳達(dá)給發(fā)起MPLS-TE LSP的頭端節(jié)點(diǎn)。頭端節(jié)點(diǎn)可以通過(guò)從其路由拓?fù)渲小叭サ簟痹摼芙^節(jié)點(diǎn)并計(jì)算不使用該拒絕節(jié)點(diǎn)的MPLS-TE LSP的替代路徑來(lái)對(duì)該拒絕作出響應(yīng)。
某些路由協(xié)議(例如OSPF)常常公告可用于某些鏈路的帶寬。這里,頭端LSR可以利用這個(gè)信息來(lái)計(jì)算新的MPLS-TE LSP(從頭端LSR建立的)可以采用的路徑。然而,雖然在路徑被計(jì)算時(shí)被計(jì)算的路徑中的鏈路最初可能具有足夠的資源(例如就帶寬而言),但是之后在路徑實(shí)際被建立時(shí),它可能不具有足夠的資源(例如缺少硬件資源)。因而,雖然被公告的帶寬信息可能對(duì)于頭端LSR計(jì)算預(yù)期路徑是有用的,但是當(dāng)MPLS-TE LSP實(shí)際被建立時(shí)該信息可能會(huì)變成誤導(dǎo)性的。
用于處理與諸如數(shù)據(jù)鏈路、線路卡或節(jié)點(diǎn)的實(shí)體相關(guān)聯(lián)的OOR情況的現(xiàn)有技術(shù)包括在公告消息中公告實(shí)體具有“最大開(kāi)銷”。通過(guò)公告與實(shí)體相關(guān)聯(lián)的最大開(kāi)銷,就使網(wǎng)絡(luò)中的其它節(jié)點(diǎn)在它們進(jìn)行新的MPLS-TELSP的路徑計(jì)算時(shí)不被鼓勵(lì)使用該實(shí)體。但是公告實(shí)體具有最大開(kāi)銷不是一種報(bào)告實(shí)體的OOR情況的準(zhǔn)確方法。相反,如果沒(méi)有其它較低開(kāi)銷的替代物可用,則網(wǎng)絡(luò)上的節(jié)點(diǎn)在進(jìn)行新的MPLS-TE LSP的路徑計(jì)算時(shí)仍然可能使用該實(shí)體。
公告實(shí)體具有最大開(kāi)銷的方法的另一個(gè)問(wèn)題是會(huì)中斷現(xiàn)有MPLS-TELSP。由于最大開(kāi)銷指示實(shí)體具有與其相關(guān)聯(lián)的很高的開(kāi)銷,所以一旦知道與該實(shí)體相關(guān)聯(lián)的較高開(kāi)銷,節(jié)點(diǎn)就可能通過(guò)為使用該實(shí)體的現(xiàn)有MPLS-TE LSP重新計(jì)算路徑以避開(kāi)該實(shí)體來(lái)作出響應(yīng)。這樣就可能會(huì)引起使用這些LSP的現(xiàn)有數(shù)據(jù)流的中斷。
與公告實(shí)體具有最大開(kāi)銷的方法相關(guān)聯(lián)的另一個(gè)問(wèn)題是它不能向MPLS-TE LSP的頭端節(jié)點(diǎn)提供足夠的信息以使得節(jié)點(diǎn)可以在不能再使用該實(shí)體的DS-TE類和仍然可以使用該實(shí)體的DS-TE類之間進(jìn)行區(qū)分。這可能是節(jié)點(diǎn)上的資源基于每個(gè)DS-TE類被提供時(shí)遇到的情況。
發(fā)明內(nèi)容
本發(fā)明通過(guò)提供一種不涉及公告實(shí)體具有最大開(kāi)銷來(lái)指示實(shí)體“資源不足(OOR)”的用于報(bào)告諸如數(shù)據(jù)網(wǎng)絡(luò)的節(jié)點(diǎn)、線路卡和數(shù)據(jù)鏈路的實(shí)體的資源不足情況的技術(shù)克服了與現(xiàn)有技術(shù)相關(guān)的缺點(diǎn)。根據(jù)這種技術(shù),中間節(jié)點(diǎn)通過(guò)i)產(chǎn)生具有一個(gè)或多個(gè)類型-長(zhǎng)度-取值(TLV)對(duì)象的公告消息,其中每個(gè)TLV對(duì)象被配置用來(lái)報(bào)告實(shí)體的OOR情況,ii)在一個(gè)或多個(gè)TLV對(duì)象中報(bào)告實(shí)體的一個(gè)或多個(gè)OOR情況,并且iii)將公告消息洪泛(廣播)到數(shù)據(jù)網(wǎng)絡(luò)上來(lái)報(bào)告與中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體資源不足。新的標(biāo)簽交換路徑(LSP)頭端的節(jié)點(diǎn)可以使用包含在TLV對(duì)象中的信息來(lái)為新的LSP確定避開(kāi)該實(shí)體的路徑。
在所示出的實(shí)施例中,TLV對(duì)象包含被用于報(bào)告實(shí)體的OOR情況的標(biāo)記。作為示例,這些標(biāo)記被組織成8位的值,其中每一位表示一種多協(xié)議標(biāo)簽交換區(qū)分服務(wù)流量工程(DS-TE)類。如果針對(duì)諸如節(jié)點(diǎn)、線路卡或數(shù)據(jù)鏈路的特定實(shí)體的DS-TE類遇到OOR情況,則路由器斷言(assert)在一個(gè)或多個(gè)TLV對(duì)象中與該實(shí)體的DS-TE類相對(duì)應(yīng)的標(biāo)記,指示該實(shí)體針對(duì)該DS-TE類“資源不足”。
優(yōu)點(diǎn)在于,本發(fā)明是對(duì)現(xiàn)有技術(shù)的改進(jìn),因?yàn)楸景l(fā)明通知系統(tǒng)中的節(jié)點(diǎn)特定實(shí)體的OOR情況,而不需要采取公告實(shí)體具有最大開(kāi)銷的方式。由于不公告實(shí)體具有最大開(kāi)銷,使用該實(shí)體的現(xiàn)有LSP的頭端的節(jié)點(diǎn)可以避免為L(zhǎng)SP重新計(jì)算路徑,因而避免了不必要地打斷LSP上傳送的數(shù)據(jù)流。另外,由于頭端節(jié)點(diǎn)清楚OOR情況,所以頭端節(jié)點(diǎn)可以在進(jìn)行對(duì)新的LSP的路徑計(jì)算時(shí)避免使用該實(shí)體。此外,本發(fā)明使得頭端節(jié)點(diǎn)可以針對(duì)特定的實(shí)體在與遇到OOR情況的實(shí)體相關(guān)聯(lián)的DS-TE類和沒(méi)有遇到OOR情況的DS-TE類之間進(jìn)行區(qū)分,從而使得頭端節(jié)點(diǎn)在為新的LSP計(jì)算路徑時(shí)考慮到這一點(diǎn)。
結(jié)合附圖參考下面的描述可以更好地理解本發(fā)明以上的和其它的優(yōu)點(diǎn),其中相似的標(biāo)號(hào)表示相同或功能類似的元件圖1是可以結(jié)合本發(fā)明有益地使用的數(shù)據(jù)網(wǎng)絡(luò)的高級(jí)示意性框圖;圖2是可以結(jié)合本發(fā)明有益地使用的中間節(jié)點(diǎn)的高級(jí)示意性框圖;圖3是可以結(jié)合本發(fā)明使用的管理引擎的部分示意性框圖;圖4是可以結(jié)合本發(fā)明有益地使用的線路卡的部分示意性框圖;圖5是可以結(jié)合本發(fā)明有益地使用的開(kāi)放式系統(tǒng)最短路徑優(yōu)先(OSPF)協(xié)議鏈路狀態(tài)公告(LSA)的部分示意性框圖;圖6是可以結(jié)合本發(fā)明有益地使用的節(jié)點(diǎn)能力類型-長(zhǎng)度-取值(TLV)數(shù)據(jù)結(jié)構(gòu)的示意性框圖;圖7是可以結(jié)合本發(fā)明有益地使用的鏈路能力子TLV數(shù)據(jù)結(jié)構(gòu)的示意性框圖;圖8是可以結(jié)合本發(fā)明有益地使用的路徑錯(cuò)誤消息的示意性框圖;
圖9是可以被用于產(chǎn)生和廣播(洪泛)指示與中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體的資源不足(OOR)情況的公告消息的一系列步驟的流程圖;以及圖10A-B是根據(jù)本發(fā)明可以被用于響應(yīng)于OOR情況產(chǎn)生和洪泛路徑錯(cuò)誤消息的一系列步驟的流程圖。
具體實(shí)施例方式
圖1是可以結(jié)合本發(fā)明有益地使用的數(shù)據(jù)網(wǎng)絡(luò)100的示意性框圖。數(shù)據(jù)網(wǎng)絡(luò)100包括被連接到多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(例如端節(jié)點(diǎn)108a-b和中間節(jié)點(diǎn)200a-d)的通信(數(shù)據(jù))鏈路104的集合以形成網(wǎng)絡(luò)節(jié)點(diǎn)的互聯(lián)網(wǎng)絡(luò)。中間節(jié)點(diǎn)200b-c是廣域網(wǎng)(WAN)(例如互聯(lián)網(wǎng))140的一部分?;ヂ?lián)網(wǎng)上的節(jié)點(diǎn)通過(guò)根據(jù)一組預(yù)定義的協(xié)議交換數(shù)據(jù)分組來(lái)通信,所述協(xié)議例如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)或多協(xié)議標(biāo)簽交換(MPLS)協(xié)議。這里所使用的協(xié)議是描述怎樣在例如數(shù)據(jù)網(wǎng)絡(luò)中的兩個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù)的一組形式規(guī)則。
圖2是例如路由器的中間節(jié)點(diǎn)200的高級(jí)部分示意性框圖??梢越Y(jié)合本發(fā)明使用的合適的中間節(jié)點(diǎn)包括可以從Cisco Systems Incorporated,SanJose,CA得到的Cisco 7200、7600和12000系列路由器。中間節(jié)點(diǎn)200包括通過(guò)底板220互相連接的一個(gè)或多個(gè)線路卡400和管理引擎卡300。節(jié)點(diǎn)200被配置為執(zhí)行各種傳統(tǒng)的第2層(L2)和第3層(L3)交換和路由功能等,包括根據(jù)本發(fā)明的技術(shù)維護(hù)MPLS流量工程標(biāo)簽交換路徑(MPLS-TE LSP)。這里所使用的L2和L3分別指開(kāi)放式系統(tǒng)互連參考模型(OSI-RM)的數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層。節(jié)點(diǎn)200還被配置為支持各種協(xié)議,可以包括開(kāi)放式最短路徑優(yōu)先(OSPF)、中間系統(tǒng)對(duì)中間系統(tǒng)(IS-IS)、MPLS-TE、MPLS區(qū)分服務(wù)TE(DS-TE)、TCP/IP、以太網(wǎng)、異步傳輸模式(ATM)和幀中繼(FR)。
底板220包括點(diǎn)對(duì)點(diǎn)互連總線,其互連各種卡并且允許數(shù)據(jù)和信號(hào)從一個(gè)卡被傳送到另一個(gè)卡。線路卡400將中間節(jié)點(diǎn)200與網(wǎng)絡(luò)100相連接(接口)。線路卡400利用各種協(xié)議(例如ATM和以太網(wǎng))經(jīng)端口215在中間節(jié)點(diǎn)200和網(wǎng)絡(luò)之間傳送數(shù)據(jù)。從功能上講,線路卡400經(jīng)端口215獲取來(lái)自網(wǎng)絡(luò)100的數(shù)據(jù)分組并將這些數(shù)據(jù)分組轉(zhuǎn)發(fā)到數(shù)據(jù)總線220,并且經(jīng)端口215將從數(shù)據(jù)總線220接收到的數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)100。端口215可以包括例如ATM、以太網(wǎng)、快速以太網(wǎng)(FE)、吉比特以太網(wǎng)(GE)和FR端口。
管理引擎300包括被配置為管理節(jié)點(diǎn)200、維護(hù)其分配給線路卡400的中心轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)(FDB)、維護(hù)鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)和執(zhí)行諸如OSPF、IS-IS、MPLS-TE、DS-TE和IP的各種協(xié)議等的邏輯。此外,引擎300執(zhí)行其它功能,包括根據(jù)本發(fā)明向網(wǎng)絡(luò)100中的其它節(jié)點(diǎn)報(bào)告諸如數(shù)據(jù)鏈路、線路卡和節(jié)點(diǎn)本身的與節(jié)點(diǎn)200相關(guān)聯(lián)的實(shí)體的“資源不足”(OOR)情況。
圖3是可以結(jié)合本發(fā)明有益地使用的管理引擎300的高級(jí)部分示意性框圖。管理引擎300包括處理器320、系統(tǒng)控制器330、分組緩沖器350、接口邏輯360和存儲(chǔ)器340。接口邏輯360被耦合到底板220,并且被配置為在底板220和處理器320之間傳送數(shù)據(jù)。存儲(chǔ)器340包括可以由系統(tǒng)控制器330尋址的隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)位置以存儲(chǔ)例如數(shù)據(jù)結(jié)構(gòu)和軟件程序。具體地說(shuō),存儲(chǔ)器340是計(jì)算機(jī)可讀介質(zhì),包括被配置為實(shí)現(xiàn)128兆字節(jié)(Mb)隨機(jī)訪問(wèn)存儲(chǔ)器的動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM)設(shè)備。存儲(chǔ)器340包含處理器320所使用的各種軟件和數(shù)據(jù)結(jié)構(gòu),包括實(shí)現(xiàn)本發(fā)明的多個(gè)方面的軟件和數(shù)據(jù)結(jié)構(gòu)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚其它計(jì)算機(jī)可讀介質(zhì)(例如磁盤存儲(chǔ)設(shè)備和閃存設(shè)備)也可以用來(lái)存儲(chǔ)實(shí)現(xiàn)本發(fā)明的多個(gè)方面的計(jì)算機(jī)可執(zhí)行指令。此外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知道在例如無(wú)線數(shù)據(jù)鏈路或數(shù)據(jù)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))上可以產(chǎn)生電磁信號(hào)來(lái)承載實(shí)現(xiàn)本發(fā)明的多個(gè)方面的計(jì)算機(jī)可執(zhí)行指令。還應(yīng)當(dāng)注意本發(fā)明可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。
存儲(chǔ)器340包含操作系統(tǒng)342、LSDB 344、FDB 346、路由處理348、公告消息500、流量工程節(jié)點(diǎn)能力(TE_NODE_CAP)類型-長(zhǎng)度-取值(TLV)對(duì)象600和鏈路OOR子TLV對(duì)象700。LSDB 344是被配置為保存與網(wǎng)絡(luò)中的鏈路(例如物理數(shù)據(jù)鏈路)相關(guān)的信息的鏈路狀態(tài)數(shù)據(jù)庫(kù),中間節(jié)點(diǎn)200可以利用該數(shù)據(jù)庫(kù)獲得網(wǎng)絡(luò)100的拓?fù)浣Y(jié)構(gòu)和進(jìn)行其他操作。FDB 346是被配置為保存?zhèn)鹘y(tǒng)轉(zhuǎn)發(fā)信息的傳統(tǒng)的轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù),所述傳統(tǒng)轉(zhuǎn)發(fā)信息例如網(wǎng)絡(luò)中節(jié)點(diǎn)的L2和L3地址和標(biāo)識(shí)通過(guò)其可以到達(dá)與包含在FDB 344中的地址相關(guān)聯(lián)的節(jié)點(diǎn)的接口(例如端口215)的接口標(biāo)識(shí)(ID)。操作系統(tǒng)342包含計(jì)算機(jī)可執(zhí)行指令,這些指令例如通過(guò)調(diào)用支持在管理引擎300上執(zhí)行的軟件處理的操作來(lái)在功能上組織中間節(jié)點(diǎn)200。這些處理包括路由處理348和實(shí)現(xiàn)本發(fā)明的多個(gè)方面的多種功能,所述路由處理是被配置為實(shí)現(xiàn)中間節(jié)點(diǎn)200所支持的各種路由和交換協(xié)議的軟件處理。下面還要描述,公告消息500例如是OSPF不透明鏈路狀態(tài)公告(LSA)消息,其被用于與數(shù)據(jù)網(wǎng)絡(luò)100中的其它節(jié)點(diǎn)交換關(guān)于中間節(jié)點(diǎn)200的本地狀態(tài)(例如數(shù)據(jù)鏈路)的信息。下面還要描述的TE_NODE_CAP_TLV對(duì)象600和鏈路OOR子TLV對(duì)象700是可被用于根據(jù)本發(fā)明報(bào)告與中間節(jié)點(diǎn)200相關(guān)聯(lián)的各種實(shí)體的OOR情況的對(duì)象。
系統(tǒng)控制器330被耦合到處理器320和存儲(chǔ)器340,并且包括被配置為允許處理器320訪問(wèn)(例如讀、寫)包含在存儲(chǔ)器340中的存儲(chǔ)器位置的電路。處理器320是被配置為執(zhí)行包含在存儲(chǔ)器340中的指令以維護(hù)LSDB 344和FDB 346和進(jìn)行其他操作的傳統(tǒng)中央處理單元(CPU)。具體地說(shuō),處理器320執(zhí)行指令來(lái)獲取關(guān)于與包含在網(wǎng)絡(luò)100中的各種中間節(jié)點(diǎn)200相關(guān)聯(lián)的鏈路和路由的信息,并且利用該信息來(lái)維護(hù)LSDB 344和FDB 346。此外,處理器320執(zhí)行指令來(lái)產(chǎn)生包含中間節(jié)點(diǎn)200所已知的鏈路和路由信息的公告消息,并相應(yīng)地將這些公告消息分發(fā)給網(wǎng)絡(luò)中的其它中間節(jié)點(diǎn)200,這些中間節(jié)點(diǎn)200可以處理該信息以維護(hù)它們的LSDB和FDB。
分組緩沖器350包含接口邏輯360和處理器320可以經(jīng)系統(tǒng)控制器330訪問(wèn)的RAM位置。例如,分組緩沖器350包括高速RAM設(shè)備(例如同步DRAM(SDRAM)設(shè)備)并且被配置為保存管理引擎所獲得的數(shù)據(jù)分組以由處理器320來(lái)處理。另外,分組緩沖器350可以保存處理器320所產(chǎn)生的數(shù)據(jù)分組以向網(wǎng)絡(luò)100中的其它節(jié)點(diǎn)傳送。這些數(shù)據(jù)分組可以包含下面要描述的公告消息信息。
數(shù)據(jù)(分組)經(jīng)線路卡400被傳送到網(wǎng)絡(luò)100并從網(wǎng)絡(luò)100傳出。圖4是可以結(jié)合本發(fā)明有益地使用的示例性線路卡400的高級(jí)部分示意性框圖。線路卡400包括網(wǎng)絡(luò)接口邏輯420,被編碼的地址識(shí)別邏輯(EARL)440、底板接口邏輯460和輸出排隊(duì)邏輯450。此外,線路卡400可以包含被耦合到網(wǎng)絡(luò)100的一個(gè)或多個(gè)端口215。
網(wǎng)絡(luò)接口邏輯420將線路卡400接口到網(wǎng)絡(luò)100并使線路卡400能夠經(jīng)端口215傳送去往和來(lái)自網(wǎng)絡(luò)100的數(shù)據(jù)分組。為此,邏輯420包括傳統(tǒng)的接口電路,該電路可以包括將線路卡400與網(wǎng)絡(luò)的物理介質(zhì)和在該介質(zhì)上運(yùn)行的協(xié)議相接口所需要的信號(hào)、電特性、機(jī)械特性以及交換電路。
底板接口邏輯460包含將線路卡400接口到底板220并使線路卡400能夠傳送去往和來(lái)自耦合到底板220的其它卡的數(shù)據(jù)的電路。輸出排隊(duì)邏輯450包含被配置為控制經(jīng)端口215將數(shù)據(jù)分組傳送到網(wǎng)絡(luò)100上的電路,例如輸出隊(duì)列和調(diào)度控制邏輯。EARL 440例如用專用集成電路(ASIC)來(lái)實(shí)現(xiàn),其包括被配置為獲取和處理數(shù)據(jù)分組等的電路,包括為分組使用做轉(zhuǎn)發(fā)決定。EARL 440包括被配置為保存EARL 440用來(lái)為EARL 440所處理的分組確定目的地的信息(例如目的地址和端口)的線路卡轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)(LCFDB)442。這個(gè)信息可以從FDB 346中獲得并通過(guò)管理引擎300下載到線路卡400。
操作上,經(jīng)端口215通過(guò)網(wǎng)絡(luò)接口420從網(wǎng)絡(luò)100中獲得數(shù)據(jù)分組,并且數(shù)據(jù)分組被傳送到分組被處理的地方EARL 440。該處理可以包括使用LCFDB 442來(lái)為每個(gè)分組確定目的地,例如被耦合到底板220的另一個(gè)卡或者線路卡400上的端口215。在確定了分組的目的地之后,如果目的地是另一個(gè)卡則EARL 440指示底板接口460將分組經(jīng)底板220傳送到目的地,或者如果目的地是線路卡400上的端口,則EARL 440指示底板接口460將分組傳送給輸出排隊(duì)邏輯450。去往管理引擎300的數(shù)據(jù)分組通過(guò)接口邏輯360從底板220中被獲取并且被置于分組緩沖器350中,分組被保存在分組緩沖器350中以由處理器320進(jìn)一步處理。
作為示例,中間節(jié)點(diǎn)200被配置為執(zhí)行OSPF協(xié)議并且利用公告消息周期性地公告鏈路狀態(tài)信息??梢杂脕?lái)配置中間節(jié)點(diǎn)200的一種OSPF版本在可以從互聯(lián)網(wǎng)工程任務(wù)組(IETF)http://www.ietf.org得到的J.Moy,“OSPF Version 2”請(qǐng)求注解(RFC)2328中進(jìn)行了描述,該OSPF版本全部通過(guò)引用結(jié)合于此,就像全部在這里給出的一樣。應(yīng)當(dāng)理解OSPF協(xié)議只是用于示例,其它的公知協(xié)議(例如IS-IS協(xié)議)也可以適于利用本發(fā)明。
根據(jù)OSPF,LSA是描述中間節(jié)點(diǎn)的本地狀態(tài)的公告消息,例如包括中間節(jié)點(diǎn)的接口和物理數(shù)據(jù)鏈路的鏈路狀態(tài)。LSA在與中間節(jié)點(diǎn)相關(guān)聯(lián)的整個(gè)路由區(qū)域上被廣播(洪泛)并且包含可以被用來(lái)構(gòu)成包含在例如中間節(jié)點(diǎn)的LSDB 344中的信息的基礎(chǔ)的信息(例如鏈路狀態(tài))。圖5是可以結(jié)合本發(fā)明有益地使用的LSA 500的示意性框圖。LSA 500是包含頭字段510和不透明的信息字段520的OSPF不透明LSA。頭字段510包含與LSA相關(guān)聯(lián)的各種信息,包括LSA的“年齡”、各種選項(xiàng)、鏈路狀態(tài)類型、不透明類型、不透明標(biāo)識(shí)(ID)、公告路由器的身份、LSA的序列號(hào)、LSA的校驗(yàn)和以及LSA的長(zhǎng)度。不透明信息字段520包含關(guān)于與產(chǎn)生LSA的節(jié)點(diǎn)相關(guān)的實(shí)體的各種信息。這些實(shí)體可以包括節(jié)點(diǎn)上相關(guān)聯(lián)的數(shù)據(jù)鏈路和線路卡以及節(jié)點(diǎn)本身??梢越Y(jié)合本發(fā)明使用的不透明LSA在可以從IETF得到的R.Coltun,“The OSPF Opaque LSA Option,”RFC 2370中進(jìn)行了描述,該文檔全部通過(guò)引用結(jié)合于此,就像全部在這里給出的一樣。
本發(fā)明涉及用于通知數(shù)據(jù)網(wǎng)絡(luò)中的節(jié)點(diǎn)與節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體的OOR情況而不公告實(shí)體具有最大開(kāi)銷的技術(shù)。實(shí)體可以是節(jié)點(diǎn)、節(jié)點(diǎn)上的鏈路和/或節(jié)點(diǎn)上的線路卡。OOR情況可能由于與實(shí)體相關(guān)聯(lián)的資源被耗盡所引起。根據(jù)本發(fā)明的技術(shù),例如經(jīng)包含在公告消息中的一個(gè)或多個(gè)TLV對(duì)象來(lái)將OOR情況通知給節(jié)點(diǎn)。
根據(jù)本發(fā)明的一方面,與特定節(jié)點(diǎn)相關(guān)聯(lián)的OOR情況例如經(jīng)包含在不透明LSA 500的不透明信息字段520中的TLV對(duì)象被公告給數(shù)據(jù)網(wǎng)絡(luò)中的其它節(jié)點(diǎn)。圖6是根據(jù)本發(fā)明可以被用于報(bào)告節(jié)點(diǎn)的OOR情況的TE_NODE_CAP_TLV對(duì)象600的示意性框圖??蛇m于結(jié)合本發(fā)明使用的TE_NODE_CAP_TLV對(duì)象在A.Lindem等人的“Extensions to OSPF forAdvertising Optional Router Capabilities,”draft-ietf-ospf-cap-03.txt和JPVasseur等人的“OSPF MPLS Traffic Engineering capabilities,”draft-vasseur-ospf-te-caps-00.txt中進(jìn)行了描述,這兩個(gè)文檔都可以從IETF中得到并且全部通過(guò)引用結(jié)合于此,就像這里所給出的一樣。
TLV 600包括類型字段620、長(zhǎng)度字段630、標(biāo)記字段和路由器OOR標(biāo)記字段640。類型字段620包含將TLV對(duì)象600標(biāo)識(shí)為TE_NODE_CAPTLV對(duì)象的值。長(zhǎng)度字段630優(yōu)選地以字節(jié)為單位保存指示TLV對(duì)象600的長(zhǎng)度的值。標(biāo)記字段例如是被配置為保存各種標(biāo)記值的位掩碼。
路由器OOR標(biāo)記字段640包含例如指示與中間節(jié)點(diǎn)200相關(guān)聯(lián)的各個(gè)DS-TE類是否資源不足的標(biāo)記(例如位)。具體地說(shuō),路由器OOR標(biāo)記字段640例如保存八位的位掩碼值,其中每一位對(duì)應(yīng)于與特定的DS-TE類(例如DS-TE類0-7)相關(guān)聯(lián)的標(biāo)記,所述特定的DS-TE類與中間節(jié)點(diǎn)200相關(guān)。作為示例,中間節(jié)點(diǎn)200通過(guò)斷言(例如設(shè)置為1)路由器OOR標(biāo)記字段640中的相應(yīng)標(biāo)記(即位)來(lái)報(bào)告特定的DS-TE類(它與節(jié)點(diǎn)200相關(guān))的OOR情況。例如,假設(shè)路由器OOR標(biāo)記字段640的位0對(duì)應(yīng)于DS-TE類0的標(biāo)記。如果DS-TE類0(它與節(jié)點(diǎn)200相關(guān))遇到OOR情況,則節(jié)點(diǎn)200通過(guò)斷言與路由器OOR標(biāo)記字段640的DS-TE類0(即位0)相關(guān)聯(lián)的標(biāo)記來(lái)指示這種情況。如果中間節(jié)點(diǎn)200不能處理針對(duì)任一DS-TE類的任何新的MPLS-TE LSP,則作為示例,中間節(jié)點(diǎn)200斷言路由器OOR標(biāo)記字段640中的所有標(biāo)記。
根據(jù)本發(fā)明的另一方面,與特定節(jié)點(diǎn)的數(shù)據(jù)鏈路和線路卡相關(guān)聯(lián)的OOR情況類似地例如利用TLV對(duì)象在不透明LSA 500的不透明信息字段520中被報(bào)告。圖7是根據(jù)本發(fā)明可以用于報(bào)告特定鏈路的OOR情況的鏈路OOR子TLV對(duì)象700的示意性框圖。TLV對(duì)象700包括類型字段720、長(zhǎng)度字段730和鏈路OOR標(biāo)記字段740。類型字段720保存將TLV對(duì)象700標(biāo)識(shí)為鏈路OOR TLV對(duì)象的值。長(zhǎng)度字段730保存例如以字節(jié)為單位表示TLV 700的長(zhǎng)度的值。鏈路OOR標(biāo)記字段740保存例如表示與遇到OOR情況的鏈路相關(guān)聯(lián)的DS-TE類的值。作為示例,這個(gè)值是八位的位掩碼值,其中每一位表示與數(shù)據(jù)鏈路相關(guān)聯(lián)的特定的DS-TE類。
根據(jù)本發(fā)明,利用資源預(yù)留協(xié)議(RSVP)為數(shù)據(jù)網(wǎng)絡(luò)100中的MPLS-TE LSP預(yù)留資源。在可以從IETF得到的R.Braden等人的“Resource ReSerVation Protocol(RSVP),”RFC 2205中對(duì)RSVP進(jìn)行了定義,RSVP全部通過(guò)引用結(jié)合于此,就像全部在這里給出的一樣。
當(dāng)新的MPLS-TE LSP被用信號(hào)告知遇到OOR情況的實(shí)體時(shí),與該實(shí)體相關(guān)聯(lián)的節(jié)點(diǎn)200產(chǎn)生RSVP路徑錯(cuò)誤消息并將其轉(zhuǎn)發(fā)給新的MPLS-TELSP的頭端節(jié)點(diǎn)。作為示例,路徑錯(cuò)誤消息包含向頭端節(jié)點(diǎn)指示實(shí)體的OOR情況的錯(cuò)誤代碼。頭端節(jié)點(diǎn)可以通過(guò)從其FDB中去掉該實(shí)體以使得其在對(duì)新的MPLS-TE LSP的路徑計(jì)算中不再考慮該實(shí)體來(lái)對(duì)錯(cuò)誤消息作出響應(yīng)。另外,頭端節(jié)點(diǎn)可以為新的MPLS-TE LSP計(jì)算排除該實(shí)體的新路徑,并且利用RSVP來(lái)為新路徑上的新的MPLS-TE LSP預(yù)留資源。
圖8是可以結(jié)合本發(fā)明有益地使用的路徑錯(cuò)誤消息800的示意性框圖。消息800包括頭部810、會(huì)話對(duì)象820和錯(cuò)誤規(guī)范對(duì)象830。應(yīng)當(dāng)注意消息800可以包含例如由RSVP定義的其它對(duì)象。頭部包含各種信息,包括保存指示消息為路徑錯(cuò)誤消息的值的消息類型字段814。
會(huì)話對(duì)象820包括長(zhǎng)度字段822、類字段823和類型字段824。長(zhǎng)度字段822例如以字節(jié)為單位保存指示對(duì)象820的大小的值。類字段823保存指示對(duì)象例如是RSVP SESSION類對(duì)象的值。類型字段824保存指示類內(nèi)對(duì)象的類型的值。
會(huì)話對(duì)象820包含附加的信息,包括目的地址字段825、協(xié)議標(biāo)識(shí)(ID)字段826、標(biāo)記字段827和目的端口字段828。目的地址字段825和目的端口字段828保存分別表示與接收機(jī)相關(guān)聯(lián)的地址和端口(例如IP地址和端口)的值。協(xié)議ID字段826保存標(biāo)識(shí)與新的預(yù)留相關(guān)聯(lián)的數(shù)據(jù)流的協(xié)議的標(biāo)識(shí)。標(biāo)記字段827保存表示與會(huì)話對(duì)象820相關(guān)聯(lián)的各個(gè)標(biāo)記的值。
錯(cuò)誤規(guī)范對(duì)象830包括長(zhǎng)度字段832、類字段833和類型字段834。長(zhǎng)度字段832例如以字節(jié)為單位保存指示對(duì)象830的大小的值。類字段833保存指示對(duì)象例如是RSVP ERROR_SPEC類對(duì)象的值。類型字段824保存指示類內(nèi)對(duì)象的類型(例如IPv4類型的對(duì)象、IPv6類型的對(duì)象)的值。
錯(cuò)誤規(guī)范對(duì)象還包含錯(cuò)誤節(jié)點(diǎn)地址字段835、標(biāo)記字段836、錯(cuò)誤代碼字段837和錯(cuò)誤值字段838。錯(cuò)誤節(jié)點(diǎn)地址字段835保存表示檢測(cè)到錯(cuò)誤的路徑中的節(jié)點(diǎn)的地址(例如IP地址)的值。標(biāo)記字段836保存表示與錯(cuò)誤規(guī)范對(duì)象830相關(guān)聯(lián)的標(biāo)記的值。錯(cuò)誤代碼字段837保存描述錯(cuò)誤的值并且錯(cuò)誤值字段838保存表示關(guān)于錯(cuò)誤的各種附加信息的值。例如,錯(cuò)誤代碼字段837保存指示已在節(jié)點(diǎn)上遇到的OOR情況的值,并且錯(cuò)誤值字段838保存指示與遇到OOR情況的節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體的值。
節(jié)點(diǎn)例如通過(guò)斷言子TLV對(duì)象700的鏈路OOR標(biāo)記字段740中的適當(dāng)?shù)逆溌稯OR標(biāo)記來(lái)指示與針對(duì)特定鏈路的DS-TE類相關(guān)聯(lián)的OOR情況。子TLV對(duì)象700按照傳統(tǒng)的方式包括在LSA 500的不透明信息字段520中,以使得子TLV對(duì)象700與遇到OOR情況的鏈路相關(guān)聯(lián)。此外,如果線路卡遇到一個(gè)或多個(gè)OOR情況,則節(jié)點(diǎn)可以通過(guò)將指示線路卡上的每個(gè)鏈路的OOR情況的進(jìn)行了適當(dāng)初始化的子TLV對(duì)象700包括在LSA 500中來(lái)公告這個(gè)情況。
如上所示,根據(jù)本發(fā)明,與中間節(jié)點(diǎn)200上的實(shí)體相關(guān)聯(lián)的OOR情況在例如LSA 500的公告消息中被報(bào)告,并且被洪泛到相鄰節(jié)點(diǎn)。圖9是根據(jù)本發(fā)明可以被用于配置中間節(jié)點(diǎn)200以產(chǎn)生和洪泛指示與中間節(jié)點(diǎn)200相關(guān)聯(lián)的實(shí)體的OOR情況的公告消息的一系列步驟的流程圖。該流程開(kāi)始于步驟905并且進(jìn)行到步驟910,其中LSA 500(公告消息)被產(chǎn)生。作為示例,處理器320通過(guò)根據(jù)RFC 2370在存儲(chǔ)器340中分配不透明LSA 500并初始化其頭部510來(lái)產(chǎn)生LSA 500。
接下來(lái),在步驟915中,執(zhí)行檢查以判定對(duì)于節(jié)點(diǎn)200本身是否存在OOR情況。如果對(duì)于節(jié)點(diǎn)本身存在OOR情況,則流程進(jìn)行到步驟920,其中在公告消息中節(jié)點(diǎn)的OOR情況被報(bào)告,并且流程進(jìn)行到步驟945。作為示例,在步驟915中,節(jié)點(diǎn)200判定節(jié)點(diǎn)200所服務(wù)的一個(gè)或多個(gè)DS-TE類是否遇到OOR情況。如果是,則在步驟920中節(jié)點(diǎn)200通過(guò)產(chǎn)生指示這種情況的TE_NODE_CAP TLV對(duì)象600并將其置于LSA 500中來(lái)在LSA 500中報(bào)告OOR情況。具體地說(shuō),處理器320例如通過(guò)i)在存儲(chǔ)器340中分配對(duì)象600,ii)按照傳統(tǒng)的方式初始化類型620、長(zhǎng)度630和標(biāo)記字段并且iii)斷言路由器OOR標(biāo)記字段640中與遇到OOR情況的DS-TE類相對(duì)應(yīng)的標(biāo)記來(lái)產(chǎn)生對(duì)象600。然后,節(jié)點(diǎn)200以傳統(tǒng)的方式將所產(chǎn)生的對(duì)象600放置(例如復(fù)制)到所產(chǎn)生的公告消息500的不透明信息區(qū)域520中。應(yīng)當(dāng)注意如果節(jié)點(diǎn)資源不足使得其不能支持任一DS-TE類的任何另外MPLS-TE LSP,則路由器OOR標(biāo)記字段640中的所有標(biāo)記都被斷言。
如果對(duì)于節(jié)點(diǎn)本身不存在OOR情況,則流程進(jìn)行到步驟925,其中執(zhí)行檢查以判定對(duì)于節(jié)點(diǎn)200上的一個(gè)或多個(gè)線路卡400是否存在OOR情況。如果沒(méi)有,則流程進(jìn)行到步驟935。否則,流程進(jìn)行到步驟930,其中在LSA 500中報(bào)告一個(gè)或多個(gè)線路卡的OOR情況。作為示例,在步驟925中,節(jié)點(diǎn)200判定對(duì)于線路卡所處理的DS-TE類,一個(gè)或多個(gè)線路卡400是否遇到OOR情況。如果是,則對(duì)于遇到OOR情況的每個(gè)線路卡400,節(jié)點(diǎn)200產(chǎn)生與線路卡400相關(guān)聯(lián)的每個(gè)數(shù)據(jù)鏈路的鏈路OOR子TLV對(duì)象700并將其放置(例如復(fù)制)在LSA 500的不透明信息區(qū)域520中。具體地說(shuō),處理器320例如通過(guò)i)分配子TLV對(duì)象,ii)將指示子TLV對(duì)象是鏈路OOR子TLV的值放在類型字段720中,iii)將表示子TLV的長(zhǎng)度的值放在長(zhǎng)度字段730中并且iv)斷言(例如設(shè)置為1)與遇到OOR情況的DS-TE類相對(duì)應(yīng)的鏈路OOR標(biāo)記740來(lái)產(chǎn)生子TLV。然后,節(jié)點(diǎn)200將所產(chǎn)生的子TLV對(duì)象700放置在LSA 500的不透明信息區(qū)域520中,如上所述。
在步驟935中,執(zhí)行檢查以判定對(duì)于與節(jié)點(diǎn)200相關(guān)聯(lián)的一個(gè)或多個(gè)數(shù)據(jù)鏈路是否存在OOR情況。如果沒(méi)有,則流程進(jìn)行到步驟945。否則,流程進(jìn)行到步驟940,其中在LSA 500中報(bào)告一個(gè)或多個(gè)鏈路的OOR情況。例如在步驟935中,對(duì)于每個(gè)線路卡400,節(jié)點(diǎn)200判定與線路卡上的數(shù)據(jù)鏈路相關(guān)聯(lián)的一個(gè)或多個(gè)DS-TE類是否遇到OOR情況。如果是,在步驟940中,對(duì)于遇到OOR情況的每個(gè)鏈路,節(jié)點(diǎn)200產(chǎn)生鏈路OOR子TLV對(duì)象700,如上所述,包括斷言對(duì)應(yīng)于與遇到OOR情況的鏈路相關(guān)聯(lián)的DS-TE類的鏈路OOR標(biāo)記740。然后,節(jié)點(diǎn)200將所產(chǎn)生的子TLV對(duì)象700放置在LSA 500的不透明信息區(qū)域520中,如上所述。
在步驟945中,節(jié)點(diǎn)200以傳統(tǒng)的方式將LSA 500洪泛(廣播)到其相鄰節(jié)點(diǎn)。例如,中間節(jié)點(diǎn)通過(guò)指示一個(gè)或多個(gè)其線路卡400將LSA 500傳送到數(shù)據(jù)網(wǎng)絡(luò)上來(lái)洪泛LSA 500。該流程結(jié)束于步驟995。
應(yīng)當(dāng)注意在本發(fā)明的上述實(shí)施例中,消息的產(chǎn)生可以是事件驅(qū)動(dòng)的。例如,當(dāng)LSR處理新的MPLS-TE LSP并且判定由于OOR情況它不能適應(yīng)新的MPLS-TE LSP時(shí),LSR可以產(chǎn)生并發(fā)布報(bào)告OOR情況的公告消息。例如,OOR情況可以i)發(fā)生在節(jié)點(diǎn)級(jí)(例如適應(yīng)新的MPLS-TE LSP將使得對(duì)于給定的DS-TE類,MPLS-TE LSP的總數(shù)超過(guò)被配置的MPLS-TE LSP的最大數(shù)目并且/或者耗盡了LSR上的存儲(chǔ)器),ii)發(fā)生在線路卡級(jí)(例如線路卡的LCFDB中的新的條目不能被創(chuàng)建來(lái)適應(yīng)新的MPLS-TE LSP)或者iii)發(fā)生在鏈路級(jí)(例如適應(yīng)新的MPLS-TE LSP將使得來(lái)自鏈路上的給定DS-TE類的LSP的總數(shù)超過(guò)被配置的可以由鏈路處理的MPLS-TE LSP的總數(shù))。
根據(jù)本發(fā)明的技術(shù),在處理由頭端節(jié)點(diǎn)發(fā)出的路徑消息(例如RSVP路徑消息)時(shí)遇到OOR情況的節(jié)點(diǎn)通過(guò)路徑錯(cuò)誤消息將OOR情況報(bào)告給頭端節(jié)點(diǎn)。圖10A-B是根據(jù)本發(fā)明的技術(shù)可以被用于將OOR情況報(bào)告給發(fā)出路徑消息的頭端節(jié)點(diǎn)的一系列步驟的流程圖。
該流程開(kāi)始于步驟1005并且進(jìn)行到步驟1010,其中中間節(jié)點(diǎn)200獲得由頭端節(jié)點(diǎn)發(fā)出的路徑消息(例如RSVP路徑消息)。在步驟1015中,中間節(jié)點(diǎn)200例如根據(jù)RSVP處理所獲得的路徑消息。在步驟1020中,節(jié)點(diǎn)200判定就路徑消息的處理而言是否發(fā)生錯(cuò)誤。如果沒(méi)有發(fā)生錯(cuò)誤,則該流程進(jìn)行到步驟1095(圖10B),該流程結(jié)束。
在步驟1020中,如果就路徑消息的處理而言發(fā)生了錯(cuò)誤,則該流程進(jìn)行到步驟1025,其中路徑錯(cuò)誤消息800被產(chǎn)生。例如,節(jié)點(diǎn)200通過(guò)在存儲(chǔ)器340中為路徑錯(cuò)誤消息分配區(qū)域,以傳統(tǒng)的方式產(chǎn)生頭部810和錯(cuò)誤對(duì)象830并將它們放在被分配的路徑錯(cuò)誤消息800中來(lái)產(chǎn)生路徑錯(cuò)誤消息800。
在步驟1030中,例如由節(jié)點(diǎn)200執(zhí)行檢查來(lái)判定是否由于節(jié)點(diǎn)本身的OOR情況而發(fā)生錯(cuò)誤。如果是,則流程進(jìn)行到步驟1035,其中節(jié)點(diǎn)在路徑錯(cuò)誤消息800中報(bào)告“節(jié)點(diǎn)OOR情況”并且流程進(jìn)行到步驟1060。例如,中間節(jié)點(diǎn)200通過(guò)設(shè)置錯(cuò)誤代碼837和錯(cuò)誤值838字段的值報(bào)告“節(jié)點(diǎn)OOR情況”以指示節(jié)點(diǎn)本身出現(xiàn)了OOR情況。
如果沒(méi)有由于節(jié)點(diǎn)本身的OOR情況發(fā)生錯(cuò)誤,則流程進(jìn)行到步驟1040,其中例如由節(jié)點(diǎn)200執(zhí)行檢查來(lái)判定是否由于節(jié)點(diǎn)200上的一個(gè)或多個(gè)線路卡的OOR情況而發(fā)生錯(cuò)誤。如果沒(méi)有,則流程進(jìn)行到步驟1050。否則,流程進(jìn)行到步驟1045,其中節(jié)點(diǎn)200在路徑錯(cuò)誤消息800中報(bào)告線路卡的OOR情況。例如,節(jié)點(diǎn)200設(shè)置錯(cuò)誤代碼837和錯(cuò)誤值838字段的值以指示遇到了OOR情況的線路卡。
在步驟1050中,例如由節(jié)點(diǎn)200執(zhí)行檢查來(lái)判定是否由于節(jié)點(diǎn)200上的一個(gè)或多個(gè)鏈路的OOR情況而發(fā)生錯(cuò)誤。如果沒(méi)有,則流程進(jìn)行到步驟1060。否則,流程進(jìn)行到步驟1055,其中節(jié)點(diǎn)200在路徑錯(cuò)誤消息800中報(bào)告一個(gè)或多個(gè)鏈路的OOR情況。例如,節(jié)點(diǎn)200設(shè)置錯(cuò)誤代碼837和錯(cuò)誤值838字段的值以指示遇到了OOR情況的鏈路。
在步驟1060中,中間節(jié)點(diǎn)200將路徑錯(cuò)誤消息轉(zhuǎn)發(fā)給發(fā)出路徑消息的頭端節(jié)點(diǎn)。流程結(jié)束于步驟1095。
以上是針對(duì)本發(fā)明的特定實(shí)施例的描述。應(yīng)當(dāng)清楚在實(shí)現(xiàn)本發(fā)明的一些或全部?jī)?yōu)點(diǎn)的情況下可以對(duì)所描述的實(shí)施例進(jìn)行其它的改變和修改。因此,所附權(quán)利要求書的目的在于包括本發(fā)明的精神和范圍內(nèi)的所有這樣的改變和修改。
權(quán)利要求
1.一種報(bào)告與包含在數(shù)據(jù)網(wǎng)絡(luò)中的中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體資源不足(OOR)的方法,該方法包括以下步驟產(chǎn)生具有被配置為報(bào)告所述實(shí)體的一個(gè)或多個(gè)OOR情況的一個(gè)或多個(gè)類型-長(zhǎng)度-取值(TLV)對(duì)象的公告消息;并且在所述一個(gè)或多個(gè)TLV對(duì)象中報(bào)告所述一個(gè)或多個(gè)OOR情況。
2.如權(quán)利要求1所述的方法,其中所述實(shí)體是所述中間節(jié)點(diǎn)。
3.如權(quán)利要求1所述的方法,其中所述實(shí)體是所述中間節(jié)點(diǎn)上的線路卡。
4.如權(quán)利要求1所述的方法,其中所述實(shí)體是所述中間節(jié)點(diǎn)上的數(shù)據(jù)鏈路。
5.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)TLV對(duì)象是流量工程節(jié)點(diǎn)能力(TE_NODE_CAP)TLV對(duì)象。
6.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)TLV對(duì)象是流量工程鏈路能力TLV對(duì)象。
7.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)TLV對(duì)象包含被配置為報(bào)告所述實(shí)體的一個(gè)或多個(gè)OOR情況的一個(gè)或多個(gè)標(biāo)記。
8.如權(quán)利要求7所述的方法,還包括以下步驟斷言包含在一個(gè)或多個(gè)TLV對(duì)象中的所述一個(gè)或多個(gè)標(biāo)記,以報(bào)告所述實(shí)體資源不足。
9.如權(quán)利要求8所述的方法,其中所述標(biāo)記被包含在路由器OOR標(biāo)記字段中。
10.如權(quán)利要求8所述的方法,其中所述標(biāo)記被包含在鏈路OOR標(biāo)記字段中。
11.如權(quán)利要求8所述的方法,其中每個(gè)標(biāo)記與和所述實(shí)體相關(guān)聯(lián)的多協(xié)議標(biāo)簽交換區(qū)分服務(wù)流量工程(DS-TE)類相關(guān)聯(lián)。
12.如權(quán)利要求11所述的方法,還包括以下步驟斷言一個(gè)或多個(gè)標(biāo)記以報(bào)告與所述實(shí)體相關(guān)聯(lián)的一個(gè)或多個(gè)DS-TE類的OOR情況。
13.如權(quán)利要求1所述的方法,還包括以下步驟將所述公告信息洪泛到所述數(shù)據(jù)網(wǎng)絡(luò)上。
14.一種數(shù)據(jù)網(wǎng)絡(luò)中的中間節(jié)點(diǎn),被配置為指示與所述中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體資源不足(OOR),所述中間節(jié)點(diǎn)包括存儲(chǔ)器,其包含具有被配置為報(bào)告所述實(shí)體的一個(gè)或多個(gè)OOR情況的一個(gè)或多個(gè)TLV對(duì)象的公告消息;以及處理器,其被配置為在所述一個(gè)或多個(gè)TLV對(duì)象中報(bào)告所述實(shí)體的OOR情況。
15.如權(quán)利要求14所述的中間節(jié)點(diǎn),還包括一個(gè)或多個(gè)線路卡,被配置為將所述公告消息傳送到所述數(shù)據(jù)網(wǎng)絡(luò)上。
16.如權(quán)利要求14所述的中間節(jié)點(diǎn),其中所述一個(gè)或多個(gè)TLV對(duì)象包含指示所述實(shí)體的一個(gè)或多個(gè)OOR情況的標(biāo)記。
17.如權(quán)利要求16所述的中間節(jié)點(diǎn),其中所述處理器還被配置為斷言包含在所述TLV對(duì)象中的一個(gè)或多個(gè)標(biāo)記以報(bào)告所述實(shí)體的所述一個(gè)或多個(gè)OOR情況。
18.如權(quán)利要求14所述的中間節(jié)點(diǎn),其中每個(gè)標(biāo)記與和所述實(shí)體相關(guān)聯(lián)的多協(xié)議標(biāo)簽交換區(qū)分服務(wù)流量工程(DS-TE)類相關(guān)聯(lián)。
19.如權(quán)利要求14所述的中間節(jié)點(diǎn),其中所述實(shí)體是所述中間節(jié)點(diǎn)中的線路卡。
20.如權(quán)利要求14所述的中間節(jié)點(diǎn),其中所述實(shí)體是所述中間節(jié)點(diǎn)上的數(shù)據(jù)鏈路。
21.一種設(shè)備,被配置為指示與包含在數(shù)據(jù)網(wǎng)絡(luò)中的中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體資源不足(OOR),所述設(shè)備包括用于產(chǎn)生包含一個(gè)或多個(gè)類型-長(zhǎng)度-取值(TLV)對(duì)象的公告消息的裝置;用于在所述一個(gè)或多個(gè)TLV對(duì)象中報(bào)告所述實(shí)體的OOR情況的裝置。
22.一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)可執(zhí)行指令用于產(chǎn)生具有被配置為報(bào)告與包含在數(shù)據(jù)網(wǎng)絡(luò)中的中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體的一個(gè)或多個(gè)OOR情況的一個(gè)或多個(gè)類型-長(zhǎng)度-取值(TLV)對(duì)象的公告消息;并且在所述一個(gè)或多個(gè)TLV對(duì)象中報(bào)告所述一個(gè)或多個(gè)OOR情況。
23.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)可執(zhí)行指令用于將所述公告信息洪泛到所述數(shù)據(jù)網(wǎng)絡(luò)上。
24.一種報(bào)告與包含在數(shù)據(jù)網(wǎng)絡(luò)中的中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體資源不足(OOR)的方法,所述方法包括以下步驟產(chǎn)生路徑錯(cuò)誤消息;并且在所述路徑錯(cuò)誤消息中報(bào)告路徑中的OOR情況。
全文摘要
本發(fā)明提供了一種系統(tǒng)和方法,用于以不涉及利用最大開(kāi)銷來(lái)指示實(shí)體資源不足(OOR)的方式報(bào)告諸如節(jié)點(diǎn)、線路卡和數(shù)據(jù)鏈路的實(shí)體的OOR情況。數(shù)據(jù)網(wǎng)絡(luò)中的中間節(jié)點(diǎn)被配置有指示與中間節(jié)點(diǎn)相關(guān)聯(lián)的實(shí)體OOR的管理引擎(300)。存儲(chǔ)器(340)包含具有一個(gè)或多個(gè)被配置為報(bào)告實(shí)體的一個(gè)或多個(gè)OOR情況的TLV對(duì)象的公告消息。處理器(320)被配置為在一個(gè)或多個(gè)TLV對(duì)象中報(bào)告實(shí)體的OOR情況。
文檔編號(hào)H04L12/26GK101019372SQ200580030896
公開(kāi)日2007年8月15日 申請(qǐng)日期2005年10月6日 優(yōu)先權(quán)日2004年10月13日
發(fā)明者薩米·布索斯, 馬薩拉杰·斯瓦巴蘭, 戴維·D·沃德, 斯特凡諾·B·普雷維蒂, 讓-菲利普·瓦瑟爾, 洛多弗·費(fèi)加羅, 拉沙德·A·拉赫曼 申請(qǐng)人:思科技術(shù)公司