李皓瑜
(湖北開放職業學院光電信息學院,湖北 武漢430074)
袁 璇
(武漢市郵電科學研究院,湖北 武漢430074)
虛擬專用網(Virtual Private Net work,VPN)用來連接分布在廣域網中的企業網站點。VPN通常分為基于IP的VPN和基于多協議標簽交換(Multi-Pr ot ocol Label Switching,MPLS)的 VPN。BGP/MPLS VPN(Border Gateway Protocol,BGP)是一種基于IP的 VPN。基于邊界網關協議(Border Gateway Protocol,BGP)/MPLS的L3 VPN因其網絡配置方便、擴展靈活及價格相對低廉,已經成為越來越多的企業組建其企業VPN網絡的首選方案,進而對其提出了更高的安全及服務保障要求[1]。
如圖1所示,BGP/MPLS VPN在運營商邊界路由器PE與客戶站點路由器CE之間提供點到點連接,因此擴展方便。此外,BGP/MPLS VPN還具有為企業私網提供流量工程能力的優點。下面,筆者提出了一種BGP/MPLS VPN配置管理系統的設計與實現方案,尤其強調了對BGP/MPLS VPN質量保證的管理功能的實現,在網絡管理系統(Network Management System,NMS)中,設計并實現了BGP/MPLS VPN中VPN及VPN站點管理對象模塊。

圖1 BGP/MPLS VPN參考結構圖
IETF和ITU-T在BGP/MPLS VPN方面已經提出了一些標準,諸如Cisco、Juniper和華為等路由器設備制造廠家也開發了各種各樣的商用NMS系統。
IETF已經發布了RFC4364建議,給出了BGP/MPLS VPN的業務模式、協議規格等方面的建議,但針對業務QoS保障的配置與管理方案還在討論中。
針對BGP/MPLS VPN管理器,Cisco開發了Cisco VPN解決方案中心產品[2]。該產品可以提供針對BGP/MPLS VPN的配置管理,當時只支持L3 VPN的VRF(VPN路由轉發)表的配置,不支持具有透明區分服務的L2 VPN流量管理能力。針對L2 VPN的管理,Cisco開發了Cisco IP解決方案中心。但是該產品不支持其他廠家的路由器的管理。Cisco BGP/MPLS VPN配置命令集如表1所示。在實際商業網絡中,需要一個可以管理多個廠家路由器的管理系統。
基于MPLS的VPN能夠提供有帶寬保障及可靠的數據轉發能力[3]。BGP/MPLS VPN網絡由VPN站點域和服務提供商骨干網域2個區域組成[4]。
在BGP/MPLS VPN網絡中,BGP實現不同自治系統之間MPLS分組轉發的路徑設置。通過EBGP(外部BGP)在PE與CE之間交換企業私網路由信息,而通過IBGP(內部BGP)在運營商骨干網PE之間交換VPN路由信息。PE路由器從CE接收到IP路由前綴之后,附加上8個字節的RD(路由區分器)。

表1 Cisco BGP/MPLS VPN配置CLI命令集
如果在網絡中有MPLS VPN路由器存在,管理者需要能夠收集和管理那些使用MPLS VPN業務的站點信息。即使是中等規模的VPN,如大約有200個左右的VPN站點接入,手工收集VPN站點信息是一個耗時又容易出錯的事情。因此,這些路由器和站點的信息必須自動采集[5]。網絡管理員經常進行增加、刪除和修改VPN站點操作。直接連接到路由器進行VPN及VPN站點的創建和刪除的效率非常低下。筆者實現了一個VPN和VPN站點信息自動采集功能模塊,同時還實現了BGP/MPLS VPN管理模塊,以便操作員通過GUI手動微調VPN配置。
VPN管理模塊提供MPLS VPN配置管理功能。有BGP/MPLS VPN管理器和VPN站點2個管理對象MO。每個BGP/MPLS VPN管理器MO有VRF name、RD、RT、VRF接口等相關屬性。VPN站點MO包含配置VPN站點的必要屬性信息,如站點name、IP地址、BGP自治號等。VPN網絡模塊使用BPG/MPLS VPN管理器對象配置BGP/MPLS VPN,并管理VPN和VPN站點。VPN網絡MO與VPNPE模塊交互,實現對VPN的配置。圖2顯示了BGP/MPLS VPN管理器與其他網絡管理模塊之間的關聯結構。
使用BGP/MPLS VPN用戶操作界面,操作員輸入VPN相關信息。這些信息提供給VPN網絡模塊。VPN網絡模塊使用VPN參數配置BGP/MPLS VPN管理器MO,并使用VPN站點參數配置VPN站點MO。最后,BPG/MPLS VPN管理器模塊訪問VPN PE及指定目標路由器創建VPN、VPN站點、TE-LSP等。VPN PE模塊通過使用Cisco7204模塊的方法創建VPN、VPN站點及TE-LSP等。Cisco7204模塊使用CLI/Telnet與路由器交互,實現上述創建過程。
筆者使用CLI作為基本的已配置MPLS VPN的信息采集方法,并使用Cisco路由器作為VPN測試網絡。Cisco路由器中的VPN相關信息可以通過CLI命令自動采集。BGP/MPLS VPN拓撲自動發現過程的信息交互過程如圖3所示。其中,VPN-NMS創建一個中樞路由器(7204_G)。通過CLI命令訪問該物理連接的路由器,確認VRF配置信息。如果操作員通過GUI執行自動拓撲發現,自動拓撲發現模塊直接使用Cicso7204CLI訪問路由器,采集網絡配置信息。在網絡配置信息中,物理配置信息通過PN(Physical Net work)模塊交付,LSP等邏輯配置信息通過MPLS網絡模塊交付,而VPN信息通過VPN網絡模塊交付。PN模塊MO信息包含節點與端口信息。節點MO的屬性信息有本地路由器名、鄰居節點路由名及路由功能類型(指基于IP的路由或MPLS路由)等。MPLS網絡模塊采集的邏輯MO,如LSP MO,包含LSP ID、Ingress節點名、顯示路徑及目的IP等信息。PN模塊管理物理節點和鏈路,并通過GUI描繪管理網絡的物理拓撲。而MPLS網絡模塊則描繪管理網絡的邏輯拓撲,VPN網絡模塊描繪管理網絡的VPN拓撲。

圖2 BGP/MPLS VPN配置管理模塊示意圖

圖3 BGP/MPLS VPN拓撲自動發現過程交互消息示意圖
為了配置的方便,筆者實現一個BGP/MPLS VPN用戶界面模塊。該GUI模塊采用Java實現,并使用Socket和XML實現GUI與VPN網絡模塊之間的交互。其中,VPN視圖GUI模塊激活BGP/MPLS VPN管理器GUI,以進行創建和刪除、配置VPN及VPN站點等操作。創建VPN GUI接收VPN的輸入信息,如VPN ID。VPN ID唯一標識BGP/MPLS VPN管理GUI的VPN列表。增加VPN站點GUI用來創建管理網絡中的VPN站點。操作員可以通過該GUI輸入VPN站點的詳細信息。驗證VPN GUI用來確認通過增加站點GUI增加的VPN站點信息。
如圖4所示,在BGP/MPLS VPN GUI模塊中,創建一個VPN并增加VPN站點信息的過程如下:操作員在VPN視圖GUI下,點擊BGP/MPLS VPN管理器,激活 BGP/MPLS VPN管理器GUI;操作員在VPN管理器GUI下,點擊創建VPN按鈕,激活創建VPN GUI;在 VPN GUI下,管理員提交諸如VPN ID等VPN信息后,VPN ID就加入到VPN管理器GUI的VPN表單下;操作員在VPN表單中選擇了指定的VPN ID,點擊增加站點按鈕后,激活增加站點GUI;操作員輸入諸如VPN站點IP地址、AS號等基本信息后,點擊接受按鈕,就可以建立VPN站點。

圖4 配置BGP/MPLS VPN的VPN GUI示意圖
隨著MPLSVPN的快速發展,NMS的配置管理模塊需要能夠有效采集MPLS VPN信息。本文實現的自動發現功能模塊可以有效收集MPLS VPN信息。為了有效管理,操作員確認采集到的MO的有效信息。通過與Cisco7204CLI模塊的交互,實現MPLS VPN的配置和自動發現。本文還實現了BGP/MPLS VPN的QoS保障管理功能,簡化了NMS中VPN站點的規模擴展所帶來的配置問題。
[1]JI Chao,XU Shu-wei,An Imple mentation Scheme of VPN Based on MPLS[J] .Jour nal of Henan University(Nat ural Science),2007(1):59-62.
[2]Wang Z J.Quality of Service Routing f or Supporting Multi media Applications[J].IEEE JSAC,1996,14(7):1228-1234.
[3]Hae-Eun Moon.Design and Implementation of Net wor k Management System f or QoS guaranteed BGP/MPLS VPN[M] .University of Texas at Austin,2001:35-36.
[4]van Pepelnjak,Ji m Guichar d.MPLS and VPN Architecture[M].Cisco Press,2001:156-158.
[5]Dong-Jin Shin.Design and Implementation of Configuration Management f or the MPLS Net wor k[J] .KNOM Review,2002(12):87-90.