一、MPLS VPN技術(shù)的發(fā)展
隨著IP城域網(wǎng)逐步發(fā)展成為城域網(wǎng)建設(shè)的主流方案,具有解決企業(yè)互連能力和提供豐富業(yè)務(wù)能力的MPLS VPN技術(shù),正在成為IP網(wǎng)絡(luò)運(yùn)營增值業(yè)務(wù)的重要手段。MPLS VPN技術(shù)可將IP網(wǎng)絡(luò)分解為邏輯上隔離的網(wǎng)絡(luò),這種邏輯隔離的網(wǎng)絡(luò)的應(yīng)用可以千變?nèi)f化:企業(yè)單獨(dú)互連、政府辦事部門單獨(dú)互連、提供新業(yè)務(wù)---如為IP電話業(yè)務(wù)開辟VPN、解決IP網(wǎng)絡(luò)地址不足、保證QoS等。
二、MPLS VPN的實(shí)現(xiàn)技術(shù)
1)MPLS BGP VPN
如圖1所示,基于BGP擴(kuò)展實(shí)現(xiàn)的MPLS三層VPN包含以下基本組件:
PE(Provider Edge Router)
骨干網(wǎng)邊緣路由器,存儲VRF,處理VPN-IPv4路由,是MPLS三層VPN的主要實(shí)現(xiàn)者。
CE(Custom Edge Router)
用戶網(wǎng)邊緣路由器,分布用戶網(wǎng)絡(luò)路由。
P router(Provider Router)
骨干網(wǎng)核心路由器,負(fù)責(zé)MPLS轉(zhuǎn)發(fā)。
RR(Route Reflector)
BGP路由反射器。
ASBR
自治系統(tǒng)邊界路由器,在實(shí)現(xiàn)跨自治系統(tǒng)的VPN時,與其它自治系統(tǒng)交換VPN路由。
MP-BGP
多協(xié)議擴(kuò)展BGP,承載攜帶標(biāo)簽的IPv4/VPN路由,包括MP-IBGP、MP-EBGP。
PE-CE路由協(xié)議
在PE、CE之間傳遞用戶網(wǎng)絡(luò)路由,可以是靜態(tài)路由,或RIP、OSPF、ISIS、BGP協(xié)議。
LDP
在PE之間建立盡力而為的LSP,經(jīng)過P路由器,所有PE、P路由器均需要支持。
RSVP-TE
在VPN需要QoS保障時,在PE之間建立具有QoS能力的ER-LSP。
VRF(Virtual Routing Forwarding Table)
虛擬路由轉(zhuǎn)發(fā)表,它包含同一個Site相關(guān)的路由表、轉(zhuǎn)發(fā)表、接口(子接口)、路由實(shí)例和路由策略等。在PE設(shè)備上,屬于同一VPN的物理端口或邏輯端口對應(yīng)一個VRF,可通過命令行或網(wǎng)管工具進(jìn)行配置,主要參數(shù)包括RD(Route Distinguish)、Import Route-Targets、Export Route-Targets、接口(子接口)等。
VPN用戶站點(diǎn)(Site)
Site是VPN中的一個孤立的IP網(wǎng)絡(luò),一般來說,它不通過骨干網(wǎng),公司總部、分支機(jī)構(gòu)都是Site的具體例子。CE路由器通常為VPN Site中的一個路由器或交換設(shè)備,Site通過一個單獨(dú)的物理端口或邏輯端口(通常是VLAN端口)連接到PE設(shè)備。
圖1 基于BGP擴(kuò)展實(shí)現(xiàn)的MPLS VPN模型
用戶接入MPLS VPN后,每個Site提供一個或多個CE與骨干網(wǎng)的PE連接,并在PE上為該Site配置VRF,將連結(jié)PE-CE的物理接口、邏輯接口、甚至L2TP/IPSec隧道綁定到VRF上,但不可以是多跳的三層連接。
BGP擴(kuò)展實(shí)現(xiàn)的MPLS VPN擴(kuò)展的BGP NLRI的IPv4地址,在其前增加了一個8字節(jié)的RD(Route Distinguisher),用于標(biāo)識VPN的成員(Site)。每個VRF可配置某些策略,規(guī)定VPN可以接收哪些Site的路由信息,可以向外發(fā)布哪些Site的路由信息。PE根據(jù)BGP擴(kuò)展發(fā)布的信息進(jìn)行路由計算,生成相關(guān)VPN的路由表。
通常,PE-CE之間通過靜態(tài)路由交換路由信息,也可通過RIP、OSPF、BGP、IS-IS等協(xié)議,靜態(tài)路由方式可以減少因CE設(shè)備管理不善等原因造成的對骨干網(wǎng)BGP路由的震蕩,從而提高骨干網(wǎng)的穩(wěn)定性。
MPLS BGP三層VPN適用于固定的Intranet/Extranet用戶,每個Site可代表Intranet/Extranet的總部或分支機(jī)構(gòu)。MPLS三層VPN的CE與PE設(shè)備之間只需要一條物理或邏輯鏈路,但PE設(shè)備必須保存多個路由表。如果在CE和PE之間運(yùn)行動態(tài)路由協(xié)議,則PE還必須支持多實(shí)例,對PE性能要求較高。PE與PE之間需要運(yùn)行BGP協(xié)議,可擴(kuò)展性較差,目前可通過一個或多個路由反射器解決這一問題。對于同一AS域的VPN,必須建立運(yùn)營商之間路由器IBGP連接的PE,與路由反射器建立IBGP連接即可。
MPLS BGP三層VPN可通過與Internet路由之間配置一些靜態(tài)路由的方式,實(shí)現(xiàn)VPN的Internet上網(wǎng)服務(wù),并可為跨不地域的、屬于同一個AS但沒有骨干網(wǎng)的運(yùn)營商提供VPN互連,即提供"運(yùn)營商的運(yùn)營商"模式的VPN網(wǎng)絡(luò)互連。
2)MPLS L2 VPN
對于MPLS二層VPN,網(wǎng)絡(luò)運(yùn)營商負(fù)責(zé)向用戶提供二層的連通性,而不需參與VPN用戶的路由計算。在提供全連接的二層VPN時,和傳統(tǒng)的二層VPN一樣(如ATM PVC提供的VPN),存在N方問題,每個VPN的CE到其它的CE都需要在CE與PE之間分配一條連接。對PE設(shè)備來說,當(dāng)一個VPN有N個Site時,CE-PE必需有N-1個物理或邏輯端口連接。由于與用戶的路由無關(guān),二層MPLS VPN的可擴(kuò)展性只與連接的VPN用戶數(shù)目相關(guān)。
二層VPN可以通過MP-BGP擴(kuò)展實(shí)現(xiàn),也可以通過LDP擴(kuò)展實(shí)現(xiàn),兩者草案分別為:
draft-kompella-ppvpn-l2vpn
draft-martini-l2circuit-trans-mpls
■ Kompella MPLS L2 VPN
簡單地說,MPLS L2 VPN就是在MPLS網(wǎng)絡(luò)上透明地傳遞用戶的二層數(shù)據(jù)。從用戶角度來看,該MPLS網(wǎng)絡(luò)就是一個二層交換網(wǎng)絡(luò),用戶可在網(wǎng)絡(luò)在不同站點(diǎn)之間建立二層連接。以ATM為例,每個用戶邊緣設(shè)備(CE)配置一個ATM虛電路,通過MPLS網(wǎng)絡(luò)與遠(yuǎn)端CE設(shè)備相連,這一過程與通過ATM網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)完全一樣。
圖2 L2 VPN組網(wǎng)示意圖
在Kompella MPLS L2 VPN中,CE、PE和P的概念與BGP/MPLS VPN一樣,原理也很近似,也是利用標(biāo)記棧來實(shí)現(xiàn)用戶報文在MPLS網(wǎng)絡(luò)中的透明傳送,其中外層標(biāo)記(Tunnel標(biāo)記)用于將報文從一個PE傳遞到另一個PE,內(nèi)層標(biāo)記(VC標(biāo)記)用于區(qū)分不同VPN中的連接,接收方PE可根據(jù)VC標(biāo)記決定將報文傳遞到哪個CE。在轉(zhuǎn)發(fā)過程中,報文標(biāo)記棧的變化如圖3所示。
圖3 L2 VPN標(biāo)記棧處理
目前,Kompella L2 VPN是通過MP-BGP來實(shí)現(xiàn)的,它不直接對CE與CE之間的連接進(jìn)行操作,而是在整個SP(Service Provider)網(wǎng)絡(luò)中劃分不同的VPN,在VPN內(nèi)部對CE進(jìn)行編號。在建立兩個CE之間的連接時,只需要在PE上設(shè)置本地CE和遠(yuǎn)程CE的CD ID,并指定本地CE為該連接分配Circuit ID(如ATM VPI/VCI)。
與MPLS BGP VPN一樣,Kompella L2 VPN也是采用Route Target來區(qū)分VPN,因此VPN的組網(wǎng)具有很大的靈活性。
在標(biāo)記分配方面,Kompella L2 VPN可采取標(biāo)記塊方式一次為多個連接分配標(biāo)記。用戶可以指定本地CE的范圍(CE Range),表明該CE可與多少個CE建立連接,系統(tǒng)將一次為該CE分配一個標(biāo)記塊,標(biāo)記塊的大小與CE Range相同。這種標(biāo)記方式允許用戶為VPN分配一些額外的標(biāo)記備用,這會造成標(biāo)記資源浪費(fèi),但卻可以減少VPN部署和擴(kuò)容的配置工作量。
■ Martini MPLS L2 VPN
Martini L2 VPN方式是通過擴(kuò)展LDP來實(shí)現(xiàn)的,它著重解決"如何在兩個CE之間建立VC(Virtual Circuit)"的問題。Martini L2 VPN采用VC-TYPE+VC-ID來識別VC,其中,VC-TYPE表明VC的類型為ATM、VLAN或PPP,而VC-ID用于唯一標(biāo)志一個VC。在同一VC-TYPE的所有VC中,VC-ID在整個SP網(wǎng)絡(luò)中具有唯一性,連接兩個CE的PE通過LDP交換VC標(biāo)記,并通過VC-ID將對應(yīng)的CE綁定起來。
在連接兩個PE的LSP建立成功,雙方的標(biāo)記交換和綁定完成后,一個VC就建立起來了,兩個CE即可通過該VC傳遞二層數(shù)據(jù)。
為了在PE之間交換VC標(biāo)記,Martini草案對LDP進(jìn)行了擴(kuò)展,增加了VC FEC的FEC類型。此外,由于交換VC標(biāo)記的兩個PE可能不是直接相連的,因此LDP必須采用Remote peer來建立session,并在該session上傳遞VC FEC和VC標(biāo)記。
三、MPLS VPN技術(shù)的對比分析
表1 BGP/MPLS、Kompella L2和Martinni L2 VPN的技術(shù)對比
從表1的比較可以得出以下結(jié)論:
■ BGP/MPLS VPN適用于中小企業(yè)、小區(qū)、寫字樓等場合,其特點(diǎn)是每個站點(diǎn)不大,站點(diǎn)內(nèi)路由數(shù)目少,接入方式多樣,網(wǎng)絡(luò)管理能力差,以前沒有使用過專線或傳統(tǒng)VPN,可將路由外包給運(yùn)營商,對運(yùn)營商而言,其維護(hù)的路由數(shù)目少,開銷不大。
■ Kompella L2 VPN適用于大型企業(yè),其站點(diǎn)較大,路由數(shù)目多,接入方式比較單一,要求站點(diǎn)之間具有QoS保障,網(wǎng)絡(luò)具有較強(qiáng)的管理能力,傳統(tǒng)上部分企業(yè)采用過專線或傳統(tǒng)VPN,可平穩(wěn)地過渡到L2 VPN。對運(yùn)營商而言,主要挑戰(zhàn)是必須提供具有嚴(yán)格QoS保證的二層連接。
■ Martini L2 VPN配置復(fù)雜,存在N方問題,且不支持拓?fù)渥詣影l(fā)現(xiàn)功能,擴(kuò)展性差,不適于大規(guī)模應(yīng)用。但是,該方式比較靈活,適于大企業(yè)內(nèi)部應(yīng)用,或由小型運(yùn)營商提供面向局域網(wǎng)用戶,解決以太網(wǎng)不能長距離傳輸?shù)膯栴}。眾多以太網(wǎng)交換機(jī)廠商都支持這一協(xié)議,這也從一個側(cè)面說明,這一方式還是有其存在或應(yīng)用的理由,實(shí)際應(yīng)用中該技術(shù)又稱為EoMPLS。