PPTP/L2TP 协议讲述以及应用部署 一、基本概念 PPTP PPTP 是对端对端协议(PPP)的一种扩展,它采用了PPP 所提供的身份验证、压缩与加密机制。PPTP 能够随TCP/IP 协议一道自动进行安装。PPTP 与Microsoft 端对端加密(MPPE)技术提供了用以对保密数据进行封装与加密的VPN 服务。 MPPE 将通过由MS-CHAP、MS-CHAP v2 身份验证过程所生成的加密密钥对PPP 帧进行加密。为对PPP 帧中所包含的有效数据进行加密,虚拟专用网络客户端必须使用MS-CHAP、MS-CHAP v2 身份验证协议。 L2TP 与PPTP 不同,Windows所支持的L2TP 协议并非利用MPPE 对PPP帧进行加密。L2TP 依靠Internet协议安全性(IPSec)技术提供加密服务。L2TP 与IPSec 的结合产物称为L2TP IPSEC VPN。VPN 客户端与VPN 服务器都必须支持L2TP 和IPSec。也可以单独使用L2TP,这就需要修改windows 主机的注册表,具体的修改过程,在建立“简单的L2TP 隧道”中讲述。 二、数据封装 PPTP 1.控制连接和隧道维护 PPTP 控制连接建立在PPTP 客户端机IP 地址和PPTP 服务器IP 之间,PPTP 客户端机使用动态分配的TCP 端口号,而 PPTP 服务器则使用保留 TCP 端口号 1723。PPTP 控制连接携带 PPTP 呼叫控制和管理信息,用于维护 PPTP 隧道,其中包括周期性地的发送回送请求和回送应答消息,用于检测出客户端与服务器之间可能出现的连接中断。PPTP 控制连接数包包括一个 IP 报头,一个 TCP 报头和PPTP 控制消息。 IPTCPPPTP Control Message Star-Control-Connection-Request:由PPTP 客户机发出,请求建立控制连接 Star-Control-Connection-Reply:PPTP 服务器对Star-Control-Connection-Request 回应 Ou tgoing-Call- Requ est:由PPTP 客户机发出,请求创建PPTP 隧道,该消息包含GRE 报头中call id,该id 可唯一地标识一条隧道 Ou tgoing-Call- Reply:PPTP 服务器对Ou tgoing-Call- Requ est t 回应 Set-Link-Info:由PPTP 客户机或服务器任一方发出,设置PPP 协商选项 Call-Clear-Requ est:由PPTP 客户机发出,请求终止隧道 Call-Disconnect-Notify :PPTP 服务器对Call-Clear-Requ est 回应或者其他原因指示必须终止隧道 Stop-Control-Connection-Requ est:由PPTP 客户机或者服务器任一方发出,通知对端控制连接将被终止 Stop-Control-Connection-Reply :回应Stop-Control-Connection-Requ est...