亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于計(jì)算機(jī)網(wǎng)絡(luò)中ip骨干上的數(shù)據(jù)流的最優(yōu)路由的技術(shù)的制作方法

文檔序號(hào):6454128閱讀:124來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于計(jì)算機(jī)網(wǎng)絡(luò)中ip骨干上的數(shù)據(jù)流的最優(yōu)路由的技術(shù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò),更具體地,涉及優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié) 議(IP)骨干上的應(yīng)用數(shù)據(jù)流的路由。
背景技術(shù)
計(jì)算機(jī)網(wǎng)絡(luò)是多個(gè)節(jié)點(diǎn)的地理分布集合,所述節(jié)點(diǎn)通過(guò)用于在端節(jié)點(diǎn) 之間傳輸數(shù)據(jù)的通信鏈路和網(wǎng)段來(lái)互連。有很多類(lèi)型的網(wǎng)絡(luò)可用,所述類(lèi)
型范圍從局域網(wǎng)(LAN)到廣域網(wǎng)(WAN)不等。LAN通常通過(guò)位于同 一普通物理位置(如大樓或校園)的專(zhuān)用私有通信鏈路來(lái)連接多個(gè)節(jié)點(diǎn)。 另一方面,WAN通常通過(guò)長(zhǎng)距離通信鏈路來(lái)連接多個(gè)地理上分散的節(jié) 點(diǎn),所述鏈路如公共載體電話(huà)線、光路、同步光網(wǎng)絡(luò)(SONET)或同步數(shù) 字體系(SDH)鏈路。因特網(wǎng)是連接遍布世界的分散網(wǎng)絡(luò)的WAN的示 例,提供各種網(wǎng)絡(luò)上的節(jié)點(diǎn)之間的全球通信。節(jié)點(diǎn)通常通過(guò)根據(jù)預(yù)定協(xié)議 交換離散幀或數(shù)據(jù)分組來(lái)通過(guò)網(wǎng)絡(luò)通信,所述協(xié)議如傳輸控制協(xié)議/因特網(wǎng) 協(xié)議(TCP/IP)。在這樣的情況下,協(xié)議由定義節(jié)點(diǎn)如何彼此交互的一組 規(guī)則組成。計(jì)算機(jī)網(wǎng)絡(luò)可以通過(guò)諸如路由器之類(lèi)的中間網(wǎng)絡(luò)節(jié)點(diǎn)來(lái)進(jìn)一步 互連,以擴(kuò)大每個(gè)網(wǎng)絡(luò)的有效"尺寸"。
由于能夠證明互連的計(jì)算機(jī)網(wǎng)絡(luò)的管理繁重,因此較小的一群計(jì)算機(jī) 網(wǎng)絡(luò)可以作為路由域或自治系統(tǒng)來(lái)維護(hù)。自治系統(tǒng)(AS)內(nèi)的網(wǎng)絡(luò)通常通 過(guò)被配置成執(zhí)行域內(nèi)路由協(xié)議的常規(guī)"域內(nèi)"路由器來(lái)耦合在一起,并且 一般隸屬于公共權(quán)限(common authority)。為了改善路由可伸縮性,服務(wù) 供應(yīng)商(例如,ISP)可將AS劃分成多個(gè)"區(qū)域"或"級(jí)別"。但是,可 能希望增加能夠交換數(shù)據(jù)的節(jié)點(diǎn)的數(shù)量;這種情況下,運(yùn)行域間路由協(xié)議 的域間路由器用于互連各種AS的節(jié)點(diǎn)。另外,可能希望互連在不同管理 域下操作的各種AS。此處所使用的區(qū)域或級(jí)別,或者更具體地說(shuō),AS,
域內(nèi)路由協(xié)議或者內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)的示例為開(kāi)放最短路徑優(yōu)先
(OSPF)路由協(xié)議和中間系統(tǒng)到中間系統(tǒng)(IS-IS)路由協(xié)議。OSPF和 IS-IS協(xié)議基于鏈路狀態(tài)技術(shù),因此通常被稱(chēng)為鏈路狀態(tài)路由協(xié)議。鏈路狀 態(tài)協(xié)議定義路由信息和網(wǎng)絡(luò)拓?fù)湫畔⒃谟蛑斜唤粨Q和處理的方式。該信息 一般針對(duì)域內(nèi)路由器的本地狀態(tài)(例如,路由器的可用接口和可達(dá)鄰居或 鄰接)。OSPF協(xié)議被描述于日期為1998年4月、題為"OSPFve^ow2" 的RFC 2328,在IP情況下使用的IS-IS協(xié)議被描述于日期為1990年12 月、題為"t/se o/(957ZS-ZSz'w TCPZ/P Dt/a/五"vzyowwzewte "的 RFC 1195中,二者都通過(guò)引用方式結(jié)合于此。
中間網(wǎng)絡(luò)節(jié)點(diǎn)通常將其路由信息存儲(chǔ)在由路由信息庫(kù)(RIB)來(lái)維護(hù) 和管理的路由表中。路由表是一種可搜索數(shù)據(jù)結(jié)構(gòu),其中網(wǎng)絡(luò)地址被映射 到其關(guān)聯(lián)路由信息。然而,本領(lǐng)域技術(shù)人員將理解路由表不需要被組織為 表,而是也可以是另一類(lèi)型的可搜索數(shù)據(jù)結(jié)構(gòu)。盡管中間網(wǎng)絡(luò)節(jié)點(diǎn)的路由 表可以配備預(yù)定的一組路由信息,但是該節(jié)點(diǎn)也可以在其發(fā)送和接收數(shù)據(jù) 分組時(shí)動(dòng)態(tài)獲取("學(xué)習(xí)")網(wǎng)絡(luò)路由信息。當(dāng)在中間網(wǎng)絡(luò)節(jié)點(diǎn)處接收到 分組時(shí),分組的目的地地址可以用于標(biāo)識(shí)包含與收到的分組相關(guān)聯(lián)的路由 信息的路由表?xiàng)l目。分組的路由信息指示分組的下一跳地址等等。
為了確保其路由表包含最新路由信息,中間網(wǎng)絡(luò)節(jié)點(diǎn)可以與其他中間 節(jié)點(diǎn)協(xié)作以散布代表當(dāng)前網(wǎng)絡(luò)拓?fù)涞穆酚尚畔?。例如,假定中間網(wǎng)絡(luò)節(jié)點(diǎn) 檢測(cè)到其相鄰節(jié)點(diǎn)(即,鄰接網(wǎng)絡(luò)節(jié)點(diǎn))之一例如由于鏈路故障或相鄰節(jié) 點(diǎn)"離線"等等變得不可用。在這種情形下,中間網(wǎng)絡(luò)節(jié)點(diǎn)可以更新存儲(chǔ) 在其路由表中的路由信息,以確保數(shù)據(jù)分組不被路由到不可用的網(wǎng)絡(luò)節(jié) 點(diǎn)。此外,中間節(jié)點(diǎn)還可以將該網(wǎng)絡(luò)拓?fù)涞淖兓瘋鬟f給其他中間網(wǎng)絡(luò)節(jié) 點(diǎn),以便它們也可以更新其本地路由表并繞過(guò)不可用節(jié)點(diǎn)。以這種方式, 每個(gè)中間網(wǎng)絡(luò)節(jié)點(diǎn)"獲知"拓?fù)涞淖兓?br> 一般來(lái)說(shuō),路由信息是根據(jù)預(yù)定的網(wǎng)絡(luò)通信協(xié)議,例如鏈路狀態(tài)協(xié)議 (例如IS-IS或OSPF)在中間網(wǎng)絡(luò)節(jié)點(diǎn)之間散布的。通常的鏈路狀態(tài)協(xié)議 使用鏈路狀態(tài)公告或鏈路狀態(tài)分組(或"IGP公告")來(lái)在互連的中間網(wǎng)200780007431.9 絡(luò)節(jié)點(diǎn)(IGP節(jié)點(diǎn))之間交換路由信息。這里所使用的IGP公告一般描述
IGP路由協(xié)議用來(lái)在互連的IGP節(jié)點(diǎn)(即,路由器和交換機(jī))之間傳遞路 由信息的任何消息。在操作上,第一IGP節(jié)點(diǎn)可以生成IGP公告,并通過(guò) 其每個(gè)耦合到其他IGP節(jié)點(diǎn)的網(wǎng)絡(luò)接口 "洪泛(flood)"(即,發(fā)送)分 組。其后,第二IGP節(jié)點(diǎn)可以接收被洪泛的IGP公告,并基于包含在收到 的IGP公告中的路由信息更新其路由表。接著,第二IGP節(jié)點(diǎn)可以通過(guò)其 每個(gè)網(wǎng)絡(luò)接口來(lái)洪泛收到的IGP公告,接收到IGP公告的接口除外。該洪 泛處理可以重復(fù),直到每個(gè)互連的IGP節(jié)點(diǎn)都已接收到IGP公告并更新其 本地路由表為止。
在實(shí)際中,每個(gè)IGP節(jié)點(diǎn)一般生成并散布這樣的IGP公告,該公告的 路由信息包括中間節(jié)點(diǎn)的相鄰網(wǎng)絡(luò)節(jié)點(diǎn)以及與每個(gè)鄰居相關(guān)聯(lián)的一個(gè)或更 多個(gè)"代價(jià)"值的列表。這里所使用的與相鄰節(jié)點(diǎn)相關(guān)聯(lián)的代價(jià)值是用于 確定與該節(jié)點(diǎn)進(jìn)行通信的相對(duì)難易程度的任意度量("鏈路度量")。例 如,成本值可以按照到達(dá)相鄰節(jié)點(diǎn)所需的跳數(shù)、分組到達(dá)相鄰節(jié)點(diǎn)的平均 時(shí)間、耦合到相鄰節(jié)點(diǎn)的通信鏈路上的可用帶寬或網(wǎng)絡(luò)流量等等方面來(lái)量 度。值得注意地,如本領(lǐng)域技術(shù)人員將理解的那樣,IGP公告的流量工程 (TE)擴(kuò)展可以用來(lái)傳送各種鏈路度量,例如鏈路利用率等。用于IGP的 TE擴(kuò)展的示例在日期為2004年6月、題為"/"terme^ate-S"tem-to-7ntewze(iZate-(ZS-75^_/br TVy^c的RFC 3784和日期為2003年9月、題為"rra^ c £>^'"een'"g (T五」to OS尸F(xiàn)F^Wow2"的RFC 3630中找到,二者都通過(guò)引用方式結(jié)合于此。
如上所述,通常洪泛IGP公告直至每個(gè)中間網(wǎng)絡(luò)IGP節(jié)點(diǎn)都已從每個(gè) 其他互連的中間節(jié)點(diǎn)收到IGP公告。然后,每個(gè)IGP節(jié)點(diǎn)可以(例如在鏈 路狀態(tài)協(xié)議中)通過(guò)聚集收到的鄰近節(jié)點(diǎn)和代價(jià)值的列表來(lái)構(gòu)造同一 "視 圖"的網(wǎng)絡(luò)拓?fù)?。為此,每個(gè)IGP節(jié)點(diǎn)可將收到的該路由信息輸入到"最 短路徑優(yōu)先"(shortest path first, SPF)計(jì)算中,該計(jì)算確定將中間節(jié)點(diǎn) 與每個(gè)其他網(wǎng)絡(luò)節(jié)點(diǎn)耦合的最低代價(jià)的網(wǎng)絡(luò)路徑,即,因此而計(jì)算本領(lǐng)域 技術(shù)人員所理解的"最短路徑樹(shù)"(SPT)。例如,Dijkstra算法是用于執(zhí) 行這種SPF計(jì)算的常規(guī)技術(shù),對(duì)該算法更詳細(xì)的描述見(jiàn)1999年9月出版
的、Radia Perlman所著i果本"/w/ercowzec"o似Secowd五t/"zow"的12.2.4小 節(jié),其通過(guò)引用方式被結(jié)合于此,如同在此處被完整提出一樣。每個(gè)IGP 節(jié)點(diǎn)基于其SPF計(jì)算結(jié)果來(lái)更新存儲(chǔ)在其本地路由表中的路由信息。具體 而言,RIB更新路由表來(lái)將目的節(jié)點(diǎn)與SPF計(jì)算所確定的和到達(dá)那些節(jié)點(diǎn) 的最低代價(jià)路徑相關(guān)的下一跳接口聯(lián)系起來(lái)。
在網(wǎng)絡(luò)中轉(zhuǎn)移的數(shù)據(jù)分組可包括固定尺寸的數(shù)據(jù)包和/或可變尺寸的數(shù) 據(jù)幀。每個(gè)數(shù)據(jù)分組通常包括前置("封裝")了根據(jù)網(wǎng)絡(luò)通信協(xié)議格式 化的至少一個(gè)網(wǎng)絡(luò)首部的"有效載荷"數(shù)據(jù)。網(wǎng)絡(luò)首部包括使得客戶(hù)節(jié)點(diǎn) 和中間節(jié)點(diǎn)能夠通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)來(lái)有效地路由該分組的信息。經(jīng)常,分組 的網(wǎng)絡(luò)首部至少包括數(shù)據(jù)鏈路(第2層)首部和互聯(lián)網(wǎng)(第3層)首部, 如開(kāi)發(fā)系統(tǒng)互連(OSI)參考模型所定義的那樣。OSI參考模型一般被詳 細(xì)描述于日期為1999年9月出版的、Radia Perlman所著題為 "/"^co朋ec"'o似5"ecom/ WWow"的參考書(shū)的第1.1節(jié),其通過(guò)弓l用方式 被結(jié)合于此,如同在此處被完整提出一樣。
操作時(shí),客戶(hù)節(jié)點(diǎn)將數(shù)據(jù)分組發(fā)送到中間網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)接口。之
后,中間網(wǎng)絡(luò)節(jié)點(diǎn)接收分組并將分組轉(zhuǎn)發(fā)到其下一目的地。例如,中間網(wǎng) 絡(luò)節(jié)點(diǎn)可以執(zhí)行第2層交換功能,僅基于分組的數(shù)據(jù)鏈路首部的內(nèi)容來(lái)將 分組從一個(gè)網(wǎng)絡(luò)接口重新定向到另一個(gè)網(wǎng)絡(luò)接口?;蛘?,中間網(wǎng)絡(luò)節(jié)點(diǎn)可 以執(zhí)行第3層路由功能或轉(zhuǎn)發(fā)決定,基于分組的互聯(lián)網(wǎng)首部來(lái)選擇最合適 的網(wǎng)絡(luò)接口以轉(zhuǎn)發(fā)分組。
數(shù)據(jù)分組用于通過(guò)網(wǎng)絡(luò)和子網(wǎng)來(lái)傳輸多種形式的信息。例如,視頻信 息可以根據(jù)本領(lǐng)域技術(shù)人員公知的視頻點(diǎn)播(VoD)標(biāo)準(zhǔn)來(lái)發(fā)送。VoD指 代用于通過(guò)數(shù)據(jù)網(wǎng)絡(luò)從源節(jié)點(diǎn)(例如,VoD應(yīng)用服務(wù)器)向目的節(jié)點(diǎn)(例 如,VoD應(yīng)用客戶(hù))發(fā)送視頻信息的技術(shù)群。源節(jié)點(diǎn)和目的節(jié)點(diǎn)采用語(yǔ)音 代理,將視頻信息從其傳統(tǒng)形式轉(zhuǎn)換成適合分組發(fā)送的形式。換言之,源 節(jié)點(diǎn)的視頻將視頻信息編碼、壓縮并封裝成多個(gè)數(shù)據(jù)分組,目的節(jié)點(diǎn)的語(yǔ) 音代理執(zhí)行相反的功能以對(duì)VoD分組進(jìn)行解封裝、解壓縮和解碼。例如, VoD內(nèi)容服務(wù)器可以將視頻數(shù)據(jù)流提供到用戶(hù)的一個(gè)或更多個(gè)"機(jī)頂 盒"。此外,音樂(lè)信息可以根據(jù)本領(lǐng)域技術(shù)人員公知的標(biāo)準(zhǔn)以類(lèi)似于VoD
的方式來(lái)發(fā)送。音樂(lè)代理的示例可包括音樂(lè)應(yīng)用(例如,蘋(píng)果⑧公司的
iTunes⑧音樂(lè)程序)的個(gè)人計(jì)算機(jī)(PC),提供音樂(lè)服務(wù)的網(wǎng)絡(luò)設(shè)備(例 如,因特網(wǎng)自動(dòng)點(diǎn)唱機(jī))等。值得注意地,VoD和音樂(lè)服務(wù)的使用是網(wǎng)絡(luò) 內(nèi)的節(jié)點(diǎn)可以操作的(例如,應(yīng)用層的)應(yīng)用的示例。本領(lǐng)域技術(shù)人員將 理解,其他應(yīng)用也可以在網(wǎng)絡(luò)節(jié)點(diǎn)處操作。
源節(jié)點(diǎn)(發(fā)送者)可以被配置成在數(shù)據(jù)網(wǎng)絡(luò)中將單向數(shù)據(jù)分組流或 "數(shù)據(jù)流"轉(zhuǎn)移到目的節(jié)點(diǎn)(接收者)。該數(shù)據(jù)流例如可包括數(shù)據(jù)或視頻/ 音樂(lè)信息。數(shù)據(jù)流是單向的因?yàn)閿?shù)據(jù)從發(fā)送者到接收器單向傳播。發(fā)送和 接收從發(fā)送者到接收者的數(shù)據(jù)分組的中間網(wǎng)絡(luò)節(jié)點(diǎn)的邏輯行列定義數(shù)據(jù)流 的數(shù)據(jù)路徑。數(shù)據(jù)流的數(shù)據(jù)路徑中比流中的第二節(jié)點(diǎn)更靠近接收者的第一 節(jié)點(diǎn)被稱(chēng)為第二節(jié)點(diǎn)的"下游"。同樣地,數(shù)據(jù)流的路徑中比流中的第二 節(jié)點(diǎn)更靠近發(fā)送者的第一節(jié)點(diǎn)被稱(chēng)為第二節(jié)點(diǎn)的"上游"。
一般地,在現(xiàn)今的網(wǎng)絡(luò)配置中,為了保證數(shù)據(jù)的冗余性以及提供來(lái)自 應(yīng)用客戶(hù)的請(qǐng)求的負(fù)載平衡/共享,多個(gè)應(yīng)用內(nèi)容服務(wù)器(例如,VoD、音 樂(lè)等)可以分散遍布于網(wǎng)絡(luò)的不同部分。不過(guò)值得注意地,當(dāng)在網(wǎng)絡(luò)內(nèi)使 用標(biāo)準(zhǔn)的IP路由(例如,"IP骨干")時(shí),路由層和應(yīng)用層之間不存在 通信來(lái)提供有效的負(fù)載平衡。這常常在應(yīng)用層用來(lái)對(duì)多個(gè)應(yīng)用服務(wù)器嘗試 客戶(hù)請(qǐng)求的負(fù)載平衡的算法中造成不一致。
例如,VoD客戶(hù)可能向VoD服務(wù)器請(qǐng)求已被客戶(hù)的VoD應(yīng)用選擇的 視頻數(shù)據(jù)流。然而,客戶(hù)的VoD應(yīng)用不知道來(lái)自所選服務(wù)器的數(shù)據(jù)流所使 用的網(wǎng)絡(luò)資源(例如,視頻流從服務(wù)器到客戶(hù)將遍歷的鏈路/節(jié)點(diǎn))。因 此,沒(méi)有網(wǎng)絡(luò)資源及其當(dāng)前狀態(tài)的知識(shí),應(yīng)用層所做的任何對(duì)客戶(hù)請(qǐng)求的 負(fù)載平衡的嘗試都是無(wú)效的,特別是當(dāng)使用IP骨干時(shí)。另外,由于路由層 不知道應(yīng)用請(qǐng)求或應(yīng)用服務(wù)器的狀態(tài),路由層所做的任何對(duì)客戶(hù)請(qǐng)求的負(fù) 載平衡的嘗試也都是無(wú)效的。因此,仍需要有效的技術(shù)來(lái)基于應(yīng)用層信息 和路由層信息優(yōu)化IP骨干上的應(yīng)用數(shù)據(jù)流的路由。

發(fā)明內(nèi)容
本發(fā)明針對(duì)用于優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié)議(IP)骨干上的應(yīng)用數(shù)
據(jù)流的路由的技術(shù)。根據(jù)該新技術(shù),客戶(hù)路由器獲知多個(gè)應(yīng)用服務(wù)器的服 務(wù)器狀態(tài)(例如,待決請(qǐng)求的數(shù)目等),并且還確定應(yīng)用服務(wù)器和客戶(hù)路 由器之間的中間鏈路的量度(中間鏈路量度),例如,尤其是從應(yīng)用服務(wù) 器到客戶(hù)路由器方向上的鏈路量度。收到來(lái)自應(yīng)用客戶(hù)的應(yīng)用請(qǐng)求("客 戶(hù)請(qǐng)求")之后,客戶(hù)路由器基于服務(wù)器狀態(tài)和中間鏈路量度來(lái)確定將該 客戶(hù)請(qǐng)求發(fā)送到多個(gè)應(yīng)用服務(wù)器中的哪一個(gè),并相應(yīng)地發(fā)送該客戶(hù)請(qǐng)求。
在此處描述的示意性實(shí)施例中,客戶(hù)路由器通過(guò)例如開(kāi)始于連接到應(yīng) 用服務(wù)器的一個(gè)或多個(gè)服務(wù)器路由器的網(wǎng)絡(luò)(例如,域)內(nèi)傳播("公 告")的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)消息的方式獲知應(yīng)用服務(wù)器的服務(wù)器狀態(tài) 和中間鏈路量度。IGP消息可以示意性地體現(xiàn)為內(nèi)部系統(tǒng)到內(nèi)部系統(tǒng)(ISIS) 鏈路狀態(tài)分組("IGP公告")。值得注意地,IGP公告包括用于傳 送服務(wù)器狀態(tài)和鏈路量度信息的可變長(zhǎng)度字段或類(lèi)型/長(zhǎng)度/值(TLV)編 碼格式。
根據(jù)本發(fā)明的一個(gè)方面,服務(wù)器路由器知道每個(gè)連接的應(yīng)用服務(wù)器的 標(biāo)識(shí)(ID)(服務(wù)器ID)以及每個(gè)服務(wù)器的當(dāng)前狀態(tài)(例如,活動(dòng)連接的 數(shù)目,待決請(qǐng)求的數(shù)目,當(dāng)前CPU/存儲(chǔ)器負(fù)載,當(dāng)前使用帶寬等)。服 務(wù)器路由器例如在IGP公告的新應(yīng)用服務(wù)器(APPL一SERVER) TLV中將 服務(wù)器ID和服務(wù)器狀態(tài)公告給域中的路由器。每個(gè)APPL—SERVER TLV 可以對(duì)應(yīng)于單個(gè)服務(wù)器ID,并且每個(gè)TLV可以具有一個(gè)或多個(gè)子TLV用 于傳送相應(yīng)的應(yīng)用服務(wù)器的服務(wù)器狀態(tài)信息。
根據(jù)本發(fā)明的另一方面,客戶(hù)路由器接收IGP公告,并示意性地計(jì)算 從其自身到每個(gè)應(yīng)用服務(wù)器的反向SPT, g卩,使用從應(yīng)用服務(wù)器發(fā)送到請(qǐng) 求的應(yīng)用客戶(hù)的數(shù)據(jù)流的方向上的鏈路量度。值得注意地,反向SPT是基 于例如使用IGP流量工程(TE)擴(kuò)展從服務(wù)器路由器發(fā)送的IGP公告中獲 得的鏈路量度(例如,鏈路利用率、鏈路延時(shí)、差錯(cuò)率等)來(lái)計(jì)算的???戶(hù)路由器基于例如包括相關(guān)鏈路量度的改變?cè)趦?nèi)的網(wǎng)絡(luò)中的改變/更新來(lái)維 護(hù)當(dāng)前的反向SPT。
根據(jù)本發(fā)明的又一個(gè)方面,客戶(hù)路由器例如通過(guò)確定存在請(qǐng)求分組形 式/類(lèi)型或服務(wù)器ID是該請(qǐng)求的目的地來(lái)接收("截取")客戶(hù)請(qǐng)求?;?br> 者,客戶(hù)路由器可以充當(dāng)應(yīng)用客戶(hù)的應(yīng)用服務(wù)器代理,在這種情況下,客 戶(hù)將請(qǐng)求提交給客戶(hù)路由器,如本領(lǐng)域技術(shù)人員理解的那樣。收到客戶(hù)請(qǐng) 求后,客戶(hù)路由器基于例如服務(wù)器的當(dāng)前負(fù)載之類(lèi)的服務(wù)器狀態(tài)并基于諸 如來(lái)自反向SPT之類(lèi)的鏈路量度來(lái)確定將該請(qǐng)求發(fā)送到哪個(gè)應(yīng)用服務(wù)器。 客戶(hù)路由器隨后可以修改客戶(hù)請(qǐng)求以確保它被發(fā)送到相應(yīng)的應(yīng)用服務(wù)器
(例如,改變目的地址),或者可以利用相應(yīng)的服務(wù)器ID來(lái)答復(fù)應(yīng)用客
戶(hù)(即,這樣應(yīng)用客戶(hù)可以將請(qǐng)求重新發(fā)送到相應(yīng)的應(yīng)用服務(wù)器)。 有利地,該新技術(shù)優(yōu)化了計(jì)算機(jī)網(wǎng)絡(luò)中IP骨干上的應(yīng)用數(shù)據(jù)流的路
由。通過(guò)基于服務(wù)器狀態(tài)和(例如,來(lái)自反向SPT的)中間鏈路量度確定 將客戶(hù)請(qǐng)求發(fā)送到何處,該新技術(shù)允許客戶(hù)請(qǐng)求被發(fā)送到最優(yōu)的應(yīng)用服務(wù) 器,因此對(duì)該請(qǐng)求進(jìn)行負(fù)載平衡。特別地,請(qǐng)求可以被負(fù)載平衡,而無(wú)需 應(yīng)用層的路由和資源利用率知識(shí),即網(wǎng)絡(luò)層擁有足夠信息來(lái)優(yōu)化應(yīng)用數(shù)據(jù) 流。另外,新技術(shù)的動(dòng)態(tài)性質(zhì)減輕了麻煩的手動(dòng)配置的需要。


本發(fā)明的上述及其他特征通過(guò)結(jié)合附圖來(lái)參考以下說(shuō)明將得到最好的
理解,圖中相似的標(biāo)號(hào)指代相同或功能相似的元素,其中
圖1是可以有利地和本發(fā)明一起使用的示例性計(jì)算機(jī)網(wǎng)絡(luò)的示意性框
圖2是可以有利地和本發(fā)明一起使用的示例性路由器的示意性框圖; 圖3是可以被路由器洪泛的示例性IGP公告的示意性框圖; 圖4是可以有利地和本發(fā)明一起使用的客戶(hù)應(yīng)用請(qǐng)求的部分的示意性 框圖5是闡釋可以有利地和本發(fā)明一起使用的可變長(zhǎng)度字段的格式的示 意性框圖6是可以有利地和本發(fā)明一起使用的示例性應(yīng)用服務(wù)器表的示意性 框圖7是示出根據(jù)本發(fā)明來(lái)計(jì)算的反向最短路徑樹(shù)(SPT)的圖1中的 計(jì)算機(jī)網(wǎng)絡(luò)的示意性框圖;并且
圖8是闡釋根據(jù)本發(fā)明用于優(yōu)化IP骨干上的應(yīng)用數(shù)據(jù)流的路由的過(guò)程 的流程圖。
具體實(shí)施例方式
圖1是可以有利地和本發(fā)明一起使用的示例性計(jì)算機(jī)網(wǎng)絡(luò)100的示意 性框圖。網(wǎng)絡(luò)100包括多個(gè)互連的網(wǎng)絡(luò)節(jié)點(diǎn),如應(yīng)用客戶(hù)和兩個(gè)或更多個(gè)
應(yīng)用服務(wù)器(例如,應(yīng)用服務(wù)器1和2)。示意性地,應(yīng)用客戶(hù)可以互連
到客戶(hù)路由器,并且應(yīng)用服務(wù)器可以互連到相應(yīng)的服務(wù)器路由器(例如,
分別為服務(wù)器路由器1和2)??蛻?hù)路由器和服務(wù)器路由器可以通過(guò)一個(gè) 或多個(gè)中間節(jié)點(diǎn)(例如,中間路由器A和B)的中間網(wǎng)絡(luò)來(lái)互連,例如, 通過(guò)廣域網(wǎng)(WAN)鏈路(或局域網(wǎng),"LAN"鏈路,點(diǎn)到點(diǎn)鏈路,無(wú) 線LAN等),以形成網(wǎng)絡(luò)100?;ミB的網(wǎng)絡(luò)節(jié)點(diǎn)可以根據(jù)預(yù)定的網(wǎng)絡(luò)通信 協(xié)議組來(lái)交換數(shù)據(jù)分組,所述協(xié)議例如是傳輸控制協(xié)議/因特網(wǎng)協(xié)議 (TCP/IP)。本領(lǐng)域技術(shù)人員將理解,任何數(shù)目的節(jié)點(diǎn)、鏈路等可以在計(jì) 算機(jī)網(wǎng)絡(luò)100中使用,并通過(guò)各種方式來(lái)連接,并且此處示出的視圖是為 了簡(jiǎn)單起見(jiàn)。例如,客戶(hù)路由器和服務(wù)器路由器可以分別被互連到多于一 個(gè)應(yīng)用客戶(hù)或服務(wù)器。
圖2是節(jié)點(diǎn)200的示意性框圖,所述節(jié)點(diǎn)示意性地是可以有利地和本 發(fā)明一起使用的路由器,例如作為客戶(hù)或服務(wù)器路由器。該節(jié)點(diǎn)包括通過(guò) 系統(tǒng)總線250互連的多個(gè)網(wǎng)絡(luò)接口 210、處理器220和存儲(chǔ)器240。網(wǎng)絡(luò) 接口210包含機(jī)械的、電的和信令電路,用于通過(guò)耦合到網(wǎng)絡(luò)100的物理 鏈路傳遞數(shù)據(jù)。網(wǎng)絡(luò)接口可以被配置成使用各種不同通信協(xié)議來(lái)發(fā)送和/或 接收數(shù)據(jù),所述協(xié)議包括TCP/IP, UDP, ATM,同步光網(wǎng)絡(luò)(SONET), 無(wú)線協(xié)議,幀中繼,以太網(wǎng),光分布數(shù)據(jù)接口 (FDDI)等。
存儲(chǔ)器240包括可由處理器220和網(wǎng)絡(luò)接口 210尋址以存儲(chǔ)和本發(fā)明 相關(guān)的軟件程序和數(shù)據(jù)結(jié)構(gòu)的多個(gè)存儲(chǔ)位置。處理器220可包括適合于運(yùn) 行軟件程序并操控?cái)?shù)據(jù)結(jié)構(gòu)的必要元素或邏輯,所述數(shù)據(jù)結(jié)構(gòu)如路由表 246、流量工程(TE)數(shù)據(jù)庫(kù)244、反向最短路徑樹(shù)(SPT)表249和應(yīng)用 服務(wù)器表600。其多個(gè)部分通常駐留在存儲(chǔ)器240中并由處理器運(yùn)行的路
由器操作系統(tǒng)242 (例如思科系統(tǒng)公司的互聯(lián)網(wǎng)操作系統(tǒng),或IOS )通
過(guò)調(diào)用支持路由器上運(yùn)行的軟件處理和/或服務(wù)的網(wǎng)絡(luò)操作等方式來(lái)對(duì)路由
器進(jìn)行功能操作。這些軟件處理和/或服務(wù)可包括路由服務(wù)247、路由信息 庫(kù)(RIB) 245、 TE服務(wù)243和應(yīng)用接口服務(wù)248。本領(lǐng)域技術(shù)人員將理 解,其他處理器和存儲(chǔ)裝置,包括各種計(jì)算機(jī)可讀介質(zhì),可用于存儲(chǔ)和運(yùn) 行屬于此處描述的發(fā)明技術(shù)的程序指令。
路由服務(wù)247包含由處理器運(yùn)行以執(zhí)行由一個(gè)或多個(gè)路由協(xié)議(如 IGP (例如,OSPF和IS-IS) 、 BGP等)提供的功能的計(jì)算機(jī)可讀指令。 這些功能可以被配置成管理包含例如用于做出轉(zhuǎn)發(fā)決定的數(shù)據(jù)的轉(zhuǎn)發(fā)信息 數(shù)據(jù)庫(kù)(未示出)。路由服務(wù)247還可執(zhí)行與虛擬路由協(xié)議有關(guān)的功能, 如維護(hù)本領(lǐng)域技術(shù)人員所理解的VRF實(shí)例(未示出)。
網(wǎng)絡(luò)拓?fù)涞母淖兛梢允褂弥T如通常的IS-IS和OSPF協(xié)議之類(lèi)的鏈路 狀態(tài)協(xié)議來(lái)在路由器200中間傳遞。例如,假定AS內(nèi)的通信鏈路故障或 與網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的代價(jià)值改變。 一旦網(wǎng)絡(luò)狀態(tài)的改變被路由器之一檢測(cè) 到,則該路由器就洪泛IGP公告,將改變傳遞到AS中的其他路由器。通 過(guò)這種方式,每個(gè)路由器最終"收斂"到同一視圖的網(wǎng)絡(luò)拓?fù)洹?br> 圖3闡釋可以被路由器200洪泛的示例性IGP公告300 (例如,IS-IS 鏈路狀態(tài)分組)。該分組包括域內(nèi)路由協(xié)議鑒別字段302和長(zhǎng)度指示符字 段304,前者存儲(chǔ)標(biāo)識(shí)消息的具體協(xié)議(例如IS-IS)的值,后者存儲(chǔ)指示 用于公告的標(biāo)準(zhǔn)首部的長(zhǎng)度的值。另外,版本/協(xié)議ID擴(kuò)展(ext)字段 306可用來(lái)進(jìn)一步存儲(chǔ)定義協(xié)議的特定版本的值。反向字段308和"R"字 段留作將來(lái)與協(xié)議一起使用,ECO和用戶(hù)ECO字段314和316也是,它 們都被接收路由器忽略直到被指示在將來(lái)的協(xié)議版本中解碼。
類(lèi)型字段310 (及相應(yīng)的版本字段312)存儲(chǔ)指示被發(fā)送的IGP公告 300的類(lèi)型(和版本)的值,其可以定義公告內(nèi)其他面向類(lèi)型的字段322 的存在。例如,公告的類(lèi)型可以是本領(lǐng)域技術(shù)人員所理解的"Hello"(你 好)分組或"LSP"分組。PDU長(zhǎng)度字段318存儲(chǔ)指示包含首部、面向類(lèi) 型的字段和數(shù)據(jù)字段在內(nèi)的整個(gè)PDU (協(xié)議數(shù)據(jù)單元,或IGP公告300) 的長(zhǎng)度的值。源ID字段320存儲(chǔ)標(biāo)識(shí)生成并且最初廣播IGP公告300的
路由器的值。
其他面向類(lèi)型的字段322可包括協(xié)議所定義的任何數(shù)目的字段,如本
領(lǐng)域技術(shù)人員所理解的校驗(yàn)和字段、最大區(qū)域地址字段等。例如,序列號(hào)
字段(未示出)可以存儲(chǔ)指示IGP公告的相對(duì)版本的序列號(hào)。通常,該字 段中存儲(chǔ)的序列號(hào)對(duì)于每個(gè)IGP公告的新版本例如增加一。因此若IGP公 告300的序列號(hào)小于在先前收到的IGP公告版本中存儲(chǔ)的(即同一公告節(jié) 點(diǎn)生成的)序列號(hào),則認(rèn)為該IGP公告"過(guò)期"(無(wú)效)。相應(yīng)地,路由 器200可被配置成只存儲(chǔ)和轉(zhuǎn)發(fā)最新版本的IGP公告,例如具有最大序列 號(hào)的版本。還可以使用剩余壽命字段(未示出)來(lái)存儲(chǔ)可用于確定IGP公 告300是否有效的值。剩余壽命值通常被初始化為非零整數(shù)值,常以秒為 單位。剩余壽命值例如可以每秒減少一,直到剩余壽命值達(dá)到零,從而指 示該IGP公告已變得無(wú)效。S卩,存儲(chǔ)或洪泛公告300的每個(gè)路由器200不 斷使分組變老直到剩余壽命值等于零。本領(lǐng)域技術(shù)人員將意識(shí)到,作為替 代可以使用其他老化機(jī)制,如從例如等于零的初始值開(kāi)始增加IGP公告剩 余壽命值直到剩余壽命值達(dá)到已知上限。
數(shù)據(jù)段330包括一個(gè)或多個(gè)可變長(zhǎng)度字段500,每個(gè)字段具有此處將 進(jìn)一步描述的特定類(lèi)型(或代碼)、長(zhǎng)度和值(TLV)。例如,為了公告 網(wǎng)絡(luò)拓?fù)?,可以使用一?duì)或多對(duì)相鄰節(jié)點(diǎn)字段(未示出)和代價(jià)字段(未 示出)。相鄰節(jié)點(diǎn)字段可以存儲(chǔ)諸如地址之類(lèi)的值,該值指示從源ID字 段320中存儲(chǔ)的中間節(jié)點(diǎn)可以直接訪問(wèn)的網(wǎng)絡(luò)節(jié)點(diǎn)。代價(jià)字段可以存儲(chǔ)已 經(jīng)被例如公告節(jié)點(diǎn)關(guān)聯(lián)到在相鄰節(jié)點(diǎn)字段中標(biāo)識(shí)的網(wǎng)絡(luò)節(jié)點(diǎn)的值。注意在 其他實(shí)施例中,單一相鄰節(jié)點(diǎn)可以與多個(gè)代價(jià)值相關(guān)聯(lián)。其他路由信息也 可以被包含在IGP公告300的可變長(zhǎng)度字段500中,如校驗(yàn)和值、填充字 段、屬性字段等,以及諸如新APPL一SERVER字段之類(lèi)的應(yīng)用服務(wù)器信息 字段(下面進(jìn)一步描述)。 一般地,收到的IGP公告被存儲(chǔ)在路由器200 的鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)(未示出)中。
再次參考圖2, TE服務(wù)243包含用于根據(jù)本發(fā)明來(lái)操作TE功能的計(jì) 算機(jī)可執(zhí)行指令。流量工程的示例描述于上面結(jié)合的RFC 3784和RFC 3630。 TE數(shù)據(jù)庫(kù)(TED) 244可用于根據(jù)本發(fā)明來(lái)(例如,在TE擴(kuò)展的
可變長(zhǎng)度字段500中)存儲(chǔ)由諸如IGP之類(lèi)的路由協(xié)議提供的TE信息, 并且示意性地由TE服務(wù)243維護(hù)和管理。
應(yīng)用接口服務(wù)249包含由處理器220運(yùn)行以根據(jù)本發(fā)明來(lái)執(zhí)行與一個(gè) 或多個(gè)應(yīng)用有關(guān)的功能的計(jì)算機(jī)可執(zhí)行指令,所述功能例如是本領(lǐng)域技術(shù) 人員所理解的視頻點(diǎn)播(VoD)、音樂(lè)服務(wù)等。值得注意地,這些功能可 以被配置成例如根據(jù)此處描述的本發(fā)明來(lái)與路由服務(wù)247和/或TE服務(wù) 243協(xié)作。
操作時(shí),應(yīng)用客戶(hù)一般通過(guò)"客戶(hù)請(qǐng)求"來(lái)向應(yīng)用服務(wù)器請(qǐng)求應(yīng)用內(nèi) 容(例如,視頻、音樂(lè)等)。圖4是可以有利地和本發(fā)明一起使用的客戶(hù) 請(qǐng)求400的部分的示意性框圖。請(qǐng)求400包含常用首部410以及應(yīng)用請(qǐng)求 字段和/或信息對(duì)象420等。常用首部400還可包含(例如發(fā)送請(qǐng)求的應(yīng)用 客戶(hù)的)源地址412和請(qǐng)求被發(fā)往的目的地址414 (例如,應(yīng)用服務(wù) 器)。通常,應(yīng)用客戶(hù)上的應(yīng)用服務(wù)例如可以通過(guò)本領(lǐng)域技術(shù)人員所理解 的手動(dòng)配置或動(dòng)態(tài)學(xué)習(xí)而配置有適當(dāng)?shù)膽?yīng)用服務(wù)器的地點(diǎn)。因此,被配置 的該應(yīng)用服務(wù)器的地址可以被包含在客戶(hù)請(qǐng)求400的目的地址414內(nèi)。應(yīng) 用請(qǐng)求字段和/或信息對(duì)象420可以包含通常的面向應(yīng)用的請(qǐng)求信息,如本 領(lǐng)域技術(shù)人員所理解的請(qǐng)求類(lèi)型、代碼、特定字段、數(shù)據(jù)、信息等。
本發(fā)明針對(duì)用于優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中IP骨干上的應(yīng)用數(shù)據(jù)流的路由的技 術(shù)。根據(jù)該新技術(shù),客戶(hù)路由器獲知多個(gè)應(yīng)用服務(wù)器的服務(wù)器狀態(tài)(例 如,待決請(qǐng)求的數(shù)目等),并且還確定應(yīng)用服務(wù)器和客戶(hù)路由器之間的中 間鏈路的量度(中間鏈路量度),例如,尤其是從應(yīng)用服務(wù)器到客戶(hù)路由 器方向上的鏈路量度。收到客戶(hù)請(qǐng)求后,客戶(hù)路由器基于服務(wù)器狀態(tài)和中 間鏈路量度來(lái)確定將該客戶(hù)請(qǐng)求發(fā)送到多個(gè)應(yīng)用服務(wù)器中的哪一個(gè),并相 應(yīng)地發(fā)送該客戶(hù)請(qǐng)求。
在此處描述的示意性實(shí)施例中,客戶(hù)路由器通過(guò)在網(wǎng)絡(luò)(例如,域) 內(nèi)傳播("公告")的IGP消息的方式獲知應(yīng)用服務(wù)器的服務(wù)器狀態(tài)和中 間鏈路量度,所述IGP消息例如開(kāi)始于連接到應(yīng)用服務(wù)器的一個(gè)或多個(gè)服 務(wù)器路由器,如下所述。IGP消息可以示意性地體現(xiàn)為IS-IS鏈路狀態(tài)分組 (IGP公告300)。值得注意地,IGP公告包括用于傳送服務(wù)器狀態(tài)和鏈路
量度信息的可變長(zhǎng)度字段或TLV編碼格式。
TLV編碼格式用于識(shí)別正在被傳遞(傳送)的信息的類(lèi)型(T)、待 傳送的信息的長(zhǎng)度(L)以及被傳送的實(shí)際信息的值(V)。長(zhǎng)度字段中包 含的長(zhǎng)度(L)參數(shù)通常是面向?qū)崿F(xiàn)方式的,并且可以表示從對(duì)象的類(lèi)型 字段的起點(diǎn)到終點(diǎn)的長(zhǎng)度。然而,該長(zhǎng)度一般表示值(V)字段而不是類(lèi) 型(T)或長(zhǎng)度(L)字段的長(zhǎng)度。
圖5是闡釋可以有利地和本發(fā)明一起使用的可變長(zhǎng)度字段500的格式 的示意性框圖??勺冮L(zhǎng)度字段500被示意性地體現(xiàn)為IGP公告300中包含 的TLV,并且被擴(kuò)展以攜帶有關(guān)應(yīng)用服務(wù)器的信息。為此,"應(yīng)用服務(wù)器 TLV" 500 ( "APPL_SERVER")被組織以包括類(lèi)型字段505,該字段包 含新APPL—SERVER TLV的預(yù)定類(lèi)型的值。長(zhǎng)度字段510是可變長(zhǎng)度值。 TLV編碼格式還可包含TLV"有效載荷"(例如,值字段515)內(nèi)攜帶的 一個(gè)或多個(gè)無(wú)序的子TLV 550,每個(gè)子TLV具有類(lèi)型字段555、長(zhǎng)度字段 560和值字段565。字段TLV 500和子TLV 550 (—個(gè)或多個(gè))以各種方 式被使用,包括此處根據(jù)本發(fā)明所描述的。值得注意地,還可使用本領(lǐng)域 技術(shù)人員理解的通常的TE擴(kuò)展來(lái)擴(kuò)展可變長(zhǎng)度字段500以攜帶有關(guān)網(wǎng)絡(luò) 鏈路的鏈路量度的信息(例如,鏈路利用率、鏈路延時(shí)、差錯(cuò)率等)。
根據(jù)本發(fā)明的一個(gè)方面,服務(wù)器路由器知道每個(gè)連接的應(yīng)用服務(wù)器的 標(biāo)識(shí)(ID)(服務(wù)器ID)(例如,IP地址)以及每個(gè)服務(wù)器的當(dāng)前狀 態(tài)。服務(wù)器的狀態(tài)示例例如可以包括活動(dòng)應(yīng)用連接的數(shù)目,待決應(yīng)用請(qǐng) 求的數(shù)目,當(dāng)前CPU/存儲(chǔ)器負(fù)載,當(dāng)前使用帶寬等。值得注意地,服務(wù) 器信息或?qū)傩赃€可包括可用應(yīng)用數(shù)據(jù)流的指示,例如本領(lǐng)域技術(shù)人員所理 解的服務(wù)器處可用的VoD/音樂(lè)內(nèi)容。服務(wù)器路由器可以基于與應(yīng)用服務(wù) 器的本地通信(例如,本領(lǐng)域技術(shù)人員所理解的路由器和服務(wù)器直接的特 定消息交換)來(lái)知曉應(yīng)用服務(wù)器信息,或者作為替代,服務(wù)器路由器可基 于對(duì)進(jìn)入的請(qǐng)求和外發(fā)的數(shù)據(jù)流的監(jiān)視來(lái)維護(hù)服務(wù)器狀態(tài)。示意性地,本 地通信可以通過(guò)與特定本地通信協(xié)議內(nèi)的可變長(zhǎng)度字段500相似的方式來(lái) 體現(xiàn)。
服務(wù)器路由器例如在IGP公告300的新APPL SERVER TLV 500中將
服務(wù)器ID和服務(wù)器狀態(tài)公告給域中的路由器。APPL—SERVER TLV 500 例如根據(jù)IS-IS網(wǎng)絡(luò)范圍的洪泛(或者,例如所理解的OSPF類(lèi)型10 (區(qū) 域范圍)或類(lèi)型11 (AS范圍)不透明LSA)被洪泛到網(wǎng)絡(luò)100 (即,域 內(nèi))的每個(gè)路由器。示意性地,每個(gè)APPL—SERVER TLV 500可以對(duì)應(yīng)于 單個(gè)服務(wù)器ID。(例如用于應(yīng)用服務(wù)器1的)服務(wù)器ID可被包含在TLV 500的值字段515內(nèi)的特定服務(wù)器ID字段520中,或者作為替代可被包含 在單獨(dú)的子TLV 550中。另外,每個(gè)TLV 500可以具有一個(gè)或多個(gè)子 TLV 550用于傳送相應(yīng)的應(yīng)用服務(wù)器的服務(wù)器狀態(tài)信息。例如,特定服務(wù) 器的多個(gè)活動(dòng)連接可被包含在與用于該服務(wù)器的TLV 500相對(duì)應(yīng)的第一子 TLV中,第二子TLV 550可包含多個(gè)待決請(qǐng)求等。通過(guò)這種方式,服務(wù)器 路由器將應(yīng)用服務(wù)器信息(ID和狀態(tài))的知識(shí)注入到被轉(zhuǎn)發(fā)給網(wǎng)絡(luò)的路由 器(例如,客戶(hù)路由器)的IGP公告中。
網(wǎng)絡(luò)的每個(gè)路由器(例如,中間路由器和客戶(hù)/服務(wù)器路由器)接收具 有APPL—SERVER TLV 500的IGP公告300,并相應(yīng)地維護(hù)應(yīng)用服務(wù)器信 息表。圖6是可以有利地和本發(fā)明一起使用的示例性應(yīng)用服務(wù)器表600的 示意性框圖。應(yīng)用服務(wù)器表600示意性地是路由器的存儲(chǔ)器240中存儲(chǔ)的 數(shù)據(jù)結(jié)構(gòu)并包括一個(gè)或多個(gè)條目650,每個(gè)條目包含多個(gè)用于存儲(chǔ)應(yīng)用服 務(wù)器ID 605的字段,以及一個(gè)或多個(gè)服務(wù)器狀態(tài)信息字段,如活動(dòng)連接 610、待決請(qǐng)求615、 CPU負(fù)載620、存儲(chǔ)器負(fù)載625、已用帶寬630和其 他狀態(tài)635。應(yīng)用服務(wù)器表600示意性地由應(yīng)用接口服務(wù)248維護(hù)并管 理。收到APPL—SERVER TLV 500后,路由器在字段605中存儲(chǔ)相應(yīng)的應(yīng) 用服務(wù)器ID (例如,服務(wù)器1-N),還在各個(gè)服務(wù)器信息字段610-635中 存儲(chǔ)任何附加數(shù)據(jù)(例如,數(shù)據(jù)1-N)。值得注意地,路由器通過(guò)每次在 IGP公告300中收到新的/更新的APPL_SERVER TLV 500時(shí)更新該表來(lái)維 護(hù)數(shù)據(jù)的當(dāng)前值。另外,可對(duì)每個(gè)特定應(yīng)用(例如,對(duì)于VoD,音樂(lè)等) 維護(hù)單獨(dú)的表。
根據(jù)本發(fā)明的另一方面,客戶(hù)路由器接收IGP公告,并示意性地計(jì)算 從其自身到每個(gè)應(yīng)用服務(wù)器的反向SPT, 即,使用從應(yīng)用服務(wù)器發(fā)送到請(qǐng) 求的應(yīng)用客戶(hù)的數(shù)據(jù)流的方向上的鏈路量度。值得注意地,反向SPT是基
于例如使用IGP TE擴(kuò)展或其他傳送鏈路量度的方法而從服務(wù)器路由器或 網(wǎng)絡(luò)中的任何中間路由器發(fā)送的IGP公告中獲得的鏈路量度(例如,鏈路 利用率、鏈路延時(shí)、差錯(cuò)率等)來(lái)計(jì)算的。另外,除了此處提到的鏈路狀 態(tài),本領(lǐng)域技術(shù)人員將理解,根據(jù)本發(fā)明,還可以使用與鏈路相關(guān)的任何 靜態(tài)或動(dòng)態(tài)的量度/屬性(例如,可以反應(yīng)鏈路的實(shí)時(shí)狀態(tài)的量度/屬 性)。
反向SPT為客戶(hù)路由器提供從每個(gè)應(yīng)用服務(wù)器朝向客戶(hù)路由器本身的 考慮了朝向客戶(hù)路由器的鏈路量度的一組最短路徑。需要注意,因?yàn)橛煽?戶(hù)路由器實(shí)施的負(fù)載平衡算法應(yīng)考慮從服務(wù)器到客戶(hù)而不是從客戶(hù)到服務(wù) 器的路徑上的鏈路量度,所以根據(jù)本發(fā)明,最適宜使用反向SPT。圖7是 示出根據(jù)本發(fā)明來(lái)計(jì)算的反向SPT的圖1中的計(jì)算機(jī)網(wǎng)絡(luò)的示意性框圖。 示意性地,客戶(hù)路由器以自身為根來(lái)計(jì)算反向SPT,并確定從可能由被請(qǐng) 求的應(yīng)用數(shù)據(jù)流使用的應(yīng)用服務(wù)器,例如應(yīng)用服務(wù)器1 (或服務(wù)器路由 器,例如,服務(wù)器路由器1)開(kāi)始的最短路徑。反向SPT (或"rSPT") 在本領(lǐng)域內(nèi)公知,可通過(guò)與通常的SPT相似的方式來(lái)計(jì)算。然而,在反向 SPT中,計(jì)算節(jié)點(diǎn)(例如,客戶(hù)路由器)使用從網(wǎng)絡(luò)中的其他路由器朝向 其自身的方向上的鏈路量度。換言之,反向SPT定義從網(wǎng)絡(luò)中的任何其他 路由器(例如,應(yīng)用服務(wù)器) 一直到計(jì)算路由器(例如,客戶(hù)路由器)的 最短路徑集合。值得注意地,未被選作到達(dá)客戶(hù)節(jié)點(diǎn)的最短(最佳)路徑 的到其他中間路由器(未示出)的各種分支被示出用于說(shuō)明??蛻?hù)路由器 基于例如包括相關(guān)鏈路量度的改變?cè)趦?nèi)的網(wǎng)絡(luò)中的改變/更新來(lái)將反向SPT 保持為當(dāng)前的。反向SPT被保持為當(dāng)前的以便客戶(hù)路由器能夠根據(jù)預(yù)定準(zhǔn) 則來(lái)選擇客戶(hù)請(qǐng)求將被發(fā)往的最佳(例如,最優(yōu))的應(yīng)用服務(wù)器,所述準(zhǔn) 則例如是被請(qǐng)求的數(shù)據(jù)流的已配置的鏈路利用率等,如下所述。
根據(jù)本發(fā)明的又一個(gè)方面,客戶(hù)路由器例如通過(guò)確定存在請(qǐng)求分組形 式/類(lèi)型或服務(wù)器ID是該請(qǐng)求的目的地來(lái)接收("截取")客戶(hù)請(qǐng)求。例 如,客戶(hù)路由器可以檢查從應(yīng)用客戶(hù)接收的分組的內(nèi)容,并在路由器/網(wǎng)絡(luò) 層處理該內(nèi)容。具體而言,客戶(hù)路由器搜索以尋找對(duì)應(yīng)于客戶(hù)請(qǐng)求400的 分組格式、類(lèi)型或特定內(nèi)容,如本領(lǐng)域技術(shù)人員所理解的那樣。例如,通
過(guò)對(duì)照(例如,應(yīng)用服務(wù)器表600的字段605中的)應(yīng)用服務(wù)器ID的列 表參考分組的目的地址,客戶(hù)路由器可以確定該分組是客戶(hù)請(qǐng)求400。應(yīng) 用層分組截取是本領(lǐng)域技術(shù)人員公知和理解的,并且根據(jù)本發(fā)明,可以使 用任一這類(lèi)截取技術(shù)來(lái)確定分組是客戶(hù)請(qǐng)求400?;蛘撸蛻?hù)路由器可以 充當(dāng)應(yīng)用客戶(hù)的應(yīng)用服務(wù)器代理。換言之,客戶(hù)路由器可以向應(yīng)用客戶(hù)公 告其自身為這樣的應(yīng)用服務(wù)器,通常去往實(shí)際的應(yīng)用服務(wù)器(例如,應(yīng)用 服務(wù)器1和2)的請(qǐng)求可被發(fā)送到該應(yīng)用服務(wù)器。在這種情況下,應(yīng)用客 戶(hù)將請(qǐng)求提交給客戶(hù)路由器,即假設(shè)客戶(hù)路由器為應(yīng)用服務(wù)器,如本領(lǐng)域 技術(shù)人員理解的那樣。
收到客戶(hù)請(qǐng)求后,客戶(hù)路由器基于例如服務(wù)器的當(dāng)前負(fù)載(連接/請(qǐng)求 的數(shù)目,CPU/存儲(chǔ)器負(fù)載等)之類(lèi)的服務(wù)器狀態(tài)并基于諸如來(lái)自反向SPT 之類(lèi)的鏈路量度(例如,鏈路利用率)來(lái)確定將該請(qǐng)求發(fā)送到哪個(gè)應(yīng)用服 務(wù)器??捎梅?wù)器的服務(wù)器狀態(tài)可以通過(guò)査閱應(yīng)用服務(wù)器表600來(lái)確定。 通過(guò)基于服務(wù)器狀態(tài)將負(fù)載平衡算法應(yīng)用到應(yīng)用服務(wù)器以及另外在算法中 包含例如來(lái)自反向SPT的中間鏈路量度,本發(fā)明允許客戶(hù)請(qǐng)求的更理想的 路由以及因此允許對(duì)得到的應(yīng)用數(shù)據(jù)流的更理想的路由。
本領(lǐng)域技術(shù)人員所理解的各種負(fù)載平衡技術(shù)適合于與本發(fā)明一起使用 以將服務(wù)器狀態(tài)和鏈路量度考慮在內(nèi)。例如,基于請(qǐng)求的預(yù)定義準(zhǔn)則,例 如,基于被請(qǐng)求的數(shù)據(jù)流的鏈路利用率的預(yù)計(jì)增長(zhǎng),客戶(hù)路由器可以確 定,與其他應(yīng)用服務(wù)器(例如,應(yīng)用服務(wù)器1)相比,從某些應(yīng)用服務(wù)器 (例如,應(yīng)用服務(wù)器2)開(kāi)始的反向SPT更擁擠,并可能無(wú)法容納另外的 流量。然而,客戶(hù)路由器還必須考慮其他應(yīng)用服務(wù)器(例如,服務(wù)器1) 在其他服務(wù)器狀態(tài)(例如,CPU和/或存儲(chǔ)器負(fù)載)方面是否過(guò)載。其他 比較和負(fù)載平衡技術(shù)將被本領(lǐng)域技術(shù)人員理解,這里提到的那些技術(shù)只是 代表性示例。
一旦客戶(hù)路由器確定(選擇)了最佳應(yīng)用服務(wù)器,客戶(hù)路由器便嘗試
確??蛻?hù)請(qǐng)求被轉(zhuǎn)發(fā)到所選應(yīng)用服務(wù)器。例如,客戶(hù)路由器可以確定客戶(hù) 請(qǐng)求400是否已經(jīng)(例如,就目的地址414而言)是去往所選應(yīng)用服務(wù)器 (例如,應(yīng)用服務(wù)器1)的,這種情況下,請(qǐng)求400被客戶(hù)路由器轉(zhuǎn)發(fā)。
另一方面,若客戶(hù)請(qǐng)求400是去往不同應(yīng)用服務(wù)器(例如,應(yīng)用服務(wù)器
2)的,則客戶(hù)路由器嘗試修正該請(qǐng)求的目的地。
為了修正客戶(hù)請(qǐng)求400的目的地,客戶(hù)路由器可以修改客戶(hù)請(qǐng)求以確 保它被發(fā)送到相應(yīng)的應(yīng)用服務(wù)器(例如,改變目的地址414)。例如,客 戶(hù)路由器可以將客戶(hù)請(qǐng)求封裝在到所選應(yīng)用服務(wù)器的新IP首部410中,并 代表客戶(hù)來(lái)發(fā)送該請(qǐng)求(例如,源地址412仍為應(yīng)用客戶(hù)地址),即"身 份替代"。或者,客戶(hù)路由器例如可以通過(guò)例如IGP之類(lèi)的本地通信協(xié)議 (路由層)或者示意性地經(jīng)由面向應(yīng)用的協(xié)議(應(yīng)用層)來(lái)利用相應(yīng)的服 務(wù)器ID來(lái)答復(fù)應(yīng)用客戶(hù),如本領(lǐng)域技術(shù)人員所理解的那樣。如果這樣配 置,則在這種情形下,應(yīng)用客戶(hù)可以將請(qǐng)求400重新發(fā)送到相應(yīng)的應(yīng)用服 務(wù)器,即,目的地址字段414中含有所選應(yīng)用服務(wù)器地址。
圖8是闡釋根據(jù)本發(fā)明用于優(yōu)化IP骨干上的應(yīng)用數(shù)據(jù)流的路由的過(guò)程 的流程圖。過(guò)程800開(kāi)始于步驟805,繼續(xù)到步驟810,其中服務(wù)器路由 器(例如,服務(wù)器路由器1和2)維護(hù)被連接的應(yīng)用服務(wù)器(例如,分別 是應(yīng)用服務(wù)器1和2)的服務(wù)器ID和服務(wù)器狀態(tài),如上所述。在步驟815 中,服務(wù)器路由器例如使用IGP公告300中的APPL—SERVER TLV 500將 服務(wù)器ID和服務(wù)器狀態(tài)傳播到網(wǎng)絡(luò)中。中間路由器(例如,中間路由器 A禾PB)例如也使用IGP公告300 (如通過(guò)TE擴(kuò)展)來(lái)在網(wǎng)絡(luò)內(nèi)傳播鏈路 的鏈路量度(例如,鏈路利用率),如上所述??蛻?hù)路由器在步驟825中 接收IGP公告300,從而獲知該信息,并在步驟830中將服務(wù)器ID和服務(wù) 器狀態(tài)存儲(chǔ)在應(yīng)用服務(wù)器表600中。在步驟835中,為了示意性地確定中 間鏈路量度,客戶(hù)路由器可以隨后(如上所述,基于朝向其自身的鏈路量 度)計(jì)算從其自身到每個(gè)應(yīng)用服務(wù)器的反向SPT,并將反向SPT存儲(chǔ)在例 如反向SPT表249中。值得注意地,客戶(hù)路由器可以響應(yīng)于收到的網(wǎng)絡(luò)中 的改變/更新來(lái)更新表600或計(jì)算出的反向SPT。
在步驟840中,客戶(hù)路由器例如通過(guò)截取客戶(hù)請(qǐng)求400或通過(guò)充當(dāng)應(yīng) 用服務(wù)器代理來(lái)接收請(qǐng)求,這兩種方式如上所述。同樣如上所述,作為響 應(yīng),客戶(hù)路由器在步驟845中基于服務(wù)器狀態(tài)和例如反向SPT的中間鏈路 量度來(lái)確定將請(qǐng)求發(fā)送到哪個(gè)應(yīng)用服務(wù)器。在步驟850中若需要修改該請(qǐng)
求的應(yīng)用服務(wù)器目的地(即,可以使用更理想的服務(wù)器),則客戶(hù)路由器 或者可以(例如,通過(guò)改變目的地址414)修改客戶(hù)請(qǐng)求目的地,或者代 替地可以利用相應(yīng)的應(yīng)用服務(wù)器目的地(例如,更理想的服務(wù)器的地址和/
或服務(wù)器ID)來(lái)答復(fù)應(yīng)用客戶(hù)??蛻?hù)路由器可以隨后在步驟860中將客戶(hù) 請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的應(yīng)用服務(wù)器。值得注意地,響應(yīng)于將相應(yīng)的應(yīng)用服務(wù)器 目的地通知應(yīng)用客戶(hù),客戶(hù)路由器可以利用相應(yīng)的應(yīng)用服務(wù)器目的地來(lái)轉(zhuǎn) 發(fā)來(lái)自應(yīng)用客戶(hù)的返回請(qǐng)求(例如,"重接收"請(qǐng)求)。過(guò)程800終止于 步驟865。
有利地,新技術(shù)優(yōu)化了計(jì)算機(jī)網(wǎng)絡(luò)中IP骨干上的應(yīng)用數(shù)據(jù)流的路由。 通過(guò)基于服務(wù)器狀態(tài)和(例如來(lái)自反向SPT的)中間鏈路量度來(lái)確定將客 戶(hù)請(qǐng)求發(fā)送到哪里,新技術(shù)允許客戶(hù)請(qǐng)求被發(fā)送到最優(yōu)的應(yīng)用服務(wù)器,從 而對(duì)該請(qǐng)求進(jìn)行負(fù)載平衡。具體而言,請(qǐng)求可以被負(fù)載平衡,而無(wú)需應(yīng)用 層的路由和資源利用率知識(shí),S卩,網(wǎng)絡(luò)層擁有足夠信息來(lái)優(yōu)化應(yīng)用數(shù)據(jù) 流。另外,新技術(shù)的動(dòng)態(tài)性質(zhì)減輕了麻煩的手動(dòng)配置的需要。
雖然已示出并描述了優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中IP骨干上的應(yīng)用數(shù)據(jù)流的路由 的示例性實(shí)施例,但是應(yīng)該理解,在本發(fā)明的精神和范圍內(nèi)可以做出各種 其他變更和修改。例如,此處本發(fā)明是使用IS-IS鏈路狀態(tài)分組作為IGP 公告300來(lái)描述的。然而,本發(fā)明在其更廣泛的意義上不限于此,實(shí)際 上,它可以與其他IGP公告一起使用,如本領(lǐng)域技術(shù)人員所理解的OSPF LSA (例如,類(lèi)型10或11不透明LSA)。另外,雖然上述說(shuō)明描述了在 連接到應(yīng)用客戶(hù)的客戶(hù)路由器處執(zhí)行本技術(shù),但是給定本領(lǐng)域技術(shù)人員所 理解的合適配置,該技術(shù)可以在網(wǎng)絡(luò)內(nèi)的其他節(jié)點(diǎn)處執(zhí)行,如應(yīng)用客戶(hù)自 身。另外,雖然示出并描述了本發(fā)明使用反向SPT來(lái)管理中間鏈路量度信 息,但是本領(lǐng)域技術(shù)人員將理解,根據(jù)本發(fā)明,可以使用其他技術(shù)來(lái)收集/ 利用中間鏈路量度。
前述說(shuō)明針對(duì)本發(fā)明的具體實(shí)施例。然而很明顯,可以對(duì)所述實(shí)施例 做出其他變更和修改,并取得它們的優(yōu)點(diǎn)的一些或全部。例如,可以清楚 地預(yù)料到,本發(fā)明的教導(dǎo)可以實(shí)現(xiàn)為軟件(包括含有在計(jì)算機(jī)上運(yùn)行的程 序指令的計(jì)算機(jī)可讀介質(zhì)),硬件、固件或其組合。另外,可以生成電磁
信號(hào)來(lái)通過(guò)例如無(wú)線數(shù)據(jù)鏈路或諸如因特網(wǎng)之類(lèi)的數(shù)據(jù)網(wǎng)絡(luò)攜帶實(shí)現(xiàn)本發(fā) 明的多個(gè)方面的計(jì)算機(jī)可執(zhí)行指令。因此,本說(shuō)明應(yīng)僅通過(guò)示例的方式來(lái) 看待,而不是要限制發(fā)明范圍。因此,所附權(quán)利要求的目的是涵蓋落入本 發(fā)明的真實(shí)精神和范圍內(nèi)的所有這種變化和修改。
權(quán)利要求
1. 一種方法,用于優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié)議(IP)骨干上的應(yīng)用數(shù)據(jù)流的路由,所述方法包括獲知多個(gè)應(yīng)用服務(wù)器的服務(wù)器狀態(tài);確定客戶(hù)路由器和所述多個(gè)應(yīng)用服務(wù)器之間的中間鏈路的量度(中間鏈路量度);在所述客戶(hù)路由器處接收來(lái)自應(yīng)用客戶(hù)的應(yīng)用請(qǐng)求;以及基于所述服務(wù)器狀態(tài)和所述中間鏈路量度來(lái)確定將所述客戶(hù)請(qǐng)求發(fā)送到所述多個(gè)應(yīng)用服務(wù)器中的哪一個(gè)。
2. 根據(jù)權(quán)利要求1所述的方法,還包括在所述客戶(hù)路由器處執(zhí)行所述獲知、計(jì)算、接收和確定的步驟。
3. —種裝置,用于優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié)議(IP)骨干上的應(yīng)用 數(shù)據(jù)流的路由,所述裝置包括用于獲知多個(gè)應(yīng)用服務(wù)器的服務(wù)器狀態(tài)的裝置;用于計(jì)算從每個(gè)應(yīng)用服務(wù)器到客戶(hù)路由器的反向最短路徑樹(shù)(SPT) 的裝置;用于在所述客戶(hù)路由器處接收來(lái)自應(yīng)用客戶(hù)的應(yīng)用請(qǐng)求的裝置;以及 用于基于所述服務(wù)器狀態(tài)和所述反向SPT來(lái)確定將所述客戶(hù)請(qǐng)求發(fā)送 到所述多個(gè)應(yīng)用服務(wù)器中的哪一個(gè)的裝置。
4. 一種計(jì)算機(jī)可讀介質(zhì),包含用于優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié)議 (IP)骨干上的應(yīng)用數(shù)據(jù)流的路由的可執(zhí)行程序指令,所述可執(zhí)行程序指令包含程序指令用于獲知多個(gè)應(yīng)用服務(wù)器的服務(wù)器狀態(tài);計(jì)算從每個(gè)應(yīng)用服務(wù)器到客戶(hù)路由器的反向最短路徑樹(shù)(SPT); 在所述客戶(hù)路由器處接收來(lái)自應(yīng)用客戶(hù)的應(yīng)用請(qǐng)求;以及 基于所述服務(wù)器狀態(tài)和所述反向SPT來(lái)確定將所述客戶(hù)請(qǐng)求發(fā)送到所 述多個(gè)應(yīng)用服務(wù)器中的哪一個(gè)。
5. —種節(jié)點(diǎn),與用于計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié)議(IP)骨干上的應(yīng)用數(shù) 據(jù)流的路由優(yōu)化一起使用,所述節(jié)點(diǎn)包括 一個(gè)或多個(gè)網(wǎng)絡(luò)接口;處理器,耦合到所述一個(gè)或多個(gè)網(wǎng)絡(luò)接口并適合于執(zhí)行軟件處理;以及存儲(chǔ)器,適合于存儲(chǔ)可由所述處理器執(zhí)行的應(yīng)用接口處理,所述應(yīng)用 接口處理被配置成i)獲知多個(gè)應(yīng)用服務(wù)器的服務(wù)器狀態(tài);ii)計(jì)算從每個(gè) 應(yīng)用服務(wù)器到所述節(jié)點(diǎn)的反向最短路徑樹(shù)(SPT) ; iii)接收來(lái)自應(yīng)用客戶(hù) 的應(yīng)用請(qǐng)求;以及iv)基于所述服務(wù)器狀態(tài)和所述反向SPT來(lái)確定將所述客戶(hù)請(qǐng)求發(fā)送到所述多個(gè)應(yīng)用服務(wù)器中的哪一個(gè)。
全文摘要
一種技術(shù)優(yōu)化計(jì)算機(jī)網(wǎng)絡(luò)中因特網(wǎng)協(xié)議(IP)骨干上的應(yīng)用數(shù)據(jù)流的路由。根據(jù)該新技術(shù),客戶(hù)路由器獲知多個(gè)應(yīng)用服務(wù)器的服務(wù)器狀態(tài)(例如,待決請(qǐng)求的數(shù)目等),并且還確定應(yīng)用服務(wù)器和客戶(hù)路由器之間的中間鏈路的量度(中間鏈路量度),例如,尤其是從應(yīng)用服務(wù)器到客戶(hù)路由器方向上的鏈路量度。收到來(lái)自應(yīng)用客戶(hù)的應(yīng)用請(qǐng)求(“客戶(hù)請(qǐng)求”)之后,客戶(hù)路由器基于服務(wù)器狀態(tài)和中間鏈路量度來(lái)確定將該客戶(hù)請(qǐng)求發(fā)送到多個(gè)應(yīng)用服務(wù)器中的哪一個(gè),并相應(yīng)地發(fā)送該客戶(hù)請(qǐng)求。
文檔編號(hào)G06F15/173GK101395594SQ200780007431
公開(kāi)日2009年3月25日 申請(qǐng)日期2007年2月22日 優(yōu)先權(quán)日2006年3月1日
發(fā)明者戴維·D·沃德, 斯特凡諾·B·普雷維蒂 申請(qǐng)人:思科技術(shù)公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1