VPN技术详解(中)(1) 隧道技术基础 隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据 桢(此字不正确)或包。隧道协议将这些其它协议的数据桢或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封 装的负载数据能够通过互联网络传递。 被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称 为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装,传输和解包在内的全过程。 隧道所使用的传输网络可以是任何类型的公共互联网络,本文主要以目前普遍使用Internet为例进行说明。此外,在企业网络同样 可以创建隧道。隧道技术在经过一段时间的发展和完善之后,目前较为成熟的技术包括: 1.IP网络上的SNA隧道技术 当系统网络结构(SystemNetworkArchitecture)的数据流通过企业IP网络传送时,SNA数据桢将被封装在UDP和IP协议包头中。 2.IP网络上的NovellNetWareIPX隧道技术 当一个IPX数据包被发送到NetWare服务器或IPX路由器时,服务器或路由器用UDP和IP包头封装IPX数据包后通过IP网络发送。另一 端的IP-TO-IPX路由器在去除UDP和IP包头之后,把数据包转发到IPX目的地。 近几年不断出现了一些新的隧道技术,本文将主要介绍这些新技术。具体包括: 1.点对点隧道协议(PPTP) PPTP协议允许对IP,IPX或NetBEUI数据流进行加密,然后封装在IP包头中通过企业IP网络或公共互联网络发送。 2.第2层隧道协议(L2TP) L2TP协议允许对IP,IPX或NetBEUI数据流进行加密,然后通过支持点对点数据报传递的任意网络发送,如IP,X.25,桢中继或 ATM。 3.安全IP(IPSec)隧道模式 IPSec隧道模式允许对IP负载数据进行加密,然后封装在IP包头中通过企业IP网络或公共IP互联网络如Internet发送。 隧道协议 为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。 隧道技术可以分别以第2层或第3层隧道协议为基础。上述分层按照开放系统互联(OSI)的参考模型划分。第2层隧道协议对应OSI 模型中的数据链路层,使用桢作为数据交换单位。PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对 点协议(PPP)桢中通过互联网络发送。第3层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位。IP overIP以及IPSec 隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送。 隧道技术如何实现 对于象PPTP和L2TP这样的第2层隧道协议,创建隧道的过程类似于在双方之间建立会话;隧道的两个端点必须同意创建隧道并协商 隧道各种配置变量,如地址分配,加密或压缩等参数。绝大多数情况下,通过隧道传输的数据都使用基于数据报的协议发送。隧道 维护协议被用来作为管理隧道的机制。 第3层隧道技术通常假定所有配置问题已经通过手工过程完成。这些协议不对隧道进行维护。与第3层隧道协议不同,第2层隧道协议 (PPTP和L2TP)必须包括对隧道的创建,维护和终止。 隧道一旦建立,数据就可以通过隧道发送。隧道客户端和服务器使用隧道数据传输协议准备传输数据。例如,当隧道客户端向服务 器端发送数据时,客户端首先给负载数据加上一个隧道数据传送协议包头,然后把封装的数据通过互联网络发送,并由互联网络将 数据路由到隧道的服务器端。隧道服务器端收到数据包之后,去除隧道数据传输协议包头,然后将负载数据转发到目标网络。 隧道协议和基本隧道要求 因为第2层隧道协议(PPTP和L2TP)以完善的PPP协议为基础,因此继承了一整套的特性。 1.用户验证 第2层隧道协议继承了PPP协议的用户验证方式。许多第3层隧道技术都假定在创建隧道之前,隧道的两个端点相互之间已经了解或 已经经过验证。一个例外情况是IPSec协议的ISAKMP协商提供了隧道端点之间进行的相互验证。 2.令牌卡(Tokencard)支持