分布式狀態(tài)路徑計算單元覆蓋體系結(jié)構(gòu)的制作方法
【專利摘要】在一個實施例中,一種計算機網(wǎng)絡中的特定設備維護本地擁有的隧道狀態(tài)表,并加入分布式散列表(DHT)環(huán)。此外,與DHT環(huán)的其他設備共享本地擁有的隧道狀態(tài)表,以建立DHT擁有的隧道狀態(tài)表。該特定設備(以及其他設備)根據(jù)DHT環(huán)來確定流量工程數(shù)據(jù)庫(TED)特定部分的鏈路狀態(tài)通告(LSA)的所有權(quán)。因此,當該特定設備(或任意設備)使用本地TED來計算隧道的路徑時,在沿所計算的路徑的在特定LSA中從這些特定LSA的所有者通告的資源不被所述特定設備擁有的時候,該特定設備可請求允許使用所述資源。
【專利說明】分布式狀態(tài)路徑計算單元覆蓋體系結(jié)構(gòu)
【技術領域】
[0001]本公開一般涉及計算機網(wǎng)絡,并且更具體地涉及路徑計算單元(PCE)。
【背景技術】
[0002]隧道已被用于若干應用,例如,虛擬專用網(wǎng)(VPN)的支持或沿源路由路徑逐跳進行的流量工程。在過去十年所發(fā)展的若干隧道技術中,多協(xié)議標簽交換(MPLS)流量工程(TE)被服務提供商和大型企業(yè)網(wǎng)絡廣泛采用,以根據(jù)指定流量需求(流量工程)來優(yōu)化網(wǎng)絡資源,或在鏈路和/或節(jié)點故障的情況下,由于作為MPLS TE快速重路由(其基于快速檢測到網(wǎng)絡元件故障時的本地重路由)的本地保護技術而支持流量的快速恢復。
[0003]例如,如在互聯(lián)網(wǎng)工程任務組的請求注解(RFC)4655中所定義的那樣,路徑計算單元(PCE)通常包括基于負責網(wǎng)絡中的隧道計算的外部引擎(PCE)。頭端(或路徑計算客戶端-PCC)使用PCEP信令協(xié)議(RFC5440)向PCE發(fā)送請求(PCReq消息),并通過答復(PCR印消息)來接收所計算的路徑。PCEP還指定通知和錯誤消息。PCE主要被用于備用隧道路徑計算和域間(區(qū)域間/AS間)路徑計算,而在PCE之前,每域路徑計算是唯一(可能恰好是次優(yōu)的)可用的技術。
[0004]迄今為止采用的基于PCE的網(wǎng)絡都是無狀態(tài)的。也就是說,隧道由PCE根據(jù)在多數(shù)情況下由路由協(xié)議提供的流量工程數(shù)據(jù)庫(TED)進行計算,而不需要任何狀態(tài)維護。但是,對于某些應用,狀態(tài)PCE可提供更優(yōu)的解決方案。一種新的狀態(tài)PCE草案被Crabbe等采用為 ffiTF 工作文檔,名稱為 “PCEP Extens1ns for Stateful PCE”(狀態(tài) PCE 的 PCEP 擴展)<draft-1etf-pce-stateful-pce>,該文檔指定若干新的PCEP消息,允許PCC更新PCE關于它們的隧道狀態(tài)(PCRpt消息),控制隧道授權(quán)(PCE遠程控制隧道的能力),以及允許PCE向PCC發(fā)送隧道請求以獲知狀態(tài)(PCUpd消息)。但是,狀態(tài)PCE體系結(jié)構(gòu)仍呈現(xiàn)出一些各種性質(zhì)的挑戰(zhàn)。
【專利附圖】
【附圖說明】
[0005]通過參考以下結(jié)合附圖的說明可以更好地理解這里的實施例,在附圖中,相似的標號指示相同或功能相似的元件,其中:
[0006]圖1A-1B示出了示例性計算機網(wǎng)絡;
[0007]圖2示出了示例性網(wǎng)絡設備/節(jié)點;
[0008]圖3A-3B示出了在圖1A-1B的網(wǎng)絡中,基于PCE的隧道計算的示例;
[0009]圖4A-4B示出了分布式散列表(DHT)環(huán)的示例;
[0010]圖5示出了流量工程數(shù)據(jù)庫(TED)所有權(quán)的示例;
[0011 ] 圖6A-6B示出了 DHT消息的示例;
[0012]圖7示出了用于建立分布式代理覆蓋體系結(jié)構(gòu)的示例性簡化程序;
[0013]圖8示出了用于建立分布式代理覆蓋體系結(jié)構(gòu)的示例性簡化程序,特別是從PCE-PCC通信的視角。
[0014]圖9示出了用于建立分布式代理覆蓋體系結(jié)構(gòu)的另一示例性簡化程序,特別是從所有者設備的視角。
[0015]圖10示出了用于建立分布式代理覆蓋體系結(jié)構(gòu)的又一示例性簡化程序,特別是用于從DHT環(huán)中添加和移除代理設備。
【具體實施方式】
[0016]MM
[0017]根據(jù)本公開的一個或多個實施例,一種計算機網(wǎng)絡中的特定設備維護本地擁有的隧道狀態(tài)表,并加入分布式散列表(DHT)環(huán)。此外,與DHT環(huán)的其他設備共享本地擁有的隧道狀態(tài)表,以建立DHT擁有的隧道狀態(tài)表。該特定設備(以及其他設備)根據(jù)DHT環(huán)來確定流量工程數(shù)據(jù)庫(TED)特定部分的鏈路狀態(tài)通告(LSA)的所有權(quán)。因此,當該特定設備(或任意設備)使用本地TED來計算隧道的路徑時,在沿所計算的路徑的在特定LSA中從這些特定LSA的所有者通告的資源不被所述特定設備擁有的時候,該特定設備可請求允許使用所述資源。
[0018]發(fā)明詳沭
[0019]計算機網(wǎng)絡是通過通信鏈路相互連接的節(jié)點和用于在端節(jié)點(例如個人計算機和工作站,或其他設備,例如傳感器等)之間傳輸數(shù)據(jù)的段(segment)在地理上分布的集合。很多類型的網(wǎng)絡是可用的,從局域網(wǎng)(LAN)到廣域網(wǎng)(WAN)。LAN通常通過位于相同的普通物理位置(例如,建筑物或校園)中的專用私有通信鏈路來連接節(jié)點。另一方面,WAN通常通過長距離通信鏈路(例如,公用載體電話線、光學光路、同步光網(wǎng)絡(SONET)、同步數(shù)字體系(SDH)鏈路、及其他)來連接在地理上分散的節(jié)點。
[0020]因為相互連接的計算機網(wǎng)絡的管理能夠證明是繁重的,因此較小的計算機網(wǎng)絡組可被維護為路由域或自治系統(tǒng)。自治系統(tǒng)(AS)中的網(wǎng)絡通常通過被配置為執(zhí)行域內(nèi)路由協(xié)議的傳統(tǒng)“域內(nèi)”路由器耦合到一起,并且通常服從共同管理機構(gòu)。為了提高路由可伸縮性,服務提供商(例如,ISP)可將AS劃分為多個“區(qū)域”或“等級”。但是,可能想要的是增加能夠交換數(shù)據(jù)的節(jié)點的數(shù)量;在這種情況下,執(zhí)行域間路由協(xié)議的域間路由器被用于使各個AS的節(jié)點相互連接。此外,可能想要的是使在不同管理域下操作的各個AS相互連接。如這里所使用的那樣,AS、區(qū)域或等級通常被稱為“域”,而用于使多個域相互連接的路由器通常被稱為“邊界路由器”或BR。在區(qū)域而不是AS的情況下,由于路由器由共同管理機構(gòu)管理,因此單個路由器實際上可以作為一個區(qū)域的出口邊界路由器以及另一區(qū)域的入口邊界路由器。
[0021]圖1A是示例性計算機網(wǎng)絡10a的示意性框圖,該計算機網(wǎng)絡10a包括自治系統(tǒng)AS2,其與多個其他自治系統(tǒng)AS1、AS3和AS4相互連接。自治系統(tǒng)(AS)在這里被定義為在網(wǎng)絡中服從共同管理機構(gòu)并執(zhí)行一個或多個域內(nèi)路由協(xié)議的一組中間節(jié)點,例如域內(nèi)路由器。雖然作為說明,每個AS是自治系統(tǒng),但是本領域的技術人員將認識到,AS可以替換地被配置為路由域或其他網(wǎng)絡或子網(wǎng)絡。自治系統(tǒng)ASl包括域內(nèi)路由器,例如邊界路由器ASBR1*和ASBR2*,通過該邊界路由器,通信(例如,數(shù)據(jù)包)可傳入該自治系統(tǒng)或從該自治系統(tǒng)分別傳出到AS2的邊界路由器ASBR3和ASBR4。AS2也包括邊界路由器ASBR5*和ASBR6*,其分別與AS3和AS4的邊界路由器ASBR7*和ASBR8*進行通信。此外,在AS1、AS2、AS3和AS4中,分別存在示例性域內(nèi)路由器A、B、C和D。
[0022]作為替代或此外,圖1B是示例性計算機網(wǎng)絡10b的示意性框圖,該計算機網(wǎng)絡10b包括區(qū)域Al、A2和A3,每個區(qū)域都具有至少一個域內(nèi)路由器,分別為A、B和C。特別地,Al和A2共享邊界路由器ABR1*和ABR2*,而A2和A3共享ABR3*和ABR4。如這里所使用的那樣,區(qū)域是彼此共享全部網(wǎng)絡拓撲信息而不需要與該區(qū)域外部的路由器共享的路由器的集合。這里所使用的術語區(qū)域還包含術語“等級”,其對于網(wǎng)絡基于網(wǎng)絡所選擇的路由協(xié)議具有相似的含義。
[0023]數(shù)據(jù)包140 (例如,離散的數(shù)據(jù)幀或包)可使用預定網(wǎng)絡通信協(xié)議(例如,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)、用戶數(shù)據(jù)報協(xié)議(UDP)、異步傳輸模式(ATM)協(xié)議、幀中繼協(xié)議,互聯(lián)網(wǎng)包交換(IPX)協(xié)議等),在計算機網(wǎng)絡100 ( 一般地,10a和100b)的節(jié)點/設備之間進行交換。在這種情境中,協(xié)議包括定義節(jié)點如何彼此交互的一組規(guī)則。例如,除用戶數(shù)據(jù)外,路由信息可使用預定的“內(nèi)部”網(wǎng)關協(xié)議(IGP)(例如,傳統(tǒng)的距離向量協(xié)議,或作為說明地,通過鏈路狀態(tài)通告(LSA)或鏈路狀態(tài)包的使用的鏈路狀態(tài)協(xié)議)而被分布在AS中的路由器間(例如,在區(qū)域A1-A3之間)。此外,包含網(wǎng)絡路由信息的數(shù)據(jù)包可使用“外部”網(wǎng)關協(xié)議(例如,邊界網(wǎng)關協(xié)議(BGP))在自治系統(tǒng)AS1-AS4之間進行交換。
[0024]本領域的技術人員將理解,任意數(shù)量的節(jié)點、設備、鏈路等可被用于該計算機網(wǎng)絡中,并且這里所示的視圖是為簡潔起見的。此外,以下參考AS間路徑計算所描述的技術可被用于區(qū)域間路徑計算的情境中,并且在某些條件下,參考區(qū)域間路徑計算所描述的技術可被用于AS間路徑計算。
[0025]圖2是可被用于這里所述的一個或多個實施例的示例節(jié)點/設備(例如,路由器)200的示意性框圖,例如,作為上面的圖1A和圖1B中的任意設備,特別是作為這里所述的路經(jīng)計算單元或客戶端(PCE或PCC)。該設備可包括通過系統(tǒng)總線250相互連接的一個或多個網(wǎng)絡接口 210、至少一個處理器220、以及存儲器240。
[0026]網(wǎng)絡接口 210包括用于通過耦合到網(wǎng)絡100的鏈路進行數(shù)據(jù)通信的機械、電、和信號電路。該網(wǎng)絡接口可被配置為使用各種不同的通信協(xié)議來發(fā)送和/或接收數(shù)據(jù),這些通信協(xié)議還包括:TCP/IP、UDP、ATM、同步光網(wǎng)絡(SONET)、無線協(xié)議、幀中繼、以太網(wǎng)、光纖分布式數(shù)據(jù)接口(FDDI)等。顯然,物理網(wǎng)絡接口 210還可被用于實現(xiàn)一個或多個虛擬網(wǎng)絡接口,例如用于虛擬專用網(wǎng)(VPN)接入,如本領域的技術人員所熟知的那樣。
[0027]存儲器240包括可被處理器220和網(wǎng)絡接口 210尋址的多個存儲位置,用于存儲與這里所述的實施例相關聯(lián)的軟件程序和數(shù)據(jù)結(jié)構(gòu)。處理器220可包括適于執(zhí)行該軟件程序并操縱數(shù)據(jù)結(jié)構(gòu)245(例如,路由數(shù)據(jù)庫/鏈路狀態(tài)數(shù)據(jù)庫(LSDB)/流量工程數(shù)據(jù)庫(TED)和/或表)的硬件元件或硬件邏輯。此外,操作系統(tǒng)242還通過調(diào)用支持在該設備上執(zhí)行的軟件處理和/或服務的操作來在功能上組織該設備,該操作系統(tǒng)242的部分通常位于存儲器240中并由處理器執(zhí)行。這些軟件處理和/或服務可包括路由處理/服務244、隧道處理/服務246、以及示意性的PCE/PCC處理248,如這里所述的那樣。注意,雖然這些處理被示于集中式存儲器240中,但是替換的實施例提供了這里的技術具體是在網(wǎng)絡接口210中操作的某些方面。
[0028]對于本領域的技術人員而言,顯然,其他處理器和存儲器類型(包括各種計算機可讀介質(zhì))可被用于存儲和執(zhí)行適于這里所述的技術的程序指令。同樣,雖然該描述示出了各個處理,但是可明顯預計的是,各個處理可被實施為被配置為根據(jù)這里的技術(例如,根據(jù)相似處理的功能)來操作的模塊。此外,雖然這些處理被分開示出,但是本領域的技術人員將認識到,這些處理可以是其他處理中的例程或模塊。
[0029]路由處理(服務)244包括計算機可執(zhí)行指令,其由處理器220執(zhí)行以執(zhí)行由一個或多個路由協(xié)議(例如,作為IGP服務的內(nèi)部網(wǎng)關協(xié)議(IGP)(例如,開放式最短路徑優(yōu)先“0SPF”和中間系統(tǒng)到中間系統(tǒng)“IS-1S”)、邊界網(wǎng)關協(xié)議(BGP)等)提供的功能,如本領域技術人員將理解的那樣。這些功能可被配置為管理路由和轉(zhuǎn)發(fā)信息數(shù)據(jù)庫/表(數(shù)據(jù)結(jié)構(gòu)245),該路由和轉(zhuǎn)發(fā)信息數(shù)據(jù)庫/表包括,例如用于作出路由和轉(zhuǎn)發(fā)決定的數(shù)據(jù)。顯然,路由服務244還可執(zhí)行與虛擬路由協(xié)議有關的功能,例如,維護虛擬路由/轉(zhuǎn)發(fā)(VRF)實例(說明性地,表245的組成部分),如本領域技術人員將理解的那樣。
[0030]在本地域(網(wǎng)絡100)內(nèi)的網(wǎng)絡拓撲中的改變可使用路由服務244(例如,IGP服務,例如傳統(tǒng)OSPF和IS-1S鏈路狀態(tài)協(xié)議)在網(wǎng)絡100內(nèi)的節(jié)點/路由器200之間進行通知。例如,假設通信鏈路故障或與網(wǎng)絡節(jié)點相關聯(lián)的開銷值改變。一旦網(wǎng)絡狀態(tài)的改變被路由器中的一個檢測到,則該路由器可洪泛IGP(或BGP)通告(消息/包140),將該改變通知網(wǎng)絡中的其他路由器。以這種方式,每個路由器最終“收斂”到同一網(wǎng)絡拓撲視圖。
[0031]多協(xié)議標簽交換(MPLS)是熟知的協(xié)議,其中,源-目的地對的路徑可沿標簽交換路由器(LSR)建立,并且在該路徑中相鄰的LSR之間轉(zhuǎn)發(fā)包所需的值以及報頭或“標簽”被預先設定到該包。該標簽被用于將包指向正確的接口和“下一跳”路由器。該標簽在任意IP或其他報頭之前,允許針對該包使用較小的外部報頭。源-目的地對的路徑(被稱為標簽交換路徑(LSP))可根據(jù)各種不同的方法來建立。一種這樣的方法是標簽分發(fā)協(xié)議(LDP),其中路徑中的每個路由器根據(jù)其IP路由表將其標簽發(fā)送給鄰居路由器。LDP標簽在標簽映射消息中被發(fā)送給鄰居路由器,該標簽映射消息可包括指定LSP的路徑向量作為其TLV(TypeLength Value,類型長度值)字段中的一個。對于所建立的每個LSP,轉(zhuǎn)發(fā)等價類(FEC)與該路徑相關聯(lián),以指定哪些包被映射到該路徑。標簽轉(zhuǎn)發(fā)信息庫(LFIB)(數(shù)據(jù)結(jié)構(gòu)245)存儲FEC、LSP的下一跳信息、以及下一跳所需的標簽。
[0032]此外,MPLS流量工程(TE)已被發(fā)展為滿足數(shù)據(jù)網(wǎng)絡需求,例如保證可用的帶寬或快速重路由(FRR)。MPLS TE利用現(xiàn)代標簽交換技術通過LSR的IP/MPLS網(wǎng)絡基于一系列約束來建立端到端隧道。這些隧道是一種類型的標簽交換路徑(LSP),因此通常被稱為MPLSTE-LSP。
[0033]通常,隧道是將一種協(xié)議的包(報頭和數(shù)據(jù))封裝進具有新的報頭的另一協(xié)議包的數(shù)據(jù)字段的邏輯結(jié)構(gòu)。以這種方式,被封裝的數(shù)據(jù)可通過網(wǎng)絡傳輸,否則,其將不能傳輸或?qū)⒁圆惶行У姆绞絺鬏?。更重要的是,隧道在兩個網(wǎng)絡節(jié)點之間創(chuàng)建透明虛擬網(wǎng)絡鏈路,該透明虛擬網(wǎng)絡鏈路通常不受物理網(wǎng)絡鏈路或設備的影響(即,物理網(wǎng)絡鏈路或設備僅基于新的報頭轉(zhuǎn)發(fā)被封裝的包)。雖然隧道的一個示例是MPLS TE-LSP,其他熟知的隧道方法還包括,二層隧道協(xié)議(L2TP),點到點隧道協(xié)議(PPTP),IP隧道、以及通用路由封裝(GRE)隧道。
[0034]特別地,隧道(例如,ΤΕ-LSP)的建立需要報頭端節(jié)點(LSR)到尾端節(jié)點之間的路徑計算,沿該路徑的信令(例如,通過資源預留協(xié)議(RSVP)-TE),以及在沿該路徑的中間節(jié)點(LSR)處的轉(zhuǎn)發(fā)表的修改。最優(yōu)的是,所計算的路徑是“最短”路徑,如按一定度量(開銷、長度等)所測量的“最短”路徑,該最短路徑滿足所有相關的LSP流量工程約束或“屬性”,例如,所需帶寬、“親和性”(避開或包括某些鏈路的管理約束)、優(yōu)先權(quán)、類別類型等。此外,若干技術已被發(fā)展以允許使用RSVP-TE進行信號帶寬的動態(tài)帶寬調(diào)整,動態(tài)搶占分配以緩解由于裝箱問題或帶寬碎片而導致的死鎖的可能性,分布式重優(yōu)化技術以除去網(wǎng)絡中帶寬的碎片,用于備份隧道計算以根據(jù)單個鏈路/節(jié)點/SRLG資源的假設來最大化備份帶寬使用的分布式技術(在獨立資源之間共享帶寬)等。
[0035]偶爾地,網(wǎng)絡元件(例如,節(jié)點或鏈路)會故障,從而導致將原本穿過故障網(wǎng)絡元件的流量重新定向到繞過該故障的其他網(wǎng)絡元件。通常,該故障的通知通過新的網(wǎng)絡拓撲的通告(例如,IGP或BGP通告)中繼到網(wǎng)絡中的節(jié)點,并且路由表被相應地更新以避開故障。響應于網(wǎng)絡元件故障而使用,例如純IP重路由來重新配置網(wǎng)絡可能是耗費時間的。但是,很多恢復技術可用于在網(wǎng)絡元件故障的事件中提供快速恢復和/或網(wǎng)絡配置,例如快速重路由,例如,MPLS TE快速重路由(RFC4090)。
[0036]快速重路由(FRR)已被廣泛應用于針對網(wǎng)絡元件故障提供保護,其中“備份隧道”被創(chuàng)建以繞過一個或多個被保護的網(wǎng)絡元件(例如,鏈路、共享風險鏈路組(SRLG)、以及節(jié)點)。當網(wǎng)絡元件故障時,流量通過備份隧道被迅速轉(zhuǎn)移(“快速重路由”)以繞過故障元件,或者更特別地,在MPLS的情況下,一組基本TE-LSP (隧道)被迅速轉(zhuǎn)移。特別地,被配置為對流量進行重路由的本地修復點(PLR)節(jié)點為備份隧道插入(“壓入”)新的標簽,并且流量被相應地轉(zhuǎn)移。一旦故障元件被繞過,則備份隧道標簽沿備份路徑被最后LSR移除(“取出”),并且流量根據(jù)下一標簽(例如,原TE-LSP的標簽)沿原路徑路由。顯然,備份隧道除了沿被保護的基本TE-LSP繞過故障元件,還與基本TE-LSP相交,即,其開始和結(jié)束于沿被保護的基本TE-LSP的節(jié)點。
[0037]如上所述,隧道已被用于若干應用,例如虛擬專用網(wǎng)(VPN)的支持或沿源路由路徑逐跳進行的流量工程。在過去十年所發(fā)展的若干隧道技術中,MPLS TE已被服務提供商和大型企業(yè)網(wǎng)絡廣泛采用,以根據(jù)指定流量需求(流量工程)來優(yōu)化網(wǎng)絡資源,或在鏈路和/或節(jié)點故障的情況下,由于作為MPLS TE快速重路由(其基于快速檢測到網(wǎng)絡元件故障時的本地重路由)的本地保護技術而支持流量的快速恢復。例如,MPLS TE-LSP原本是使用分布式約束最短路徑優(yōu)先(CSPF)算法來計算的,其中,每個隧道頭端負責網(wǎng)絡中LSP路徑的計算,根據(jù)由鏈路狀態(tài)路由協(xié)議(例如,OSPF或IS-1S)分布的流量工程數(shù)據(jù)庫(TED)來使用約束SPF (例如,Dijsktra)。
[0038]需要被稱為路徑計算單元(PCE)模型(例如,在RFC4655中所定義的)的新的路徑計算模型的使用的一系列具有挑戰(zhàn)性的問題出現(xiàn)了。PCE模型通常包括基于負責網(wǎng)絡中隧道計算的外部引擎(PCE)。頭端(或路徑計算客戶端-PCC)使用PCEP信令協(xié)議(RFC5440)向PCE發(fā)送請求(PCReq消息),并且通過答復(PCR印消息)來接收所計算的路徑。PCE主要被用于備份隧道路徑計算和域間(區(qū)域間/AS間)路徑計算,其中每域路徑計算是在PCE之前唯一(可能恰好是次優(yōu)的)可用的技術。
[0039]特別地,PCE是具有計算AS或區(qū)域(域)中PCE所知道的任意節(jié)點之間的路徑的能力的實體。(根據(jù)這里所述的一個或多個實施例,PCE處理/服務248通常包含由處理器220執(zhí)行以執(zhí)行與PCE相關的功能的計算機可執(zhí)行指令。)由于PCE更了解其AS或區(qū)域內(nèi)的網(wǎng)絡流量和路徑選擇,所以PCE尤其有用,因此可被用于更優(yōu)路徑計算。頭端節(jié)點/LSR可進一步操作為路徑計算客戶端(PCC),其被配置為向PCE發(fā)送路徑計算請求,并接收帶有所計算的路徑的響應,其可能考慮來自其他PCC的其他路徑計算請求。重要的是,注意當一個PCE向另一個PCE發(fā)送請求時,其充當PCC。傳統(tǒng)上,PCE在其周圍的區(qū)域、等級或AS外具有有限的可見性或沒有可見性。PCC能夠,或是通過由管理員預配置,或是通過在路由協(xié)議消息中攜帶的PCE發(fā)現(xiàn)(PCED)消息(“通告”)得知PCE,該PCE發(fā)現(xiàn)消息從PCE在其區(qū)域或等級內(nèi)或穿過整個AS發(fā)送以通告其服務。
[0040]通常,PCE功能駐在域之間的BR上用于域間路徑計算,并且通常存在至少兩個BR,因此不存在單個故障點。例如,圖1A和圖1B中用星號(*)標記的ASBR和ABR可被配置為PCE。注意,雖然作為說明,PCE功能通常駐在BR上,但是這里所述的技術同樣相應地適用于不駐在BR上的PCE。
[0041]圖3A-3B分別示出了圖1A-1B的網(wǎng)絡10a和10b中基于PCE的隧道計算的簡單示例。特別地,假設在每個實例中,充當PCC的LSR A從本地PCE (例如,分別是ASBR1*或ABRl*)請求到LSR C的隧道。路徑計算請求310導致路徑的計算,而路徑計算響應320被返回給頭端LSR A0然后隧道330可相應地被建立。(注意,對于域間計算,本地PCE對于其他域中的其他PCE可充當PCC,如上所述。)還要注意,雖然PCE特別適用于域間路徑計算,但是這里的技術不限于域間路徑計算,并且實際上也可被用于域內(nèi)路徑計算。
[0042]到目前為止所采用的基于PCE的網(wǎng)絡中,PCE是無狀態(tài)的:LSP由PCE根據(jù)流量工程數(shù)據(jù)庫(TED)來計算,該流量工程數(shù)據(jù)庫在多數(shù)情況下由路由協(xié)議(ISIS或0SPF,最近可能使用BGP)提供,而不需要任何狀態(tài)維護。雖然PCE體系結(jié)構(gòu)確實涉及狀態(tài)PCE作為可能更優(yōu)的模型的潛在應用(該模型在計算LSP時會跟蹤網(wǎng)絡中所有LSP的狀態(tài)),但是可以看出,該模型在信令、狀態(tài)維護等方面有一些非常具有挑戰(zhàn)性的問題,是非常復雜的。
[0043]顯然,狀態(tài)PCE是一些應用(例如,層間優(yōu)化或全局優(yōu)化)可選擇的解決方案,但是最近考慮對于帶寬資源的高級優(yōu)化的增長需求的應用情況的數(shù)量顯著增長。為此,狀態(tài)PCE被實現(xiàn),并且狀態(tài)PCE草案標準被采用為上面提到的題為“狀態(tài)PCE的PCEP擴展”的IETF工作文檔,該文檔指定了若干新的PCEP消息,允許PCC更新PCE關于它們的LSP狀態(tài)(PCRpt消息),控制LSP授權(quán)(PCE遠程控制LSP的能力),并且允許PCE向PCC發(fā)送LSP請求以獲知狀態(tài)(PCUpd消息)。如以上文檔中所定義的那樣,功能能夠或是從PCC向PCE(C-E)或是從PCE向PCC(E-C)發(fā)起。新的功能是:
[0044]-性能協(xié)商(E-C、C-E):在PCEP會話建立的過程中,PCC和PCE二者必須宣告它們支持在該文檔中定義的PCEP狀態(tài)PCE擴展;
[0045]-LSP狀態(tài)同步(C-E):在PCC和狀態(tài)PCE之間的會話被初始化后,PCE必須在它能夠執(zhí)行路徑計算或更新PCC中的LSP屬性之前獲知PCC的LSP的狀態(tài);
[0046]-LSP更新請求(E-C) =PCE請求關于PCC的LSP的屬性修改;
[0047]-LSP狀態(tài)報告(C-E):每當LSP的狀態(tài)變化時,PCC向PCE發(fā)送LSP狀態(tài)報告;以及
[0048]-LSP控制授權(quán)(C-E、E-C) =PCC授予PCE更新關于一個或多個LSP的LSP屬性的權(quán)利;只要該授權(quán)生效,則PCE變?yōu)長SP屬性的權(quán)威源;PCC可撤回授權(quán)或者PCE可放棄授權(quán)。
[0049]狀態(tài)PCE被選定為在未來的隧道使能網(wǎng)絡體系結(jié)構(gòu)中扮演主要角色。雖然狀態(tài)PCE的使用意為解決大范圍的問題,但是其也帶來了一些困難的技術問題,包括但不限于:
[0050]I)存在PCE可能接收到網(wǎng)絡中的信令請求爆發(fā)的一些情況,這與CSPF的分布式性質(zhì)不同:當執(zhí)行全局重優(yōu)化時,在鏈路/節(jié)點故障時重路由大量的LSP(在一些網(wǎng)絡中,單個故障可導致數(shù)以萬計的LSP故障)。
[0051]2)狀態(tài)維護是另一個重要問題。狀態(tài)PCE被要求維護LSP狀態(tài)。當重新計算LSP時,這可能首先需要替換網(wǎng)絡中的其他LSP,從而導致網(wǎng)絡中大量的信令交換。
[0052]3)整個體系結(jié)構(gòu)的伸縮:已嘗試當執(zhí)行LSP的并行計算時,通過將計算分布在若干PCE中并允許PCE間通信來伸縮狀態(tài)PCE體系結(jié)構(gòu)。這些模型由于PCE之間的信令交換的數(shù)量而顯示出非常有限的伸縮(類似于在大規(guī)模并行計算問題中CPU之間的IPC)。
[0053]4)在維護操作過程中的PCE故障,其在PCE是無狀態(tài)時不是問題。不幸的是,當PCE在維護操作過程中故障時(例如,當一些LSP被更新,并且PCE在接觸其他頭端并通知它們LSP路徑改變之前故障時,該LSP路徑改變是網(wǎng)絡中要被路由的其他LSP所需的),這一問題更加復雜,因此使得網(wǎng)絡處于非常不穩(wěn)定/未知的狀態(tài)。
[0054]狀態(tài)PCE體系結(jié)構(gòu)的一個基本限制因素在于可伸縮性的基本缺乏,類似于任意其他類型的集中式體系結(jié)構(gòu)。該可伸縮性的缺乏經(jīng)常導致放棄集中式體系結(jié)構(gòu),而喜歡次優(yōu)的分布式路徑計算體系結(jié)構(gòu)(例如,使用分布在每個頭端上的CSPF)??缮炜s性能夠根據(jù)若干方面來確定:處理大量路徑計算請求的能力、實時計算并服務這些請求的能力(響應時間)、所有所需狀態(tài)的容量存儲(例如,網(wǎng)絡資源預留、TE LSP的數(shù)量)等。
[0055]分布式狀態(tài)PCE覆蓋
[0056]本技術在這里指定允許多個代理(例如,在MPLS流量工程或隧道路徑計算情境中的PCE)共享對一個或多個數(shù)據(jù)庫的訪問并且使用分布式散列表(DHT)環(huán)來管理對公共資源的并發(fā)訪問的體系結(jié)構(gòu),因此創(chuàng)建了強健且可伸縮的多代理(例如,多PCE)體系結(jié)構(gòu)。例如,本公開在這里描述了由代理(例如,PCE)在加入DHT覆蓋并共享最新的TED和狀態(tài)信息時所采取的步驟,也用于以協(xié)作的方式計算路徑。顯然,所述體系結(jié)構(gòu)包括以下部分:1)基于DHT的覆蓋網(wǎng)絡,該網(wǎng)絡由協(xié)作的代理(例如,PCE)形成;2)數(shù)據(jù)庫(例如,TED)的所有權(quán)的劃分;3)允許代理(例如,PCE)請求和鎖定資源的協(xié)議擴展(例如,PCEP);以及4)向覆蓋添加和從覆蓋移除代理/節(jié)點。
[0057]特別地,根據(jù)如下詳細描述的本公開一個或多個實施例,在計算機網(wǎng)絡中的特定設備維護本地擁有的隧道狀態(tài)表,并加入DHT環(huán)。此外,與該DHT環(huán)中的其他設備共享本地擁有的隧道狀態(tài)表,以建立DHT擁有的隧道狀態(tài)表。該特定設備(以及其他設備)根據(jù)DHT環(huán)來確定TED的特定部分的LSA的所有權(quán)。因此,當特定設備(或任意設備)使用本地TED來計算隧道路徑時,在沿所計算的路徑的在特定LSA中從這些特定LSA的所有者通告的資源不被所述特定設備擁有的時候,該特定設備可請求允許使用所述資源。
[0058]顯然,本技術在這里不與具體使用情況相關聯(lián),雖然下面的描述是特別關于狀態(tài)PCE對流量工程數(shù)據(jù)庫的共享訪問而進行描述的。但是,本技術在這里還可被應用于其他使用情況,例如,MPLS-TE隧道計算和信令的第3層流量工程、光路計算、軟件定義網(wǎng)絡(SDN)(其中,應用一方面接收來自網(wǎng)絡的指導,另一方面請求資源并將狀態(tài)引入網(wǎng)絡)等。例如,以上應用情況通常共享同樣的體系結(jié)構(gòu),并且可應用特定算法,以管理特定使用情況的需求。
[0059]作為說明地,這里所述的技術可由硬件、軟件、和/或固件例如根據(jù)PCE/PCC處理248例如協(xié)同路由處理244來執(zhí)行,該PCE/PCC處理248可包含由處理器220執(zhí)行以執(zhí)行關于這里所述技術的PCE/PCC (基于動作設備是PCE還是PCC)功能的計算機可執(zhí)行指令。例如,本技術在這里可被視為對傳統(tǒng)協(xié)議(例如各種PCE/PCC協(xié)議(例如,狀態(tài)PCE/PCC協(xié)議))的擴展,因此可相應地由執(zhí)行這些協(xié)議的本領域熟悉的類似組件來處理。顯然,在該實例中,非PCE/PCC設備,例如,LSR,也可被配置為根據(jù)示意性PCE/PCC處理248來操作,例如,以協(xié)同PCE執(zhí)行這里所述的某些動作。
[0060]如本領域技術人員所熟知的那樣,分布式散列表(DHT)是分散的、可擴展的,并且容錯的數(shù)據(jù)庫系統(tǒng),該系統(tǒng)基于鍵值對。一些熟知的DHT協(xié)議是Chord、Pastery、Kademlia、以及P-Grid,這些DHT協(xié)議通常定義節(jié)點加入已存在的DHT網(wǎng)絡、建立DHT路由表并且使用DHT路由表向?qū)ο蟮母?jié)點轉(zhuǎn)發(fā)TOT/GET消息的處理。該根節(jié)點通常被定義為節(jié)點標識符(ID)最接近存儲(I3UT)或取回(GET)對象的節(jié)點?;綝HT協(xié)議非常適用于基于DHT網(wǎng)絡中的單個鍵來存儲和取回對象的簡單應用。應該注意的是,對象的鍵通過散列對象中的獨特字段來獲得,并且對象的根節(jié)點直接基于散列的結(jié)果。也就是說,為了將對象置于節(jié)點中,對象的鍵被用于確定(參與DHT “環(huán)”的)網(wǎng)絡中對應于該散列鍵的特定節(jié)點。
[0061]圖4A示出了將DHT環(huán)400進行簡化的示例,該DHT環(huán)400示出了每個節(jié)點如何具有其自己的鍵空間。特別地,為了確定節(jié)點的鍵空間(該鍵空間的節(jié)點是“根節(jié)點”),節(jié)點的標識符(ID)(例如,介質(zhì)訪問控制(MAC)地址、節(jié)點ID等)被散列以確定DHT中的特定“位置”(例如,通常是2?28或2~256數(shù)字范圍內(nèi)的數(shù)字)。如圖4A所示,例如,假設節(jié)點“X”具有散列環(huán)值“5”,而節(jié)點“Y”具有值“20”,則在具有0-29的位置的環(huán)中,節(jié)點X與5-19的鍵空間相關聯(lián),而節(jié)點Y與20-29及0-4的鍵空間相關聯(lián)(因此為“環(huán)”結(jié)構(gòu))。通常,為了將對象(例如,文件、數(shù)據(jù)結(jié)構(gòu)等)置于網(wǎng)絡中,該對象被散列(例如,在該對象中的獨特字段)以與特定鍵(例如,“12”)相關聯(lián),然后相關聯(lián)的PUT請求被發(fā)送給對應于該鍵空間節(jié)點(例如,節(jié)點X)。為了取回該對象(GET),請求者提交相同的鍵(例如,“12”),并且DHT環(huán)400被用于確定哪個設備對應于該鍵空間(也是節(jié)點X)。如圖4B所示,當將新的節(jié)點“Z”插入DHT環(huán)400中時(例如,該節(jié)點Z的散列ID對應于值“10”),鍵空間被相應地劃分,使得在此示例中,節(jié)點X處理5-9,節(jié)點Z處理10-19,而節(jié)點Y處理20-29及0-4。(本領域的技術人員將認識到,存在很多方式來組織鍵空間,并且這里所示及所述的組織不意味著限制本公開的實施例的范圍。)
[0062]因此,通常來說,DHT環(huán)包括用于該覆蓋中的散列算法和信令協(xié)議。散列函數(shù)允許表示DHT覆蓋中的位置(節(jié)點)的地址的推導。作為該覆蓋的一部分的所有節(jié)點共享公共地址空間,并且每個節(jié)點擁有該地址空間的一部分,使得該空間的每個單個地址被一個節(jié)點所擁有。
[0063]根據(jù)這里的技術,DHT被用于PCE之間以共享關于TED和LSP狀態(tài)的信息。特別地,如這里所述,本技術包括以下幾個部分:
[0064]I)由PCE用于對流量工程數(shù)據(jù)庫(TED)進行劃分的算法:該算法允許所有PCE以一致的方式對TED進行劃分并取得TED的一個部分的所有權(quán);
[0065]2)允許協(xié)調(diào)PCE以交換狀態(tài)信息的一組新的DHT消息;
[0066]3)被用于維護DHT覆蓋中的狀態(tài)的一組程序;以及
[0067]4)被用于操作DHT覆蓋的一組程序。
[0068]以下描述通常涉及共享公共TED和已建立隧道(例如,流量工程LSP)的數(shù)據(jù)庫的狀態(tài)PCE的情境,但是,實施例不限于此。在PCE的情境中,每個PCE維護其流量工程數(shù)據(jù)庫(TED)(按照PCE程序)和LSP狀態(tài)表(按照狀態(tài)PCE程序)。LSP狀態(tài)表在DHT覆蓋中被共享,因此每個PCE具有LSP狀態(tài)表的兩個副本:一個本地的,和一個從DHT覆蓋可得到的。
[0069]這里所述的新的算法是為了對TED表進行劃分并將每個TED LSA的所有權(quán)分配給給定的PCE。特別地,每個PCE被配置以使用標準DHT程序加入公共DHT覆蓋。通常,PCEDHT覆蓋包括共享其LSP狀態(tài)表并取得TED數(shù)據(jù)庫的劃分/部分的所有權(quán)的那些PCE。為了對TED進行劃分,這里的技術作為說明地對LSA-1D執(zhí)行DHT散列算法。也就是說,每個PCE將DHT散列函數(shù)應用到TED中的整組LSA,使得每個LSA-1D與地址(DHT覆蓋地址空間的一部分)相關聯(lián)。然后這些地址由DHT覆蓋中的特定節(jié)點(例如,主動地加入到DHT環(huán)400的PCE中的一個)映射到所有權(quán)。
[0070]例如,如圖5所示,TED 500示出了多個LSA 1_N(字段510),以及相應的所有者設備520。PCE所有者是擁有DHT地址的PCE (由DHT散列函數(shù)確定),因此它還擁有LSA和其表示的節(jié)點/鏈路。一旦散列函數(shù)是完備的,則所有PCE將散列整個TED,且每個LSA (即,節(jié)點/鏈路)將由DHT環(huán)中協(xié)作的PCE中的一個所擁有。注意,TED數(shù)據(jù)庫在DHT覆蓋中不共享;而是DHT散列函數(shù)只用于確定使用的每個LSA的PCE所有者,如這里所述的那樣。特別地,每個PCE通過走過其本地TED (例如,從0SPF/ISIS中獲得的),將對于每個LSA,找到該LSA的PCE所有者。因此,在(下面描述的)路徑計算的過程中,每個PCE將獲知哪個PCE擁有每個對應于所計算的路徑的節(jié)點/鏈路的LSA。PCE所有者(擁有給定LSA的PCE)概念對于允許在若干PCE之間共享并行計算,同時還保證該計算是精確的且在多個PCE之間以一致的方式來執(zhí)行是關鍵的。
[0071 ] PCE客戶端(PCC)可向PCE請求路徑計算,PCC例如是,請求MPLS-TE LSP路徑的隧道頭端路由器,軟件定義網(wǎng)絡(SDN)的情境/結(jié)構(gòu)中請求網(wǎng)絡中的一組網(wǎng)絡資源和路徑的應用元件等。根據(jù)這里的技術,當被PCC請求時,PCE使用其TED的本地副本和一些路徑計算算法(例如,具有全局優(yōu)化的約束SPF)來計算路徑。在計算的過程中,PCE檢查對應于所計算的路徑穿過的節(jié)點/鏈路的LSA。
[0072]基于上述DHT操作,計算PCE將知道哪些是描述由正在被計算的路徑穿過的節(jié)點/鏈路的每個LSA的PCE所有者。為了避免資源預留的競爭,這里的技術從LSA的PCE所有者請求資源(根據(jù)TED劃分規(guī)則)。也就是說,當計算結(jié)果是不被計算PCE擁有的LSA時,則計算PCE將在DHT覆蓋中尋找該LSA的PCE所有者。然后計算PCE請求該PCE所有者允許使用LSA中所述的資源。以這種方式,PCE所有者負責網(wǎng)絡中給定節(jié)點/鏈路的資源,并保證當多個PCE同時計算路徑時沒有競爭(爭奪同一組資源)發(fā)生。
[0073]作為說明地,針對資源的請求可使用在計算PCE和PCE所有者之間發(fā)送的DHT消息來執(zhí)行,如參考圖6A-6B所述。特別地,如圖6A所示,請求消息600可包括頭610 (用于通過網(wǎng)絡來轉(zhuǎn)發(fā)消息),和包括各種字段的有效載荷620。根據(jù)請求消息的示例格式,這樣的字段可包括LSA-1D 622、鏈路ID 624、用于所請求的資源的字段626、以及其他數(shù)據(jù)628。PCE所有者基于其TED的本地知識來檢查資源的可用性,并通過答復消息650進行答復,該答復消息650包含報頭660和有效載荷670,有效載荷670包括LSA-1D 672 (原請求中所找到的)、鏈路ID 674 (原請求中所找到的)、所請求的資源676 (原請求中所找到的)、用于有效可用資源的字段678、狀態(tài)字段680 (例如,“ok”/允許或“nok”/禁止),以及任意其他適當?shù)淖侄?82。
[0074]特別地,如果資源是可用的,則PCE所有者將這些資源標記為預分配,并且維持該狀態(tài)一段給定的(控制的)時間。因此,該資源針對該特定請求被暫時鎖定可配置的一段時間,并且一旦LSP被報告為發(fā)出信號(完成),則該資源將被解鎖。該報告可由計算PCE向PCE所有者執(zhí)行?;蛘?,PCC可直接向PCE所有者報告LSP的狀態(tài),從而確認資源利用。(注意,這可能需要對于答復PCE向請求PCC提供PCE所有者的地址的PCEP協(xié)議的擴展)。
[0075]但是,如果資源不可用,PCE所有者用同樣的消息來答復,該消息包括資源請求的失敗狀態(tài)和有效可用資源678。例如,如果預留是1MB而可用帶寬是8MB,則PCE所有者可用8MB值答復,以通知計算PCE有效資源可用性。該信息可被請求PCE用作計算“最接近匹配” LSP或其他目的(例如,基于精確度等級來配置刷新定時器)的后備選擇。
[0076]計算PCE針對所計算的路徑中穿過的所有節(jié)點/鏈路重復相同的處理,并且每個有關的PCE所有者將進行相同的資源驗證處理。一旦計算PCE完成了計算,其應當接收到來自所有PCE所有者的所有資源可用性確認。計算PCE向其客戶端(PCC,例如,隧道頭端或應用元件)提供所計算的路徑,并且PCC(例如,通過RSVP)發(fā)送信號通知該路徑,并且可以向PCE報告狀態(tài)。例如,一旦該路徑由PCC發(fā)送信號通知且其狀態(tài)被報告給計算PCE,則計算PCE可向LSA的每個PCE所有者確認資源利用,使得資源現(xiàn)在針對該LSP被鎖定/分配。同時,網(wǎng)絡中的路由器根據(jù)其傳統(tǒng)的閾值配置/設置來更新其LSA(例如,0SPF/ISIS)。
[0077]根據(jù)這里的一個或多個實施例,一旦LSP被PCC發(fā)送信號通知,其也被報告給PCE,則使得該PCE可將LSP狀態(tài)插入LSP狀態(tài)表中。也就是所,LSP狀態(tài)表包括由網(wǎng)絡中所有已知的LSP的所有獨立狀態(tài)組成的DHT覆蓋中的表,并且填充有所有協(xié)作的PCE。因此,每個PCE具有穿過全局LSP狀態(tài)表從而取回所有LSP的狀態(tài)的能力。注意,如上所述,每個PCE還維護全局LSP狀態(tài)表的本地副本(被計算算法用于服務新的請求的)。
[0078]如果PCE故障或從DHT環(huán)中消失,則原來由該故障PCE插入的所有狀態(tài)被保留在每個其他PCE所存儲的本地副本中。當PCE故障時,該故障PCE留下的地址空間的新的所有者將把狀態(tài)重新插入DHT全局狀態(tài)表中。值得注意的是,在PCE故障的情況下,雖然資源被暫時鎖定,但是不適當?shù)臓顟B(tài)預留可能存在于TED中;這不是問題,因為LSP建立可能失敗,從而導致IGP更新,以用于更新TED。換句話說,當PCE故障時,DHT程序?qū)⒏略摥h(huán),并且剩余的PCE將重新組成DHT覆蓋,并且重新劃分它們的地址空間。這對TED的劃分也有影響:每個PCE將重新劃分整個TED,并且每個PCE所有者將獲知它擁有哪組LSA。一旦DHT覆蓋被更新,則全局狀態(tài)表可被剩余PCE根據(jù)其新的地址空間和本地LSP狀態(tài)表副本來更新。
[0079]當新的PCE被插入DHT覆蓋中時,新的PCE根據(jù)DHT程序?qū)⑵渥陨聿迦隓HT覆蓋中,并且獲得DHT覆蓋地址空間的一部分。每個PCE重新劃分TED,并且每個PCE所有者將獲知其擁有的LSA組是什么。因此,新的PCE獲得它的TED部分的所有權(quán),并且獲得LSP狀態(tài)表的本地副本。
[0080]顯然,根據(jù)這里的一個或多個具體實施例,本技術還可通過觀察活動狀態(tài)PCE的負載,并且通過允許超載PCE使用由于IGP擴展而得知的關于負責管理DHT環(huán)的自舉節(jié)點的信息來請求候選PCE加入DSPO來動態(tài)調(diào)整活動狀態(tài)PCE的數(shù)量,來確定在任意給定時刻DHT環(huán)中具有的活動狀態(tài)PCE的適當數(shù)量。這里的技術還允許其負載穿過低閾值的活動狀態(tài)PCE的動態(tài)移除,以保持活動的PCE的數(shù)量盡可能最小。
[0081]為了增加上述分布式狀態(tài)PCE覆蓋(DSPO)的可伸縮性,這里描述了允許PCE根據(jù)動態(tài)PCE負載動態(tài)加入或離開DSPO的機制。特別地,每個PCE可(利用新的DHT消息)向DSPO報告其當前負載,使得DSPO中每個協(xié)作的PCE具有每個其他PCE的負載的可見性。負載更新可使用活動PCE之間的對等連接網(wǎng)來定期提供。
[0082]通常,如這里所述,DSPO服務信息可在加入DHT覆蓋的節(jié)點之間進行通告,例如,自舉節(jié)點地址(該自舉節(jié)點由節(jié)點在加入DHT覆蓋時使用)等。一旦檢測到PCE上的高計算負載,這里的技術提供來自PCE的請求其他候選狀態(tài)PCE加入服務(活動)PCE組(因此,加入被所有狀態(tài)PCE使用的DSP0)的擁塞狀態(tài)的通知。最后,這里的技術描述了發(fā)送信號通知負責特定DSPO的自舉節(jié)點的機制。
[0083]在其初始狀態(tài)中,(DHT) DSPO自舉節(jié)點通告DSPO信息,例如,在IS-1S的新的 “GenApp” Sub-TLV 中(例如,如在由 Ginsberg 等名稱為 “Advertising GenericInformat1n in IS-1S“ (在 IS-1S 中通告通用信息)〈draft_ietf-1sis-genapp>”的 IETF互聯(lián)網(wǎng)草案中所指定的那樣)。GenAppTLV (或Sub-TLV)可讓候選PCE知道從哪里請求DHT地址以進入DSPO。此外,PCE節(jié)點最初可被(例如,靜態(tài)地)配置為候選PCE。每個候選PCE將其PCE功能通告到IGP(0SPF/ISIS)中的性能TLV中。
[0084]對于將候選PCE添加到已建立的DSPO中(也就是說,使候選PCE成為活動PCE),示意性的算法確定所定義的條件中的一個(例如,活動PCE的負載超過給定高端可配置閾值)何時滿足,活動PCE中的一個(動態(tài)選擇的,例如具有較高ID的PCE)可決定請求從候選PCE列表中取出的額外的活動PCE。所選的候選PCE通過檢查先前(例如,通過IGP (0SPF/ISIS)中的GenApp TLV)接收到的DSPO信息來加入DSP0。在該階段,候選PCE在IGP(性能TLV)中將其自身通告為活動PCE。
[0085]相反,對于活動PCE的移除,每個活動PCE知道每個其他活動PCE的負載?;谀承l件(例如,低CPU使用率、低計算和狀態(tài)數(shù)),活動PCE可動態(tài)決定離開DSPO并且將其狀態(tài)移動到候選PCE (例如,具有最低負載的PCE)。(自)選擇的活動PCE離開DSP0,并且DSPO根據(jù)以上DSPO體系結(jié)構(gòu)中所述的覆蓋維護程序來更新其自身。
[0086]圖7示出了根據(jù)這里所述的一個或多個實施例,用于建立分布式代理覆蓋體系結(jié)構(gòu)的示例性簡化程序700。程序700可開始于步驟705,并繼續(xù)到步驟710,其中,如上面詳細描述的那樣,特定設備(例如,PCE)維護本地擁有的隧道狀態(tài)表,并且還在步驟715加入DHT環(huán)。一旦在該環(huán)中,在步驟720中該設備與DHT環(huán)的其他設備共享本地擁有的隧道狀態(tài)表,則DHT擁有的隧道狀態(tài)表在環(huán)中被建立。注意,每個PCE可建立DHT知道的隧道狀態(tài)表的本地副本,因此允許PCE知道網(wǎng)絡的當前狀態(tài),即使在DHT環(huán)或連接到它的PCE中的一個發(fā)生故障的情況下也是如此。在步驟725中,特定設備(以及每個設備)根據(jù)DHT環(huán)確定TED500的特定部分的LSA的所有權(quán),如上詳細說明。例如,該設備可對每個LSA的標識符執(zhí)行DHT散列,以將LSA映射到DHT環(huán)的每個設備。
[0087]根據(jù)這里的技術,在步驟730中,例如,響應于PCC請求或其他原因,該設備可使用本地TED來計算隧道的路徑。基于確定所計算的路徑基于的LSA的所有權(quán),在步驟735中,計算設備可請求允許使用沿所計算的路徑的資源,該資源在特定LSA中從這些特定LSA的其他所有者通告(即,當該資源不被該特定設備擁有時)。程序700結(jié)束于步驟740,顯然,通過更新表的選項來執(zhí)行進一步的路徑計算等。
[0088]此外,圖8示出了根據(jù)這里所述的一個或多個實施例,用于建立分布式代理覆蓋體系結(jié)構(gòu)的示例性簡化程序800,特別是從PCE-PCC通信的視角。程序800可開始于步驟805 (例如,上面的程序700完成后),并繼續(xù)到步驟810,其中,如上面詳細描述的那樣,特定設備(例如,PCE)將所計算的路徑發(fā)送給請求客戶端。在步驟815中接收隧道建立的確認時,該設備在步驟820中更新其本地擁有的隧道狀態(tài)表和DHT擁有的隧道狀態(tài)表。然后,程序800可在步驟825結(jié)束。
[0089]此外,圖9示出了根據(jù)這里所述的一個或多個實施例,用于建立分布式代理覆蓋體系結(jié)構(gòu)的另一示例性簡化程序900,特別是從所有者設備的視角。程序900可開始于步驟905,并繼續(xù)到步驟910,其中,如上面詳細描述的那樣,所有者設備從另一設備接收允許使用沿其他設備所計算的路徑的、被該特定所有者設備所擁有的資源的請求。如上面詳細描述的那樣,所有者設備可在步驟915中響應請求,例如,用指示“ok”或“nok”的答復消息650。然后,示意性程序900可在步驟920中而結(jié)束,直到另一允許請求。
[0090]最后,圖10示出了根據(jù)這里所述的一個或多個實施例,用于建立分布式代理覆蓋體系結(jié)構(gòu)的又一示例性簡化程序1000,特別是用于從DHT環(huán)中添加和移除代理設備。程序1000可開始于步驟1005,并繼續(xù)到步驟1010,其中,如上面詳細描述的那樣,管理設備(例如,自舉節(jié)點、網(wǎng)絡管理服務器等)確定DHT環(huán)中的活動設備上的負載,并且在步驟1015中,如果“過高”(大于第一閾值),可在步驟1020中向DHT環(huán)添加一個或多個額外的候選設備。另一方面,如果在步驟1025中,負載“過低”(小于第二閾值),則在步驟1030中,一個或多個設備可從DHT環(huán)中移除,如上所述。程序1000示意性地結(jié)束于步驟1035,但是,顯然具有基于所觀察的網(wǎng)絡狀態(tài)來隨時間動態(tài)添加或移除設備(代理)的選項。
[0091]應該注意的是,如上所述,雖然程序700-1000中的某些步驟可以是可選的,但是圖7-10所示的步驟僅僅是用于說明的示例,并且某些其他步驟可依預期而被添加或排除。此外,雖然步驟的具體順序被示出,但是該排序只是示意性的,并且步驟的任意適當?shù)呐帕锌稍诓黄x這里的實施例的范圍的情況下被使用。此外,雖然程序700-1000被分別描述,但是來自每個程序的某些步驟可被合并到每個其他程序中,并且這些程序不意味著相互排斥。
[0092]因此,這里所述的技術提供了分布式代理覆蓋體系結(jié)構(gòu),特別是分布式狀態(tài)PCE覆蓋(DSPO)體系結(jié)構(gòu)。特別地,本技術在這里指定允許多個代理(例如,PCE)共享對數(shù)據(jù)庫的訪問并且使用DHT環(huán)來管理對公共資源的并發(fā)訪問的體系結(jié)構(gòu),因此創(chuàng)建了強健且可伸縮的多代理(例如,多PCE)體系結(jié)構(gòu)。此外,本技術在這里允許分布式狀態(tài)PCE體系結(jié)構(gòu)通過允許跨多個PCE的路徑計算的負載共享來在路由域中進行伸縮,而仍然保證一致且精確的隧道狀態(tài)信息。此外,本技術動態(tài)確定在任意時刻活動代理(例如,PCE)的最佳數(shù)量,從而優(yōu)化整個體系結(jié)構(gòu),并且確定代理的最佳數(shù)量以避免代理上的擁塞,同時最小化活動代理的數(shù)量以降低整體費用。
[0093]雖然這里示出和描述了提供了狀態(tài)PCE體系結(jié)構(gòu)的增強操作的示意性實施例,當時應該理解的是,可在這里的實施例的精神和范圍內(nèi)做出各種其他適應和修改。例如,實施例在這里關于MPLS TE-LSP和其他各種協(xié)議被示出和描述。但是,在其更廣泛的概念中的實施例不被如此限制,而是實際上可被用于PCE可以負責的任意功能。例如其他類型的隧道,其他類型的路徑計算等。此外,如上所述,這里所述的體系結(jié)構(gòu)不需要限制于狀態(tài)PCE,而是可被應用于其他類型的技術,例如MPLS-TE隧道的L3流量工程(隧道計算機),光層技術(光路計算機),SDN體系結(jié)構(gòu)/設備等。
[0094]以上描述被指向具體實施例。但是,顯然其他變體和修改可針對所述實施例而做出,以達到它們的優(yōu)勢中的一些或全部。例如,明顯預期的是,這里所述的組件和/或元件能夠被實現(xiàn)為存儲在有形的(非暫時性)計算機可讀介質(zhì)(例如,磁盤/CD/RAM/EEPR0M/等)上、具有在計算機上執(zhí)行的程序指令的軟件,硬件,固件或它們的組合。因此,該描述僅僅是作為示例,而不限制這里的實施例的范圍。因此,所附權(quán)利要求的目的是覆蓋這里的實施例的真正精神和范圍內(nèi)帶來的所有這樣的變體和修改。
【權(quán)利要求】
1.一種方法,包括: 在計算機網(wǎng)絡中的特定設備上維護本地擁有的隧道狀態(tài)表; 加入分布式散列表DHT環(huán); 與所述DHT環(huán)的其他設備共享所述本地擁有的隧道狀態(tài)表,以建立DHT擁有的隧道狀態(tài)表; 根據(jù)所述DHT環(huán)來確定所述特定設備對流量工程數(shù)據(jù)庫TED的特定部分的鏈路狀態(tài)通告LSA的所有權(quán); 由所述特定設備使用本地TED來計算隧道的路徑;以及 當沿所計算的路徑的資源不被所述特定設備擁有時,請求允許使用所述資源,其中所述資源是在特定LSA中從這些特定LSA的所有者通告的。
2.如權(quán)利要求1所述的方法,進一步包括: 向請求客戶端發(fā)送所計算的路徑。
3.如權(quán)利要求1所述的方法,進一步包括: 接收隧道建立的確認;以及 更新所述本地擁有的隧道狀態(tài)表和DHT擁有的隧道狀態(tài)表。
4.如權(quán)利要求1所述的方法,進一步包括: 從另一設備接收允許使用沿另一條所計算的路徑的、被所述特定設備所擁有的資源的請求;以及 響應所述請求。
5.如權(quán)利要求1所述的方法,其中確定所有權(quán)包括: 對每個LSA的標識符執(zhí)行DHT散列,以將LSA映射到所述DHT環(huán)的每個設備。
6.如權(quán)利要求1所述的方法,進一步包括: 確定所述DHT環(huán)中的活動設備上的負載; 響應于所述負載大于第一閾值,向DHT環(huán)添加一個或多個額外的候選設備。
7.如權(quán)利要求6所述的方法,進一步包括: 響應于所述負載小于第二閾值,從DHT環(huán)移除一個或多個設備。
8.如權(quán)利要求1所述的方法,其中所述DHT環(huán)的設備從由以下各項組成的集合中選擇:路徑計算單元(PCE)、隧道計算機、光路計算機、以及軟件定義網(wǎng)絡(SDN)設備。
9.一種裝置,包括: 一個或多個網(wǎng)絡接口,作為計算機網(wǎng)絡中的特定設備進行通信; 處理器,耦合到所述網(wǎng)絡接口并且適于執(zhí)行一個或多個處理;以及 存儲器,被配置為存儲可由所述處理器執(zhí)行的處理,所述處理在被執(zhí)行時可操作來: 維護本地擁有的隧道狀態(tài)表; 加入分布式散列表DHT環(huán); 與所述DHT環(huán)的其他設備共享所述本地擁有的隧道狀態(tài)表,以建立DHT擁有的隧道狀態(tài)表; 根據(jù)所述DHT環(huán)來確定所述特定設備對流量工程數(shù)據(jù)庫TED的特定部分的鏈路狀態(tài)通告LSA的所有權(quán); 使用本地TED來計算隧道的路徑;并且 當沿所計算的路徑的資源不被所述特定設備擁有時,請求允許使用所述資源,其中所述資源是在特定LSA中從這些特定LSA的所有者通告的。
10.如權(quán)利要求9所述的裝置,其中所述處理在被執(zhí)行時可進一步操作來: 向請求客戶端發(fā)送所計算的路徑。
11.如權(quán)利要求9所述的裝置,其中所述處理在被執(zhí)行時可進一步操作來: 接收隧道建立的確認;并且 更新所述本地擁有的隧道狀態(tài)表和DHT擁有的隧道狀態(tài)表。
12.如權(quán)利要求9所述的裝置,其中所述處理在被執(zhí)行時可進一步操作來: 從另一設備接收允許使用沿另一條所計算的路徑的、被所述特定設備所擁有的資源的請求;以及 響應所述請求。
13.如權(quán)利要求9所述的裝置,其中所述處理在被執(zhí)行以確定所有權(quán)時可進一步操作來: 對每個LSA的標識符執(zhí)行DHT散列,以將LSA映射到所述DHT環(huán)的每個設備。
14.如權(quán)利要求9所述的裝置,其中所述裝置從由以下各項組成的集合中選擇:路徑計算單元(PCE)、隧道計算機、光路計算機、以及軟件定義網(wǎng)絡(SDN)設備。
15.一種在其上具有編碼的軟件的有形的、非暫時性的、計算機可讀介質(zhì),所述軟件在由特定設備上的處理器執(zhí)行時可操作來: 維護本地擁有的隧道狀態(tài)表; 加入分布式散列表DHT環(huán); 與所述DHT環(huán)的其他設備共享所述本地擁有的隧道狀態(tài)表,以建立DHT擁有的隧道狀態(tài)表; 根據(jù)所述DHT環(huán)來確定所述特定設備對流量工程數(shù)據(jù)庫TED的特定部分的鏈路狀態(tài)通告LSA的所有權(quán); 使用本地TED來計算隧道的路徑;并且 當沿所計算的路徑的資源不被所述特定設備擁有時,請求允許使用所述資源,其中所述資源是在特定LSA中從這些特定LSA的所有者通告的。
16.如權(quán)利要求15所述的計算機可讀介質(zhì),其中所述軟件在被執(zhí)行時可進一步操作來: 向請求客戶端發(fā)送所計算的路徑。
17.如權(quán)利要求15所述的計算機可讀介質(zhì),其中所述軟件在被執(zhí)行時可進一步操作來: 接收隧道建立的確認;并且 更新所述本地擁有的隧道狀態(tài)表和DHT擁有的隧道狀態(tài)表。
18.如權(quán)利要求15所述的計算機可讀介質(zhì),其中所述軟件在被執(zhí)行時可進一步操作來: 從另一設備接收允許使用沿另一條所計算的路徑的、被所述特定設備所擁有的資源的請求;以及 響應所述請求。
19.如權(quán)利要求15所述的計算機可讀介質(zhì),其中所述軟件在被執(zhí)行以確定所有權(quán)時可進一步操作來: 對每個LSA的標識符執(zhí)行DHT散列,以將LSA映射到所述DHT環(huán)的每個設備。
20.如權(quán)利要求15所述的計算機可讀介質(zhì),其中所述特定設備從由以下各項組成的集合中選擇:路徑計算單元(PCE)、隧道計算機、光路計算機、以及軟件定義網(wǎng)絡(SDN)設備。
【文檔編號】H04L12/773GK104380674SQ201380031022
【公開日】2015年2月25日 申請日期:2013年6月14日 優(yōu)先權(quán)日:2012年6月15日
【發(fā)明者】斯特凡諾·普雷維蒂, 讓-菲利普·瓦瑟爾, 簡·莫德韋德, 戴維·沃德 申請人:思科技術公司