2024年4月29日发(作者:)

点对点隧道协议PPTP(Point-to-Point Tunneling Protocol)

- [网络]2009-03-13PPTP将PPP(Point-to-Point Protocol)帧封装进IP数据报

中,通过IP网络如Internet或其他企业专用Intranet等发送。PPTP具体文档请参阅RFC

2637。

PPTP通过PPTP控制连接来创建、维护、终止一条隧道,并使用通用路由封装GRE

(Generic Routing Encapsulation)对PPP帧进行封装。封装前,PPP帧的有效载荷

即有效传输数据首先必须经过加密、压缩或是两者的混合处理。

PPTP 协议假定在PPTP客户机和PPTP服务器之间有连通且可用的IP网络。因此如

果PPTP客户机本身已经是某IP网络的组成部分,那么即可通过该IP网络与PPTP服务器

取得连接;而如果PPTP客户机尚未连入网络,譬如在Internet拨号用户的情形下,PPTP

客户机必须首先拨打NAS以建立IP连接。这里所说的PPTP客户机也就是使用PPTP协

议的VPN客户机,而PPTP服务器亦即使用PPTP协议的VPN服务器。

在创建基于PPTP的VPN连接过程中,使用的认证机制与创建PPP连接时相同。此

类认证机制主要有:扩展身份认证协议EAP(Extensible Authentication Protocol)、微

软询问握手认证协议MS-CHAP(Microsoft Challenge-Handshake Authentication

Protocol)、CHAP 、Shiva口令字认证协议SPAP(Shiva Password Authentication

Protocol)和口令字认证协议PAP(Password Authentication Protocol)。PPTP继承

PPP有效载荷的加密和压缩。在Windows 2000中,由于PPP帧使用微软点对点加密技

术MPPE(Microsoft Point-to-Point Encryption)进行加密,因此认证机制必须采用

EAP或MS-CHAP。

MPPE 只提供连接加密(大概是隧道加密),而不提供端-端加密(大概是数据加密)。

端-端加密属于应用层的加密技术,如果应用中要求实现端-端加密,则可在PPTP隧道建

立之后,使用IPSec对两端的IP数据流进行加密处理。基于Internet的PPTP服务器即使

用PPTP协议的VPN服务器,它的一个接口在Internet上,另一个接口在 Intranet上。

二、PPTP控制连接与隧道维护

PPTP 控制连接建立在PPTP客户机IP地址和PPTP服务器IP地址之间,PPTP客户

机使用动态分配的TCP端口号,而PPTP服务器则使用保留TCP端口号1723。PPTP控

制连接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地发送回

送请求和回送应答消息,以期检测出客户机与服务器之间可能出现的连接中断。PPTP控

制连接数据包包括一个IP报头,一个TCP报头和PPTP控制信息,数据包格式见图八。

图八所示的PPTP控制连接数据包还包括数据链路层报头和报尾。

图八、PPTP控制连接数据包

下表列出了PPTP控制连接中用到的主要控制信息。

表一、PPTP呼叫控制和连接管理信息

消息类型 用途

Start-Control-Connection-Request 由PPTP客户机发出,请求建立控制连接。PPTP