倪縣樂(lè) 周衛(wèi)華 丁 煒
摘要:虛擬專用網(wǎng)(VPN)業(yè)務(wù)是最具潛力的新一代電信業(yè)務(wù)之一;诙鄥f(xié)議標(biāo)記交換(MPLS)網(wǎng)絡(luò)實(shí)現(xiàn)VPN的技術(shù)方案大大改善了傳統(tǒng)IP網(wǎng)絡(luò)的缺陷,同時(shí)又能提供和幀中繼/ATM網(wǎng)絡(luò)一樣的安全性保證,很好地適應(yīng)了VPN業(yè)務(wù)的需求。介紹了MPLS VPN網(wǎng)絡(luò)模型,并詳細(xì)討論了兩種基于MPLS網(wǎng)絡(luò)的二層VPN技術(shù)實(shí)施方案,最后分析了這項(xiàng)技術(shù)的優(yōu)缺點(diǎn)。
關(guān)鍵詞:MPLS,二層VPN,擴(kuò)展性, 安全性, 可管理性
虛擬專用網(wǎng)(VPN)是一種利用公眾網(wǎng)絡(luò)資源來(lái)建立專用通信網(wǎng)絡(luò)的技術(shù),它可以使企業(yè)利用公眾網(wǎng)的資源將分散在各地的辦事機(jī)構(gòu)和客戶等動(dòng)態(tài)地連接起來(lái),使網(wǎng)絡(luò)提供商、企業(yè)和最終客戶三者都獲利。VPN對(duì)于網(wǎng)絡(luò)提供商和企業(yè)都蘊(yùn)含著極大的商機(jī),已經(jīng)成為提供新一代電信業(yè)務(wù)的基石。但傳統(tǒng)IP網(wǎng)絡(luò)在實(shí)現(xiàn)VPN擴(kuò)展性、安全性、管理性和服務(wù)質(zhì)量保證等方面都有很大的先天缺陷,急需改造。傳統(tǒng)的幀中繼和ATM網(wǎng)絡(luò)提供的VPN雖然安全性較好,但也存在擴(kuò)展性差、管理和維護(hù)復(fù)雜等缺陷。多協(xié)議標(biāo)記交換(MPLS)技術(shù)的出現(xiàn),使整個(gè)Internet的體系結(jié)構(gòu)都發(fā)生了變化。采用MPLS技術(shù)實(shí)現(xiàn)VPN的技術(shù)方案將大大改善傳統(tǒng)IP網(wǎng)絡(luò)的缺陷,又能提供和幀中繼或ATM網(wǎng)絡(luò)一樣的安全性保證,可以很好地適應(yīng)VPN業(yè)務(wù)的需求。因此MPLS VPN技術(shù)被美國(guó)《Telecommunications》雜志評(píng)為2002年十大熱門技術(shù)之一。本文將仔細(xì)討論基于MPLS網(wǎng)絡(luò)的二層VPN技術(shù)實(shí)施方案,并通過(guò)分析比較,給網(wǎng)絡(luò)提供商和企業(yè)實(shí)現(xiàn)VPN業(yè)務(wù)提出一些建議。
一、VPN技術(shù)概述
1.VPN實(shí)現(xiàn)方式的技術(shù)分類
VPN有多種實(shí)現(xiàn)方式,具體可以分為用戶管理的VPN解決方案(CPE-VPN)和提供商實(shí)施的VPN解決方案(PP-VPN)。CPE-VPN方案是用戶自己設(shè)置、管理并維護(hù)VPN網(wǎng)關(guān)設(shè)備,通過(guò)公共IP網(wǎng)在各個(gè)分支機(jī)構(gòu)和公司總部之間建立基于標(biāo)準(zhǔn)VPN隧道的連接,隧道協(xié)議通常采用二層隧道協(xié)議(L2TP)、點(diǎn)到點(diǎn)隧道協(xié)議(PPTP)、IPsec、IP in IP和通用路由選擇封裝(GRE)等,并且利用各種加密技術(shù)和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù)來(lái)保障數(shù)據(jù)傳輸?shù)陌踩。VPN隧道連接的建立與管理完全由用戶自己負(fù)責(zé),提供商不需要調(diào)整或改變網(wǎng)絡(luò)的結(jié)構(gòu)與性能。這種方式也就是通常所說(shuō)的“自建VPN”方式。PP-VPN方案是指在提供商的公共數(shù)據(jù)網(wǎng)上設(shè)置VPN網(wǎng)關(guān)設(shè)備,用于專線接入用戶或遠(yuǎn)程撥號(hào)接入用戶。利用該網(wǎng)關(guān)設(shè)備,可以在全網(wǎng)范圍內(nèi)根據(jù)具體的VPN網(wǎng)絡(luò)需求,通過(guò)隧道封裝、虛擬路由器或MPLS等技術(shù)建立VPN,并且可以采用加密技術(shù)以保障數(shù)據(jù)傳輸?shù)陌踩。VPN連接的建立完全由提供商負(fù)責(zé),對(duì)用戶透明。這種方式也就是通常所說(shuō)的“外包VPN”方式。
按照VPN實(shí)現(xiàn)的網(wǎng)絡(luò)層次進(jìn)行分類,VPN可以分為二層VPN和三層VPN。二層VPN是指構(gòu)成VPN的隧道封裝在網(wǎng)絡(luò)參考模型的第二層(即數(shù)據(jù)鏈路層)上來(lái)完成?蛻魧⑵淙龑勇酚捎成涞綌(shù)據(jù)鏈路層的網(wǎng)絡(luò),提供商為客戶的每個(gè)遠(yuǎn)端節(jié)點(diǎn)提供一個(gè)二層鏈路。這種方式下客戶路由對(duì)提供商是透明的。傳統(tǒng)的VPN大多是通過(guò)租用數(shù)據(jù)專線(幀中繼或ATM)來(lái)組建的,都屬于二層VPN。三層VPN是指在網(wǎng)絡(luò)參考模型的第三層(即網(wǎng)絡(luò)層)利用一些特殊的技術(shù)來(lái)實(shí)現(xiàn)企業(yè)用戶各個(gè)節(jié)點(diǎn)之間的互連。這種方式下,提供商路由器參與客戶三層路由,并管理與VPN相關(guān)的路由表,將路由發(fā)布給遠(yuǎn)端節(jié)點(diǎn)。
CPE-VPN方案的相應(yīng)標(biāo)準(zhǔn)已經(jīng)穩(wěn)定并且已被實(shí)施,企業(yè)中具有許多專有的實(shí)施方案;PP-VPN方案中有關(guān)基于MPLS提供三層VPN的討論也已經(jīng)很多。因此,下面將集中討論P(yáng)P-VPN方案中基于MPLS網(wǎng)絡(luò)提供的二層VPN技術(shù)。
2.MPLS VPN網(wǎng)絡(luò)模型
MPLS VPN的網(wǎng)絡(luò)模型,其中:客戶邊緣(CE:Customer Edge)設(shè)備可以是路由器或二層交換機(jī),它位于客戶端,提供到網(wǎng)絡(luò)提供商的接入;提供商邊緣(PE:Provider Edge)路由器主要維護(hù)與節(jié)點(diǎn)相關(guān)的轉(zhuǎn)發(fā)表,與其他PE路由器交換VPN路由信息,使用MPLS網(wǎng)絡(luò)中的標(biāo)記交換路徑(LSP)轉(zhuǎn)發(fā)VPN業(yè)務(wù),這就是MPLS網(wǎng)絡(luò)中的標(biāo)記邊緣路由器(LER);提供商路由器(P)使用已建立的LSP對(duì)VPN數(shù)據(jù)進(jìn)行透明轉(zhuǎn)發(fā),不維護(hù)與VPN有關(guān)的路由信息,這就是MPLS網(wǎng)絡(luò)中的標(biāo)記交換路由器(LSR)。
二、基于MPLS的二層VPN
過(guò)去,企業(yè)VPN網(wǎng)大多是通過(guò)租用數(shù)據(jù)專線(幀中繼或ATM)來(lái)組建的二層VPN。提供二層VPN業(yè)務(wù)時(shí),網(wǎng)絡(luò)提供商只需為客戶提供二層數(shù)據(jù)鏈路層的連通性,由客戶來(lái)控制路由并可以靈活地選擇三層協(xié)議,且客戶VPN的安全性相對(duì)較高。但是對(duì)網(wǎng)絡(luò)提供商來(lái)說(shuō),過(guò)去FR或ATM網(wǎng)絡(luò)中的一般Internet流量和VPN流量是完全分離的,而且配置傳統(tǒng)的二層VPN存在全網(wǎng)狀連接的N2問(wèn)題,因此這種傳統(tǒng)的疊加式二層VPN為網(wǎng)絡(luò)維護(hù)和管理帶來(lái)了沉重的負(fù)擔(dān)。目前,采用MPLS技術(shù)的網(wǎng)絡(luò)已經(jīng)被普遍認(rèn)為是下一代核心網(wǎng)絡(luò)的發(fā)展方向,而MPLS技術(shù)最主要的優(yōu)勢(shì)之一就是可以很好地支持VPN業(yè)務(wù)。網(wǎng)絡(luò)提供商采用基于MPLS網(wǎng)絡(luò)提供二層VPN技術(shù),可以僅維護(hù)和管理單一的網(wǎng)絡(luò)基礎(chǔ)設(shè)施來(lái)同時(shí)提供二層VPN業(yè)務(wù)、三層VPN業(yè)務(wù)以及其他各種靈活的“盡力而為”或擔(dān)保服務(wù)質(zhì)量的IP業(yè)務(wù),且VPN業(yè)務(wù)的配置實(shí)施將更加自動(dòng)化。
基于MPLS網(wǎng)絡(luò)的二層VPN技術(shù)實(shí)現(xiàn)方案目前主要有兩種,分別是Kompella等提出的二層VPN(以下稱Kompella二層VPN)和Martini等提出的二層VPN(以下稱Martini二層VPN)。這兩種方案的數(shù)據(jù)平面基本相似,都可以支持多種數(shù)據(jù)鏈路層技術(shù),如幀中繼、ATM AAL5 CPCS模式、ATM透明信元模式、以太網(wǎng)、以太網(wǎng)VLAN、思科HDLC和PPP等,它們的主要差別在于控制平面協(xié)議的使用。下面分別討論兩種方案的具體實(shí)施過(guò)程。
1.Kompella二層VPN
Kompella方案在實(shí)施二層VPN時(shí)分為以下三步:
第一步,建立LSP。網(wǎng)絡(luò)在PE路由器間事先建立LSP,可采用RSVP-TE,LDP或CR-LDP中的任一種方法。這些LSP可被用于多種業(yè)務(wù),包括傳統(tǒng)Internet、二層VPN、三層VPN等。這一步實(shí)際上是網(wǎng)絡(luò)提供商實(shí)施MPLS的一個(gè)必要步驟,與二層VPN的實(shí)施相對(duì)獨(dú)立。
第二步,在PE路由器上實(shí)施VPN信息。這一步實(shí)際上是控制平面建立VPN數(shù)據(jù)傳輸通道的過(guò)程,是實(shí)施二層VPN的關(guān)鍵。首先,在PE2路由器上為每一個(gè)連接到它的CE設(shè)備建立一個(gè)VPN轉(zhuǎn)發(fā)表(VFT),這個(gè)轉(zhuǎn)發(fā)表包括該CE設(shè)備的身份識(shí)別碼(ID)、可連接CE設(shè)備的最大數(shù)目N、標(biāo)記值范圍(預(yù)留N個(gè)連續(xù)的標(biāo)記)、使用邊界網(wǎng)關(guān)協(xié)議(BGP)時(shí)的路由目標(biāo)共同體標(biāo)識(shí)或使用標(biāo)記分發(fā)協(xié)議(LDP)時(shí)的VPN ID,分配給CE-PE連接的一組本地子接口ID。其次,為每個(gè)CE設(shè)備配置VFT表(這里以配置CE3的VFT為例),為VFT中的每個(gè)子接口ID分配相應(yīng)的標(biāo)記,即要到達(dá)CE3的其他CE設(shè)備需要使用的VPN標(biāo)記,如子接口數(shù)據(jù)鏈路連接標(biāo)識(shí)(DLCI)=44時(shí),VPN標(biāo)記=300;然后使用BGP協(xié)議來(lái)實(shí)現(xiàn)成員自動(dòng)發(fā)現(xiàn)和成員間鏈路自動(dòng)分配,使用基于BGP路由目標(biāo)共同體和目的地址的路由過(guò)濾來(lái)配置VPN拓?fù)洹=酉聛?lái),PE2利用BGP或LDP協(xié)議向拓?fù)渲械钠渌鸙PN成員(如PE1)發(fā)布VPN連接表(VCT),其中VCT是VFT的子集,包含VFT中除本地子接口ID之外的前四項(xiàng)。收到VCT的PE1路由器更新自己VFT中相關(guān)的子接口ID列表, 如子接口DLCI=33是用于CE1去往CE3的,則為該子接口添加其VPN標(biāo)記=300和相應(yīng)的PE1到PE2的LSP隧道的LSP標(biāo)記101。類似地可以配置其他VPN信息。
第三步,實(shí)施VPN數(shù)據(jù)轉(zhuǎn)發(fā)。數(shù)據(jù)沿第二步建立的VPN通道轉(zhuǎn)發(fā)的詳細(xì)過(guò)程。CE1發(fā)往CE3的數(shù)據(jù)以DLCI=33發(fā)往PE1,在PE1處查找相應(yīng)的VFT,將數(shù)據(jù)的幀中繼頭去掉,壓入兩層標(biāo)記(VPN標(biāo)記和LSP標(biāo)記),核心網(wǎng)中的P路由器象處理普通MPLS分組一樣只是根據(jù)LSP標(biāo)記進(jìn)行交換,根本不知道VPN的存在,直到出口前,執(zhí)行倒數(shù)第二跳彈棧(pop)。在PE2處再根據(jù)VPN標(biāo)記,查找相應(yīng)的VFT表,用子接口DLCI=44恢復(fù)二層數(shù)據(jù)格式并轉(zhuǎn)發(fā)給CE3。
摘自《現(xiàn)代電信科技》