??? 摘 要:? 在研究了基于MPLS 的 VPN技術的原理和工作的基礎上,給出了基于BGP擴展實現的MPLS VPN的一個網絡組成模型,同時描述了這個模型中的各個設備及其功能。最后分析了MPLS VPN的技術優勢及其應用前景。
??? 關鍵詞: VPN? MPLS? 多協議標記交換
?
??? 隨著Internet的蓬勃發展,人們對其應用提出了更高的要求。但Internet缺乏有效的流量和網絡帶寬管理手段,網絡經常會發生阻塞。無法對服務質量(QoS)提供保證,許多應用對于目前的IP技術(如語音和視頻等)顯得力不從心。而新興的多協議標記交換技術(MPLS: MultiProtocol Label Switching)有望解決這一問題。
1 VPN簡介
??? VPN指的是依靠ISP和其它NSP,在公用網絡中建立專有數據通信網絡的技術。在虛擬專網中,任意兩個接點之間的連接并沒有傳統專網所需的端到端的物理鏈路" title="鏈路">鏈路,而是利用某種公共網的資源動態組成的。VPN技術采用了認證、存取控制、機密性、數據完整性等措施,以保證信息在傳輸過程中的機密性、完整性和可用性。它是在公共Internet之上為政府、企業構筑安全可靠、方便快捷的專用網絡,并可節省資金。VPN技術是廣域網建設的最佳解決方案,它不僅會大大節省廣域網的建設和運行維護費用,而且擁有成本低、便于管理,開銷少、靈活度高,保密性好等優點。
2 基于MPLS的VPN技術
2.1 MPLS的基本原理
??? MPLS VPN是指基于MPLS 技術構建的虛擬專用網,即采用MPLS技術,在公共IP網絡上構建企業IP專網,實現數據、語音、圖像等多業務寬帶連接。并結合差別服務、流量工程等相關技術,為用戶提供高質量的服務。MPLS VPN能夠在提供原有VPN網絡所有功能的同時,提供強有力的QoS能力,具有可靠性高、安全性高、擴展能力強、控制策略" title="控制策略">控制策略靈活以及管理能力強大等特點。
??? MPLS是一種特殊的轉發機制,它為進入網絡中的IP數據包分配標記,并通過對標記的交換來實現IP數據包的轉發。標記作為IP包頭在網絡中的替代品而存在,在網絡內部MPLS在數據包所經過的路徑通過交換標記(而不是看IP包頭)來實現轉發;當數據包要退出MPLS網絡時,數據包被解開封裝,繼續按照IP包的路由方式到達目的地。
??? 如圖1所示,MPLS網絡包含一些基本的元素。在網絡邊緣的節點就稱作標記邊緣路由器(LER:Label Edge Router),而網絡的核心節點就稱作標記交換路由器(LSR:Label Switching Router)。LER節點在MPLS網絡中完成的是IP包的進入和退出過程;LSR節點在網絡中提供高速交換功能。在MPLS節點之間的路徑就叫做標記交換路徑(LSP:Label Switched Path)。一條LSP可以看作是一條貫穿網絡的單向隧道。
?
??? MPLS的工作流程可以分為三個方面:即網絡的邊緣行為、網絡的中心行為以及如何建立標記交換路徑。
??? 1. 網絡的邊緣行為
??? 當IP數據包到達一個LER時,MPLS第一次應用標記。首先,LER要分析IP包頭的信息,并且按照它的目的地址和業務等級加以區分。
??? 在LER中,MPLS使用了轉發等價類(FEC:Forwarding Equivalence Class)的概念來將輸入的數據流映射到一條LSP上。簡單地說,FEC就是定義了一組沿著同一條路徑、有相同處理過程的數據包。這就意味著所有FEC相同的包都可以映射到同一個標記中。
??? 對于每一個FEC,LER都建立一條獨立的LSP穿過網絡,到達目的地。數據包分配到一個FEC后,LER就可以根據標記信息庫(LIB:Label Information Base)來為其生成一個標記。標記信息庫將每一個FEC都映射到LSP下一跳的標記上。如果下一跳的鏈路是ATM,則MPLS將使用ATM VCC里的VCI作為標記。
??? 轉發數據包時,LER檢查標記信息庫中的FEC,然后將數據包用LSP的標記封裝,從標記信息庫所規定的下一個接口發送出去。
??? 2.網絡的核心行為
??? 當一個帶有標記的包到達LSR的時候,LSR提取入局標記,同時以它作為索引在標記信息庫中查找。當LSR找到相關信息后,取出出局的標記,并由出局標記代替入局標記,從標記信息庫中所描述的下一跳接口送出數據包。
最后,數據包到達了MPLS域的另一端,在這一點,LER剝去封裝的標記,仍然按照IP包的路由方式將數據包繼續傳送到目的地。
??? 3.如何建立標記交換路徑
??? 建立LSP的方式主要有兩種:
??? (1)“Hop by Hop(逐跳尋徑)”路由
??? 一個Hop-by-Hop的LSP是所有從源站點到一個特定目的站點的IP樹的一部分。對于這些LSP,MPLS模仿IP轉發數據包的面向目的地的方式建立了一組樹。
?? ?從傳統的IP路由來看,每一臺沿途的路由器都要檢查包的目的地址,并且選擇一條合適的路徑將數據包發送出去。而MPLS則不然,數據包雖然也沿著IP路由所選擇的同一條路徑進行傳送,但是它的數據包頭在整條路徑上從始至終都沒有被檢查。
?? ?在每一個節點,MPLS生成的樹是通過一級一級地為下一跳分配標記,而且是通過與它們的對等層交換標記而生成的。交換是通過標記分配協議(LDP:Label Distribution Protocol)的請求以及對應的消息完成的。
??? (2)顯式路由
??? MPLS最主要的優點就是它可以利用流量設計“引導”數據包。MPLS允許網絡的運行人員在源節點就確定一條顯式路由的LSP(ER-LSP),以規定數據包將選擇的路徑。ER-LSP從源端到目的端建立一條直接的端到端的路徑。MPLS將顯式路由嵌入到限制路由的標記分配協議的信息中,從而建立這條路徑。
2.2? 基于MPLS的VPN實現
??? 如圖2所示,基于BGP擴展實現的MPLS三層VPN包含以下基本組件:
?
??? PE:Provider Edge Router, PE路由器使用靜態路由" title="靜態路由">靜態路由、RIPv2、OSPF或EBGP與CE路由器交換路由信息。盡管PE路由器維護著VPN路由信息,但它只需為其直接相連的那些VPN維護VPN路由。每臺PE路由器為其直接相連的每個站點維護一個VRF(Virtual Routing Forwarding Table),每個客戶連接映射到某個VRF上。在從CE路由器上學習本地VPN路由后,PE路由器使用IBGP與其它路由器交換VPN路由信息。PE路由器可以保持到路由反射器" title="反射器">反射器的IBGP會話,作為全網狀IBGP會話的替代方案。使用MPLS在供應商骨干中轉發VPN數據流量時,入口PE路由器作為入口LSR使用,出口PE路由器作為出口LSR使用。
??? CE:客戶邊緣 (CE) 設備允許客戶通過連接一臺或多臺供應商邊緣 (PE)路由器的一條數據鏈路接入服務供應商網絡。CE設備可以是一臺主機或一臺第二層交換機,但典型的CE設備是一臺IP路由器,它與其直接連接的PE路由器建立鄰接關系。在建立鄰接后,CE路由器把站點的本地VPN路由廣播到PE路由器,并從PE路由器上學習遠程VPN路由。
??? Prouter:Provider Router,供應商路由器是沒有連接CE設備的供應商網絡中的任何路由器。在PE路由器之間轉發VPN數據流量時,供應商路由器作為MPLS轉接LSR使用。由于是在采用兩層標記堆棧的MPLS骨干中轉發流量,因此供應商路由器只需維護到供應商PE路由器的路由,而不需維護每個客戶站點專用的VPN路由信息。
??? RR:Route Reflector,BGP路由反射器。
??? ASBR:Automated System Border Router,自治系統邊界路由器,在實現跨自治系統的VPN時,與其它自治系統交換VPN路由。
??? MP-BGP:多協議擴展BGP,承載攜帶標簽的IPv4/VPN路由,包括MP-IBGP、MP-EBGP。
??? PE-CE路由協議:在PE、CE之間傳遞用戶網絡路由,可以是靜態路由,或RIP、OSPF、ISIS、BGP協議。
??? LDP:Label Distribution Protocol,在PE之間建立盡力而為的LSP,經過P路由器,所有PE、P路由器均需要支持。
??? RSVP-TE:在VPN需要QoS保障時,在PE之間建立具有QoS能力的ER-LSP。
??? VRF:Virtual Routing Forwarding Table,虛擬路由轉發表,它包含同一個Site相關的路由表、轉發表、接口(子接口)、路由實例和路由策略等。在PE設備上,屬于同一VPN的物理端口或邏輯端口對應一個VRF,可通過命令行或網管工具進行配置,主要參數包括RD(Route Distinguish)、Import Route-Targets、Export Route-Targets、接口(子接口)等。
VPN用戶站點: Site是VPN中的一個孤立的IP網絡,一般來說,它不通過骨干網" title="骨干網">骨干網公司總部、分支機構都是Site的具體例子。CE路由器通常為VPN Site中的一個路由器或交換設備,Site通過一個單獨的物理端口或邏輯端口(通常是VLAN端口)連接到PE設備。
??? 用戶接入MPLS VPN后,每個Site提供一個或多個CE與骨干網的PE連接,并在PE上為該Site配置VRF,將連結PE-CE的物理接口、邏輯接口、甚至L2TP/IPSec隧道綁定到VRF上,但不可以是多跳的三層連接。
??? BGP擴展實現的MPLS VPN擴展的BGP NLRI的IPv4地址,在其前增加了一個8字節的RD(Route Distinguisher),用于標識VPN的成員(Site)。每個VRF可配置某些策略,規定VPN可以接收哪些Site的路由信息,可以向外發布哪些Site的路由信息。PE根據BGP擴展發布的信息進行路由計算,生成相關VPN的路由表。
??? 通常,PE-CE之間通過靜態路由交換路由信息,也可通過RIP、OSPF、BGP、IS-IS等協議,靜態路由方式可以減少因CE設備管理不善等原因造成的對骨干網BGP路由的震蕩,從而提高骨干網的穩定性。
??? MPLS BGP三層VPN適用于固定的Intranet/Extranet用戶,每個Site可代表Intranet/Extranet的總部或分支機構。MPLS三層VPN的CE與PE設備之間只需要一條物理或邏輯鏈路,但PE設備必須保存多個路由表。如果在CPE和PE之間運行動態路由協議,則PE還必須支持多實例,對PE性能要求較高。PE與PE之間需要運行BGP協議,可擴展性較差,目前可通過一個或多個路由反射器解決這一問題。對于同一AS(Automated System)域的VPN,必須建立運營商之間路由器IBGP連接的PE,與路由反射器建立IBGP連接即可。
??? MPLS BGP三層VPN可通過與Internet路由之間配置一些靜態路由的方式,實現VPN的Internet上網服務,并可為跨不同地域的、屬于同一個AS但沒有骨干網的運營商提供VPN互連,即提供“運營商的運營商”模式的VPN網絡互連。
2.3? MPLS的優點
??? 1. 高安全性。MPLS的標記交換路徑(LPS)具有與FR和ATM VCC相似的安全性;另外。MPLS VPN 還集成了IPSEC加密,同時也實現了對用戶透明,用戶可以采用防火墻,數據加密等方法,進一步提高安全性。
??? 2. 強大的擴展性。第一,網絡可以容納的VPN數目很大;第二,同一VPN的用戶很容易擴充。
??? 3. 業務的融合能力。MPLS VPN提供了數據、語音和視頻三網融合的能力。
??? 4. 靈活的控制策略。可以制定特殊的控制策略,同時滿足不同用戶的特殊需求,實現增值服務。
??? 5. 強大的管理功能。采用集中管理的方式,業務配置和調度統一平臺,減少了用戶的負擔。
??? 6. 服務級別協議(SLA)。目前利用差別服務、流量控制和服務級別來保證一定的流量控制,將來可以提供寬帶保證以及更高的服務質量保證。
??? 7. 為用戶節省費用。
??? MPLS是一種結合了鏈路層和IP層優勢的新技術。在MPLS網絡上不僅僅能提供VPN業務,也能夠開展QoS、TE、組播等等的業務。隨著MPLS應用的不斷升溫,不論是產品還是網絡,對MPLS的支持已不再是額外的要求。VPN雖然是一項剛剛興起的綜合性的網絡新技術,但卻已經顯示了其強大的生命力。在我國網絡基礎薄弱,政府和企業對IP虛擬專用網的需求不高,但相信隨著政府上網、特別是在電子商務的推動下,基于MPLS的IP虛擬專用網技術的解決方案必將有不可估量的市場前景。
參考文獻
1 Vivek Alwayn,CCIE #2295著,劉興初,黃智等譯.高級MPLS設計與實施.北京:人民郵電出版社, 2003,10
2? Ivan Pepelnjak,CCIE #1354、Jim Guichard,CCIE #2069著,趙 斌,陳文飛,徐鴻文譯.MPLS和VPN體系結構 CCIP版.北京:人民郵電出版社, 2003,4
3 戴宗坤,唐三平著.VPN與網絡安全.北京:金城出版社,2000,9