侯海燕,張 燁
(1.無錫科技職業學院 物軟學院,江蘇 無錫 214028;2.江蘇宏知信物聯網科技有限公司工程部,江蘇 蘇州 215200)
IPSEC隧道技術在BGP/MPLS VPN中的研究與應用
侯海燕1,張 燁2
(1.無錫科技職業學院 物軟學院,江蘇 無錫 214028;2.江蘇宏知信物聯網科技有限公司工程部,江蘇 蘇州 215200)
現代網絡環境日益復雜,如何在復雜的網絡環境下,保證信息安全有效地傳遞,成為目前企業用戶重點關注的問題。因此,在BGP/MPLS隧道內嵌套IPSec隧道,使企業利用運營商公有網絡,實現總部與各地分部之間安全、可靠、動態地互聯,讓總分部的異地私網間的通信可以像在同一個私網內一樣高效安全。分析BGP/MPLS VPN的應用環境和缺陷,提出將IPsec應用到BGP/MPLS VPN中,以加強數據傳輸的安全性,規劃設計出一種可行的企業網絡方案并予以模擬實現,并將應用IPsec前后的網絡性能做對比,以驗證其可行性。
IPSEC;BGP/MPLS VPN;網絡安全;網絡負載
在解決企業異地私網互聯問題上,大多數企業采用的是IPSEC VPN技術或者BGP/MPLS VPN技術。IPSEC VPN技術通過IKE來實現對遠端用戶的認證,同時通過IPSEC技術,實現對報文的加密,從而保證數據傳輸的安全性。BGP/MPLS VPN技術是通過BGP和MPLS兩種技術配置實現的一種VPN技術,可實現點到多點的動態隧道建立,不需要手動靜態配置。IPSEC VPN可實現靜態點到點之間建立加密VPN隧道,缺陷在于當企業需要網點擴充的時候(如有新建立的辦事處、分中心等),需要管理員手動靜態配置,且隨著網絡規模的擴大,VPN隧道的數量成N的平方增長,增加了成本。
BGP/MPLS VPN隧道網絡可實現隧道的動態建立,異地私網的增加或減少不需要管理員添加或刪除隧道配置,缺陷在于其不具備數據加密能力。該技術只能使私網數據流在公網上透明傳輸,不能對數據進行加密,也就不能保證企業網絡數據傳遞的安全性[1]。
針對以上兩種VPN的優缺點,本文設計了一種IPSEC over BGP/MPLS VPN的隧道嵌套模式,使得IPSEC和BGP/MPLS都可充分發揮自己的優勢,規避自己的劣勢,從而在能夠實現用戶的認證、報文的加密的前提下,保證動態組網。
BGP/MPLS VPN是一種三層VPN。它使用BGP協議在服務提供商骨干網上發布路由,使用MPLS在服務提供商骨干網上轉發報文。BGP/MPLS VPN網絡架構由CE設備、PE設備和P設備三部分構成。CE設備即用戶網絡的邊緣設備,一般由用戶的核心路由器來充當。PE設備是運營商的MPLS網絡的邊緣設備,與CE直接相連。P設備負責基本MPLS轉發能力,不負責維護VPN信息。在基本BGP/ MPLS VPN應用中,VPN報文采取標簽轉發的方式進行轉發,具有兩層標簽。第一層為公網標簽。該標簽在骨干網內部進行交換,目的是建立一條從本端PE到對端PE的轉發路徑(LSP)。VPN報文利用這層標簽,可以沿LSP到達對端PE[2]。第二層為私網標簽,用在PE與CE之間,用來指示報文應被送到哪個私網即哪一個CE,對端PE根據內層標簽,可以找到轉發報文的接口。
BGP/MPLS VPN不可以對數據報文進行加密,不能保證數據傳遞的安全性。如果將IPSEC加密技術嵌入到BGP/MPLS VPN中,使VPN報文發送前先進行一次IPSEC加密,則可保證VPN站點的安全。本文從理論設計和實踐仿真兩個層次,證明該方案的可行性。
2.1 IPSEC協議簡介
IPSec協議通過在網絡層對數據的來源進行認證,對數據進行加密,對數據完整性進行校驗,并采用抗重放功能,以保證通信雙方的數據在Internet上傳遞時的安全性。IPSec包括認證頭協議AH(Authentication Header)、封裝安全載荷協議ESP(Encapsulating Security Payload)、因特網密鑰交換協議IKE(Internet Key Exchange),以保護主機與主機之間、主機與網關之間、網關與網關之間的一個或多個數據流。其中,AH和ESP兩個安全協議用于提供安全服務,IKE協議用于密鑰交換[3]。
常用的隧道模式中,AH協議包頭或ESP協議包頭被插入在原始報文的IP頭之前,并且會生成一個新的IP頭(新IP頭的源IP地址為本端IPsec對等體的IP地址,目的IP地址為對端IPSec對等體的IP地址)放到AH報頭或ESP報頭之前。這使得兩臺主機在通過公網進行通信時得以隱藏自己真實的IP地址,從而起到保護網絡安全的作用。
2.2 IPsec over BGP/MPLS VPN方案設計
IPsec over BGP/MPLS VPN也由CE設備、PE設備和P設備三部分構成。CE與PE間由原先無保護改用IPSEC隧道封裝數據,然后再通過BGP/MPLS VPN二次封裝后,傳遞IPSEC加密后的原始數據,解決了BGP/MPLS VPN不可加密的缺點。由于PE間還是使用BGP/MPLS VPN兩層標簽傳遞數據,可靈活動態建立多私網的VPN會話。理論模型建立,如圖1所示。

圖1 IPSEC over BGP/MPLS VPN封裝格式
工作原理設計如下[4-5]:
(1)數據流在進行傳輸的過程中,要經過兩次VPN的封裝(一次IPSEC封裝,一次BGP/MPLS封裝)。數據報文在進入用戶的CE1時,首先要進行一次IPSEC封裝,用于進行數據流的加密。IPSEC封裝完成后,所有IP地址為私網地址的數據包的IP地址都會改為CE1出方向的新IP地址,并帶有ESP加密頭。
(2)Ingress PE接收IPSEC數據包,PE端為該報文打上對應的私網標簽并根據隧道名轉發,轉發到骨干網前再次打上公網標簽頭。IPSEC報文攜帶兩層標簽穿越骨干網,骨干網中P設備對該報文進行外層標簽交換。
(3)Egress PE收到攜帶兩層標簽的報文,交給MPLS協議處理。MPLS協議去掉外層標簽,出方向PE看見內層標簽,再次剝離內層標簽。
(4)Egress PE將數據包發送CE2,此時數據包使加密后的IPSEC數據包按照IPSEC解密后,傳遞給對應私網。
該方案中,IPSEC數據包通過BGP/MPLS建立的動態隧道進行傳遞,其目的地址由通過BGP/ MPLS VPN動態學習到的路由決定。在這種情況下,因為所有經過IPSEC封裝的數據流的源、目的IP地址都為CE1的出口IP地址,所以兩個站點之間完全不需要知道對方的路由,只要知道對方的某個需要進行數據交互的IP地址即可。這樣就在最大程度上保護了兩個站點的安全下節通過一個企業實踐案例,證明該方案的可行性。
3.1 企業工程應用網絡拓撲設計
某大型企業建有一個總部、一個分中心和一個辦事處。總部和分中心、總部與辦事處之間通過不同的網絡運營商(AS100和AS200)可以互聯互通,分中心和辦事處之間的互通必須要經過總部互聯。網絡拓撲圖設計,如圖2所示。

圖2 某大型企業總部、分部、辦事處網絡拓撲
總部的CE設備為路由器AR15和AR14,與公共網絡AS100的PE路由器AR13相連。總部內部使用OSPF路由協議,進程號110。RD為300∶100,ex port RT為100∶300,import RT為100∶100、200∶100。分中心的CE設備為路由器AR25,與公共網絡AS200的PE AR23連接。分中心內部使用OSPF路由協議,進程號110。RD為100∶200,export RT為200∶100,import RT為100∶300。AS100和AS200為運營商公共網絡。AS100和AS200之間通過BGP路由協議完成路由信息的交互。
總部通過路由器AR15與辦事處建立IPSec隧道,通過AR14與分中心網絡建立IPSec隧道。IPSec隧道采用IKEv2協商模式建立。認證算法為MD5,加密算法為RSA。
分中心通過路由器AR25與總部建立IPSec隧道,IPSec隧道采用IKEv2協商模式建立。認證算法為MD5,加密算法為RSA。
辦事處通過IRF-LSW1-2與總部建立IPSec隧道,IPSec隧道采用IKEv2協商模式建立。認證算法為MD5,加密算法為RSA。
在網絡正常的情況下,總部與分中心、辦事處之間,采用IPSEC over BGP/MPLS VPN的方式互通。總部數據流通過其CE路由器(AR15、AR14)的時候,通過路由引導其數據流經過IPSEC的虛擬隧道接口,在虛擬隧道接口中進行IPSEC封裝;然后,該數據流被送往位于運營商網絡的PE設備(AR13);數據流進入PE設備后,進行BGP/MPLS封裝。總部數據流通過BGP/MPLS隧道發往分中心,分中心側的PE設備會首先接收該報文,分析其MPLS報文頭;隨后根據RD和RT信息,決定去掉MPLS標簽后,發往分中心的CE設備(AR24)。之后,AR24接收到的報文實際是不帶任何BGP/MPLS標簽的、經過加密的報文。此后,分中心CE設備會根據事先配置好的IPSEC解密策略對數據進行解密,得到具體數據后發送給辦事處相關主機,完成數據傳輸。同理,辦事處到總部的通信過程亦然。
3.2 BGP/MPLS VPN與IPSE over BGP/MPLS VPN方案比較
3.2.1 網絡安全比較
采用BGP/MPLS VPN方案,總部與分中心直接通過動態隧道傳遞CE發出的數據報文。入方向PE綁定的VPN報文是沒有加密的,直接加上公網標簽和私網標簽在MPLS網絡中傳遞;而采用IPSE over BGP/MPLS VPN時,CE通過動態隧道傳遞的是加密后的報文。在BGP/MPLS網絡中,兩種方案傳遞的數據報文格式也不同。經過IPSEC加密的報文多了新的IP頭和ESP數據,報文格式如圖3所示。根據本文企業網絡設計方案(圖2)搭建和配置網絡命令保證網絡的連通性,并通過網絡嗅探工具Wireshark軟件抓包,獲取了IPsec over BGP/MPLS數據包,包如圖4所示。該數據包是從總部前往分中心的,數據包數據鏈路層頭部后面有MPLS頭,內部是經過IPSec處理的IP頭,再往后是加密后的原始報文。可見,報文已經經過加密,保證了BGP/ MPLS VPN網絡中傳輸數據包的安全性。
3.2.2 網絡性能分析

圖3 兩種數據報文格式比較

圖4 IPsec over BGP/MPLS數據包封裝
針對總部與分中心數據傳遞,本企業應用再次設計兩個場景,分別使用未加密的BGP/MPLS VPN網絡和使用IPSEC加密過的BGP/MPLS VPN網絡。在網絡方案實現的基礎上,總部PC機以每秒100個包的速率發給分中心,鏈路傳輸速度46 Mb/s,然后從網絡的傳輸效率和時延等方面對兩種網絡進行比較研究[6]。表1列出了加密前后BGP/MPLS VPN模型參數和兩種網絡中包的平均時延。從表1中可知,進行IPSEC加密的VPN包平均時延遠高于未加密的,這是因為附加了IPSEC頭增加了網絡延遲。再從網絡傳輸速度比較,結果如圖5所示。經過一段時間后,經過IPSEC加密后的BGP/MPLS VPN的傳輸速率小于未加密的,網絡負載能力低于未加密的。從以上分析可知,IPSEC over BGP/MPLS VPN會有高的網絡安全性能,但會比未加密的具有更大網絡延遲,因為IKE密鑰交換、IPSEC加密處理會消耗一定的網絡資源。同時,因為加入IPSEC報文頭,有效負載率也會降低[7]。但是,如果要獲得高安全性能,網絡性能降低是可以接受的。

表1 加密前后VPN參數與平均時延比較

圖5 加密前后有效負載傳輸率比較
IPSEC VPN雖然可以在一定程度上保證用戶的數據通信安全,但僅僅適用于固定的兩點之間。當多點之間需要建立IPSEC會話時,IPSEC隧道建立的數量往往成指數級增長。大量的IPSEC隧道會導致網絡維護成本急劇增加,甚至根本無法維護。因此,在需要多點間進行VPN連接時,IPSEC隧道顯得不太適用。
BGP/MPLS VPN雖然可以動態建立多點間的隧道,但其缺陷在于不可以對數據流本身進行加密。而不加密的數據流在無安全、無流控的公網上傳遞,沒有安全性。所以,只有將兩者結合,才能達到既動態生成隧道又能保護數據安全的目的[8]。由仿真結果得知,IPsec over BGP/MPLS會增加在CE上加密和解謎的時間,從而增加網絡延時。同時因為增加了IPsec頭,網絡的傳輸數據增多,網絡傳輸效率下降。然而,損失一定網絡性能增加網絡安全性還是必要的。隨著網絡設備硬件處理能力的加強,網絡物理性能的影響會越來越小。綜合看來,該方案是可行的。
[1] 何璐茜.MPLS VPN技術研究及應用[J].現代電子技術,2011(08):34. HE Lu-qian.Research and Application of MPLS VPN Technology[J].Modern Electronic Technology,2011(08):34.
[2] 趙治東.路由交換技術第四卷[M].北京:清華大學出版社,2012:148,217-222. ZHAO Zhi-dong.The Fourth Volume of Routing and Switching Technology[M].Beijing:Tsinghua University Press,2012:148,217-222.
[3] Vijay Bollaprada Moh.IPsec VPN設計[M].北京:人民郵電出版社,2012:35-40. Vijay Bollapragada Moh.IPsec VPN Design[M].Beijing:Posts and Telecom Press,2012:35-40.
[4] 陳軍華,王忠 民.BGP/MPLS VPN實現原理[J].計算機工程,2016(12):124. CHEN Jun-hua,WANG Zhong-min.Principle of BGP/ MPLS VPN[J].Computer Engineering,2016(12):124.
[5] 羅恒洋.IPsec在MPLS VPN中的應用[J].計算機技術與發展,2009(03):169. LUO Heng-yang.Application of IPSec in MPLS VPN[J]. Journal of Computer Research and Development,2009(03):169.
[6] 王雙勇.基于IPSEC的BGP/MPLS VPN的實現方式的研究[D].重慶:重慶郵電大學,2006. WANG Shuang-yong.The Implement of BGP/MPLS VPN Based on IPsec[D].Chongqing:Chongqing University of Posts and Telecommunications,2006.
[7] 王秀貞.IPSec VPN和BGP/MPLS VPN技術的比較研究[D].濟南:山東師范大學,2004. WANG Xiu-zhen.Comparing IPsec VPN and BGP/MPLS VPN[D].Jinan:Shandong Normal University,2004.
[8] 劉婷.MPLS VPN在IP承載網中的應用及安全策略研究[D].杭州:杭州電子科技大學,2011. LIU Ting.Security Policy Research and Application of MPLS VPN[D].Hangzhou:Hangzhou Dianzi University,2011.

侯海燕(1983—),女,碩士,講師,主要研究方向為計算機網絡;
張 燁(1996—),男,學士,HICE工程師,主要研究方向為網絡工程。
Research and Application of IPSEC Tunnel Technology in BGP/MPLS VPN
HOU Hai-yan1, ZHANG Ye2
(1.Wuxi Vocational College of Sicence and Technology, Wuxi Jiangsu 214028, China; 2.Project Dept. Of Hongzhixin IOT Technology Corporation, Suzhou Jiangsu 215200, China)
Modern network environment becomes increasingly complex, and how to ensure the secure and effective information transmission in the complex network environment is now a focal problem concerned by enterprises and various users. The embedding of IPSec tunnel in the BGP/MPLS tunnel makes the enterprise utilize the operator public network and implement secure and reliable communication in among different private networks just like in the same private network.The application environments and defects of BGP/ MPLS VPN are analyzed, the application of IPsec tunnel technology in BGP/MPLS VPN for strengthening the security of data transmission suggested, and a feasible enterprise network scheme also designed and simulated. Finally the comparison of network performance before and after the application of IPsec tunnel technology is done, thus to verify its feasibility.
IPSEC; BGP/MPLS VPN; network security; network load
:A
1002-0802(2016)-12-1654-05
10.3969/j.issn.1002-0802.2016.12.015
2016-08-11
2016-11-12 Received date:2016-08-11;Revised date:2016-11-12
江蘇省自然基金項目(No.BK20131109)
Foundation Item:Natural Science Foundation of Jiangsu Province(No.BK20131109)