虛擬專用網(VPN)是一種利用公眾網絡資源來建立專用通信網絡的技術,它可以使企業利用公眾網的資源將分散在各地的辦事機構和客戶等動態地連接起來,使網絡提供商、企業和最終客戶三者都獲利。VPN對于網絡提供商和企業都蘊含著極大的商機,已經成為提供新一代電信業務的基石。但傳統ip網絡在實現VPN擴展性、安全性、治理性和服務質量保證等方面都有很大的先天缺陷,急需改造。傳統的幀中繼和ATM網絡提供的VPN雖然安全性較好,但也存在擴展性差、治理和維護復雜等缺陷。多協議標記交換(MPLS)技術的出現,使整個Internet的體系結構都發生了變化。采用MPLS技術實現VPN的技術方案將大大改善傳統IP網絡的缺陷,又能提供和幀中繼或ATM網絡一樣的安全性保證,可以很好地適應VPN業務的需求。因此MPLS VPN技術被美國《Telecommunications》雜志評為2002年十大熱門技術之一。本文將仔細討論基于MPLS網絡的二層VPN技術實施方案,并通過分析比較,給網絡提供商和企業實現VPN業務提出一些建議。
一、VPN技術概述
1.VPN實現方式的技術分類
VPN有多種實現方式,具體可以分為用戶治理的VPN解決方案(CPE-VPN)和提供商實施的VPN解決方案(PP-VPN)。CPE-VPN方案是用戶自己設置、治理并維護VPN網關設備,通過公共IP網在各個分支機構和公司總部之間建立基于標準VPN隧道的連接,隧道協議通常采用二層隧道協議(L2TP)、點到點隧道協議(PPTP)、IPsec、IP in IP和通用路由選擇封裝(GRE)等,并且利用各種加密技術和網絡地址轉換(NAT)技術來保障數據傳輸的安全。VPN隧道連接的建立與治理完全由用戶自己負責,提供商不需要調整或改變網絡的結構與性能。這種方式也就是通常所說的“自建VPN”方式。PP-VPN方案是指在提供商的公共數據網上設置VPN網關設備,用于專線接入用戶或遠程撥號接入用戶。利用該網關設備,可以在全網范圍內根據具體的VPN網絡需求,通過隧道封裝、虛擬路由器或MPLS等技術建立VPN,并且可以采用加密技術以保障數據傳輸的安全。VPN連接的建立完全由提供商負責,對用戶透明。這種方式也就是通常所說的“外包VPN”方式。
按照VPN實現的網絡層次進行分類,VPN可以分為二層VPN和三層VPN。二層VPN是指構成VPN的隧道封裝在網絡參考模型的第二層(即數據鏈路層)上來完成。客戶將其三層路由映射到數據鏈路層的網絡,提供商為客戶的每個遠端節點提供一個二層鏈路。這種方式下客戶路由對提供商是透明的。傳統的VPN大多是通過租用數據專線(幀中繼或ATM)來組建的,都屬于二層VPN。三層VPN是指在網絡參考模型的第三層(即網絡層)利用一些非凡的技術來實現企業用戶各個節點之間的互連。這種方式下,提供商路由器參與客戶三層路由,并治理與VPN相關的路由表,將路由發布給遠端節點。
CPE-VPN方案的相應標準已經穩定并且已被實施,企業中具有許多專有的實施方案;PP-VPN方案中有關基于MPLS提供三層VPN的討論也已經很多。因此,下面將集中討論PP-VPN方案中基于MPLS網絡提供的二層VPN技術。
2.MPLS VPN網絡模型
MPLS VPN的網絡模型,其中:客戶邊緣(CE:Customer Edge)設備可以是路由器或二層交換機,它位于客戶端,提供到網絡提供商的接入;提供商邊緣(PE:PRovider Edge)路由器主要維護與節點相關的轉發表,與其他PE路由器交換VPN路由信息,使用MPLS網絡中的標記交換路徑(LSP)轉發VPN業務,這就是MPLS網絡中的標記邊緣路由器(LER);提供商路由器(P)使用已建立的LSP對VPN數據進行透明轉發,不維護與VPN有關的路由信息,這就是MPLS網絡中的標記交換路由器(LSR)。
二、基于MPLS的二層VPN
過去,企業VPN網大多是通過租用數據專線(幀中繼或ATM)來組建的二層VPN。提供二層VPN業務時,網絡提供商只需為客戶提供二層數據鏈路層的連通性,由客戶來控制路由并可以靈活地選擇三層協議,且客戶VPN的安全性相對較高。但是對網絡提供商來說,過去FR或ATM網絡中的一般Internet流量和VPN流量是完全分離的,而且配置傳統的二層VPN存在全網狀連接的N2問題,因此這種傳統的疊加式二層VPN為網絡維護和治理帶來了沉重的負擔。目前,采用MPLS技術的網絡已經被普遍認為是下一代核心網絡的發展方向,而MPLS技術最主要的優勢之一就是可以很好地支持VPN業務。網絡提供商采用基于MPLS網絡提供二層VPN技術,可以僅維護和治理單一的網絡基礎設施來同時提供二層VPN業務、三層VPN業務以及其他各種靈活的“盡力而為”或擔保服務質量的IP業務,且VPN業務的配置實施將更加自動化。
基于MPLS網絡的二層VPN技術實現方案目前主要有兩種,分別是Kompella等提出的二層VPN(以下稱Kompella二層VPN)和Martini等提出的二層VPN(以下稱Martini二層VPN)。這兩種方案的數據平面基本相似,都可以支持多種數據鏈路層技術,如幀中繼、ATM AAL5 CPCS模式、ATM透明信元模式、以太網、以太網VLAN、思科HDLC和PPP等,它們的主要差別在于控制平面協議的使用。下面分別討論兩種方案的具體實施過程。
1.Kompella二層VPN
Kompella方案在實施二層VPN時分為以下三步:
第一步,建立LSP。網絡在PE路由器間事先建立LSP,可采用RSVP-TE,LDP或CR-LDP中的任一種方法。這些LSP可被用于多種業務,包括傳統Internet、二層VPN、三層VPN等。這一步實際上是網絡提供商實施MPLS的一個必要步驟,與二層VPN的實施相對獨立。
第二步,在PE路由器上實施VPN信息。這一步實際上是控制平面建立VPN數據傳輸通道的過程,是實施二層VPN的要害。首先,在PE2路由器上為每一個連接到它的CE設備建立一個VPN轉發表(VFT),這個轉發表包括該CE設備的身份識別碼(ID)、可連接CE設備的最大數目N、標記值范圍(預留N個連續的標記)、使用邊界網關協議(BGP)時的路由目標共同體標識或使用標記分發協議(LDP)時的VPN ID,分配給CE-PE連接的一組本地子接口ID。其次,為每個CE設備配置VFT表(這里以配置CE3的VFT為例),為VFT中的每個子接口ID分配相應的標記,即要到達CE3的其他CE設備需要使用的VPN標記,如子接口數據鏈路連接標識(DLCI)=44時,VPN標記=300;然后使用BGP協議來實現成員自動發現和成員間鏈路自動分配,使用基于BGP路由目標共同體和目的地址的路由過濾來配置VPN拓撲。接下來,PE2利用BGP或LDP協議向拓撲中的其他VPN成員(如PE1)發布VPN連接表(VCT),其中VCT是VFT的子集,包含VFT中除本地子接口ID之外的前四項。收到VCT的PE1路由器更新自己VFT中相關的子接口ID列表, 如子接口DLCI=33是用于CE1去往CE3的,則為該子接口添加其VPN標記=300和相應的PE1到PE2的LSP隧道的LSP標記101。類似地可以配置其他VPN信息。
            第三步,實施VPN數據轉發。數據沿第二步建立的VPN通道轉發的具體過程。CE1發往CE3的數據以DLCI=33發往PE1,在PE1處查找相應的VFT,將數據的幀中繼頭去掉,壓入兩層標記(VPN標記和LSP標記),核心網中的P路由器象處理普通MPLS分組一樣只是根據LSP標記進行交換,根本不知道VPN的存在,直到出口前,執行倒數第二跳彈棧(pop)。在PE2處再根據VPN標記,查找相應的VFT表,用子接口DLCI=44恢復二層數據格式并轉發給CE3。 
2.Martini二層VPN
Martini二層VPN方案與Kompella二層VPN方案類似,數據轉發過程也采用兩層標記堆棧來提高轉發狀態的可擴展性,只是在Martini二層VPN方案中內部標記被稱為虛鏈路(VC)標記,而不是VPN標記,外部標記仍稱為LSP隧道標記。在控制平面,Martini二層VPN方案采用LDP來更新相應的接口信息,建立VPN通道。為此不同于發布VCT表,Martini二層VPN方案定義了一個新的虛鏈路類型長度值(TLV)參數,在LDP的標記映射和標記撤銷消息中攜帶。這個VC TLV中包括面向CE設備的接口參數、接口的最大傳輸單元(MTU)、連接ATM信元的最大數量等信息。另外Martini二層VPN方案定義了在兩層標記和數據凈荷之間可選的一個32bit的控制字選項,可用于排序、對小數據包的填充以及與數據鏈路層協議相關的控制位的傳送。其他的控制和處理過程與Kompella二層VPN方案相同。
三、基于MPLS的二層VPN特點
從以上分析可以清楚地看出MPLS二層VPN具有以下特點。
1.優 點
基于MPLS網絡的二層VPN主要優點表現為高可擴展性和可治理性,同時保持了傳統二層VPN的安全性,可實現平滑過渡。
·可擴展性
采用兩層標記堆棧在LSP隧道上承載VPN數據,核心路由器維護的狀態信息與二層VPN的數量無關。提供商路由器的轉發信息庫和路由信息庫隨客戶節點數的增加而線性增加,PE路由器也僅維護少量的連接到其CE路由器的信息。
· 配置簡單
配置傳統二層VPN的負擔主要來自全網狀連接的N2問題。假如有N個CE設備在幀中繼VPN中,就必須保證N×N-1/2條PVC連接,在每一個CE設備處必須配置到其他CE設備的(N-1)個DLCI。而且,每新加入一個CE設備就必須配置N條新的DLCI PVC并且更新全部已有CE設備增加到新CE設備的DLCI。而這些工作在MPLS二層VPN方案中,只需要在新增CE設備所連接的PE路由器上進行配置,剩下的工作都由PE路由器自動實施。
·安全性
網絡提供商無需關心路由表的擴展性或地址空間的重疊,因為每個二層VPN都使用獨立的路由信息。同時,客戶也獲得了和傳統二層VPN一樣的路由安全和數據保密。
· 可以從傳統二層VPN平滑過渡
從客戶角度來看,采用MPLS的二層VPN和傳統VPN是沒有區別的。對網絡提供商來說,則可以將現有的幀中繼和ATM VPN合并到一個統一的IP/MPLS網絡平臺上,從而靈活提供多種業務,并且配置簡單,大大降低治理和維護費用。
2. 缺點
MPLS二層VPN也存在一些問題。首先,在同一個VPN內部所有CE設備到達PE路由器的線路類型必須一致,即同是ATM或同是幀中繼等。另外,采用這種方案的客戶必須具有路由專業技能,具備自行維護VPN內部的路由和負責三層以上的業務連通性的能力。
四、結語
下一代網絡是以業務驅動的網絡,其中VPN業務是目前可知的最有發展潛力的一種業務應用。采用統一的MPLS核心網絡,網絡提供商可以在提供傳統Internet接入的同時,很好地支持二層VPN和三層VPN業務。對于不同的客戶需求,可以采用不同的技術方案。例如,大型企業對安全性要求較高,資金和技術都比較雄厚,采用基于MPLS網絡的二層VPN將是最佳選擇,它不僅能滿足這類用戶對安全性的要求,還降低了網絡和用戶方的工作量,可以建立任意的連接,具有很好的網絡可擴展性。中小企業用戶可以根據需求采用基于MPLS的三層VPN等技術,將路由等復雜的工作交給網絡提供商去做,降低維護費用。網絡提供商應盡量采用同一網絡基礎設施來靈活提供不同客戶群需要的業務。
新聞熱點
疑難解答