軟件水平網(wǎng)絡(luò)工程輔導(dǎo):VPN技術(shù)詳解(三)

字號(hào):

六、隧道技術(shù)如何實(shí)現(xiàn)
    對(duì)于象PPTP和L2TP這樣的第2層隧道協(xié)議,創(chuàng)建隧道的過程類似于在雙方之間建立會(huì)話;隧道的兩個(gè)端點(diǎn)必須同意創(chuàng)建隧道并協(xié)商隧道各種配置變量,如地址分配,加密或壓縮等參數(shù)。絕大多數(shù)情況下,通過隧道傳輸?shù)臄?shù)據(jù)都使用基于數(shù)據(jù)報(bào)的協(xié)議發(fā)送。隧道維護(hù)協(xié)議被用來作為管理隧道的機(jī)制。
    第3層隧道技術(shù)通常假定所有配置問題已經(jīng)通過手工過程完成。這些協(xié)議不對(duì)隧道進(jìn)行維護(hù)。與第3層隧道協(xié)議不同,第2層隧道協(xié)議(PPTP和L2TP)必須包括對(duì)隧道的創(chuàng)建,維護(hù)和終止。
    隧道一旦建立,數(shù)據(jù)就可以通過隧道發(fā)送。隧道客戶端和服務(wù)器使用隧道數(shù)據(jù)傳輸協(xié)議準(zhǔn)備傳輸數(shù)據(jù)。例如,當(dāng)隧道客戶端向服務(wù)器端發(fā)送數(shù)據(jù)時(shí),客戶端首先給負(fù)載數(shù)據(jù)加上一個(gè)隧道數(shù)據(jù)傳送協(xié)議包頭,然后把封裝的數(shù)據(jù)通過互聯(lián)網(wǎng)絡(luò)發(fā)送,并由互聯(lián)網(wǎng)絡(luò)將數(shù)據(jù)路由到隧道的服務(wù)器端。隧道服務(wù)器端收到數(shù)據(jù)包之后,去除隧道數(shù)據(jù)傳輸協(xié)議包頭,然后將負(fù)載數(shù)據(jù)轉(zhuǎn)發(fā)到目標(biāo)網(wǎng)絡(luò)。
    七、隧道協(xié)議和基本隧道要求
    因?yàn)榈?層隧道協(xié)議(PPTP和L2TP)以完善的PPP協(xié)議為基礎(chǔ),因此繼承了一整套的特性。
    1.用戶驗(yàn)證
    第2層隧道協(xié)議繼承了PPP協(xié)議的用戶驗(yàn)證方式。許多第3層隧道技術(shù)都假定在創(chuàng)建隧道之前,隧道的兩個(gè)端點(diǎn)相互之間已經(jīng)了解或已經(jīng)經(jīng)過驗(yàn)證。一個(gè)例外情況是IPSec協(xié)議的ISAKMP協(xié)商提供了隧道端點(diǎn)之間進(jìn)行的相互驗(yàn)證。
    2.令牌卡(Tokencard)支持
    通過使用擴(kuò)展驗(yàn)證協(xié)議(EAP),第2層隧道協(xié)議能夠支持多種驗(yàn)證方法,包括一次性口令(one-timepassword),加密計(jì)算器(cryptographic calculator)和智能卡等。第3層隧道協(xié)議也支持使用類似的方法,例如,IPSec協(xié)議通過ISAKMP/Oakley協(xié)商確定公共密鑰證書驗(yàn)證。
    3.動(dòng)態(tài)地址分配
    第2層隧道協(xié)議支持在網(wǎng)絡(luò)控制協(xié)議(NCP)協(xié)商機(jī)制的基礎(chǔ)上動(dòng)態(tài)分配客戶地址。第3層隧道協(xié)議通常假定隧道建立之前已經(jīng)進(jìn)行了地址分配。目前IPSec隧道模式下的地址分配方案仍在開發(fā)之中。
    4.數(shù)據(jù)壓縮
    第2層隧道協(xié)議支持基于PPP的數(shù)據(jù)壓縮方式。例如,微軟的PPTP和L2TP方案使用微軟點(diǎn)對(duì)點(diǎn)加密協(xié)議(MPPE)。IETP正在開發(fā)應(yīng)用于第3層隧道協(xié)議的類似數(shù)據(jù)壓縮機(jī)制。
    5.數(shù)據(jù)加密
    第2層隧道協(xié)議支持基于PPP的數(shù)據(jù)加密機(jī)制。微軟的PPTP方案支持在RSA/RC4算法的基礎(chǔ)上選擇使用MPPE。第3層隧道協(xié)議可以使用類似方法,例如,IPSec通過ISAKMP/Oakley協(xié)商確定幾種可選的數(shù)據(jù)加密方法。微軟的L2TP協(xié)議使用IPSec加密保障隧道客戶端和服務(wù)器之間數(shù)據(jù)流的安全。
    6.密鑰管理
    作為第2層協(xié)議的MPPE依靠驗(yàn)證用戶時(shí)生成的密鑰,定期對(duì)其更新。IPSec在ISAKMP交換過程中公開協(xié)商公用密鑰,同樣對(duì)其進(jìn)行定期更新。
    7.多協(xié)議支持
    第2層隧道協(xié)議支持多種負(fù)載數(shù)據(jù)協(xié)議,從而使隧道客戶能夠訪問使用IP,IPX,或NetBEUI等多種協(xié)議企業(yè)網(wǎng)絡(luò)。相反,第3層隧道協(xié)議,如IPSec隧道模式只能支持使用IP協(xié)議的目標(biāo)網(wǎng)絡(luò)。
    八、點(diǎn)對(duì)點(diǎn)協(xié)議
    因?yàn)榈?層隧道協(xié)議在很大程度上依靠PPP協(xié)議的各種特性,因此有必要對(duì)PPP協(xié)議進(jìn)行深入的探討。PPP協(xié)議主要是設(shè)計(jì)用來通過撥號(hào)或?qū)>€方式建立點(diǎn)對(duì)點(diǎn)連接發(fā)送數(shù)據(jù)。PPP協(xié)議將IP,IPX和NETBEUI包封裝在PP楨內(nèi)通過點(diǎn)對(duì)點(diǎn)的鏈路發(fā)送。PPP協(xié)議主要應(yīng)用于連接撥號(hào)用戶和NAS。 PPP撥號(hào)會(huì)話過程可以分成4個(gè)不同的階段。分別如下:
    階段1:創(chuàng)建PPP鏈路
    PPP使用鏈路控制協(xié)議(LCP)創(chuàng)建,維護(hù)或終止一次物理連接。在LCP階段的初期,將對(duì)基本的通訊方式進(jìn)行選擇。應(yīng)當(dāng)注意在鏈路創(chuàng)建階段,只是對(duì)驗(yàn)證協(xié)議進(jìn)行選擇,用戶驗(yàn)證將在第2階段實(shí)現(xiàn)。同樣,在LCP階段還將確定鏈路對(duì)等雙方是否要對(duì)使用數(shù)據(jù)壓縮或加密進(jìn)行協(xié)商。實(shí)際對(duì)數(shù)據(jù)壓縮/加密算法和其它細(xì)節(jié)的選擇將在第4階段實(shí)現(xiàn)。