1.定义
隧道技术的实质是用一种网络层的协议来传输另一种网络层协议的封装技术。即利用一种网络传输协议,将其他协议产生的数据报文封装在它自己的报文中,然后在网络中传输。其基本功能是封装和加密。
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方法。使用隧道传递的数据可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。隧道技术是指包括数据封装、传输和解封装在内的全过程。
对于构建VPN来说,隧道技术用来在IP公网中仿真条点到点的通路,实现两个节点间(VPN网关之间,或VPN网关与VPN远程用户之间)的安全通信,使数据包在公共网络上的专用隧道内传输。
隧道的基本组成包括:隧道启动结点、隧道终结结点、IP网等路由的分组网络。隧道的启动和终止结点可由许多网络设备和软件来实现。例如:ISP接入服务器、企业网防火墙,或者其他支持VPN的设备主机等。
使用隧道的原因是在不兼容的网络上传输数据,或在不安全网络上提供一个安全路径。隧道的客户机和服务器双方必须使用相同的隧道协议。
2.隧道协议
封装是构建隧道的基本手段。从隧道的两端来看,封装就是用来创建、维持和撤销一个隧道,来实现信息的隐蔽和抽象。而如果流经隧道的数据不加密,那么整个隧道就暴露在公共网络中,虚拟专用网络的安全性和私有性就得不到体现。
网路隧道技术涉及了3种网络协议:网络隧道协议、承载协议和被承载协议。
隧道协议作为VPN IP层的底层,将VPN IP分组进行安装封装;隧道协议同时作为公用IP网的一种特殊形式,将封装的VPN分组利用公网内的IP协议栈进行传输,以实现隧道内的功能。隧道协议在这个协议体系中起着承上启下的作用。
隧道协议存在多种可能的实现方式,按照工作的层次,可分为两类:一类是二层隧道协议,用于传输二层网络协议,它主要应用于构建拨号VPN(Access VPN);另一类是三层隧道协议,用于传输三层网络协议,它主要应用于构建内部网VPN(Intranet VPN)和外联网(VPN Extranet VPN)。
1)二层隧道协议
二层隧道协议指用公用网络来封装和传输二层(数据链路层)协议,此时在隧道内传输的是数据链路层的帧。工作原理如图所示
在点到点的二层链路上,最常用的二层协议是PPP协议,隧道协议实现中,首先将IP分组封装在二层的PPP协议帧中,先把各种网络协议封装在PPP中,再把整个数据包装入二层隧道协议中。这种双层封装方法形成的数据包在公用网络中传输。
二层隧道协议具有简单易行的优点,但是它的可扩展性不太好,而且提供内在的安全机制安全强度低,因此它们不支持企业和企业的外部客户以及供应商之间通信的保密性需求,不适合用来构建连接企业内部网和企业的外部客户和供应商的企业外部网VPN。
2)三层隧道协议
三层隧道协议是用公用网来封装和传输三层(网路层)协议(如IP、IPX、AppleTalk等),此时在隧道内传输的是网路层的分组。三层隧道协议的协议栈如图所示,
3..隧道技术是VPN技术的基础,在创建隧道过程中,隧道的客户机和服务器双方必须使用相同的隧道协议。IP over IP和IPSec隧道模式都属于第3层隧道协议,它们都是将lP包封装在附加的IP包头中通过IP网络传送。
几种常见的隧道协议如下:
1)PPTP协议:
PPTP(Point-to-Point Tunneling Protocol,点对点隧道协议)是PPP(点对点)协议的扩展,并协调使用PPP的身份验证、压缩和加密机制。它允许对IP、IPX或NETBEUI数据流进行加密,然后封装在IP包头中通过诸如Internet这样的公共网络发送,从而实现多功能通信。 只有IP网络才可以建立PPTP的VPN。两个局域网之间若通过PPTP来连接,则两端直接连接到Internet的VPN服务器必须要执行TC P/IP通信协议,但网络中的其他计算机不一定需要执行TCP/IP协议,它们可以执行TCP/IP、IPX或NetBEUI通信协议。因为当它们通过VPN服务器与远程计算机通信时,这些不同通信协议的数据包会被封装到PPP的数据包内,然后经过Internet传送,信息到达目的地后,再由远程的VPN服务器将其还原为TCP/IP、IPX或NetBEUI数据包。但需要注意的是,PPTP会话不能通过代理服务器进行。
2)L2TP协议
L2TP(Layer Two Tunneling Protocol,第2层隧道协议)依赖于加密服务的Internet安全性(IPSec)。该协议允许客户通过其间的网络建立隧道,L2TP还支持信道认证,但它没有规定信道保护的方法。
3)IPSec协议
IPSec是由IETF( Internet Engineering Task Force)定义的一套在网络层提供IP安全性的协议。它主要用于确保网络层之间的安全通信。该协议使用IPSec协议集保护IP网和非IP网上的L2TP业务。在IPSec协议中,一旦IPSec通道建立,在通信双方网络层之上的所有协议(如TCP、UDP、SNMP、HTTP、POP等)就要经过加密,而不管这些通道构建时所采用的安全和加密方法如何。
4.常见的隧道技术应用
1)VPN
VPN是在公用数据网上建立属于自己的专用数据网。也就是说不再使用长途专线建立专用数据网,而是充分利用完善的公用数据网建立自己的专用网。VPN优点是既可连到公网所能达到的任何地点,享受其保密性、安全性和可管理性,又降低网络的使用成本。
VPN依靠Internet服务提供商(ISP)和其他的网络服务提供商(NSP)在公用网中建立自己的专用“隧道”,不同的信息来源,可分别使用不同的“隧道”进行传输。
2)通用路由封装(GRE)
GRE是移动IP采用的一种隧道技术。除了IP协议外,GRE还支持其他网络层协议,它允许一种协议的数据包封装在另一种协议数据包的净荷中。