VPN及其隧道技术研究

时间:2022-09-10 01:57:01

VPN及其隧道技术研究

摘要:文章探讨了VPN 及其具体实现技术――隧道技术。首先介绍了VPN的概念,接着探讨了VPN的工作原理,最后详细分析了VPN的隧道技术,特别是L2TP隧道协议。

关键词:VPN;隧道技术;L2TP

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-879-02

VPN and It's Tunneling Technology Research

CHEN Xing-gang, MENG Chuan-liang

(Guizhou University, Electronic Science and Information Technology Institute, Guiyang 550025, China)

Abstract: The article introduced VPN and its concrete implementing technology―Tunneling Technology. First it introduced the concept of VPN, and then it discussed the principle of work. In the end, it analyzed the VPN’s tunneling technology in detail, especially focusing on analyzing the L2TP tunneling protocol.

Key words: VPN; Tunneling Technology; L2TP

1 VPN的概念

VPN,即虚拟专用网(Virtual Private Network),它指的是一种依靠ISP和其它NSP,在公用网络中建立专用的数据通信网络的技术。通过对网络数据的特殊封包和加密传输,在一个公用网络(通常是因特网)建立一个临时的、安全的连接,从而实现在公网上传输私有数据、达到私有网络的安全级别。在虚拟专用网中,任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是利用某种公众网的资源动态组成的。IETF草案理解的基于IP的VPN为:“使用IP机制仿真出一个私有的广域网”,即通过私有的隧道技术在公共数据网络上仿真一条点到点的专线技术。

通常,VPN是对企业内部网的扩展,通过它可以帮助远程用户、公司分支机构、商业伙伴以及供应商同公司的内部网建立可信的安全连接,并保证数据传输的安全。VPN可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,以便经济有效地连接到商业伙伴和公司分支机构。

2 VPN的原理

VPN通过公众IP网络建立了私有数据传输通道,将远程的分支办公室、商业伙伴、移动办公人员等连接起来,减轻了企业的远程访问费用负担、节省电话费用开支,并且提供了安全的端到端的数据通讯。

常规的直接拨号连接与虚拟专网连接的异同点在于:在前一种情形之中,PPP(点对点协议)数据包流是通过专用线路传输的;在VPN中,PPP数据包流是由一个LAN上的路由器发出,通过共享IP网络上的隧道进行传输,再到达另一个LAN上的路由器。

这两者的关键不同点是隧道代替了实实在在的专用线路。隧道好比是在WAN中拉出一根串行通信电缆。那么,如何形成VPN隧道呢?

建立隧道有两种主要的方式:客户启动(Client-Initiated)或客户透明(Client-Transparent)。客户启动要求客户和隧道服务器(或网关)都安装隧道软件。后者通常都安装在公司中心站上。通过客户软件初始化隧道,隧道服务器中止隧道,ISP可以不必支持隧道。客户和隧道服务器只需建立隧道,并使用用户ID和口令或用数字许可证鉴权。一旦隧道建立,就可以进行通信了,如同ISP没有参与连接一样。

另一方面,如果希望隧道对客户透明,ISP的POPS就必须具有允许使用隧道的接入服务器以及可能需要的路由器。客户首先拨号进入服务器,服务器必须能识别这一连接要与某一特定的远程点建立隧道,然后服务器与隧道服务器建立隧道,通常使用用户ID和口令进行鉴权。这样客户端就通过隧道与隧道服务器建立了直接对话。尽管这一方针不要求客户有专门软件,但客户只能拨号进入正确配置的访问服务器。

3 VPN的隧道技术

VPN技术比较复杂,它涉及到通信技术、密码技术和现代认证技术,是一项交叉科学。具体来讲,目前VPN主要采用下列四项技术来保证其安全,这四项技术分别是隧道技术(Tunneling)、加解密技术(Encryption & Decryption)、密钥管理技术(Key Management)、使用者与设备身份认证技术(Authentication)。

隧道技术是VPN的基本技术,类似于点对点连接技术,它在公用网中建立一条数据通道(隧道),让数据包通过这条隧道传输。隧道技术的基本工作原理是在源局域网与公网的接口处将数据作为负载封装在一种可以在公网上传输的数据格式之中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。

要使数据顺利地被封装、传送及解封装,通信协议是完成此任务的关键。目前VPN的隧道协议可大致分为第二层次的隧道协议PPTP、L2F、L2TP和第三层次的隧道协议GRE、IPSec等。它们的本质区别在于用户的数据包是被封装在哪种数据包里面从而在隧道中进行传输的。无论哪种隧道协议都是由传输的载体、不同的封装格式以及被传输数据包组成的,传输协议被用来传送封装协议;封装协议被用来建立、保持和拆卸隧道,Cisco产品支持几种封装协议,包括L2F、L2TP、GRE协议等;而乘客协议是被封装的协议,它们可以是PPP、SLIP等。隧道协议的组成如图1所示:

3.1 PPTP――点对点隧道协议

PPTP协议由Microsoft、Ascend和3Com公司开发,它的分组不但能在IP上传送,也能在IPX、Apple Talk上传送。PPTP提供PPTP客户机和PPTP服务器之间的加密通信。PPTP客户机是指运行了该协议的PC机,如启动了该协议的Windows XP;PPTP服务器是指运行该协议的服务器,如启动了该协议的Windows Server服务器。PPTP可看作是PPP协议的一种扩展,它提供了一种在Internet上建立多协议的安全虚拟专用网的通信方式,远端用户能够透过任何支持PPTP的ISP访问公司的专用网络。

通过PPTP,客户可采用拨号方式接入公共IP网络――Internet。拨号客户首先按常规方式拨号到ISP的接入服务器(NAS),建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的连接,该连接称为PPTP隧道,实质上是基于IP协议上的另一个PPP连接,其中的IP包可以封装多种协议数据,包括TCP/IP、IPX和NetBEUI。PPTP采用了基于RSA公司RC4的数据加密方法,保证了虚拟连接通道的安全性。对于直接连到Internet上的客户则不需要第一重PPP的拨号连接,可以直接与PPTP服务器建立虚拟通道。PPTP把建立隧道的主动权交给了用户,但用户需要在其PC机上配置PPTP,这样做就增加了用户的工作量也会造成一定的网络安全隐患。

3.2 L2F――第二层转发协议

L2F(Layer 2 Forwarding Protocol)是由Cisco公司提出的可以在多种介质如ATM、Frame Relay、IP网上建立多协议的虚拟专用网的隧道协议。远端用户能够透过任何拨号方式接入公共IP网络,首先按常规方式拨号到ISP的接入服务器(NAS),建立PPP连接;NAS根据用户名等信息,发起第二重连接,通向HGW服务器。在这种情况下隧道的配置和建立对用户是完全透明的。但是,L2F不支持流控;要求每个用户端局域网有专用的网关,费用较高。

3.3 L2TP――第二层隧道协议

L2TP结合了PPTP和L2F的优点,可以让用户从客户端或访问服务器端发起VPN连接。L2TP是把链路层PPP帧封装在公共网络设施如IP、ATM、帧中继中进行隧道传输的封装协议。

L2TP的主要作用是将PPP接入由本地扩展到远端,向用户提供经济的远程ISP接入和企业网接入,是IP VPN中极为重要的协议。L2TP支持多种协议,用户可以保留原有的IPX、Appletalk等协议或公司原有的IP地址;L2TP还解决了多个PPP链路的捆绑问题,使物理上连接到不同NAS的PPP链路,在逻辑上的终结点为同一个物理设备。

L2TP主要由LAC(L2TP Access Concentrator)和LNS(L2TP Network Server)构成(网络结构如图2所示),LAC(L2TP接入汇接点)支持客户端的L2TP,它用于发起呼叫、接收呼叫和建立隧道;LNS(L2TP网络服务器)是所有隧道的终点。

在ISP接入情况下,LAC对应本地NAS,LNS对应为ISP,拨号用户通过PSTN/ISDN接入本地的LAC后,可以通过隧道接入所选择的ISP。在VPN情况下,LAC对应为NAS或ISP,LNS对应为企业网网关,拨号用户或路由器可通过隧道直接接入企业网,成为企业网的一个虚拟用户。LAC和LNS就是隧道的两个端点,期间运行L2TP协议。

LNS和LAC经由L2TP组成了分布式广域接入系统。一个LAC可以建立多个隧道接入不同的LNS,一个LNS也可以经多个LAC接入。在给定的一对LAC和LNS之间可以根据需要建立多条隧道,隧道的物理传送媒体可以是UDP/IP、ATM或FR等。每条隧道内包含两类信道:控制信道和数据信道。相应地,L2TP消息也分为两类:控制消息和数据消息。其中,控制消息的作用是建立、维护和释放隧道和会话,在控制信道上发送;数据消息的作用就是封装PPP帧,在数据信道上传送。L2TP协议的操作包括三个过程:隧道建立、会话建立和PPP帧的封装前转,相应的隧道结构及呼叫和会话情况如图3所示。

L2TP这种方式给服务提供商和用户带来了许多好处。用户不需要在PC上安装专门的客户端软件,企业可以使用未注册的IP地址,并在本地管理认证数据库,从而降低了使用成本和培训维护费用。

与PPTP和L2F相比,L2TP的优点在于提供了差错和流量控制;L2TP使用UDP封装和传送PPP帧。面向非连接的UDP无法保证网络数据的可靠传输,L2TP使用Nr(下一个希望接受的消息序列号)和Ns(当前发送的数据包序列号)字段控制流量和差错。双方通过序列号来确定数据包的次序和缓冲区,一旦数据丢失根据序列号可以进行重发。

4 结束语

实现VPN 的隧道技术多种多样,它们各有各的优势,本文主要讨论了L2TP隧道技术。

目前的一种趋势是将L2TP 和IPSec 结合起来用L2TP 作为隧道协议,用IPSec协议保护数据。现在,市场上大部分VPN采用这类技术。

参考文献:

[1] 郭世满,马蕴颖,郭苏宁.宽带接入技术及应用[M].北京:北京邮电大学出版社,2006.

[2] 李征.接入网与接入技术[M].北京:清华大学出版社,2003.

[3] 李明琪.宽带接入网络[M].北京:科学出版社,2002.

[4] 郝辉,钱华林.VPN及其隧道技术研究[J].微电子学与计算机,2004,21(11):47-51.

上一篇:基于问题的学习在机器人教学中的应用初探 下一篇:基于PKI的文件安全传输方案研究