解析
PPTP:點對點隧道協議
(PPTP: Point to Point Tunneling Protocol)
點對點隧道協議(PPTP)是一種支持多協議虛拟專用網絡的網絡技術,它工作在第二層。通過該協議,遠程用戶能夠通過Microsoft Windows NT工作站、Windows xp 、 Windows 2000 和windows2003、windows7操作系統以及其它裝有點對點協議的系統安全訪問公司網絡,并能撥号連入本地ISP,通過Internet安全鍊接到公司網絡。
PPTP協議假定在PPTP客戶機和PPTP服務器之間有連通并且可用的IP網絡。因此如果PPTP客戶機本身已經是IP網絡的組成部分,那麼即可通過該IP網絡與PPTP服務器取得連接;而如果PPTP客戶機尚未連入網絡,譬如在Internet撥号用戶的情形下,PPTP客戶機必須首先撥打NAS以建立IP連接。這裡所說的PPTP客戶機也就是使用PPTP協議的VPN客戶機,而PPTP服務器亦即使用PPTP協議的VPN服務器。
PPTP隻能通過PAC和PNS來實施,其它系統沒有必要知道PPTP。撥号網絡可與PAC相連接而無需知道PPTP。标準的PPP客戶機軟件可繼續在隧道PPP鍊接上操作。
PPTP使用GRE的擴展版本來傳輸用戶PPP包。這些增強允許為在PAC和PNS之間傳輸用戶數據的隧道提供低層擁塞控制和流控制。這種機制允許高效使用隧道可用帶寬并且避免了不必要的重發和緩沖區溢出。PPTP沒有規定特定的算法用于底層控制,但它确實定義了一些通信參數來支持這樣的算法工作。
PPTP控制連接數據包包括一個IP報頭,一個TCP報頭和PPTP控制信息。
在使用VPN的時候可以使用PPTP協議,也可以使用L2TP協議,具體設置方法如下:比如在Windows XP中,首先,在“網絡連接”窗口中右鍵單擊某個VPN連接,選擇“屬性”。接着,在打開的屬性窗口中選擇“網絡”選項卡。然後在“VPN類型”中選擇“PPTPVPN”,單擊“确定”按鈕即可。
協議結構
Length―該PPTP信息的八位總長,包括整個PPTP頭。
PPTP Message Type―信息類型。可能值有:1、控制信息;2、管理信息。
Magic Cookie―Magic Cookie以連續的0x1A2B3C4D進行發送,其基本目的是确保接收端與TCP數據流間的正确同步運行。
Control Message Type ― 可能值有:1、開始-控制-鍊接-請求(Start-Control-Connection-Request);2、開始-控制-鍊接-答複(Start-Control-Connection-Reply);3、停止-控制-鍊接-請求(Stop-Control-Connection-Request);4、停止-控制-鍊接-答複(Stop-Control-Connection-Reply);5、回音-請求(Echo-Request);6、回音-答複(Echo-Reply);
Call Management――可能值有:1、導出-呼叫-請求(Outgoing-Call-Request);2、導出-呼叫-答複(Outgoing-Call-Reply);3、導入-呼叫-請求(Incoming-Call-Request);4、導入-呼叫-答複(Incoming-Call-Reply);5、導入-呼叫-鍊接(Incoming-Call-Connected);6、呼叫-清除-請求(Call-Clear-Request);7、呼叫-斷開鍊接-通告(Call-Disconnect-Notify);8、廣域網-錯誤-通告(WAN-Error-Notify)。
PPP Session Control―設置-鍊路-信息(Set-Link-Info)。
Reserved0&1―必須設置為0。
Protocol Version―PPTP版本号。
Framing Capabilities―指出幀類型,該信息發送方可以提供:1、異步幀支持(Asynchronous Framing Supported);2、同步幀支持(Synchronous Framing Supported)。
Bearer Capabilities―指出承載性能,該信息發送方可以提供:1、模拟訪問支持(Analog Access Supported);2、數字訪問支持(Digital access supported)。
Maximum Channels―該PAC可以支持的個人PPP會話總數。
Firmware Revision―若由PAC出發,則包括發出PAC時的固件修訂本編号;若由PNS出發,則包括PNS PPTP驅動版本。
Host Name―包括發行的PAC或PNS的DNS名稱。
Vendor Name―包括特定供應商字串,指當請求是由PNS提出時,使用的PAC類型或PNS軟件類型。
PPTPVSL2TP
PPTP和L2TP都屬于第二層隧道協議,使用PPP協議對數據進行封裝,然後添加附加包頭用于數據在互聯網絡上的傳輸。盡管兩個協議非常相似,但是仍存在以下幾方面的不同:
1、PPTP要求互聯網絡為IP網絡。L2TP隻要求隧道媒介提供面向數據包的點對點的連接。L2TP可以在IP(使用UDP),幀中繼永久虛拟電路(PVCs)、X.25虛拟電路(VCs)或ATM網絡上使用。
2、PPTP隻能在兩端點間建立單一隧道。L2TP支持在兩端點間使用多隧道。使用L2TP,用戶可以針對不同的服務質量創建不同的隧道。
3、L2TP可以提供包頭壓縮。當壓縮包頭時,系統開銷(overhead)占用4個字節,而PPTP協議下要占用6個字節。
4、L2TP可以提供隧道驗證,而PPTP則不支持隧道驗證。但是當L2TP或PPTP與IPsec共同使用時,可以由IPsec提供隧道驗證,不需要在第2層協議上驗證隧道。