1 MPLS網絡流量工程
MPLS網絡實現流量工程機制包括四個主要功能構件,每個功能構件都是一個單獨的模塊。下面分別進行介紹:
1. TE信息分發:流量工程除了需要知道有關網絡拓撲結構的詳細信息外,還需要知道有關網絡負載、鏈路可用帶寬等動態信息。因此需要一個信息分發構件來實現流量工程所要求的信息分發功能。通過擴展已有的IGP(如OSPF)協議,使鏈路狀態公告中包括擴展的鏈路屬性(如鏈路負載、適用帶寬等)信息,OSPF協議使用類型10的LSA來分發流量工程信息。
2. 路徑選擇和計算: TE信息分發構件完成所需信息的分發,并由標簽交換路由器(LSR)將這些信息存入流量工程數據庫(TED)后,入口LER通過對TED中的信息實施約束路由算法來計算跨越MPLS域的路徑。
3. 路徑建立:使用某種消息機制在路徑選擇構件計算得到的顯式路由需經過的LSR上進行LSP的狀態和標簽信息分發,建立標簽交換路徑。這個信令機制可以由擴展的資源預留協議(RSVP-TE)或標簽分發協議(CR-LDP)實現。
4. 報文轉發:采用MPLS進行數據包的轉發
2 OSPF路由協議的TE擴展
為傳統路由器設計的OSPF協議其鏈路狀態公告信息只包括了域的屬性、對應端口、路由器ID以及權值等有限幾種。MPLS對OSPF路由協議進行了擴展以支持流量工程,OSPF的流量工程擴展實質是擴展鏈路屬性,即在鏈路狀態公告中增加鏈路參數。對OSPF的擴展是建立在其本身所具有的Opaque LSA的基礎上,定義了一個類型10的LSA,稱為流量工程LSA(TE-LSA)。該LSA的泛洪范圍為域內,只能攜帶一個頂層TLV,該TLV可能是路由器地址TLV或鏈路TLV,并且鏈路TLV可以包含一組擴展的sub-TLV。
類型值為1的路由器地址TLV由路由器產生,為廣播路由器確定了一個穩定的IP地址,這個IP地址在有連接的情況下總是可達的。類型值為2的鏈路TLV描述一條單獨鏈路,由多個子TLV構成,通過這些子TLV就能夠描述出這條鏈路的各方面特性。子TLV共定義了9種,分別描述鏈路類型、鏈路ID、本地或遠端接口IP地址、流量工程矩陣、最大帶寬、最大可保留帶寬、未保留帶寬和資源類型。
GMPLS對OSPF路由協議的擴展主要包括對未編號鏈路、鏈路保護類型(LPT)、共享風險鏈路組(SRLG)信息、接口交換能力描述符和帶寬編碼等的支持。進一步擴展定義了幾個鏈路子TLV,分別是鏈路本地\遠端標識符、鏈路保護類型、共享風險鏈路組、接口交換能力描述符。
除了引入TE LSA,還需要對OSPF協議進行一些擴展以符合TE LSA的要求。比如需要對廣播過程和鄰居狀態機,對LSA分發領域的定義,對接口接收到LSA時的處理流程,對數據庫交換過程進行修改,同時還需要對管理的數據結構進行修改,增加一些新的對象類。下面主要討論對鄰居狀態機進行的擴展:除了Exstart狀態和NegotiationDone事件關聯的動作(下圖中紅色標識表示),OSPF中的狀態機基本不變。NegotiationDone事件到達后,路由器需要將它的整個區域鏈路狀態數據庫內容在鄰居數據庫摘要列表中列出。由于TE LSA的引入導致路由器的區域LSDB中除了要包含原有的Router LSA、Summary LSAs之外,還需要包含TE LSA。因此數據庫摘要列表的生成,數據庫同步過程都依賴于路由器對于TE能力的支持。這通過在數據庫描述包的可選域中設定O比特來具體確定節點的TE能力。
圖1 OSPF數據庫交換過程的鄰居狀態機圖
通過以上對OSPF路由協議的擴展可以實現GMPLS網絡資源的自動發現以及流量工程相關信息的擴散分布,也就是完成了TE信息分發功能構件的任務。
3 GMPLS網絡的路由計算
在GMPLS中,OSPF路由協議和GMPLS協議族下的其他控制面協議(如鏈路管理協議、資源預留協議等)一起協調工作。其主要任務不再是傳統路由器強調的路由計算而是進行鏈路狀態信息的分發和鏈路狀態數據庫的構造。在GMPLS網絡中路由的計算往往由單獨的基于約束的算法來實現,并將得到的路徑表示成顯式路由然后由標記分發協議或資源預留協議來進行LSP的建立。
通過在網絡中擴散發送鏈路的流量工程屬性,網絡里的每個網元根據接收的TE LSA創建一個流量工程數據庫(TED),然后由路徑計算構件根據TED里的信息應用基于約束的算法計算顯式路由路徑。計算ER有兩種模式:在線計算和離線計算。在線計算模式的特點是:連接請求隨機到達,對于每個連接請求獨立的進行計算選擇路徑,路徑選擇確定后由信令協議建立LSP通路。離線計算模式必須事先預測網絡中的LSP請求,根據已知的網絡拓撲信息、鏈路容量和連接帶寬請求,由一個集中式的計算服務器為每個連接請求計算路徑。一旦路徑選擇完成,由管理面負責LSP通路的建立或者由信令協議建立。
約束最短路徑優先(CSPF)這種基于約束的路由算法是由入口路由器在線進行路由計算,根據給定的約束條件計算得到最優的顯式路由(ER)。CSPF的計算過程分為以下兩步:第一步,從網絡拓撲結構里刪減所有不滿足帶寬約束條件或其他約束條件的鏈路。第二步,根據刪減后的拓撲結構執行最短路徑優先算法,計算ER。
GMPLS網絡的約束條件可以分成兩類:鏈路約束和路徑約束。鏈路約束是指網絡中光鏈路的屬性特征,而且鏈路屬性是隨時間動態可變的,下面列出GMPLS網絡的主要鏈路約束條件:
接口交換能力:在GMPLS網絡,光鏈路接口可能具有不同的交換能力,如分組交換能力(PSC),TDM交換能力,波長交換能力等。這個約束條件要求路徑上所有鏈路具有相同的接口交換能力
帶寬:每個接口必須動態廣播此時鏈路的可用帶寬信息
保護類型:代表此鏈路的保護能力,分別是額外業務、無保護、共享保護、專用1:1、專用1+1、和增強型保護
TE度量值:是指鏈路的開銷值,路徑開銷是所有屬于此路徑的鏈路開銷的和
共享風險鏈路組(SRLG):由共享某些資源的鏈路組成,如果SRLG里的某條鏈路發生故障將導致組里的其他鏈路不可用。由不相交SRLG組的鏈路組成的兩條路徑可以滿足保護恢復機制的需求。
鏈路資源類:也被稱為鏈路顏色(link color)。在CSPF路徑選擇時被用來確定是否包括此鏈路
以上定義的鏈路級約束條件同樣適用于路徑級,除此之外還有一些路徑級特有的約束條件。如以下說明:
路徑跳數限制:給出到達目的地路徑的最大跳數
松散顯示路由:確定給出路徑必須經過的一些中間鏈路或中間節點。
保護恢復機制:路徑恢復機制可以被劃分為三個層次:
1. 路徑級恢復,如果主路徑發生任何故障,使用一個由完全不相交鏈路組成的備份路徑傳輸數據業務。
2. 段級恢復,備份路徑僅避開主路徑發生故障的段
3. 鏈路級恢復,備份路徑僅跨越主路徑中發生故障的鏈路
路徑級恢復和鏈路級恢復可以被看作段級恢復的特例,分別將整個路徑或單個鏈路看作是發生故障的段
優先級:標識路徑的重要性,當資源有限時根據路徑優先級提供不同等級的服務
基于設計路由(Design-Based Routing)[5]這種路由計算方法是由一個路由計算服務器事先離線計算路徑。然后根據連接請求進行判斷,如果提前計算的路徑被認為可行則連接控制直接使用此路徑建立LSP通路,否則根據連接請求使用CSPF算法在線重新計算路徑。
<