軟件水平網(wǎng)絡工程輔導:VPN技術詳解(三)

字號:

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