盛仲飆
(渭南師范學院 數學與信息科學學院 計算機網絡工程技術中心,陜西 渭南 714000)
VPN(Virtual Private Network)虛擬局域網,是指利用密碼技術和訪問控制技術在公共網絡中建立專用通信網絡。在虛擬專用網中,任意兩個節(jié)點之間的連接并沒有傳統(tǒng)專用網所需的端到端的物理鏈路,而是架構在公用網絡服務商所提供的網絡平臺之上的邏輯網絡,虛擬專用網對用戶端透明,用戶好像是用一條專用線路通信[1]。與傳統(tǒng)的專有線/租用線路相比,VPN費用低廉而且能很好地滿足客戶的需求。
出于用戶業(yè)務模型的需求,VPN邏輯網絡結構通常有主干-分支(Hub-Spoken)、半網狀(Half-Mesh)以及全網狀(Fullmesh)結構,這些邏輯網絡結構通常通過路由控制技術來實現。在MPLS VPN網絡中常用的路由控制技術是Route-Target(即RT技術,通常采用不對稱RT實現路由控制),此技術是在MPLS VPN網絡中比較通用的方式,在數據網中有廣泛的應用。但是,在一些特定的場合,不能使用非對稱RT技術,但又需要實現業(yè)務要求的各種VPN邏輯網絡結構以保障網絡隔離、網絡QoS以及網絡服務。
MPLS(Multiprotocol Label Switching,多協(xié)議標簽交換)是從90年代中期新興的一種多層交換技術,它吸收了ATM的VPI/VCI交換的一些思想,無縫地集成了IP路由技術的靈活性和2層交換的簡捷性,在面向無連接的IP網絡中增加了MPLS面向連接的屬性。MPLS引入了基于標簽的機制,它把路由選擇和數據轉發(fā)分開,由標簽來規(guī)定一個分組通過網絡的路徑。由于MPLS將2層交換和3層路由技術相結合的優(yōu)勢,在解決VPN、CoS(服務分類)和流量工作等IP網絡的重大問題時具有優(yōu)異的表現,其應用也逐步轉向MPLS流量工程和MPLS VPN了[2]。
MPLS網絡與傳統(tǒng)IP網絡的不同之處主要在于MPLS域中使用了標簽交換路由器LSR。它為進入網絡中的IP數據包分配標記,并通過對標記的交換來實現IP數據包的轉發(fā)。標記作為IP包頭在網絡中的替代品而存在,在網絡內部MPLS在數據包所經過的路徑通過交換標記(而不是看IP包頭)來實現轉發(fā);當數據包要退出MPLS網絡時,數據包被解開封裝,繼續(xù)按照IP包的路由方式到達目的地。一個標簽是一個短的、長度固定的數值,由報文的頭部攜帶。MPLS包頭的結構如圖1所示,包含20比特的標簽,3比特的EXP(通常用作Cos),1比特的S,用于標識此標簽是否為最底層標簽,8比特的TTL。MPLS包頭位于2層幀頭與3層數據包頭之間。
圖1 MPLS包頭結構Fig.1 MPLS Header Structure
MPLS VPN是一種基于MPLS技術的IP-VPN,是在網絡路由和交換設備上應用MPLS技術,簡化核心路由器的路由選擇方式,利用結合傳統(tǒng)路由技術的標記交換實現的IP虛擬專用網絡(IP-VPN),可用來構造寬帶的 Intranet、Extranet,滿足多種靈活的業(yè)務需求。MPLS VPN又稱為“BGP_MPLS/VPN”,這種VPN技術建構在MPLS和BGP技術基礎之上,它利用MPLS來實現三層交換和QoS,利用Multiprotocol BGP來實現VPN路由信息的傳播。MPLS VPN是一種主要面向運營商的VPN解決方案,也是VPN技術的發(fā)展趨勢[3]。
如圖2所示,MPLS VPN網絡主要由CE(用戶網絡邊緣路由器)、PE(骨干網邊緣路由器)和P(骨干網核心路由器)以及VPN用戶節(jié)點組成。其中CE直接與服務提供商網絡相連;PE與用戶的CE直接相連,負責VPN業(yè)務接入,處理VPN-IPv4路由;P負責快速轉發(fā)數據。在整個MPLS VPN中,P、PE設備需要支持 MPLS的基本功能,CE設備不必支持MPLS[4]。
圖2 MPLS VPN網絡結構圖Fig.2 MPLS VPN Network Structure
在MPLS/BGP VPN中,屬于同一VPN的兩個site之間轉發(fā)報文使用兩層標簽,在入口PE上為報文打上兩層標簽,外層標簽在骨干網內部進行交換,代表了從PE到對端PE的一條隧道,VPN報文打上這層標簽,就可以沿著LSP到達對端PE,再使用內層標簽決定報文應該轉發(fā)到哪個site上,由此實現對于用戶的VPN邏輯隔離功能,此內層標簽在實際應用中采用MP-BGP的擴展Community屬性(即RT)實現[5]。
BGP是為了TCP/IP網絡設計的用于自治系統(tǒng)之間的路由協(xié)議。它利用多協(xié)議擴展和共有屬性來定義VPN的連接性,在基于MPLS的VPN中,BGP只對一個VPN的成員發(fā)布信息,通過流量分離來提供基本的安全性。因為數據是通過使用LSP來轉發(fā)的,LSP定義一條不可改變的路徑,以保證其安全性[5]。
BGP是在EGP應用的基礎上發(fā)展起來的,BGP通過在路由信息中增加自治區(qū)域(AS)路徑的屬性,來構造自治區(qū)域的拓撲圖,從而消除路由環(huán)路并實施用戶配置的策略。同時,BGP支持無類型的區(qū)域間路由CIDR(Classless Interdomain Routing),可以有效的減少路由表條目,同時BGP本身的數據結構也可以支持較大的路由表[6]。為了提供對多種網絡層協(xié)議 (如MPLS)的支持,IETF對BGP-4進行了擴展,形成MP-BGP,目前的MP-BGP標準是RFC2858。
要實現VPN邏輯結構,除采用非對稱RT?技術之外,還可以利用BGP Community屬性,通過結合路由過濾技術,實現對不同VPN的VRF中的路由表條目整形,從而實現不同的網絡VPN邏輯拓撲。
BGP Community屬性實質上是對于一條路由的標記,它是以一個字符串形式存在的編碼。默認的BGP Community屬性有 Internet,Local-as,no-advertise,no-export此 4 種,同時還可自定義此屬性的內容(即自定編碼,數值范圍1~4 294 967 295)。
相對于BGP Community屬性,非對稱RT技術實際是利用了擴展的BGP Community屬性,即在MP-BGP協(xié)議中,對于BGP路由協(xié)議新定義了一種屬性,并對Community的數值編碼范圍進行了擴展,以容納寫入以AS:NN格式表示的RT數值。以此屬性作為路由RT的攜帶載體。
利用BGP Community路由屬性技術實現各種VPN邏輯結構的技術手段方式如下。
在一條路由進入BGP域傳播時,通過策略路由(Route-Map),為本路由賦與一個Community值,在網絡中的其他站點路由器根據收到的Community數值決定對本路由接受還是丟棄即路由過濾,各路由器經過路由過濾之后形成各自的對應于各VPN的路由表VRF,從而以這些VRF的路由條目組織形成了各種VPN邏輯結構。以下是利用BGP Commuinty技術實現同一物理拓撲上的不同邏輯VPN拓撲的方法:
如圖2所示,利用BGP路由策略結合Community實現核心-分支的VPN邏輯結構,關鍵配置邏輯如下(以思科設備為 例 , 設 路 由 A=1.1.1.0/24,B=2.2.2.0/24,C=3.3.3.0/24,D=4.4.4.0/24,僅列出關鍵節(jié)點的關鍵配置,其他從略)
1)核心站點 PE 0:
2)分支站點 PE 1:
如上圖所示,利用BGP路由策略結合Community實現半網狀的VPN邏輯結構,關鍵配置邏輯如下(設路由A=1.1.1.0/24,B=2.2.2.0/24,C=3.3.3.0/24,D=4.4.4.0/24,僅列出關鍵節(jié)點的關鍵配置)
1)核心站點 PE 0:
2)分支站點 PE 3:
MPLS VPN技術可以在同一個物理網絡上為不同的用戶和業(yè)務提供獨立、隔離的虛擬專用數據通道,且可以利用各種技術(如路由標記RT技術)針對不同的需求提供各種邏輯VPN網絡拓撲結構,目前在數據通信網絡中應用非常廣泛。
文中提出的BGP Community結合路由過濾技術在邏輯VPN網絡結構的實現上是RT技術的一種替代方法,它可以在RT技術不能使用或應用效果不佳的情況下代替其功能,實現基于同一物理網絡拓撲的各種不同的VPN邏輯結構,其技術原理和實現均相對簡單,且可以利用現有的各類路由器設備的BGP路由協(xié)議自身的功能,無需更換或升級設備,具有經濟,實用和高效的特點。
[1]盛羽.基于BGP和MPLS的虛擬專網的研究與實現 [D].湖南:國防科技大學,2006.
[2]胡蔚星.MPLS VPN的原理與規(guī)劃[J].有線電視技術,2004(12):15-16.
HU Wei-xing.MPLS VPN principles and planning[J].CATV Technology,2004(12):15-16.
[3]黃海清.MPLS VPN技術及其應用[J].中國數據通信,2003(1):12-13.
HUANG Hai-qing.MPLS VPN technology and its application[J].China Data Communication,2003(1):12-13.
[4]梁琦,張力軍.MPLS VPN不同解決方案的比較分析[J].電信工程技術與標準化,2005(6):15-16.
LIANG Qi,ZHANG Li-jun.MPLS VPN comparative analysis of different solutions[J].Telecom Engineering Technics and Standardization,2005(6):15-16.
[5]張毓.MPLS VPNW網絡的研究與設計[D].安徽:合肥工業(yè)大學,2007(3):16-17.
[6]李進印.MP-BGP協(xié)議在MPLS-VPN中的應用淺析 [J].科技資訊,2009(1):18-19.
LI Jin-yin.Analysis of MP-BGP protocol in MPLS VPN application[J].Science&Technology Information,2009(1):18-19.