内容摘要:本文介绍了VPN技术的相关怀准和协议,以及他门的发展现状。
关键词 VPN PPTP L2F L2TP IPSec
1、VPN与隧道技术
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,成为RFC2341。
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文档有:RFC214、RFC2401-RFC2409、RFC 2451等。其中 RFC 2409介绍了互连网密钥交换(IKE)协议;RFC 2401介绍了IPSec协议;RFC2402介绍了验证包头(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和RFC1702。目前有多数厂商的网络设备均支持 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等。
|