萬盛學電腦網

 萬盛學電腦網 >> 電腦常見故障 >> 不能上網 >> IP 隧道技術基礎篇

IP 隧道技術基礎篇

IP 隧道技術:基礎篇


隧道技術是一種通過使用互聯網絡的基礎設施在網絡之間傳遞數據的方式。使用隧道傳遞的數據(或負載)可以是不同協議的數據桢(此字不正確)或包。隧道協議將這些其它協議的數據桢或包重新封裝在新的包頭中發送。新的包頭提供了路由信息,從而使封裝的負載數據能夠通過互聯網絡傳遞。

  被封裝的數據包在隧道的兩(電腦沒聲音)個端點之間通過公共互聯網絡進行路由。被封裝的數據包在公共互聯網絡上傳遞時所經過的邏輯路徑稱為隧道。一旦到達網絡終點,數據將被解包並轉發到最終目的地。注意隧道技術是指包括數據封裝,傳輸和解包在內的全過程。


  隧道所使用的傳輸網絡可以是任何類型的公共互聯網絡,本文主要以目前普遍使用Internet為例進行說明。此外,在企業網絡同樣可以創建隧道。隧道技術在經過一段時間的發展和完善之後,目前較為成熟的技術包括:

1.IP網絡上的SNA隧道技術
   當系統網絡結構(System Network Architecture)的數據流通過企業IP網絡傳送時,SNA數據桢將被封裝在UDP和IP協議包頭中。

2.IP網絡上的NovellNetWareIPX隧道技術
   當一個IPX數據包被發送到NetWare服務器或IPX路由器時,服務器或路由器用UDP和IP包頭封裝IPX數據包後通過IP網絡發送。另一端的IP-TO-IPX路由器在去除UDP和IP包頭之後,把數據包轉發到IPX目的地。

  近幾年不斷出現了一些新的隧道技術,本文將主要介紹這些新技術。具體包括:

1.點對點隧道協議(PPTP)
   PPTP協議允許對IP,IPX或NetBEUI數據流進行加密,然後封裝在IP包頭中通過企業IP網絡或公共互聯網絡發送。

2.第2層隧道協議(L2TP)
   L2TP協議允許對IP,IPX或NetBEUI數據流進行加密,然後通過支持點對點數據報傳遞的任意網絡發送,如IP,X.25,桢中繼或ATM。

3.安全IP(IPSec)隧道模式
   IPSec隧道模式允許對IP負載數據進行加密,然後封裝在IP包頭中通過企業IP網絡或公共IP互聯網絡如Internet發送。

隧道協議

  為創建隧道,隧道的客戶機和服務器雙方必須使用相同的隧道協議。

  隧道技術可以分別以第2層或第3層隧道協議為基礎。上述分層按照開放系統互聯(OSI)的參考模型劃分。第2層隧道協議對應OSI模型中的數據鏈路層,使用桢作為數據交換單位。PPTP,L2TP和L2F(第2層轉發)都屬於第2層隧道協議,都是將數據封裝在點對點協議(PPP)桢中通過互聯網絡發送。第3層隧道協議對應OSI模型中的網絡層,使用包作為數據交換單位。IP overIP以及IPSec隧道模式都屬於第3層隧道協議,都是將IP包封裝在附加的IP包頭中通過IP網絡傳送。

隧道技術的實現

 對於象PPTP和L2TP這樣的第2層隧道協議,創建隧道的過程類似於在雙方之間建立會話;隧道的兩(電腦沒聲音)個端點必須同意創建隧道並協商隧道各種配置變量,如地址分配,加密或壓縮等參數。絕大多數情況下,通過隧道傳輸的數據都使用基於數據報的協議發送。隧道維護協議被用來作為管理隧道的機制。

  第3層隧道技術通常假定所有配置問題已經通過手工過程完成。這些協議不對隧道進行維護。與第3層隧道協議不同,第2層隧道協議(PPTP和L2TP)必須包括對隧道的創建,維護和終止。

  隧道一旦建立,數據就可以通過隧道發送。隧道客戶端和服務器使用隧道數據傳輸協議准備傳輸數據。例如,當隧道客戶端向服務器端發送數據時,客戶端首先給負載數據加上一個隧道數據傳送協議包頭,然後把封裝的數據通過互聯網絡發送,並由互聯網絡將數據路由到隧道的服務器端。隧道服務器端收到數據包之後,去除隧道數據傳輸協議包頭,然後將負載數據轉發到目標網絡。

隧道協議和基本隧道要求

  因為第2層隧道協議(PPTP和L2TP)以完善的PPP協議為基礎,因此繼承了一整套的特性。

  1. 用戶驗證
    第2層隧道協議繼承了PPP協議的用戶驗證方式。許多第3層隧道技術都假定在創建隧道之前,隧道的兩(電腦沒聲音)個端點相互之間已經了解或已經經過驗證。一個例外情況是IPSec協議的ISAKMP協商提供了隧道端點之間進行的相互驗證。

  2. 令牌卡(Tokencard)支持
    通過使用擴展驗證協議(EAP),第2層隧道協議能夠支持多種驗證方法,包括一次性口令(one-timepassword),加密計算器(cryptographic calculator)和智能卡等。第3層隧道協議也支持使用類似的方法,例如,IPSec協議通過ISAKMP/Oakley協商確定公共密鑰證書驗證。

  3. 動態地址分配
    第2層隧道協議支持在網絡控制協議(NCP)協商機制的基礎上動態分配客戶地址。第3層隧道協議通常假定隧道建立之前已經進行了地址分配。目前IPSec隧道模式下的地址分配方案仍在開發之中。

  4. 數據壓縮
    第2層隧道協議支持基於PPP的數據壓縮方式。例如,微軟的PPTP和L2TP方案使用微軟點對點加密協議(MPPE)。IETP正在開發應用於第3層隧道協議的類似數據壓縮機制。

  5. 數據加密
    第2層隧道協議支持基於PPP的數據加密機制。微軟的PPTP方案支持在RSA/RC4算法的基礎上選擇使用MPPE。第3層隧道協議可以使用類似方法,例如,IPSec通過ISAKMP/Oakley協商確定幾種可選的數據加密方法。微軟的L2TP協議使用IPSec加密保障隧道客戶端和服務器之間數據流的安全。

  6. 密鑰管理
    作為第2層協議的MPPE依靠驗證用戶時生成的密鑰,定期對其更新。IPSec在ISAKMP交換過程中公開協商公用密鑰,同樣對其進行定期更新。

  7. 多協議支持
    第2層隧道協議支持多種負載數據協議,從而使隧道客戶能夠訪問使用IP,IPX,或NetBEUI等多種協議企業網絡。相反,第3層隧道協議,如IPSec隧道模式只能支持使用IP協議的目標網絡。

數據傳輸階段

一旦完成上述 4階段的協商,PPP就開始在連接對等雙方之間轉發數據。每個被傳送的數據報都被封裝在PPP包頭內,該包頭將會在到達接收方之後被去除。如果在階段1選擇使用數據壓縮並且在階段4完成了協商,數據將會在被傳送之間進行壓縮。類似的,如果如果已經選擇使用數據加密並完成了協商,數據(或被壓縮數據)將會在傳送之前進行加密。
點對點隧道協議(PPTP)

PPTP是一個第2層的協議,將PPP數據桢封裝在IP數據報內通過IP網絡,如Internet傳送。PPTP還可用於專用局域網絡之間的連接。RFC草案“點對點隧道協議”對PPTP協議進行了說明和介紹。該草案由PPTP論壇的成員公司,包括微軟,Ascend,3Com,和ECI等公司在1996年6月提交至IETF。可在如下站點 http://www.ietf.org 參看草案的在線拷...桓鯬PTP數據包。

第2層轉發(L2F)

L2F是Cisco公司提出隧道技術,作為一種傳輸協議L2F支持撥號接入服務器將撥號數據流封裝在PPP桢內通過廣域網鏈路傳送到L2F服務器(路由器)。L2F服務器把數據包解包之重新注入(inject)網絡。與PPTP和L2TP不同,L2F沒有確定的客戶方。應當注意L2F只在強http://.制隧道中有效。(自願和強http://.制隧道的介紹參看“隧道類型”)。

第2層隧道協議(L2TP)

L2TP結合了PPTP和L2F協議。設計者希望L2TP能夠綜合PPTP和L2F的優勢。
L2TP是一種網絡層協議,支持封裝的PPP桢在IP,X.25,桢中繼或ATM等的網絡上進行傳送。當使用IP作為L2TP的數據報傳輸協議時,可以使用L2TP作為Internet網絡上的隧道協議。L2TP還可以直接在各種WAN媒介上使用而不需要使用IP傳輸層。草案RFC“第2層隧道協議”對L2TP進行了說明和介紹。該文檔於1998年1月被提交至IETF。可以在以下網站http://www.ietf.org 獲得草案拷貝。

IP網上的L2TP使用UDP和一系列的L2TP消息對隧道進行維護。L2TP同樣使用UDP將L2TP協議封裝的PPP桢通過隧道發送。可以對封裝PPP桢中的負載數據進行加密或壓縮。圖8所示為如何在傳輸之前組裝一個L2TP數據包。

PPTP與L2TP

PPTP和L2TP都使用PPP協議對數據進行封裝,然後添加附加包頭用於數據在互聯網絡上的傳輸。盡管兩(電腦沒聲音)個協議非常相似,但是仍存在以下幾方面的不同:

  1. PPTP要求互聯網絡為IP網絡。L2TP只要求隧道媒介提供面向數據包的點對點的連接。L2TP可以在IP(使用UDP),桢中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網絡上使用。
  2. PPTP只能在兩(電腦沒聲音)端點間建立單一隧道。L2TP支持在兩(電腦沒聲音)端點間使用多隧道。使用L2TP,用戶可以針對不同的服務質量創建不同的隧道。
  3. L2TP可以提供包頭壓縮。當壓縮包頭時,系統開銷(overhead)占用4個字節,而PPTP協議下要占用6個字節。
  4. L2TP可以提供隧道驗證,而PPTP則不支持隧道驗證。但是當L2TP或PPTP與IPSEC共同使用時,可以由IPSEC提供隧道驗證,不需要在第2層協議上驗證隧道。

IPSec隧道模式

IPSEC是第3層的協議標准,支持IP網絡上數據的安全傳輸。本文將在“高級安全”一部分中對IPSEC進行詳細的總體介紹,此處僅結合隧道協議討論IPSEC協議的一個方面。除了對IP數據流的加密機制進行了規定之外,IPSEC還制定了IPoverIP隧道模式的數據包格式,一般被稱作IPSEC隧道模式。一個IPSEC隧道由一個隧道客戶和隧道服務器組成,兩(電腦沒聲音)端都配置使用IPSEC隧道技術,采用協商加密機制。

為實現在專用或公共IP網絡上的安全傳輸,IPSEC隧道模式使用的安全方式封裝和加密整個IP包。然後對加密的負載再次封裝在明文IP包頭內通過網絡發送到隧道服務器端。隧道服務器對收到的數據報進行處理,在去除明文IP包頭,對內容進行解密之後,獲的最初的負載IP包。負載IP包在經過正常處理之後被路由到位於目標網絡的目的地。

IPSEC隧道模式具有以下功能和局限:

  1. 只能支持IP數據流
  2. 工作在IP棧(IPstack)的底層,因此,應用程序和高層協議可以
copyright © 萬盛學電腦網 all rights reserved