PPTP简介
点对点隧道协议(point-to-point tunnel protocol,PPTP)是建立在PPP(point-to-point)协议和TCP/IP(transfer control protocol/interact protoc01)协议之上,实际上是对PPP协议的一种扩展,它增强了认证、压缩、加密等功能,提高了PPP协议的安全性能。PPTP协议是一个第2层的隧道协议,它提供PPTP客户,与PPTP服务器之间的加密通信,允许使用专用的“隧道”,通过公共Intemet来扩展公司的网络。PPTP支持多种网络协议,它将IP,IPX,APPLETALK,NetBEUI的数据包封装于PPP数据帧中作为PPP数据报的净载荷,再把整个的PPP数据报封装到隧道协议里,然后嵌入到IP报文中进行传输2。
PPTP工作过程基于PPTP协议实现的VPN是一套client/server的结构嘲,包括PPTP服务器和PPTP客户机两部分。其工作过程如下2:
发送建立连接请求。在安装完PPTP服务器和建立好本地用户帐号和密码后,新建一个网络连接,选择“通过Internet连接到专用网络”,然后输人待连接的VPDN服务器的IP地址。建立连接的时候,先要将用户名和密码发送到VPN服务器上进行用户鉴别,防止非法用户侵入受保护的内部网络。远程PPTP用户的鉴别可以使用多种方法,如附(password authentication protoc01)、SPAP(shiva password authentication protoc01)、CHAP(challenge handshake authentication protoc01)、MS—CHAP(Microsoft challenge authentication protoc01)、MS--CHAPv2(MicrosoR challenge authentication protocol version 2)、EAP(extensible authentication protoc01)等;
返回连接完成信息。验证了用户的合法性后,服务器返回连接完成信息,表示已经正式建立了VPN连接。
进行数据通讯。在接收到连接完成信息后,表示VPN安全通道已经建立好了,就可以进行正常的数据通讯。在远程用户和服务器之间进行数据通信时,为了保证数据传输的安全性,可以选用MPPE、RSARC4或者DES等算法对数据报进行加密。
当接受到远程用户发送的PPTP数据报后,VPDN服务器开始对其进行处理。首先从封装了的PPTP数据报中取出私有网络中的计算机名称或者是口地址信息,然后根据此信息将其中的PPP数据报转发到目的客户机2。
应用PPTP 可以用于在 IP 网络上建立 PPP 会话隧道。在这种配置下, PPTP 隧道和 PPP 会话运行在两个相同的机器上,呼叫方充当 PNS 。 PPTP 使用客户机-服务器结构来分离当前网络访问服务器具备的一些功能并支持虚拟专用网络。 PPTP 作为一个呼叫控制和管理协议,它允许服务器控制来自 PSTN 或 ISDN 的拨入电路交换呼叫访问并初始化外部电路交换连接3。
PPTP 只能通过 PAC 和 PNS 来实施,其它系统没有必要知道 PPTP 。拨号网络可与 PAC 相连接而无需知道 PPTP 。标准的 PPP 客户机软件可继续在隧道 PPP 链接上操作。
PPTP 使用 GRE 的扩展版本来传输用户 PPP 包。这些增强允许为在 PAC 和 PNS 之间传输用户数据的隧道提供低层拥塞控制和流控制。这种机制允许高效使用隧道可用带宽并且避免了不必要的重发和缓冲区溢出。 PPTP 没有规定特定的算法用于低层控制,但它确实定义了一些通信参数来支持这样的算法工作。