專利名稱:在標簽交換的通信網絡中創建隧道的方法和設備的制作方法
技術領域:
本發明涉及一種在標簽交換的通信網絡中創建用于傳輸至少一個數據流的隧道的方法和設備。
背景技術:
在IETF(因特網工程任務組)支持下公布的MPLS標準是一種基于標簽交換的技術,可以用來由數據報類型的網絡(如IP網絡)創建面向連接的網絡。MPLS協議的具體文檔可以在因特網www.ietf.org上找到。
圖1示意性示出MPLS網絡150,包括多個稱為LSR(標簽交換路由器)的路由器,如通過IP鏈路互連的100a、100b、110a、110b、110c和120。當IP分組到達入口邊緣路由器100a或100b(稱為入口LSR)時,后者根據其IP頭為其分配標簽,并且將其與所述分組串接起來。接收到有標簽的分組的路由器根據其路由表,將該(進入)標簽用外發標簽代替,并且逐個路由地重復該處理,一直到出口邊緣路由器120(又稱為出口LSR),出口LSR 120在發送該分組之前刪除標簽。或者,由于出口路由器120不使用進入標簽,該標簽刪除可能已經由倒數第二個路由器完成了。LSR路由器使用進入分組的標簽(進入標簽)來確定外發分組的輸出端口和標簽(外發標簽)。分組通過從入口路由器100a到出口路由器120的網絡所經過的路徑稱為標簽交換路徑(LSP)。根據圖1的示例,路徑用箭頭105a、105b和105c表示,該路徑所經過的、除入口100a和出口120邊緣路由器以外的LSR路由器110a、110c稱為中轉路由器。此外,使用術語“等價類別”或“轉發等價類別”(FEC)來表示沿同一條路徑發送的IP分組的集合。
MPLS協議能夠迫使IP分組沿著預先建立的LSP路徑流動,該LSP路徑通常在跳數或路徑度量方面不是最佳IP路徑。確定要采用的路徑的技術稱為業務工程或MPLS-TE(MPLS業務工程)。路徑的確定考慮關于可用資源的約束(基于約束的路由),特別是各個網絡鏈路上的帶寬方面。與工作在逐跳模式中的傳統IGP路由(逐跳路由)不同,LSP路徑是根據所謂的顯式模式確定的(顯式路由的LSP或ER-LSP),其中確定從入口路由器到出口路由器的路徑的一些或全部節點。當路徑的所有節點都是固定的時,該路由可以稱為嚴格意義上的“顯式路由”。通過顯式模式確定的路徑也稱為MPLS隧道。
題為“Requirements for Support of Differentiated Services-aware MPLSTraffic Engineering”的推薦標準RFC 3564(下面稱為DS-TE)能夠建立保證服務質量的MPLS隧道。沿著遵從服務質量約束(如帶寬、服務類別和延遲)集合的路徑,在兩個邊緣服務器之間建立DS-TE隧道。
隧道的確定是以集中式或分布式進行的。集中式隧道確定系統設法協調標簽交換通信網絡中的隧道的布置,以便優化網絡資源的使用。這些系統不是很適用于大規模網絡,并且也不能很好應對客戶需求的突然改變。
分布式隧道確定系統設法在網絡中布置各隧道以便對客戶需求的改變做出反映。隧道布置通常由通稱為隧道頭的設備執行。分布式系統中的隧道布置不允許在標簽交換通信網絡中協調布置隧道,并且常常是網絡資源的消費大戶。
發明內容
本發明的目的是通過提出一種在標簽交換通信網絡中創建隧道的方法和設備來解決現有技術的缺點,其中,以協調的方式執行特定隧道的創建,以便優化通信網絡的資源,并且其中可以快速和按需要執行其他隧道的創建,以便適應通信網絡中的業務的不可預測的增長。
為此,根據第一方面,本發明提出一種在標簽交換通信網絡中創建用于傳輸至少一個數據流的隧道的方法,該通信網絡包括至少一個入口邊緣路由器、能夠基于該通信網絡中的業務預測定義通信網絡中稱為靜態隧道的隧道的服務器。
根據本發明,該方法包括由接收來自客戶機的、傳輸通信網絡中的數據流的請求的入口邊緣路由器執行的以下步驟-確定通信網絡中由服務器定義的靜態隧道是否能夠傳輸該數據流,-如果由服務器定義的靜態隧道不能夠傳輸數據流,則創建能夠傳輸通信網絡中的數據流的、稱為動態隧道的隧道。
相應地,本發明涉及一種在標簽交換通信網絡中創建用于傳輸至少一個數據流的隧道的設備,該通信網絡包括至少一個入口邊緣路由器、能夠基于該通信網絡中的業務預測定義通信網絡中的隧道的服務器。
根據本發明,該隧道創建設備被包括在入口邊緣路由器中,并且該隧道創建設備包括-用于確定通信網絡中由服務器定義的靜態隧道是否能夠傳輸該數據流的裝置,-用于在由服務器定義的靜態隧道沒有能夠傳輸數據流的情況下、創建適于傳輸該數據流的隧道的裝置。
因此,由服務器以協調的方式執行靜態隧道的創建,以便優化通信網絡的資源;由每個入口邊緣路由器快速和按需要以分布的方式執行動態隧道創建,以便應對靜態隧道的擁塞。通過以兩種不同的方式一一個是集中式、另一個是分布式一執行隧道創建,優化了隧道創建。最后,僅當靜態隧道不能夠傳輸時才創建動態隧道,這避免了過多動態隧道的創建。
根據本發明的另一方面,每個隧道還具有與其關聯的服務類別、隧道預留帶寬和傳輸延遲參數。
因此,可以在通信網絡中保證非常精確的服務質量。
根據本發明的另一方面,在創建動態隧道之前,做出關于之前創建的動態隧道是否包括至少一個能夠傳輸該數據流的動態隧道的確定。
因此,當創建動態隧道時,盡量優化使用在通信網絡中分配給該隧道的資源。
根據本發明的另一方面,如果先前建立的動態隧道不能夠傳輸該數據流,則在創建動態隧道之前,做出關于之前創建的動態隧道是否包括至少一個在將所述隧道的預留帶寬增加預定值時能夠傳輸該數據流的動態隧道的確定。
因此,通過修改之前創建的動態隧道的參數,不需要創建新動態隧道,從而避免了通信網絡中動態隧道的過多重復。
根據本發明的另一方面,如果之前創建的動態隧道包括至少一個在將所述隧道的預留帶寬增加預定值時能夠傳輸該數據流的動態隧道,則將增加了預定值的所述隧道的預留帶寬與預定閾值進行比較,并且選擇其增加了預定值的預留帶寬小于預定閾值的隧道。
因此,控制動態隧道的預留帶寬的增加。
根據本發明的另一方面,進行關于是否需要修改所選隧道在該標簽交換通信網絡中的路由的確定,并且選擇其在標簽交換通信網絡中的路由不準被修改的隧道。
根據本發明的另一方面,每個隧道至少以剩余帶寬為特征,并且當選擇了其在標簽交換通信網絡中的路由不準被修改的若干隧道時,從其在標簽交換通信網絡中的路由不準被修改的動態隧道當中選擇其剩余帶寬在能夠傳輸該數據流的動態隧道中為最低的隧道,當若干能夠傳輸該數據流的動態隧道具有相同的剩余帶寬時,選擇傳輸延遲最大的動態隧道。
因此,當創建動態隧道時,盡量優化使用在通信網絡中分配給該隧道的資源。
根據本發明的另一方面,該數據流是要送往客戶機的通信方的,該通信網絡包括客戶機的通信方與其相關聯的至少一個出口路由器,并且每個隧道還具有與其相關聯的入口邊緣路由器的地址、出口邊緣路由器的地址、所述隧道的雙向性或單向性、與該隧道中傳輸的數據流帶寬之和相對應的該隧道中使用的邏輯帶寬、以及與通信網絡中的該隧道的預留帶寬和該隧道中使用的邏輯帶寬之差相對應的該隧道的剩余帶寬。
因此,可以在通信網絡中保證非常精確的服務質量。
根據本發明的另一方面,如果客戶機的通信方相關聯的出口邊緣路由器的地址等于隧道的出口邊緣路由器的地址,客戶機相關聯的入口邊緣路由器的地址等于該隧道的入口邊緣路由器的地址,該隧道的服務類別至少大于數據流的服務類別,該隧道的傳輸延遲小于或等于數據流的傳輸延遲,并且如果該隧道的剩余帶寬大于或等于數據流的帶寬,則該隧道能夠傳輸該數據流。
因此,對于具有精確服務質量要求的數據流,可以保證在通信網絡中的該服務質量。
根據本發明的另一方面,當若干靜態隧道能夠傳輸數據流時,從能夠傳輸該數據流的靜態隧道當中選擇其剩余帶寬最低的隧道,以及當若干能夠傳輸該數據流的靜態隧道具有相同的剩余帶寬時,選擇其預留帶寬最低的靜態隧道,以及當若干靜態隧道能夠傳輸該數據流并且具有相同的預留帶寬時,選擇其傳輸延遲最大的靜態隧道。
因此,盡量優化使用在通信網絡中分配給靜態隧道的資源。
本發明還涉及一種存儲在信息介質上的計算機程序,所述程序包括當程序被計算機系統加載和運行時實現前面所述的方法的指令。
通過閱讀對下面示例性實施例的描述,本發明的上述和其他特征將變得更加清楚明顯,所述描述是結合附圖給出的,其中圖1表示實施本發明的、使用MPLS協議的通信網絡;圖2是根據本發明的邊緣路由器的功能圖示;圖3表示根據本發明的邊緣路由器中包括的、由用于分配和分布隧道中的數據流的代理運行的算法;圖4表示用于分配和分布隧道中的數據流的代理的靜態隧道表的內容示例;圖5表示從用于分配和分布隧道中的數據流的代理準入的流的表的內容示例。
具體實施例方式
圖1表示實施本發明的、使用MPLS協議的通信網絡。
在標簽交換通信網絡150中,網絡的邊緣路由器之間的DS-TE隧道的創建既可由隧道布置服務器160集中式地執行,也可由MPLS網絡150的每個入口邊緣服務器160以分布式執行。實踐中,在根據本發明的系統中使用兩種類型的DS-TE隧道。第一種類型的DS-TE隧道稱為靜態隧道,其由隧道布置服務器160根據MPLS網絡150中的業務預測和業務統計信息計算和建立。業務預測和統計信息由業務預測矩陣170提供給隧道布置服務器160。當經過MPLS網絡150的數據流與預測和統計信息一致時,優選使用這些靜態隧道。隧道布置服務器160以協調的方式確定各靜態隧道及其約束,以優化MPLS網絡150的資源的使用。由隧道布置服務器160周期性地執行MPLS網絡150中靜態隧道的確定。實踐中,這種確定需要大量計算,尤其是當MPLS網絡150較大時。只有隧道布置服務器160能修改靜態隧道的參數。
第二種類型的DS-TE隧道稱為動態隧道,當需要通過MPLS網絡150的數據流超過預測時、因此也就是當靜態隧道擁塞時,由MPLS網絡150的入口邊緣100建立該動態隧道。
每個入口100或出口120邊緣路由器包括用于實施本發明的裝置。當連接到所述邊緣路由器的客戶機180想要與通信方190建立會話時,在邊緣路由器中激活這些裝置。在這種情況下,入口邊緣路由器100是客戶機180連接到的邊緣路由器,而出口邊緣路由器120是通信方連接到的邊緣路由器。
這里應當注意,為了簡化圖1,在圖1中只示出一個客戶機180和一個通信方。自然地,大量客戶機和通信方連接到MPLS網絡150的入口邊緣路由器100和出口邊緣路由器120。
圖2給出根據本發明的邊緣路由器的功能圖示。
DS-TE隧道(表示為td)用于路由具有與在連接到同一入口邊緣路由器的客戶機與連接到同一出口邊緣路由器的客戶機之間的DS-TE隧道相同的特性的一個或多個DS-TE數據流。DS-TE隧道被分配服務類別。DS-TE隧道提供精確服務質量,它以下列參數為特征在入口邊緣路由器是根據RSVP-TE協議的會話的發起者的意義上表示為@s_t(td)的入口或源邊緣路由器的地址、在出口邊緣路由器是根據RSVP-TE協議的會話的接受者的意義上表示為@d_t(td)的出口或接收邊緣路由器的地址、根據RSVP-TE協議的邏輯標識符、隧道的雙向性或單向性、表示為c_t(td)的DiffServ(差異化服務)服務類別、表示為bp_t(tf)的隧道的預留帶寬和表示為d_t(td)的傳輸延遲。RSVP-TE是信令協議(業務工程的資源預留協議)的縮寫。RSVP-TE協議的描述可以在D.Adwuche et al.公布的題為“RSVP-TEextensions to RSVP for LSP tunnels”(可從ITEF網站獲得)的推薦標準RFC3209中找到。DiffServ服務類別是定義優先級的類別。在題為“An architecture for Differentiated Services”的IETF推薦標準RFC 2475中描述了DiffServ類別。
DS-TE隧道是在發起用于隧道的信令的入口邊緣路由器100與終止用于信道的信令的出口邊緣路由器120之間建立的。該隧道是通過入口邊緣路由器100建立的。兩個邊緣路由器可以通過多條隧道鏈接,例如對于每種服務類別都有一條隧道。
DS-TE數據流是在兩個應用之間交換的分組的集合。該數據流被聚集在客戶機180連接到的入口邊緣路由器100與通信方190連接到的出口邊緣路由器120之間的DS-TE隧道中。
DS-TE數據流可以是單向或雙向的,它以下列參數為特征-流號,表示為id_f(fd);-五個網絡標識參數,它們是源客戶機的地址,表示為@s_f(fd);通信方的目的地址,表示為@d_s(fd);使用的協議,表示為pr(fd);源客戶機的端口號,表示為ps(fd);和通信方的目的端口號,表示為pd(fd);
-流的雙向性或單向性,表示為b_f(fd);-三個服務質量參數,它們是帶寬,表示為bp_f(fd);傳輸延遲,表示為d_f(fd);和DiffServ服務類別,表示為c_f(fd)。
根據本發明,DS-TE隧道以兩個新參數為特征隧道中使用的邏輯帶寬,表示為bplu(td),它對應于在隧道td中路由的DS-TE數據流的帶寬之和;和DS-TE隧道的剩余帶寬,表示為bpr(td),它對應于網絡中隧道td所預留的帶寬(表示為bp(td))與隧道中使用的邏輯帶寬bplu(td)之間的差。
根據本發明,當且僅當各客戶機連接到同一入口邊緣路由器100以及各通信方或接受者190連接到同一出口邊緣路由器120、DS-TE數據流的方向b_f(fd)對應于隧道的方向、DS-TE數據流的服務類別對應于隧道的服務類別、數據流的帶寬小于或等于隧道的剩余帶寬、隧道的傳輸延遲小于或等于數據流的傳輸延遲時,隧道td才可以用來路由新DS-TE數據流。
入口邊緣路由器100包括控制模塊230。控制模塊230接收來自與入口邊緣路由器100相關聯的客戶機180的會話建立請求。控制模塊230確定客戶端180是否被授權請求數據流傳輸會話的建立,如果是的話,將該請求傳輸到用于分配和分布隧道中的數據流的代理200的DS-TE流管理模塊201。例如,通過咨詢客戶機180已向其發送了請求訂閱的服務提供商(圖1未示出),來檢查授權。這里應當注意,作為變型,控制模塊230可以不被包括在入口邊緣路由器100中。
入口邊緣路由器100包括DS-TE模塊240。DS-TE模塊240被通知關于網絡拓撲和影響MPLS網絡150的不同鏈路的約束。DS-TE模塊240確定并向相鄰路由器110a或110b發送指示其直接鏈路以及與其相關聯的約束(或屬性)的消息。然后這些消息根據泛洪機制通過擴展的IGP消息在路由器之間傳播,直到所有路由器都被通知到為止。因此,每個路由器具有其自己的數據庫(稱為TED,代表業務工程數據庫),為其提供網絡的拓撲及其約束。DS-TE模塊240能夠例如通過Dijkstra算法來確定標簽交換路徑,它是滿足所有約束的最短路徑(約束最短路徑優先或CSPF)。DS-TE模塊240能夠通過RSVP-TE信令協議將所確定的路徑信令通知給LSP路徑的路由器。DS-TE模塊240接收表示隧道布置服務器160所創建的各個靜態隧道的信息。
入口邊緣路由器100還包括數據流過濾與管制模塊210。數據流過濾與管制模塊210能夠許可客戶機180發送的數據流在MPLS網絡150上的傳輸,并且將數據流的數據速率限制在允許的數據速率。數據流過濾與管制模塊210由用于分配和分布隧道中的數據流的代理200的DS-TE數據流管理模塊201控制。
入口邊緣路由器100還包括路由表220,當入口邊緣路由器100從客戶機180接收到分組時,路由表220確定分組的標簽。
根據本發明,入口邊緣路由器100包括用于分配和分布隧道中的數據流的代理200。用于分配和分布隧道中的數據流的代理200控制DS-TE數據流在MPLS網絡150的靜態和動態隧道中的準入和分配。當MPLS網絡150的靜態隧道擁塞時,用于分配和分布隧道中的數據流的代理200在MPLS網絡150中創建動態隧道。
用于分配和分布隧道中的數據流的代理200包括準入流表202、靜態隧道選擇模塊203、靜態隧道表204、動態隧道選擇和/或生成模塊206、動態隧道表205和DS-TE數據流管理模塊201。
DS-TE數據流管理模塊201處理前面所述的來自控制模塊230的數據流傳輸請求。DS-TE數據流管理模塊201命令靜態隧道選擇模塊203在靜態隧道表204中搜索能夠傳輸該數據流的靜態隧道。靜態隧道選擇模塊203將搜索結果返回給DS-TE數據流管理模塊201。DS-TE數據流管理模塊201命令動態隧道選擇和/或生成模塊206在動態隧道表205中搜索能夠傳輸該數據流的動態隧道,或者生成能夠傳輸該數據流的動態隧道。
靜態204和動態205隧道表分別存儲MPLS網絡150中創建的所有靜態和動態隧道以及各自參數。
準入數據流表202對于DS-TE流管理模塊201準入的每個數據流存儲該數據流的參數、傳輸所述數據流的隧道的標識符和出口邊緣路由器120的標識符。
當隧道布置服務器160在MPLS網絡150中創建靜態隧道時,后者及其參數被傳送到靜態隧道選擇模塊203,靜態隧道選擇模塊203更新靜態隧道表204。
圖3表示根據本發明的邊緣路由器中包括的、由用于分配和分布隧道中的數據流的代理運行的算法。
當客戶機180將數據流建立請求傳送給控制模塊230時,控制模塊230經過客戶機180請求該建立的權限的檢查,將該請求傳送到用于在隧道中分配和分布數據流的代理的DS-TE數據流管理模塊201。
在步驟E300中,DS-TE數據流管理模塊201接收準入請求,該準入請求包括下列數據流參數流號id_f(fd)、源客戶機180的地址@s_f(fd)、通信方190的目的地址@d_f(fd)、使用的協議pr(fd)、源客戶機180的端口號ps(fd)、通信方190的目的端口號pd(fd)、流的雙向性或單向性b_f(fd);和三個服務質量參數帶寬bp_f(fd)、傳輸延遲d_f(fd)和DiffServ服務類別c_f(fd)。
在下一步驟E301中,DS-TE數據流管理模塊201確定數據流的接受者190所連接到的出口邊緣路由器120。DS-TE數據流管理模塊201通過詢問入口邊緣路由器的路由表220并且使用通信方的地址@d_f(fd)作為關鍵字,確定出口邊緣路由器120。如果沒有出口邊緣路由器120與通信方的目的地址@d_f(fd)相關聯,則DS-TE數據流管理模塊201前進到步驟E302,并且向控制模塊230傳送數據流建立拒絕消息。該消息優選地包括表示識別出口邊緣路由器120失敗的信息。該消息然后被控制模塊230傳送到做出請求的客戶機180。當完成步驟E302時,DS-TE數據流管理模塊201停止當前算法,并且返回步驟E300,等待處理新準入請求。如果確定了出口邊緣路由器120,則DS-TE數據流管理模塊201前進到步驟E303。
在步驟E303中,DS-TE數據流管理模塊201確定隧道布置服務器160根據業務預測矩陣170提供的信息所生成的靜態隧道是否能夠處理數據流的傳輸。為此,DS-TE數據流管理模塊201向靜態隧道選擇模塊203傳送數據流的參數流的雙向性或單向性bp_f(fd)、之前在步驟E302中確定的出口邊緣路由器120的標識符;以及三個服務質量參數帶寬bp_f(fd)、傳輸延遲d_f(fd)和DiffServ服務類別c_f(fd)。
靜態隧道選擇模塊203查詢靜態隧道表204,并且確定靜態隧道是否能夠處理該數據流的傳輸。圖4中示出了靜態隧道表的內容的一個示例。
圖4的表包括表示為40到42的三行和表示為43到49的七列。隧道布置服務器160創建的每個靜態隧道在圖4的表中都有相對應的行。為了簡化起見,圖4中只示出三個隧道。行40包括表示為隧道1的隧道的參數,行41包括表示為隧道2的隧道的參數,而行42包括表示為隧道2的隧道的參數。自然地,在MPLS網絡150中可創建更多隧道。列43包括隧道1、2和3的出口邊緣路由器的標識符@d_t,列44包括隧道1、2和3的DiffServ類別c_t(td),列45包括隧道1、2和3的隧道預留帶寬bp_t(tf),列46包括隧道1、2和3的傳輸延遲d_t(td),列47包括隧道1、2和3中使用的邏輯帶寬bplu(td),列48包括表示隧道1、2和3的方向的參數b_t(td),而列49包括隧道1、2和3的剩余帶寬bpr(td)。
靜態隧道選擇模塊203通過將數據流的參數與靜態隧道表中包括的每個隧道的參數進行比較,確定至少一個靜態隧道是否能夠處理數據流的傳輸。如果@d_t等于在步驟302中確定的出口邊緣路由器的標識符、DiffServ類別c_t(td)至少大于DiffServ類別c_f(fd)、b_t(td)至少包括b_f(td)、傳輸延遲d_t(td)小于或等于d_f(fd)、并且最終如果剩余帶寬bpr(td)大于或等于bp_f(fd),則靜態隧道能夠傳輸數據流。
這里應當注意,在優選實施例中,當若干隧道能夠傳輸該數據流時,靜態隧道選擇模塊203在能夠傳輸該數據流的各靜態隧道當中選擇其剩余帶寬bplu(td)最低的靜態隧道。當若干隧道能夠傳輸該數據流并且具有相同的剩余帶寬時,靜態隧道選擇模塊203選擇其預留帶寬bp_t(td)最低的靜態隧道。當若干隧道能夠傳輸該數據流并且具有相同的預留帶寬時,靜態隧道選擇模塊203選擇其d_t(td)最大的靜態隧道。
當靜態隧道選擇模塊203選擇了靜態隧道時,后者通過修改圖4的列47和49中的隧道參數來更新靜態隧道表204。將bplu參數增加數據流的帶寬,并且將bpr參數減少數據流的帶寬。然后靜態隧道選擇模塊203向DS-TE數據流管理模塊201傳送包括所選隧道的標識符的響應消息。
在接收到該消息后,靜態隧道選擇模塊203前進到步驟E307,該步驟包括更新之前描述的流過濾與管制模塊210,以便后者許可數據流的傳輸。
當完成該操作時,靜態隧道選擇模塊203前進到步驟E308,該步驟包括通過插入數據流、從準入流表202中選擇的隧道的標識符和數據流的帶寬,來更新路由表220和準入流表202。圖5中示出準入流表202的一個示例。
圖5包括表示為500到502的三行和表示為510到520的十一列。DS-TE數據流管理模塊201準入的每個數據流在圖5的表中都有相對應的行。為了簡化起見,圖5中只示出三個數據流,行500包括表示為流1的數據流的參數,行501包括表示為流2的數據流的參數,而行502包括表示為流3的數據流的參數。當然,在MPLS網絡150中可允許更多數據流。列510包括流1、2和3的源客戶機地址@s_f(fd),列511包括通信方的目的地址@d_s(fd),列512包括流1、2和3所使用的協議pr(fd),列513包括流1、2和3的源客戶機的端口號ps(fd),列514包括流1、2和3的通信方的目的端口號pd(fd),列515包括流1、2和3的DiffServ服務類別c_f(fd),列516包括流1、2和3的帶寬bp_f(fd),列517包括流1、2和3的傳輸延遲d_f(fd),列518包括流1、2和3的在步驟E301中確定的出口邊緣路由器的標識符,列519包括所選的用來處理數據流流1、2和3的傳輸的隧道的標識符,而列520包括指示數據流流1、2和3分別是雙向還是單向的信息。
當該操作完成時,DS-TE數據流管理模塊201前進到步驟E309,該步驟包括通過控制模塊230向發起請求的客戶機180生成數據流建立接受消息。
當該步驟完成時,DS-TE數據流管理模塊201停止當前算法,并返回步驟E300,等待處理新準入請求。
如果在步驟E303中靜態隧道選擇模塊203確定沒有靜態隧道能夠處理該數據流的傳輸,則后者向DS-TE數據流管理模塊201返回失敗消息。這例如是當所有靜態隧道容量都被使用時,即,當來自客戶機180的請求大于由業務預測矩陣170提供到隧道布置服務器160的業務預測和統計信息時的情況。在接收到該消息后,DS-TE數據流管理模塊201前進到步驟E304。
在步驟E304中,DS-TE數據流管理模塊201確定之前由動態隧道選擇和/或生成模塊206生成的動態隧道是否能夠處理該數據流的傳輸。為此,DS-TE數據流管理模塊201向動態隧道選擇和/或生成模塊206傳送以下數據流的參數流的雙向性或單向性b_f(fd)、之前在步驟E302中確定的出口邊緣路由器120的標識符;和以下三個服務質量參數帶寬bp_f(fd)、傳輸延遲d_f(fd)和DiffServ服務類別c_f(fd)。
動態隧道選擇和/或生成模塊206查詢動態隧道表205,并確定動態隧道是否能夠處理該數據流的傳輸。動態隧道表包括與圖4所示的靜態隧道表中所包含的相同的參數,因此將不再詳細描述它。
動態隧道選擇和/或生成模塊206通過比較數據流的參數與動態隧道表205中包含的每個隧道的參數,確定至少一個動態隧道是否能夠處理數據流的傳輸。如果@d_t等于在步驟302中確定的出口邊緣路由器標識符、DiffServ類別c_t(td)至少大于DiffServ類別c_f(fd)、b_t(td)至少包括b_f(td)、傳輸延遲d_t(td)小于或等于d_f(fd)、并且最終如果剩余帶寬bpr(td)大于或等于bp_f(fd),則動態隧道能夠傳輸數據流。
這里應當注意,在優選實施例中,當若干隧道能夠傳輸該數據流時,動態隧道選擇和/或生成模塊206在能夠傳輸該數據流的各動態隧道當中選擇其剩余帶寬bpr(td)最低的動態隧道。當若干動態隧道能夠傳輸該數據流并且具有相同的剩余帶寬時,動態隧道選擇和/或生成模塊206選擇其預留帶寬bp_t(td)最低的動態隧道。當若干動態隧道能夠傳輸該數據流并且具有相同的預留帶寬時,動態隧道選擇和/或生成模塊206選擇其延遲d_t(td)最大的動態隧道。
當動態隧道選擇和/或生成模塊206選擇了動態隧道時,后者通過修改所選隧道的參數來更新動態隧道表205。將bplu參數增加數據流的帶寬,并且將bpr參數減少數據流的帶寬。動態隧道選擇和/或生成模塊206然后向DS-TE數據流管理模塊201傳送包括所選隧道的標識符和目的邊緣路由器的標識符的響應消息。在接收到該消息后,DS-TE數據流管理模塊201前進到步驟E307,該步驟包括更新流過濾與管制模塊210,以便后者許可數據流的傳輸。
當完成該操作時,DS-TE數據流管理模塊201前進到步驟E308,并且通過插入數據流、從準入流表202中選擇的隧道的標識符和數據流的帶寬,來更新路由表220和準入流表202。
當該操作完成時,DS-TE數據流管理模塊201前進到步驟E309,該步驟包括通過控制模塊230向發起請求的客戶機180生成數據流建立接受消息。
當該步驟完成時,DS-TE數據流管理模塊201停止當前算法,并返回步驟E300,等待處理新準入請求。
當沒有動態隧道能夠傳輸該數據流時,動態隧道選擇和/或生成模塊206從步驟E304前進到下一步驟E305。在該步驟中,動態隧道選擇和/或生成模塊206嘗試修改動態隧道表205中引用的動態隧道之一的帶寬。
根據本發明,使用四個參數來修改動態隧道的帶寬表示為IBD的帶寬增量,對應于可對動態隧道做出的增量步驟;可對動態隧道預留的最小帶寬BDMIN;表示為BDMAX的最大帶寬,對應于可對動態隧道預留的最大帶寬;最后是表示為DBD的帶寬減量,對應于可對動態隧道做出的減量步驟。
為此,動態隧道選擇和/或生成模塊206從動態隧道表205中確定哪些動態隧道在其預留帶寬bp_t(td)增加增量IBD時能夠傳輸數據流。如果沒有動態隧道能夠在其預留帶寬bp_t(td)增加增量IBD時傳輸數據流,則動態隧道選擇和/或生成模塊206前進到步驟E306,步驟E306將在后面描述。如果存在至少一個能夠在其預留帶寬bp_t(td)增加增量IBD時傳輸數據流的動態隧道,則動態隧道選擇和/或生成模塊206確定該能夠在其預留帶寬bp_t(td)增加增量IBD時傳輸數據流的動態隧道是否具有小于BDMAX的增加帶寬。然后選擇具有小于BDMAX的增加帶寬的動態隧道。
如果沒有具有小于BDMAX的增加帶寬的動態隧道,則動態隧道選擇和/或生成模塊206前進到步驟E306。
DS-TE數據流管理模塊201詢問DS-TE模塊240,以便后者確定在MPLS網絡150中是否應當修改每個所選隧道的路由。這是由確定滿足約束集合的最短路徑CSPF(約束最短路徑優先)的模塊執行的。如果需要修改每個所選隧道的路由,則動態隧道選擇和/或生成模塊206前進到步驟E306。
如果所選的隧道包括不準修改其路由的隧道,則動態隧道選擇和/或生成模塊206選擇具有最低預留帶寬的動態隧道,并且通過將該動態隧道的預留帶寬加上增量IBD的值,來修改該動態隧道的預留帶寬。動態隧道選擇和/或生成模塊206修改動態隧道表205,并將該動態隧道的修改通知DS-TE模塊240,以便DS-TE模塊240更新該隧道的配置。
當該操作完成時,動態隧道選擇和/或生成模塊206然后向DS-TE數據流管理模塊201傳送包括所選隧道的標識符的響應消息和目的邊緣路由器的標識符。在接收到該消息后,DS-TE數據流管理模塊201前進到步驟E307。
步驟307到E309以與前面所述相同的方式進行,因此將不再對其進行說明。
當這些步驟完成時,DS-TE數據流管理模塊201停止當前算法,并且返回步驟E300來等待處理新準入請求。
在步驟306中,DS-TE數據流管理模塊201詢問DS-TE模塊240,以便后者確定MPLS網絡150中能夠滿足該數據流準則的最大可用帶寬。該最大可用帶寬表示為pgbpd,并且是由確定滿足約束集合的最短路徑CSPF的模塊確定的。
在該步驟中,動態隧道選擇和/或生成模塊206嘗試在MPLS網絡150中創建新動態隧道。為此,動態隧道選擇和/或生成模塊206將MPLS網絡150中能夠滿足該數據流準則的最大可用帶寬與可為動態隧道預留的最小帶寬BMIN進行比較。如果最大可用帶寬pgbpd小于BMIN,則創建新動態隧道的嘗試失敗,并且動態隧道選擇和/或生成模塊206向DS-TE數據流管理模塊201傳送失敗消息。在接收到該消息后,DS-TE數據流管理模塊201前進到步驟E302,并且向控制模塊230傳送會話建立拒絕消息。該消息優選地包括表示MPLS網絡150的資源擁塞的信息。然后該消息被控制模塊230傳送到做出請求的客戶機180。當完成步驟E302時,DS-TE數據流管理模塊201停止當前算法,并且返回步驟E300,等待處理新準入請求。
如果最大可用帶寬pgbpd大于BMIN但小于數據流的帶寬bp_f(fd),則創建新動態隧道的嘗試失敗,并且動態隧道選擇和/或生成模塊206向DS-TE數據流管理模塊201傳送失敗消息。在接收到該消息后,DS-TE數據流管理模塊201前進到步驟E302,并且向控制模塊230傳送會話建立拒絕消息,該消息優選地包括表示MPLS網絡150的資源擁塞的信息。該消息然后被控制模塊230傳送到做出請求的客戶機180。當完成步驟E302時,DS-TE數據流管理模塊201停止當前算法,并且返回步驟E300,等待處理新準入請求。
如果最大可用帶寬pgbpd大于BMIN和數據流的帶寬bp_f(fd),則動態隧道選擇和/或生成模塊206控制DS-TE模塊240,使后者配置新動態隧道,該新動態隧道的帶寬等于BMIN和bp_f(fd)中的最大值或者Max(BMIN,bp_f(fd))。該新動態隧道能夠支持要傳輸的數據流的參數。當創建了該動態隧道時,DS-TE模塊240向動態隧道選擇和/或生成模塊206返回配置確認消息。動態隧道選擇和/或生成模塊206修改動態隧道表205以便將后者包括在表中。該新動態隧道的帶寬參數是,bp_t(td)=Max(BMIN,bp_f(fd)),bplu(td)=bp_f(fd),以及bpr(td)=Max(BMIN,bp_f(fd))-bp_f(fd)。動態隧道選擇和/或生成模塊206將這些信息傳送到流管理模塊201,流管理模塊201通過將該數據流與新創建的動態隧道相關聯,來更新準入流表202。所創建的隧道的標識符被傳送到流管理模塊201。當該操作完成時,算法前進到步驟E307。
在步驟E307中,DS-TE數據流管理模塊201更新之前描述的流過濾與管制模塊,以便后者許可通過入口邊緣路由器100的數據流傳輸。
當完成該操作時,DS-TE數據流管理模塊201前進到步驟E308,該步驟包括通過插入數據流和從準入流表202中選擇的隧道的標識符,來更新路由表220和準入流表202。
當該操作完成時,DS-TE數據流管理模塊201前進到步驟E309,該步驟包括通過控制模塊230向發起請求的客戶機180生成接受消息。
當該步驟完成時,DS-TE數據流管理模塊201停止當前算法,并返回步驟E300,等待處理新準入請求。
當入口邊緣路由器接收到關閉靜態隧道傳輸的數據流的請求時,DS-TE數據流管理模塊201通過將該數據流從準入流表202中刪除來更新準入流表202,并且更新流過濾與管制模塊210和LER 220的路由表。DS-TE數據流管理模塊201控制靜態隧道選擇模塊203,以使后者修改靜態隧道表204。
當入口邊緣路由器接收到關閉由動態隧道傳輸的數據流的請求時,DS-TE數據流管理模塊201控制動態隧道選擇和/或生成模塊206,以使后者修改動態隧道表205。將該隧道中使用的邏輯帶寬bplu(td)減少要刪除的數據流的帶寬,并且將該隧道的剩余帶寬bpr(td)增加要刪除的數據流的帶寬。
如果該隧道中的剩余帶寬bpr(td)大于帶寬減量DBD,則將動態隧道的預留帶寬減少DBD。這里應當注意,優選地,DBD值大于IBD。這使得有可能避免任何關于根據本發明創建和修改的動態隧道的預留帶寬的定義振蕩的風險。
這里應當注意,當動態隧道不再傳輸數據流時,即,當該隧道中使用的邏輯帶寬bplu(td)為0時,由動態隧道選擇和/或生成模塊206刪除該動態隧道。
自然地,本發明決不限于這里所述的實施例,相反,涵蓋本領域技術人員范圍內的任何變型。
權利要求
1.一種在標簽交換通信網絡(150)中創建用于傳輸至少一個數據流的隧道的方法,該通信網絡包括至少一個入口邊緣路由器(100a)、能夠基于該通信網絡中的業務預測定義通信網絡(150)中稱為靜態隧道的隧道的服務器(160),其特征在于,該方法包括由接收來自客戶機(180)的請求以便在通信網絡中傳輸數據流的入口邊緣路由器(100a)執行的以下步驟-確定(E303)通信網絡中由服務器定義的靜態隧道是否能夠傳輸該數據流,-如果由服務器定義的靜態隧道不能夠傳輸數據流,則創建能夠傳輸通信網絡中的數據流的、稱為動態隧道的隧道(E306)。
2.如權利要求1所述的方法,其特征在于,每個隧道還具有與其關聯的服務類別、隧道預留帶寬和傳輸延遲參數。
3.如權利要求2所述的方法,其特征在于,在所述創建動態隧道的步驟之前,該方法包括步驟確定(E304)之前創建的動態隧道是否包括至少一個能夠傳輸該數據流的動態隧道。
4.如權利要求3所述的方法,其特征在于,如果先前建立的動態隧道不能夠傳輸該數據流,則該方法還包括在所述創建動態隧道的步驟之前執行的步驟確定(E305)之前創建的動態隧道是否包括至少一個在將所述隧道的預留帶寬增加預定值時能夠傳輸該數據流的動態隧道。
5.如權利要求4所述的方法,其特征在于,如果之前創建的動態隧道包括至少一個在將所述隧道的預留帶寬增加預定值時能夠傳輸該數據流的動態隧道,則該方法還包括步驟將增加了預定值的所述隧道的預留帶寬與預定閾值進行比較,并且選擇其增加了預定值的預留帶寬小于預定閾值的隧道。
6.如權利要求5所述的方法,其特征在于,該方法還包括步驟確定是否需要修改所選隧道在該標簽交換通信網絡中的路由,并且選擇其在標簽交換通信網絡中的路由不準被修改的隧道。
7.如權利要求3所述的方法,其特征在于,隧道至少以剩余帶寬為特征,并且當選擇了其在標簽交換通信網絡中的路由不準被修改的若干隧道時,該方法包括步驟從其在標簽交換通信網絡中的路由不準被修改的動態隧道當中選擇其剩余帶寬在能夠傳輸該數據流的動態隧道中為最低的隧道,當若干能夠傳輸該數據流的動態隧道具有相同的剩余帶寬時,該方法包括步驟選擇傳輸延遲最大的動態隧道。
8.如權利要求2到7中任一個所述的方法,其特征在于,該數據流是要送往客戶機的通信方的,該通信網絡包括客戶機的通信方與其相關聯的至少一個出口路由器,以及其特征在于,每個隧道還具有與其相關聯的入口邊緣路由器的地址、出口邊緣路由器的地址、所述隧道的雙向性或單向性、與該隧道中傳輸的數據流帶寬之和相對應的該隧道中使用的邏輯帶寬、以及與通信網絡中的該隧道的預留帶寬和該隧道中使用的邏輯帶寬之差相對應的該隧道的剩余帶寬。
9.如權利要求8所述的方法,其特征在于,每個數據流具有與其相關聯的客戶機的地址、通信方的地址、流的雙向性或單向性、帶寬、傳輸延遲和所述數據流的服務類別。
10.如權利要求9所述的方法,其特征在于,如果與客戶機的通信方相關聯的出口邊緣路由器的地址等于隧道的出口邊緣路由器的地址、與客戶機相關聯的入口邊緣路由器的地址等于該隧道的入口邊緣路由器的地址、該隧道的服務類別至少大于數據流的服務類別、該隧道的傳輸延遲小于或等于數據流的傳輸延遲并且如果該隧道的剩余帶寬大于或等于數據流的帶寬,則該隧道能夠傳輸該數據流。
11.如權利要求1所述的方法,其特征在于,當若干靜態隧道能夠傳輸數據流時,該方法包括步驟從能夠傳輸該數據流的靜態隧道當中選擇其剩余帶寬最低的隧道,以及當若干能夠傳輸該數據流的靜態隧道具有相同的剩余帶寬時,該方法包括步驟選擇其預留帶寬最低的靜態隧道,以及當若干靜態隧道能夠傳輸該數據流并且具有相同的預留帶寬時,該方法包括步驟選擇其傳輸延遲最大的靜態隧道。
12.一種在標簽交換通信網絡(150)中創建用于傳輸至少一個數據流的隧道的設備,該通信網絡包括至少一個入口邊緣路由器(100a)、能夠基于該通信網絡中的業務預測定義通信網絡(150)中的隧道的服務器(160),其特征在于,該隧道創建設備被包括在入口邊緣路由器(100)中,并且其特征在于,該隧道創建設備包括-用于確定通信網絡中由服務器定義的隧道是否能夠傳輸該數據流的裝置(201,203),-如果由服務器定義的靜態隧道不能夠傳輸數據流,則創建適于傳輸該數據流的隧道的裝置(201,205,206)。
13.一種存儲在信息介質上的計算機程序,所述程序包括當程序被計算機系統加載和運行時實現如權利要求1到11中任一個所述的方法的指令。
全文摘要
本發明提供一種在標簽交換通信網絡(150)中創建用于傳輸至少一個數據流的隧道的方法,該通信網絡包括至少一個入口邊緣路由器(100a)、能夠基于該通信網絡中的業務預測定義通信網絡(150)中稱為靜態隧道的隧道的服務器(160)。該方法包括由接收來自客戶機的、傳輸通信網絡中的數據流的請求的入口邊緣路由器執行的以下步驟確定通信網絡中由服務器定義的靜態隧道是否能夠傳輸該數據流,如果由服務器定義的靜態隧道不能夠傳輸數據流,則創建能夠傳輸通信網絡中的數據流的、稱為動態隧道的隧道。該發明也涉及相關聯的設備。
文檔編號H04L12/56GK101073226SQ200580041909
公開日2007年11月14日 申請日期2005年9月28日 優先權日2004年10月8日
發明者讓-路易斯·勒魯, 蓋爾·弗羅曼圖克斯, 塞恩·伍杜昂 申請人:法國電信公司