摘要本文介绍了VPN技术的相关怀准和协议,以及他门的发展现状。
关键词 VPN PPTP L2F L2TP IPSec
1VPN与隧道技术
VPN(虚拟专用网)是指在公众数据网络上建立属于自己的私有数据网络。VPN具有两个
方面的含义:首先它是“虚拟”的,不再使用长途专线建立私有数据网络,而是将其建立在
分布广泛的公用网络,尤其是因特网上;其次它又是一个“专网”,每个VPN的用户都可以临
时从公用网络中获得一部分资源供自己使用。VPN既可以让客户连接到公网所能够达到的任何
地方,也可以容易地解决保密性、安全性、可管理性等问题,降低网络的使用成本。
VPN的具体实现是采用隧道技术,在公网中建立企业之间的链接,将用户的数据封装在隧
道中进行传输。隧道技术与接入方式无关,它可以支持各种形式的接入,如拨号方式接入、
CABLE Modem、xDSL以及ISDN、E1专线和无线接入等。一个隧道协议通常包括以下几个方面:
乘客协议――被封装的协议,如PPP、SLIP;
封装协议――隧道的建立、维持和断开,如L2TP、IPSec等;
承载协议――承载经过封装后的数据包的协议,如IP和ATM等。
目前因特网上较为常见的隧道协议大致有两类:第二层隧道协议PPTP、L2F、L2TP和第三
层隧道协议GRE、IPSec。第二层和第三层隧道协议的区别主要在于用户数据在网络协议栈的
第几层被封装。其中GRE和IPSec主要用于实现专线VPN业务,L2TP主要用于实现拨号VPN业务,
也可用于实现专线VPN业务。本文的其余部分分别介绍这些隧道协议。
2第二层隧道协议
第二层隧道协议可以支持多种路由协议,如IP、IPX和AppleTalk;也可以支持多种广域
网技术,如帧中继、ATM、X.25或SDH/SONET;还可以支持任意局域网技术,如以太网、令牌
环和FDDI等。
2.1PPTP
点到点隧道协议(PPTP)是由PPTP论坛开发的点到点的安全隧道协议,为使用电话上网
的用户提供安全VPN业务,1996年成为IETF草案。PPTP是PPP协议的一种扩展,提供了在IP网
上建立多协议的安全VPN的通信方式,远端用户能够通过任何支持PPTP的ISP访问企业的专用
网络。PPTP提供PPTP客户机和PPTP服务器之间的保密通信。PPTP客户机是指运行该协议的PC
机,PPTP服务器是指运行该协议的服务器。
通过PPTP,客户可以采用拨号方式接入公共的IP网。拨号客户首先按常规方式拨号到ISP
的接入服务器(NAS),建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的
连接,该连接称为PPTP隧道,实质上是基于IP协议的另一个PPP连接,其中IP包可以封装多种
协议数据,包括TCP/IP,IPX和NetBEUI。对于直接连接到IP网的客户则不需要第一次的PPP
拨号连接,可以直接与PPTP服务器建立虚拟通路。
PPTP的最大优势是Microsoft公司的支持。NT4.0已经包括了PPTP客户机和服务器的功能,
并且考虑了Windows95环境。另外一个优势是它支持流量控制,可保证客户机与服务器间不
拥塞,改善通信性能,最大限度地减少包丢失和重发现象。PPTP把建立隧道的主动权交给了
客户,但客户需要在其PC机上配置PPTP,这样做既会增加用户的工作量,又会造成网络的安
全隐患。另外,PPTP仅工作于IP,不具有隧道终点的验证功能,需要依赖用户的验证。
2.2 L2F
L2F(Layer 2 Forwarding)是由Cisco公司提出的,可以在多种介质(如 ATM、帧中继、
IP)上建立多协议的安全VPN的通信方式。它将链路层的协议(如 HDLC、PPP、ASYNC等)封
装起来传送,因此网络的链路层完全独立于用户的链路层协议。1998年提交给IETF,成为RFC
2341。
L2F远端用户能够通过任何拨号方式接入公共IP网络。首先,按常规方式拨号到ISP的接
人服务器(NAS),建立PPP连接;NAS根据用户名等信息发起第二次连接,呼叫用户网络的服
务器。这种方式下,隧道的配置和建立对用户是完全透明的。
L2F允许拨号服务器发送PPP帧,并通过WAN连接到L2F服务器。L2F服务器将包去封装后,
把它们接入到企业自己的网络中。与PPTP和PPP所不同的是,L2F没有定义客户。
2.3 L2TP
L2TP协议由Cisco、Ascend、Microsoft、3Com和Bay等厂商共同制订,1999年8月公布了
L2TP的标准RFC 2661。上述厂商现有的VPN设备已具有L2TP的互操作性。
L2TP结合了L2F和PPTP的优点,可以让用户从客户端或接人服务器端发起VPN连接。L2TP
定义了利用公共网络设施封装传输链路层PPP帧的方法。目前用户拨号访问因特网时,必须使
用IP协议,并且其动态得到的IP地址也是合法的。L2TP的好处就在于支持多种协议,用户可
以保留原来的IPX、AppleTalk等协议或企业原有的IP地址,企业在原来非IP网上的投资不致
于浪费。另外,L2TP还解决了多个PPP链路的捆绑问题。
L2TP主要由LAC(接入集中器)和LNS(L2TP网络服务器)构成。LAC支持客户端的L2TP,
用于发起呼叫,接收呼叫和建立隧道。LNS是所有隧道的终点。在传统的PPP连接中,用户拨
号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。
在安全性考虑上,L2TP仅仅定义了控制包的加密传输方式,对传输中的数据并不加密。
因此,L2TP并不能满足用户对安全性的需求。如果需要安全的VPN,则依然需要IPSec。
3第三层隧道协议
3.1 IPSec
利用隧道方式来实现VPN时,除了要充分考虑隧道的建立及其工作过程之外,另外一个重
要的问题是隧道的安全。第二层隧道协议只能保证在隧道发生端及终止端进行认证及加密,
而隧道在公网的传输过程中并不能完全保证安全。IPSec加密技术则是在隧道外面再封装,保
证了隧道在传输过程中的安全性。
IPSec是一个第三层VPN协议标准,它支持信息通过IP公网的安全传输。IPSec系列标准从
1995年问世以来得到了广泛的支持,IETF工作组中已制定的与IPSec相关的RFC文档有:RFC
214、RFC2401-RFC 2409、RFC 2451等。其中 RFC 2409介绍了互连网密钥交换(IKE)协议;
RFC 2401介绍了IPSec协议;RFC 2402介绍了验证包头(AH);RFC2406介绍了加密数据的报
文安全封装(ESP)协议。
IPSec兼容设备在OSI模型的第三层提供加密、验证、授权、管理,对于用户来说是透明
的,用户使用时与平常无任何区别。密钥交换、核对数字签名、加密等都在后台自动进行。
另外,为了组建大型VPN,需要认证中心来进行身份认证和分发用户公共密钥。
IPSec可用两种方式对数据流进行加密:隧道方式和传输方式。隧道方式对整个IP包进行
加密,使用一个新的IPSec包打包。这种隧道协议是在IP上进行的,因此不支持多协议。传输
方式时IP包的地址部分不处理,仅对数据净荷进行加密。
IPSec支持的组网方式包括:主机之间、主机与网关、网关之间的组网。IPSec还支持对
远程访问用户的支持。IPSec可以和L2TP、GRE等隧道协议一起使用,给用户提供更大的灵活
性和可靠性。
IPSec的ESP协议和报文完整性协议认证的协议框架已趋成熟,IKE协议也已经增加了椭圆
曲线密钥交换协议。由于IPSec必须在端系统的操作系统内核的IP层或网络节点设备的IP层实
现,因此需要进一步完善IPSec的密钥管理协议。
3.2 GRE
通用路由协议封装(GRE)是由Cisco和Net-smiths等公司1994年提交给IETF的,标号为
RFC1701和RFC 1702。目前有多数厂商的网络设备均支持 GRE隧道协议。
GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP
地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路
由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网
络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。GER只提供了数据
包的封装,并没有加密功能来防止网络侦听和攻击,所以在实际环境中经常与IPSec在一起使
用,由IPSec提供用户数据的加密,从而给用户提供更好的安全性。
4小结
IETF的其他一些工作组也在为VPN制定相关协议,其中的很多建议已形成草案。这些草案
中涉及的协议有:MPLS、RADIUS、LDAP、VPMT等。