隧道技术实现及要求
隧道技术如何实现
    对于象PPTP和L2TP这样的第2层隧道协议,创建隧道的过程类似于在双方之间建立会话;隧道的两个端点必须同意创建隧道并协商隧道各种配置变量,如地址分配,加密或压缩等参数。绝大多数情况下,通过隧道传输的数据都使用基于数据报的协议发送。隧道维护协议被用来作为管理隧道的机制。
    第3层隧道技术通常假定所有配置问题已经通过手工过程完成。这些协议不对隧道进行维护。与第3层隧道协议不同,第2层隧道协议(PPTP和L2TP)必须包括对隧道的创建,维护和终止。
    隧道一旦建立,数据就可以通过隧道发送。隧道客户端和服务器使用隧道数据传输协议准备传输数据。例如,当隧道客户端向服务器端发送数据时,客户端首先给负载数据加上一个隧道数据传送协议包头,然后把封装的数据通过互联网络发送,并由互联网络将数据路由到隧道的服务器端。隧道服务器端收到数据包之后,去除隧道数据传输协议包头,然后将负载数据转发到目标网络。
隧道协议和基本隧道要求
    因为第2层隧道协议(PPTP和L2TP)以完善的PPP协议为基础,因此继承了一整套的特性。
    ◇ 用户验证
    第2层隧道协议继承了PPP协议的用户验证方式。许多第3层隧道技术都假定在创建隧道之前,隧道的两个端点相互之间已经了解或已经经过验证。一个例外情况是IPSec协议的ISAKMP协商提供了隧道端点之间进行的相互验证。
    ◇ 令牌卡(Tokencard)支持
    通过使用扩展验证协议(EAP),第2层隧道协议能够支持多种验证方法,包括一次性口令(One-time Password),加密计算器(Cryptographic Calculator)和智能卡等。第3层隧道协议也支持使用类似的方法,例如,IPSec协议通过ISAKMP/Oakley协商确定公共密钥证书验证。
    ◇ 动态地址分配
    第2层隧道协议支持在网络控制协议(NCP)协商机制的基础上动态分配客户地址。第3层隧道协议通常假定隧道建立之前已经进行了地址分配。目前IPSec隧道模式下的地址分配方案仍在开发之中。
    ◇ 数据压缩
    第2层隧道协议支持基于PPP的数据压缩方式。例如,微软的PPTP和L2TP方案使用微软点对点加密协议(MPPE)。IETP正在开发应用于第3层隧道协议的类似数据压缩机制。
    ◇ 数据加密
    第2层隧道协议支持基于PPP的数据加密机制。微软的PPTP方案支持在RSA/RC4算法的基础上选择使用MPPE。第3层隧道协议可以使用类似方法,例如,IPSec通过ISAKMP/Oakley协商确定几种可选的数据加密方法。微软的L2TP协议使用IPSec加密保障隧道客户端和服务器之间数据流的安全。
    ◇ 密钥管理
    作为第2层协议的MPPE依靠验证用户时生成的密钥,定期对其更新。IPSec在ISAKMP交换过程中公开协商公用密钥,同样对其进行定期更新。
    ◇ 多协议支持
    第2层隧道协议支持多种负载数据协议,从而使隧道客户能够访问使用IP,IPX,或NetBEUI等多种协议企业网络。相反,第3层隧道协议,如IPSec隧道模式只能支持使用IP协议的目标网络。