文/黃向農 趙瓊 吳煥忠 羅必然
三層MPLS VPN搭建多業務校園網
文/黃向農 趙瓊 吳煥忠 羅必然
基于三層MPLS VPN構建多業務校園網,實現相同VPN用戶可以互相通信,不同VPN用戶相互隔離,利用網管VPN站點監控所有專網業務和校園網普通業務,具有較高的可擴展性,在實現資源整合與網絡虛擬化方面是一次有益的嘗試。
中山大學校園網經過十多年建設,已經承載了許多業務,加強了學校教學、科研和管理等工作,滿足用戶對網絡應用的需求。隨著學校不斷開展新應用,今后還會有更多業務需要校園網支撐。如圖1所示,校園網被劃分為核心層、校區骨干層、區域匯聚層、樓棟匯聚層和接入層,通過租用線路將四個校區互聯起來,并使用統一的網絡出口(邊界層)。
不同的業務系統對網絡平臺的要求不同。例如,數字圖書館基于用戶NetID賬戶授權方式對用戶開放;一卡通與校園網其他業務邏輯隔離,用戶在終端設備上以刷卡方式享受服務。在校園網上還部署有財務專網、公醫專網、安防專網、視頻專網和巡考專網等等。這些專網都有“隔離”的基本需求——運行在獨立的網絡平臺上,以確保其安全性和可靠性。
目前對這些專網的部署方式是:物理隔離和邏輯隔離。采用物理隔離方式,需要使用更多的線路、安裝更多的設備、投入更多的資金;采用邏輯隔離方式,需要利用傳統VPN、ACL、路由過濾和VLAN等技術,實施起來較為復雜。不管是采用物理隔離還是邏輯隔離方式,網絡的可擴展性都不太好。
為了降低整體IT投入,簡化網絡運維管理,將多種業務融合到一個網絡上,實行資源整合和網絡虛擬化是校園網建設的發展趨勢。在此,我們結合學校網絡實際情況來探討基于MPLS VPN構建多業務校園網的實現方法。

圖1 校園網拓撲
MPLS是一種多協議標簽交換技術,它引入了基于標簽的報文交換機制,由標簽來規定報文通過網絡的路徑。MPLS VPN是一種基于MPLS技術的VPN解決方案,利用標簽交換技術,通過LSP實現多點到多點的連接,MPLS VPN網絡體系結構如圖2所示。在MPLS VPN網絡中,P路由器以標簽交換方式轉發報文,在PE路由器上創建虛擬路由器(VRF),PE通過VRF三層接口連接CE,由CE提供用戶站點的接入。VPN成員在VRF上定義,它是由若干不同站點組成的集合,一個站點可以屬于不同的VPN,屬于同一VPN的站點之間具有IP連通性,不同VPN的站點之間可以有控制地實現互連與隔離。
MPLS的工作過程
MPLS骨干網絡主要由標簽交換路由器(LSR)、標簽邊緣路由器(LER,位于IP網絡與MPLS網絡之間的LSR)、標簽分發協議(LDP或MP-iBGP)和IGP等構成。在每臺LSR上,IGP根據所獲得的路由信息建立路由表,然后由相關的標簽分發協議據此創建轉發等價類(FEC),綁定到本地標簽、并將FEC和關聯標簽通告給相鄰LSR、再與相鄰LSR協商建立標簽轉發信息庫(LFIB),最后得到基于每個FEC的LSP,即在LER之間建立了虛鏈路,使帶上標簽的報文可以按LSP規定的路徑穿越MPLS網絡。一個報文穿越MPLS網絡的過程可概括為如下步驟:

圖2 MPLS VPN網絡體系結構
1.在MPLS入口,入站LER接收到一個報文,根據其路由所屬的FEC,在LFIB中找到對應的標簽并添加到該報文上,然后轉發給下游LSR;
2.在MPLS域內,LSR只需根據報文所攜帶的標簽,以基于LFIB交換頂層標簽方式轉發報文;若LFIB的對應出站標簽為空標簽,則會去掉報文的頂層標簽后,再轉發報文;
3.在MPLS出口,出站LER接收來自上游的報文,可能是IP報文,也可能是MPLS標簽報文。
需要說明的是,為提高報文轉發效率,凡是與直連路由和匯總路由相關的LSR會創建空標簽,使其上游LSR在邏輯上成為倒數第二跳LSR。倒數第二跳LSR不作頂層標簽交換,而直接去掉頂層標簽,然后轉發報文。若不是LER接收該報文,可能因沒有路由而被丟棄。
MPLS VPN的工作過程
如圖2所示,在MPLS VPN網絡中,有三種類型的路由器:P(LSR)為骨干網核心路由器,負責MPLS報文的轉發,不需了解VPN路由信息;CE為客戶邊緣設備,負責收發用戶網絡的IPv4路由,不必考慮MPLS標簽;PE(LER)為提供商邊緣路由器,負責處理VPN路由信息。PE擁有骨干網的路由信息和每一個VPN的路由信息(VRF),而且還相互隔離。
基于MPLS交換技術構建VPN時,PE除了運行LDP,還要運行MP-iBGP,其作用是在BGP對等體之間通告VPN路由信息和相應的標簽,以及在VPN之間傳送IPv4報文。
首先來看PE之間的路由與標簽通告。在PE上創建VRF,并將PE指向CE的三層接口劃入該VRF,再基于VRF配置RD和RT。從出站PE到入站PE之間的路由通告過程是:
1.一端VPN站點的IPv4路由經CE到達出站PE,結合RD構成VPNv4路由,為其綁定一個本地標簽,若對應VRF指定了RT輸出值,就將VPNv4路由重分布進MP-iBGP的環境中;
2.MP-iBGP通過MPLS骨干網LER之間的虛鏈路,將VPNv4路由信息和關聯標簽等通告給所有對等體;
3.入站PE接收到這些信息后,將綁定VPNv4路由的標簽作為遠程標簽來處理,若接收到的RT輸出值等于某個本地VRF的RT輸入值,就將IPv4路由從MP-iBGP重分布到該VRF路由表中,最后這些IPv4路由經入站PE到達CE后通告到另一端VPN站點。
再來看VPN之間的報文轉發。從入站PE到出站PE之間的報文轉發過程如下:
1.當一個IP報文從CE進入入站PE時,該PE會根據接收該報文的接口來確定VRF,利用LFIB表查找其目的IPv4網絡,將關聯的遠程標簽(VPN標簽)添加到IP報文上;
2.入站PE還要根據其MP-iBGP的下一跳IPv4地址,為該IP報文打上第二層標簽(IGP標簽),然后基于該標簽穿越MPLS骨干網,到達出站PE;
3.在到達出站PE之前,IGP標簽已被移除,MP-iBGP再去掉VPN標簽,根據VRF路由表,以IPv4報文的形式從出站PE指向CE的VRF接口轉發出去。
為了全網統一部署與實施,需要根據校園網的具體情況進行組網規劃。
拓撲規劃
在現有的校園網上進行MPLS VPN組網,由圖1所示,可以將核心層和校區骨干層設備定義為P(LSR),區域匯聚層設備定義為PE(LER),樓棟匯聚層設備定義為CE。
地址規劃
在三層MPLS VPN網絡中不必刻意去考慮VPN的地址重疊問題,仍建議繼續沿用校園網原有的地址規劃方案進行實施。普通上網業務的地址規劃是按樓棟(小區)為單位進行的,網關就近設在樓棟匯聚交換機上,可以認為是縱向部署的。而MPLS VPN業務是橫向部署的,即一個業務分布到多個物理位置,如一卡通業務。但考慮到這些業務在每個樓棟匯聚層節點上的網絡規模都較小,可以采用28位掩碼為單位來分配網段(較大的節點就多給幾個網段)。
在MPLS設備互連接口上啟用LDP建立鄰居關系時,需用到環回地址作為LSR的路由器ID。為了簡化路由控制策略,將環回地址作為LDP會話源地址和MPBGP更新源地址,為其專門分配一段地址,且不與校園網IGP中的環回地址同段。
以校內業務為主的網絡,一般只分配“私網”地址,如要訪問Internet可經NAT實現。
路由規劃
1.LDP需要通過IGP建立TCP連接,用于在LSR之間生成LSP。目前校園網部署的IGP為OSPF,骨干區域涉及校園網的核心層和校區骨干層,非骨干區域按校區劃分,ABR設在校區骨干層上,而且每個校區都設置成Total NSSA特殊區域,以限制各類LSA穿越ABR,進而減少路由條目。但在這種OSPF配置模式下,不滿足MPLS網絡部署的要求,這是因為在ABR(LER的上游)已經過濾了所有路由,只有一條下發的默認路由用于區域間的訪問,所以無法在MPLS網絡中建立虛鏈路。解決方法是:將校區的Total NSSA區域改為NSSA區域,允許LSA3通過,使作為LDP會話源地址和MP-BGP更新源地址的環回地址的路由在LER之間可達,保證彼此間生成LSP。
2.MP-iBGP采 用 私 有 的AS號64512,在PE之間建立BGP鄰接關系。由于區域匯聚層設備較多,任意PE之間都要建立BGP鄰接關系,所以不便于維護,而且可擴展性不好。解決方法是多部署一臺BGP反射路由器,使所有PE只需與反射路由器建立鄰接關系。
3.PE和CE之間運行的是eBGP時,eBGP與MP-iBGP可以自動進行雙向重分布,而PE和CE之間運行的是IGP時,IGP與MP-iBGP需要手動進行雙向重分布,IGP可以采用靜態路由或OSPF等,并為每個VRF進行路由配置。
MPLS VPN相關的規劃
1.20位MPLS標簽的可用范圍是16至1048575,目前校園網IPv4路由少于1000,為了便于維護,可為每個LSR劃定分發的標簽范圍:i×10000至i×10000+9999,其中i為MPLS網絡中LSR的設備編號。目前LSR數量有20臺左右,i從1開始依次編號。
2.每個VPN即為一個VLAN,應該使各校區相同業務VPN的vid值都相同。因為VPN可能會與普通業務共用CE,應按校園網VLAN規劃方案統一對vid進行規劃,避免沖突。

圖3 基于三層MPLS VPN構建多業務校園網的架構示意
3.為每個VRF定義名字,采用業務名稱的拼音字母或英文的縮寫。例如,一卡通為YiKaTong。
4.RD采用ASN+k:vid的格式,其中ASN是MP-iBGP的AS號,即64512,如一卡通的vid是18,那么RD值就為64512:18,這時k=0。若CE雙宿主連接兩臺PE,在路由反射器環境中,仍有兩條路由到CE,可設置兩個RD,對應k=0和1,即兩個RD分別是64512:18和64513:18。
5.RT也采用RD的格式,其值設置與對應VRF的RD相同。VPN路由導入和導出操作分別對應Export和Import屬性,如果將Export和Import屬性值設置為一樣,使相同VPN可互訪;如果不同VPN互訪,就要設置包含其他VPN的Import屬性值。
當MPLS VPN骨干網絡配置完成后,不管是原來的普通業務還是新設的專網業務,都會運行在MPLS VPN骨干網之上,只不過在PE上普通業務使用全局路由,而專網業務使用各自的VRF路由。在不改變校園網原來物理拓撲的環境下實施多業務網絡的架構如圖3所示。當然,這樣的部署要求在樓棟匯聚層上的CE設備能夠區分和隔離全局路由和VRF,這要求設備需支持Multi-VRF CE功能。目前一般三層交換機的靜態路由會支持該功能,如銳捷RG-S5750、H3C S5800等,都可作為CE設備。部署時可以配置CE的子接口(或trunk鏈路)上聯PE 若干個VRF三層接口,并通過trunk鏈路下聯接入層設備,將VPN的VRF與VLAN關聯起來。
網管VPN需要訪問所有的專網業務VPN以及普通業務,設置該VRF可以與全局路由互通,以用于監管校園網日常運行。為了便于控制,網管VPN站點設置在數據中心站點內,以便通過NAT讓其他VPN訪問數據中心的業務,如DNS,甚至訪問校外可信站點。
基于三層MPLS VPN構建多業務校園網,實現相同VPN用戶可以互相通信,不同VPN用戶相互隔離,利用網管VPN站點監控所有專網業務和校園網普通業務,其他VPN站點只能通過單一安全節點,利用NAT技術有控制地訪問校園網其他業務,以至訪問指定的可信Internet目標主機。該方案部署簡單可行,具有較高的可擴展性,在實現資源整合與網絡虛擬化方面是一次有益的嘗試。
(作者單位為中山大學網絡與信息技術中心)