鄭國寧 馬力
91872部隊 北京 102442
近年,計算機網(wǎng)絡(luò)的新應(yīng)用層出不窮,不斷增加的應(yīng)用需求和不斷增加的用戶數(shù)量都給網(wǎng)絡(luò)尤其是更新升級比較慢的廣域網(wǎng)絡(luò)帶來了很大的負(fù)擔(dān),與網(wǎng)絡(luò)應(yīng)用的快速更新相比較,廣域網(wǎng)的建設(shè)顯得力不從心,要在現(xiàn)有的網(wǎng)絡(luò)設(shè)施上運行更多、流量更大、實時性更高的應(yīng)用,要求我們以現(xiàn)有條件為基礎(chǔ),在網(wǎng)絡(luò)優(yōu)化上做細(xì)致的工作。
目前,很多大的企業(yè)建立了覆蓋全國的虛擬專用網(wǎng),其中的應(yīng)用內(nèi)容廣泛,包括文件共享、音頻視頻交互、即時消息、審計認(rèn)證、voip等內(nèi)容。這些應(yīng)用對網(wǎng)絡(luò)性能的要求不盡相同,同時,對于企業(yè)廣域網(wǎng)來說,網(wǎng)絡(luò)的有效分級管理和如何設(shè)計便于管理的網(wǎng)絡(luò)結(jié)構(gòu)也很重要。
VPN(Virtual Private Network)就是虛擬專用網(wǎng)絡(luò),相當(dāng)于虛擬的專線,它通過特殊的加密通訊協(xié)議為連接在公網(wǎng)上的位于不同地方的兩個或多個節(jié)點之間建立一條專用的通訊線路。VPN技術(shù)利用了低成本的公共網(wǎng)絡(luò)做為企業(yè)骨干網(wǎng),同時又克服了公共網(wǎng)絡(luò)缺乏保密性的弱點,在VPN網(wǎng)絡(luò)中,位于公共網(wǎng)絡(luò)兩端的網(wǎng)絡(luò)在公共網(wǎng)絡(luò)上傳輸信息時,其信息都是經(jīng)過安全處理的,可以保證數(shù)據(jù)的完整性、真實性和私有性。
實現(xiàn)VPN通信的方式有多種,常見的有IPSec VPN、PPTP VPN、SSL VPN等。以下主要介紹IPSec VPN。
IPSec協(xié)議包括應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括網(wǎng)絡(luò)認(rèn)證協(xié)議AH(Authentication Header,認(rèn)證頭)、ESP(Encapsulating Security Payload,封裝安全載荷)、IKE(Internet Key Exchange,因特網(wǎng)密鑰交換)和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等,其中,AH協(xié)議和ESP協(xié)議用于提供安全服務(wù),IKE協(xié)議用于密鑰交換。
IPsec提供了兩種安全機制:認(rèn)證和加密,認(rèn)證機制使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實身份以及數(shù)據(jù)在傳輸過程中是否遭篡改;加密機制通過對數(shù)據(jù)進行加密運算來保證數(shù)據(jù)的機密性,以防數(shù)據(jù)在傳輸過程中被竊聽。IPsec協(xié)議中的AH協(xié)議定義了認(rèn)證的應(yīng)用方法,提供數(shù)據(jù)源認(rèn)證和完整性保證;ESP協(xié)議定義了加密和可選認(rèn)證的應(yīng)用方法,提供數(shù)據(jù)可靠性保證。
AH協(xié)議的工作原理是在每一個數(shù)據(jù)包上添加一個身份驗證報文頭,此報文頭插在標(biāo)準(zhǔn)IP包頭后面,對數(shù)據(jù)提供完整性保護??蛇x擇的認(rèn)證算法有 MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。MD5算法的計算速度比SHA-1算法快,而SHA-1算法的安全強度比MD5算法高。
ESP協(xié)議的工作原理是在每一個數(shù)據(jù)包的標(biāo)準(zhǔn) IP包頭后面添加一個 ESP報文頭,并在數(shù)據(jù)包后面追加一個 ESP尾。與AH協(xié)議不同的是,ESP將需要保護的用戶數(shù)據(jù)進行加密后再封裝到IP包中,以保證數(shù)據(jù)的機密性。常見的加密算法有 DES、3DES、AES等。同時,作為可選項,用戶可以選擇MD5、SHA-1算法保證報文的完整性和真實性。
IPsec有如下兩種工作模式(如圖1):
隧道(tunnel)模式:用戶的整個IP數(shù)據(jù)包被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數(shù)據(jù)被封裝在一個新的IP數(shù)據(jù)包中。通常,隧道模式應(yīng)用在兩個安全網(wǎng)關(guān)之間的通訊。
傳輸(transport)模式:只是傳輸層數(shù)據(jù)被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數(shù)據(jù)被放置在原IP包頭后面。通常,傳輸模式應(yīng)用在兩臺主機之間的通訊,或一臺主機和一個安全網(wǎng)關(guān)之間的通訊。
圖1 tunnel和transport模式下的數(shù)據(jù)封裝形式
本文使用的vpn是手動建立的認(rèn)證、密鑰導(dǎo)入和加密通道等配置,因此維護工作量更大,對網(wǎng)絡(luò)管理員的要求更高。數(shù)據(jù)加密采用 esp協(xié)議,隧道模式,工作原理如圖 2,封裝原始數(shù)據(jù),并產(chǎn)生一個新的ip包頭,以新的ip包頭在公網(wǎng)上路由。
圖2 本文使用的vpn封裝模式
在本文設(shè)計的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,通過 VPN設(shè)備建立覆蓋全國的廣域網(wǎng),每一個地區(qū)作為一個區(qū)域,區(qū)域內(nèi)包括若干節(jié)點,其中每個節(jié)點使用一臺vpn設(shè)備。
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3。
圖3 傳統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
傳統(tǒng)的廣域網(wǎng)vpn通道建立方法是兩兩節(jié)點之間建立,對于較小規(guī)模的系統(tǒng),如十幾個節(jié)點,這樣的建立方法完全可行,但是對于超過100臺的vpn設(shè)備,要建立覆蓋全國的虛擬專網(wǎng),就顯得力不從心,建立過程復(fù)雜,而且管理困難,每增加一個節(jié)點或改變一個節(jié)點的配置,都需要100多個節(jié)點的網(wǎng)絡(luò)管理員參與更改本級vpn配置。工作量大而且容易出現(xiàn)錯誤。另一方面,數(shù)據(jù)流量過大,對vpn設(shè)備會產(chǎn)生過大的負(fù)擔(dān)。
如圖的傳統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,vpn設(shè)備vpn1至vpn3屬于區(qū)域1,以vpn1為例,需要為每一個節(jié)點建立加密通道,設(shè)備內(nèi)的通道數(shù)量巨大,并且,區(qū)域1中增加一個節(jié)點,需要一區(qū)域的網(wǎng)絡(luò)管理員通知全國各個節(jié)點的管理員為本地的vpn設(shè)備增加一條通道信息,并為每個節(jié)點的聯(lián)通做網(wǎng)絡(luò)測試,對于一個多達(dá)幾百個節(jié)點的系統(tǒng)來說,工作量之大可想而知。
改進后的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用在區(qū)域內(nèi)的核心節(jié)點設(shè)置兩臺 VPN設(shè)備,分別用于對區(qū)域外通道加密和對區(qū)域內(nèi)通道加密,圖4中的VPN1用于對區(qū)域1外的數(shù)據(jù)加密,VPN6用于對區(qū)域內(nèi)的數(shù)據(jù)加密,下面設(shè)定一些具體參數(shù),詳細(xì)分析實現(xiàn)過程。
圖4 改進的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
VPN設(shè)備地址規(guī)劃
續(xù)表
根據(jù)以上的規(guī)劃和配置,以下分三種情況描述數(shù)據(jù)流轉(zhuǎn)過程:
(1) pc2訪問pc1
Pc2訪問pc1的ip包包括源地址192.168.2.2,目的地址192.168.1.2,首先ip包被發(fā)送給網(wǎng)關(guān),也就是vpn設(shè)備1。
Vpn設(shè)備根據(jù)加密通道的配置,將數(shù)據(jù)加密后發(fā)送到vpn6,此時ip包被重新封裝,源地址更換為20.1.2.1,目的地址更換為20.1.1.17。
Ip包到達(dá)vpn6并解密后,解除封裝,源地址與目的地址恢復(fù),由交換機1將ip包送到pc1。
(2) pc2訪問pc5
Pc2訪問pc5的ip包包括源地址192.168.2.2,目的地址192.168.5.2,首先ip包被發(fā)送給網(wǎng)關(guān),也就是vpn設(shè)備1。
Vpn設(shè)備根據(jù)加密通道的配置,將數(shù)據(jù)加密后發(fā)送到vpn6,此時ip包被重新封裝,源地址更換為20.1.2.1,目的地址更換為20.1.1.17。
Ip包到達(dá)vpn6并解密后,解除封裝,源地址與目的地址恢復(fù),根據(jù)目的地址192.168.5.2,ip包被發(fā)送給路由器。
路由器根據(jù)路由表,將目的地址區(qū)域1以外的ip包發(fā)送給下一跳vpn1。
Vpn1根據(jù)加密通道的配置,將ip包發(fā)送給vpn5。Ip包被重新封裝,源地址是20.1.1.1,目的地址是20.1.5.1。
Ip包到達(dá)vpn5并解密后,地址恢復(fù)為初始的源地址與目的地址。
交換機5將ip包發(fā)送給pc5。
(3) pc5訪問pc2
Pc5訪問pc2的ip包包括源地址192.168.5.2,目的地址192.168.2.2,首先ip包被發(fā)送給網(wǎng)關(guān),也就是vpn設(shè)備5。
Vpn設(shè)備5根據(jù)加密通道的配置,將數(shù)據(jù)加密后發(fā)送到vpn1,此時ip包被重新封裝,源地址更換為20.1.5.1,目的地址更換為20.1.1.1。
Ip包到達(dá)vpn1并解密后,解除封裝,源地址與目的地址恢復(fù),根據(jù)目的地址192.168.2.2,ip包被發(fā)送給路由器。
路由器根據(jù)路由表,將目的地址為192.168.2.2的ip包發(fā)送給下一跳vpn6。
Vpn6根據(jù)加密通道的配置,將ip包發(fā)送給vpn2。Ip包被重新封裝,源地址是20.1.1.17,目的地址是20.1.2.1。
Ip包到達(dá)vpn2并解密后,地址恢復(fù)為初始的源地址與目的地址。
交換機2將ip包發(fā)送給pc2。
改進后的vpn拓?fù)浣Y(jié)構(gòu)具有以下的明顯優(yōu)點:
(1) vpn2、vpn3、vpn4等分布在區(qū)域1內(nèi)的設(shè)備管理簡單,對網(wǎng)管要求很低,區(qū)域外增加或減少節(jié)點不需要對區(qū)域1內(nèi)的這些vpn設(shè)備作任何改動。
(2) 區(qū)域外增加或減少節(jié)點對vpn1也沒有影響,區(qū)域1外增加或減少一個區(qū)域時才需要vpn1的網(wǎng)管對vpn1內(nèi)的通道作改動,因此,工作量很小。
(3) 區(qū)域1內(nèi)的數(shù)據(jù)包流量分為兩大部分:區(qū)域內(nèi)流量和區(qū)域外流量。區(qū)域內(nèi)流量不經(jīng)過 vpn1,只有區(qū)域外流量經(jīng)過vpn1,因此,有效的分流了數(shù)據(jù),減少了單個vpn設(shè)備的負(fù)擔(dān)。
改進后的vpn拓?fù)湓趦?yōu)化網(wǎng)絡(luò)流量,提高網(wǎng)絡(luò)性能和減少管理工作量,減少人為故障率方面都有一定的效果。
[1]Cisco Systems,Cisco Networking Academy Program.Fundamentals of Network Security.cisco Press.2004.
[2]Brian Morgan,Neil lovering.CCNP ISCW Official Exam Certification Guide.Cisco Press.2008.