0 引言
多協議標簽交換(MPLS)是一種在眾多業務供應商網絡中使用的隧道技術。MPLS路由器從網絡入口到出口建立一條隧道或叫標簽交換路徑(Label-Switched Path,LSP),分發一組固定長度的32比特標簽。入口路由器給進入到LSP的數據包添加一個標簽。在LSP的每一個節點,路由器交換標簽;在LSP的終端,出口路由器釋放數據包的標簽并把包發往目的地。
至今為止投入使用的MPLS應用最多的就是MPLS虛擬專用網(VPN)。供應商經常提供這種業務給那些需要在遙遠兩地保持不間斷IP通信的大公司客戶。
MPLS VPN主體是運行在MPLS基礎結構之上。使VPN和其它基于MPLS的業務基于本地IP運行,供應商在選擇和操作網絡主體時會額外得到一定程度的靈活性,使其能最好地適應他們的需要。這也能減少應用MPLS網絡產生的規模負擔,使供應商得到更多潛在的VPN業務客戶。
1 MPLS VPN工作機制
MPLS VPN是基于網絡的IP VPN。客戶連接到最近的本地“供應商邊界”(PE)路由器以交換同一VPN網內各個站的路由信息。供應商利用多協議邊界網關協議(MP-BGP)把這些客戶的路由和相關的標簽(VPN標簽)廣播給與在同一VPN網內的其他客戶站相連的PE路由器。客戶路由、VPN標簽和廣播PE路由器的IP地址貯存在接收PE路由器中,每個客戶的虛擬路由轉發表(VRF)相互獨立。
當一個客戶IP包到達的時候,入口或本地PE在VRF表中進行查詢以確認目的地客戶網絡。這樣產生一個代表目的地客戶網絡的VPN標簽,和另一個代表導向出口或者遠程PE路由器的LSP標簽(隧道標簽)。圖1展示了數據包通過MPLS網時的轉發過程。客戶IP包封裝在VPN中,通過MPLS標簽交換路徑(LSP)發送。這個包包含從LSP上的MPLS路由器獲得的隧道標簽。圖1 MPLS VPN基于LSP傳輸
出口路由器去掉收到的標簽包的VPN標簽,并轉發這個本地IP包到它的目的地。
2 本地IP骨干網
MPLS VPN隱含的假設條件就是供應商的PE路由器附屬在一個MPLS骨干網上。除了支持MPLS VPN之外,這個基礎結構還提供了許多有利條件,包括在MPLS骨干網上運行其它基于MPLS的應用(例如流量工程[TE]和快速重路由[FRR])。
因為一些原因,一個供應商可能選擇(或被迫)在骨干網上僅運行本地IP。因為在骨干網上運行MPLS需要額外的工作,例如,設置和管理分發標簽協議。不是所有的供應商都想要或需要進行像TE和TRR(必須在MPLS網上運行)的應用。而且,許多供應商不想讓他們的路由系統過載大量代表每一個可能的遠程PE特殊主機路由。MPLS轉發包是基于標簽的,要能夠指定和分發導向一個特殊PE路由器的標簽,路由系統必須分發相關的/32主機地址給網絡上所有的MPLS路由器。一個擁有幾千個出口PE的供應商,在承載和管理MPLS VPN所需要的主機路由時會產生繁重的操作負擔。
供應商選擇本地IP骨干網還有一個很重要的方面就是MPLS VPN的基礎結構,業務只存在于PE路由器上,對PE路由器間傳遞包的傳輸隧道類型忽略。這使在支持MPLS VPN業務的IP網絡上建立和應用IP隧道(而不是MPLS LSP)轉發數據包成為可能。如圖2所示, IP隧道頭部取代了基于LSP傳輸時所使用的隧道標簽。VPN標簽包穿過從入口PE路由器到出口路由器的IP隧道。VPN標簽在本地路由器上保持懸空,在遠程PE路由器上被使用來決定相應的目的地客戶站點。
圖2 MPLS VPN基于IP隧道傳輸
IP隧道的隧道包技術已經研究很長一段時間了。下面來討論一下哪種封裝技術對隧道MPLS VPN包是可行的。
3 MPLS VPN包封裝在IP隧道中的技術
LETF的MPLS工作組已經證明了幾種把MPLS標簽包封裝在IP中的技術。第一種技術是增加一個標準的20字節IP頭給一個MPLS包。和所有的MPLS-over-IP技術一樣,源IP地址屬于發送PE路由器,目的地IP地址屬于接收PE路由器。頭部中137協議值代表IP包包含一個MPLS有效負載。
IP頭允許的最小值是20字節,因此似乎這是最簡單的解決方案。但是IP頭除了表示IP包包含一個MPLS有效負載之外沒有什么實際意義。出口路由器必須花費一段時間來查證包是來自一個合法源,然后判斷MPLS的業務內容以決定包的去向。這種方案現在還沒有被