********××× 和它的协议们
常见×××协议对比
类型 | PPTP | L2TP | IPSec | SSTP(SSL) |
英文 | Point to Point | Layer Two | IP Security | Secure Socket |
中文 | 点对点信道协议 | 第二层通道协议 | 安全IP(IPSec)隧道模式 | 基于SSL(Secure Sockets Layer)的××× |
OSI | 第二层 | 第二层 | 第三层 | 第七层 |
OSI2 | 数据链路层加密 | 数据链路层加密 | 网络层和传输层加密 | 应用层加密 |
加密 | mppe(微软点对点加密协议) | mppe、IPSec | ||
复杂度 | 一般 | 一般 | 复杂 | 一般 |
安全性 | 一般 | 一般 | 高 | 高 |
系统 | Windows NT直到Longhorn Server,客户端则已经内置在了近来所有版本的Windows之中 | L2TP/IPsec ×××服务被内置在Win2000Server以及更高版本之中,而L2TP客户端则被包含在Win2000专业版以及之后版本的Windows操作系统之中 | 有大批的生产商提供基于IPsec的×××设备以及集成的防火墙/×××产品,专门客户端 | Vista Service Pack 1、Longhorn Server将会提供对SSTP的支持 |
备注 | 仅在纯MS的网络中使用,兼容性一般 | L2TP结合了PPTP和L2F协议,是一种网络层协议。当使用IP作为L2TP的数据报传输协议时,可以使用L2TP作为Internet网络上的隧道协议。L2TP还可以直接在各种WAN媒介上使用而不需要使用IP传输层。 | 使用CISCO加密技术(CET)的IPSec,具备广泛的兼容性,具有最多的业界厂商的支持,是企业自建×××的最佳选择 | 几乎所有WEB银行都采用应用层保证安全的方法。SSL×××主要让远程设备可以访问基于浏览器的应用,用户通过浏览器访问的是网络上的特定应用程序而不是整个网络。 |
***
IPSec ×××:
IPsec ×××数据封装形式
L2TP ×××:
L2TP ×××封装格式
PPTP ×××:
PPTP ××× 封装格式
SSTP ×××:
SSTP 将 PPP 帧封装在 IP 数据报中,以便通过网络传输。
PPTP
PPTP 允许对多协议通信进行加密,然后封装在 IP 标头中,以通过 IP 网络或公用 IP 网络(例如 Internet)发送。PPTP 可以用于远程访问连接和站点到站点的 ××× 连接。使用 Internet 作为 ××× 的公用网络时,PPTP 服务器是启用 PPTP 的 ××× 服务器,一个接口在 Internet 上,另一个接口在 Intranet 上。
封装
PPTP 将 PPP 帧封装在 IP 数据报中,以便通过网络传输。PPTP 使用 TCP 连接进行隧道管理,使用修订版的通用路由封装 (GRE) 封装隧道数据的 PPP 帧。封装的 PPP 帧的有效负载可以加密、压缩或加密并压缩。下图显示包含 IP 数据报的 PPTP 数据包的结构。
包含 IP 数据报的 PPTP 数据包的结构
加密
可使用 MS-CHAP v2 或 EAP-TLS 身份验证进程生成的加密密钥,通过 Microsoft 点对点加密 (MPPE) 对 PPP 帧进行加密。虚拟专用网络客户端只有使用 MS-CHAP v2 或 EAP-TLS 身份验证协议才能对 PPP 帧的有效负载进行加密。PPTP 利用基础 PPP 加密并封装以前加密的 PPP 帧。
L2TP
L2TP 允许对多协议通信进行加密,然后通过任何支持点对点数据报传输(例如 IP 或异步传输模式 (ATM))的媒体发送。L2TP 是 PPTP 和第 2 层转发 (L2F) 的组合,是 Cisco Systems, Inc. 开发的一项技术。L2TP 代表了 PPTP 和 L2F 的最佳功能。
与 PPTP 不同,Microsoft 实现的 L2TP 不使用 MPPE 对 PPP 数据报进行加密。L2TP 依靠 Internet 协议安全 (IPsec) 传输模式来提供加密服务。L2TP 和 IPsec 的组合称为 L2TP/IPsec。
××× 客户端和 ××× 服务器必须均支持 L2TP 和 IPsec。L2TP 的客户端支持内置在 Windows Vista 和 Windows XP 远程访问客户端中,L2TP 的 ××× 服务器支持内置在 Windows Server 2008 和 Windows Server 2003 系列的成员中。
L2TP 随 TCP/IP 协议一起安装。
封装
L2TP/IPsec 数据包的封装分为两层:
第一层:L2TP 封装
PPP 帧(IP 数据报)使用 L2TP 标头和 UDP 标头封装。
包含 IP 数据报的 L2TP 数据包的结构
第二层:IPsec 封装
使用 IPsec 封装安全有效负载 (ESP) 标头和尾端、提供消息完整性和身份验证的 IPsec 身份验证尾部以及最终的 IP 标头来封装生成的 L2TP 消息。IP 标头中是与 ××× 客户端和 ××× 服务器对应的源 IP 地址和目标 IP 地址。
使用 IPsec ESP 对 L2TP 通信进行加密
加密
使用 Internet 密钥交换 (IKE) 协商进程生成的加密密钥,通过数据加密标准 (DES) 或三重 DES (3DES) 对 L2TP 消息进行加密。
SSTP
安全套接字隧道协议 (SSTP) 是一种新的隧道协议,在 TCP 端口 443 上使用 HTTPS 协议,使通信可以通过可能阻止 PPTP 通信和 L2TP/IPsec 通信的防火墙和 Web 代理。SSTP 提供了一种机制,用于封装通过 HTTPS 协议的安全套接字层 (SSL) 通道传输的 PPP 通信。使用 PPP 可以支持强大的身份验证方法(例如 EAP-TLS)。SSL 提供了增强的密钥协商、加密和完整性检查,从而确保了传输级的安全性。
客户端尝试建立基于 SSTP 的 ××× 连接时,SSTP 首先与 SSTP 服务器建立双向 HTTPS 层。通过此 HTTPS 层,协议数据包作为数据有效负载传输。
封装
SSTP 将 PPP 帧封装在 IP 数据报中,以便通过网络传输。SSTP 使用 TCP 连接(在端口 443 上)进行隧道管理,并使用 PPP 数据帧。
加密
SSTP 消息使用 HTTPS 协议的 SSL 通道进行加密。
选择隧道协议
在 PPTP、L2TP/IPsec 和 SSTP 远程访问 ××× 解决方案之间进行选择时,请考虑下列事项:
PPTP 可以用于各种 Microsoft 客户端(包括 Microsoft Windows 2000、Windows XP、Windows Vista 和 Windows Server 2008)。与 L2TP/IPsec 不同,PPTP 不要求使用公钥结构 (PKI)。基于 PPTP 的 ××× 连接使用加密来提供数据保密性(没有加密密钥无法解释捕获的数据包)。但是,基于 PPTP 的 ××× 连接不提供数据完整性(保证数据在传输中未更改)或数据源身份验证(保证数据由经过授权的用户发送)。
L2TP 只能用于运行 Windows 2000、Windows XP 或 Windows Vista 的客户端计算机。L2TP 支持将计算机证书或预共享密钥作为 IPsec 的身份验证方法。计算机证书身份验证是建议的身份验证方法,要求使用 PKI 来向 ××× 服务器计算机和所有 ××× 客户端计算机颁发计算机证书。L2TP/IPsec ××× 连接使用 IPsec 来提供数据保密性、数据完整性和数据身份验证。
与 PPTP 和 SSTP 不同,L2TP/IPsec 启用 IPsec 层的计算机身份验证和 PPP 层的用户级身份验证。SSTP 只能用于运行 Windows Vista Service Pack 1 (SP1) 或 Windows Server 2008 的客户端计算机。SSTP ××× 连接使用 SSL 来提供数据保密性、数据完整性和数据身份验证。
三种隧道类型均在网络协议堆栈顶部传送 PPP 帧。因此,三种隧道类型的 PPP 常用功能(例如身份验证方案、Internet 协议第 4 版 (IPv4) 协商和 Internet 协议第 6 版 (IPV6) 协商以及网络访问保护 (NAP))保持相同。