隧道技术
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
隧道技术及其应用
隧道技术( Tunneling )是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。 这里所说的隧道类似于点到点的连接。这种方式能够使来自许多信息源的网络业务在同一个基础设施中通过不同的隧道进行传输。隧道技术使用点对点通信协议代替了交换连接,通过路由网络来连接数据地址。隧道技术允许授权移动用户或已授权的用户在任何时间、任何地点访问企业网络。 通过隧道的建立,可实现: * 将数据流强制送到特定的地址 * 隐藏私有的网络地址 * 在 IP 网上传递非 IP 数据包 * 提供数据安全支持 近来出现了一些新的隧道技术,并在不同的系统中得到运用和拓展。 隧道技术 为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。隧道技术可分别以第 2 层或第 3 层隧道协议为基础。第 2 层隧道协议对应于 OSI 模型的数据链路层,使用帧作为数据交换单位。 PPTP (点对点隧道协议)、 L2TP (第二层隧道协议)和 L<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2F (第 2 层转发协议)都属于第 2 层隧道协议,是将用户数据封装在点对点协议( PPP )帧中通过互联网发送。第 3 层隧道协议对应于 OSI 模型的网络层,使用包作为数据交换单位。 IPIP ( IP over IP )以及 IPSec 隧道模式属于第 3 层隧道协议,是将 IP 包封装在附加的 IP 包头中,通过 IP 网络传送。无论哪种隧道协议都是由传输的载体、不同的封装格式以及用户数据包组成的。它们的本质区别在于,用户的数据包是被封装在哪种数据包中在隧道中传输。 点对点隧道协议 PPTP ( Point to Point Tunneling Protocol )提供 PPTP 客户机和 PPTP 服务器之间的加密通信。 PPTP 客户机是指运行了该协议的 PC 机,如启动该协议的 Windows95/98 ; PPTP 服务器是指运行该协议的服务器,如启动该协议的 WindowsNT 服务器。 PPTP 是 PPP 协议的一种扩展。它提供了一种在互联网上建立多协议的安全虚拟专用网( ××× )的通信方式。远端用户能够透过任何支持 PPTP 的 ISP 访问公司的专用网。 通过 PPTP ,客户可采用拨号方式接入公用 IP 网。拨号用户首先按常规方式拨到 ISP 的接入服务器( NAS ),建立 PPP 连接;在此基础上,用户进行二次拨号建立到 PPTP 服务器的连接,该连接称为 PPTP 隧道,实质上是基于 IP 协议的另一个 PPP 连接,其中的 IP 包可以封装多种协议数据,包括 TCP / IP 、 IPX 和 NetBEUI 。 PPTP 采用了基于 RSA 公司 RC4 的数据加密方法,保证了虚拟连接通道的安全。对于直接连到互联网的用户则不需要 PPP 的拨号连接,可以直接与 PPTP 服务器建立虚拟通道。 PPTP 把建立隧道的主动权交给了用户,但用户需要在其 PC 机上配置 PPTP ,这样做既增加了用户的工作量,又会给网络带来隐患。另外, PPTP 只支持 IP 作为传输协议。 第二层转发协议 L2F(Layer Two Forwarding protocol ) 是由 Cisco 公司提出的可以在多种介质,如 ATM 、帧中继、 IP 网上建立多协议的安全虚拟专用网的通信。远端用户能通过任何拨号方式接入公用 IP 网,首先按常规方式拨到 ISP 的接入服务器( NAS ),建立 PPP 连接; NAS 根据用户名等信息,建立直达 HGW 服务器的第二重连接。在这种情况下,隧道的配置和建立对用户是完全透明的。其体系结构见图 1 。 第二层隧道协议 L2TP ( Layer Two Tunneling Protocol )结合了 L2F 和 PPTP 的优点,允许用户从客户端或访问服务器端建立 ××× 连接。 L2TP 是把链路层的 PPP 帧装入公用网络设施,如 IP 、 ATM 、帧中继中进行隧道传输的封装协议。其体系结构见图 1 。 Cisco 、 Ascend 、 Microsoft 和 RedBack 公司的专家们在修改了十几个版本后,终于在 1999 年 8 月公布了 L2TP 的标准 RFC2661 。目前用户拨号访问 Internet 时,必须使用 IP 协议,并且其动态得到的 IP 地址也是合法的。 L2TP 的好处在于支持多种协议,用户可以保留原有的 IPX 、 Appletalk 等协议或公司原有的 IP 地址。 L2TP 还解决了多个 PPP 链路的捆绑问题, PPP 链路捆绑要求其成员均指向同一个 NAS , L2TP 则允许在物理上连接到不同 NAS 的 PPP 链路,在逻辑上的终点为同一个物理设备。 L2TP 扩展了 PPP 连接,在传统的方式中用户通过模拟电话线或 ISDN/ADSL 与网络访问服务器建立一个第 2 层的连接,并在其上运行 PPP ,第 2 层连接的终点和 PPP 会话的终点均设在同一个设备上 ( 如 NAS) 。 L2TP 作为 PPP 的扩充提供了更强大的功能,包括允许第 2 层连接的终点和 PPP 会话的终点分别设在不同的设备上。 L2TP 主要由 LAC(L2TP Access Concentrator) 和 LNS(L2TP Network Server) 构成。 LAC 支持客户端的 L2TP ,发起呼叫,接收呼叫和建立隧道; LNS 是所有隧道的终点。在传统的 PPP 连接中,用户拨号连接的终点是 LAC ,而 L2TP 能把 PPP 协议的终点延伸到 LNS 。 L2TP 的建立过程如图 2 。 1. 用户通过公用电话网或 ISDN 拨号呼叫本地接入服务器 LAC ; LAC 接受呼叫并进行基本的识别过程,这一过程可以采用几种标准,如域名、呼叫线路识别 (CLID) 或拨号 ID 业务 (DNIS) 等。 2. 当用户被确认为合法企业用户时,就建立一个通向 LNS 的拨号 ××× 隧道。 3. 企业内部的安全服务器如 TACACS+ 、 RADIUS 对拨号用户进行验证。 4.LNS 与远程用户交换 PPP 信息,分配 IP 地址。 LNS 可采用企业专用地址 ( 未注册的 IP 地址 ) 或服务提供商提供的地址空间分配 IP 地址。因为内部源 IP 地址与目的地 IP 地址实际上都通过服务提供商的 IP 网络在 PPP 信息包内传送,企业专用地址对提供者的网络是透明的。 5. 端到端的数据从拨号用户传到 LNS 。 在实际应用中, LAC 将拨号用户的 PPP 帧封装后,传送到 LNS ,后者去掉封装包头,取出 PPP 帧,再去掉 PPP 帧头,最后获得网络层数据包。 L2TP 方式给服务提供商和用户带来了许多方便。用户不需要在 PC 板上安装专门的客户端软件,企业网可以使用未注册的 IP 地址,并在本地管理认证数据库,从而降低了应用成本和培训维护费用。 与 PPTP 和 L2F 相比, L2TP 的优点在于提供了差错和流量控制; L2TP 使用 UDP 封装和传送 PPP 帧。面向无连接的 UDP 无法保证网络数据的可靠传输, L2TP 使用 Nr (下一个希望接受的信息序列号)和 Ns (当前发送的数据包序列号)字段进行流量和差错控制。双方通过序列号来确定数据包的顺序和缓冲区,一旦丢失数据,根据序列号可以进行重发。 作为 PPP 的扩展协议, L2TP 支持标准的安全特性 CHAP 和 PAP ,可以进行用户身份认证。 L2TP 定义了控制包的加密传输,每个被建立的隧道分别生成一个独一无二的随机钥匙,以便对付欺骗性的***,但是它对传输中的数据并不加密。 通用路由封装 通用路由封装( GRE : Generic Routing Encapsulation )在 RFC1701/RFC1702 中定义,它规定了怎样用一种网络层协议去封装另一种网络层协议的方法。 GRE 的隧道由两端的源 IP 地址和目的 IP 地址来定义,它允许用户使用 IP 封装 IP 、 IPX 、 AppleTalk ,并支持全部的路由协议,如 RIP 、 OSPF 、 IGRP 、 EIGRP 。通过 GRE ,用户可以利用公用 IP 网络连接 IPX 网络和 AppleTalk 网络,还可以使用保留地址进行网络互联,或对公网隐藏企业网的 IP 地址。 GRE 的包头包含了协议类型(用于标明乘客协议的类型);校验和包括了 GRE 的包头和完整的乘客协议与数据;密钥(用于接收端验证接收的数据);序列号(用于接收端数据包的排序和差错控制)和路由信息(用于本数据包的路由)。 GRE 只提供了数据包的封装,它没有防止网络侦听和***的加密功能。所以在实际环境中它常和 IPsec 一起使用,由 IPsec 为用户数据的加密,给用户提供更好的安全服务。 IP 安全协议 IP 安全协议( IPSec : IP Security )实际上是一套协议包而不是一个独立的协议,这一点对于我们认识 IPSec 是很重要的。从 1995 年开始 IPSec 的研究以来, IETF IPSec 工作组在它的主页上发布了几十个 Internet 草案文献和 12 个 RFC 文件。其中,比较重要的有 RFC2409 IKE (互连网密钥交换)、 RFC2401 IPSec 协议、 RFC2402 AH 验证包头、 RFC2406 ESP 加密数据等文件。 IPSec 安全体系包括 3 个基本协议: AH 协议为 IP 包提供信息源验证和完整性保证; ESP 协议提供加密机制;密钥管理协议 (ISAKMP) 提供双方交流时的共享安全信息。 ESP 和 AH 协议都有相关的一系列支持文件,规定了加密和认证的算法。最后,解释域( DOI )通过一系列命令、算法、属性和参数连接所有的 IPSec 组文件。 隧道技术应用 虚拟专用网络 ××× 是 Internet 技术迅速发展的产物,其简单的定义是,在公用数据网上建立属于自己的专用数据网。也就是说不再使用长途专线建立专用数据网,而是充分利用完善的公用数据网建立自己的专用网。它的优点是,既可连到公网所能达到的任何地点,享受其保密性、安全性和可管理性,又降低网络的使用成本。 ××× 依靠 Internet 服务提供商( ISP )和其他的网络服务提供商( NSP )在公用网中建立自己的专用 “ 隧道 ” ,不同的信息来源,可分别使用不同的 “ 隧道 ” 进行传输。 新出台的标准 ISE CHEIP6 版保证用户数据的安全加密。由于用户对企业网传输个人数据很敏感,因此集成度更高的 ××× 技术不久将会流行起来。 Linux 中的 IP 隧道 为了在 TCP/IP 网络中传输其他协议的数据包, Linux 采用了一种 IP 隧道技术。在已经使用多年的桥接技术中就是通过在源协议数据包上再套上一个 IP 协议帽来实现。 利用 IP 隧道传送的协议包也包括 IP 数据包, Linux 的 IPIP 包封指的就是这种情况。移动 IP ( Mobile-IP )和 IP 多点广播( IP-Multicast )是两个流行的例子。目前, IP 隧道技术在 ××× 中也显示出极大的魅力。 移动 IP 是在全球 Internet 上提供移动功能的一种服务,它允许节点在切换链路时仍可保持正在进行的通信。它提供了一种 IP 路由机制,使移动节点以一个永久的 IP 地址连接到任何链路上。与特定主机路由技术和数据链路层方案不同,移动 IP 还要解决安全性和可靠性问题,并与传输媒介无关。移动 IP 的可扩展性使其可以在整个互联网上应用。 GPRS 隧道协议 随着隧道技术的发展,各种业务已经开始根据本业务的特点制定相应的隧道协议。 GPRS ( General Packet Radio Service )中的隧道协议 GTP ( GPRS Tunnel Protocol )就是一例。 GPRS 是 GSM 提供的分组交换和分组传输方式的新的承载业务,可以应用在 PLMN ( Public Land Mobile Network )内部或应用在 GPRS 网与外部互联分组数据网( IP 、 X.25 )之间的分组数据传送, GPRS 能提供到现有数据业务的无缝连接。它在 GSM 网络中增加了两个节点:服务 GPRS 支持节点( SGSN─serving GPRS support node )和网关 GPRS 支持节点( GGSN─Gateway GPRS support node )。 SGSN 是 GPRS 骨干网与无线接入网之间的接口,它将分组交换到正确的基站子系统( BSS )。其任务包括提供对移动台的加密、认证、会话( session )管理、移动性管理和逻辑链路管理。它也提供到 HLR 等数据库的连接。 通过 GPRS 隧道协议可为多种协议的数据分组通过 GPRS 骨干网提供隧道。 GTP 根据所运载的协议需求,利用 TCP 或 UDP 协议来分别提供可靠的连接(如支持 X.25 的分组传输)和无连接服务(如 IP 分组)。 |
转载于:https://blog.51cto.com/youyoukong/64627