6.3.1VPN的概念
虚拟专用网(Virtual Private Network,简称VPN)系指将物理上分布在不同地点的网络通过公用骨干网(互联网等)连接而形成逻辑上的虚拟“私”网,依靠ISP(Internet Service Provider,互联网服务提供商)或NSP(Network Service Provider,网络服务提供商)在安全隧道、用户认证和访问控制等相关技术的控制下达到与专用网络相类同的安全性能,从而实现基于Internet安全传输重要信息的效应。
通常,VPN是对企业内部网的扩展,通过它可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。VPN可用于不断增长的移动用户的全球互联网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网、虚拟专用网。
6.3.2VPN的适用特点
1.VPN与Internet骨干部分相互独立
VPN的实现不需要对互联网骨干部分进行修改,因为VPN的构建工作主要在Internet的边界设备上完成,VPN利用的只是骨干互联网的数据传输能力。骨干网内部路由器完成标准的路由和转发,不关系到VPN是否存在,也不会保留任何VPN的状态信息,因此,在Internet上实现VPN并不影响整个互联网的扩展性和自由升级,而且整个互联网骨干部分的升级将直接提高VPN网络的速度等性能。
2.在边界设备上,对一个VPN的任何动作不影响其他VPN
VPN的边界设备可以是用户的前端设备,如路由器,也可以处于服务提供商的前端设备上,当边界设备处于ISP的前端设备上时往往采用虚拟路由器(VR)的方式,因此在ISP的一个前端设备上可能有多个VR的存在,每个VR在功能、应用上和一个物理路由器没有区别。每个VR代表一个VPN中一个子网络的接入,对一个VR的控制处理不干扰其他的VR。
3.不限制在VPN域中或在骨干网中使用的协议
通过逻辑隧道相连的不同边界设备以及与边界设备连接的用户子网或者移动用户共同组成了虚拟专用网络,可以在这个虚拟的网络中运行独立的协议来寻找该虚拟网络中的成员以及收集成员可达信息,这样就有可能在不同的VPN网络中和在Internet骨干网络上运行独立不同的协议。现存的隧道协议有很多种,在封装的数据类型和采用的封装处理上有区别,如IPSec、IPIP、GRE等,用户可以自由选用。
4.VPN间能够复用地址空间
每个VPN都有一个属于自己的地址空间,这个地址空间由私有地址组成。不同的VPN之间可以用相同的私有地址来标识该VPN中的主机,并且采用7个字节长度的VPN-ID来区分不同的VPN。一个VPN-ID加上一个私有IP地址即可确定VPN中的一台主机。同一台主机可以处于不同的VPN网络中,它在不同的VPN中独立地被分配地址。这个特点很有实际应用意义,比如一个企业的某些信息既想让本企业访问,同时也希望提供给相关企业或商家,那么该段子网或者提供信息的服务器就应该能接入到不同企业各自的VPN网络中去,以便安全地提供信息。
5.满足不同的服务质量要求
QoS(Quality of Service),中文名为“服务质量”。它是指网络提供更高优先服务的一种能力,包括专用带宽、抖动控制和延迟(用于实时和交互式流量情形)、丢包率的改进以及不同WAN、LAN和MAN技术下的指定网络流量等,同时确保为每种流量提供的优先权不会阻碍其他流量的进程。
QoS是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
每个不同的VPN允许有不同的QoS配置。VPN的QoS实现能力主要还依赖于边界设备的位置。当边界设备驻留在服务提供商的前端设备上,并且用户有完全的或者和ISP共同拥有的有限网络管理能力时,用户可以根据自己VPN应用对资源的需求来分配带宽,处理时延抖动,以满足自己的服务质量需求。
6.适应不同的业务提供模式
在实际应用中,一个VPN网络可能跨越不同ISP提供的服务区,因此业务提供商通过自己的骨干网提供VPN业务或通过租用其他运营商骨干网实现VPN业务都应允许。
6.3.3VPN的基本类型
VPN的分类方式比较多,不同角色的用户对VPN分类的着重点也有所不同。生产厂家主要是从产品的角度来划分,ISP在开展VPN业务时主要从业务开展的角度来划分,普通用户主要是根据自己的需求来进行划分。下面从不同的角度对VPN分类。
1.按接入方式划分
这是用户和运营商最关心的VPN划分方式。一般情况下,用户可能是专线上网(互联网)的,也可能是拨号上网的,这要根据用户的具体情况而定。建立在IP网上的VPN也就对应有两种接入方式:专线接入方式和拨号接入方式。
(1)专线VPN:它是为已经通过专线接入ISP边缘路由器的用户提供的VPN解决方案。这是一种“永远在线”的VPN,可以节省传统的长途专线费用。
(2)拨号VPN(又称VPDN):它是向利用拨号PSTN或ISDN接入ISP的用户提供的VPN业务。这是一种“按需连接”的VPN,可以节省用户的长途电话费用。需要指出的是,因为用户一般是漫游用户,是“按需连接”的,因此VPDN通常需要做身份认证(比如利用CHAP和RADIUS)。
2.按协议实现类型划分
这是VPN厂商和ISP最为关心的划分方式。根据分层模型,VPN可以在第二层建立,也可以在第三层建立(甚至有人把在更高层的一些安全协议也归入VPN协议)。
(1)第二层隧道协议:包括点到点隧道协议(PPTP)、第二层转发协议(L2F),第二层隧道协议(L2TP)、多协议标记交换(MPLS)等。
(2)第三层隧道协议:包括通用路由封装协议(GRE)、IP安全(IPSec),这是目前最流行的两种三层协议。
第二层和第三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装,其中GRE、IPSec和MPLS主要用于实现专线VPN业务,L2TP主要用于实现拨号VPN业务(但也可以用于实现专线VPN业务),当然这些协议之间本身不是冲突的,而是可以结合使用的。
3.按VPN的发起方式划分
VPN业务可以是客户独立自主实现的,也可以是由ISP提供的。
(1)发起(也称基于客户的):VPN服务提供的起始点和终止点是面向客户的,其内部技术构成、实施和管理对VPN客户可见。需要客户和隧道服务器(或网关)方安装隧道软件。客户方的软件发起隧道,在公司隧道服务器处终止隧道。此时ISP不需要做支持建立隧道的任何工作。经过对用户身份符(ID)和口令的验证,客户方和隧道服务器极易建立隧道。双方也可以用加密的方式通信。隧道一经建立,用户就会感觉到ISP不再参与通信。
(2)服务器发起(也称客户透明方式或基于网络的):在公司中心部门或ISP处(POP、Point of Presence)安装VPN软件,客户无须安装任何特殊软件。主要为ISP提供全面管理的VPN服务,服务提供的起始点和终止点是ISP的POP,其内部构成、实施和管理对VPN客户完全透明。
4.按VPN的服务类型划分
根据服务类型,VPN业务大致分为三类:接入VPN(Access VPN)、内联网VPN(Intranet VPN)和外联网VPN(Extranet VPN)。通常情况下内联网VPN是专线VPN。
6.3.4VPN的基本技术
VPN实现的两个关键技术是隧道技术和加密技术,同时QoS技术对VPN的实现也至关重要。
1.隧道技术
(1)隧道技术工作原理。VPN的核心技术是隧道技术:数据包不是公开在网上传播,而是首先进行加密以确保安全,然后由VPN封装成IP包的形式,通过隧道在网上传播。隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。注意隧道技术是指包括数据封装、传输和解包在内的全过程。
(2)隧道类型。
一般而言,隧道可以划分为两种类型:
①自愿隧道(Voluntary Tunnel)
用户或客户端计算机可以通过发送VPN请求配置和创建一条自愿隧道。此时,用户端计算机作为隧道客户方成为隧道的一个端点。
②强制隧道(Compulsory Tunnel)
由支持VPN的拨号接入服务器配置和创建一条强制隧道。此时,用户端的计算机不作为隧道端点,而是由位于客户计算机和隧道服务器之间的远程接入服务器作为隧道客户端,成为隧道的一个端点。
目前,自愿隧道是最普遍使用的隧道类型。
(3)VPN隧道协议。
要使数据顺利地被封装、传送及解包,通信协议是核心。为了创建隧道,隧道两端必须使用相同的隧道协议。目前VPN隧道协议主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5.各协议工作在不同层次,无所谓谁更有优势。
其中PPTP、L2F、L2TP对于OSI模型中的数据链路层,使用数据帧作为交换单位,它们都是把数据封装到PPP(点对点协议)协议数据帧中通过互联网分散。IPSEC对应OSI模型中的网络层,它使用数据包作为数据交换单位。对于第二层隧道协议,创建隧道的过程类似于在双方建立会话。隧道的两个端点必须同意创建隧道并且协商隧道的各种配置变量,例如地址分配、加密或压缩参数。绝大多数情况下,通过隧道传输的数据都通过使用基于数据包的协议发送。隧道维护协议被用来作为管理隧道的机制。
而第三层隧道技术通常假定所有配置问题已经通过手工过程完成。协议不对隧道进行维护。与第三层协议不同,第二层协议必须包括隧道的创建、维护和终止。
但有一点需要注意,不同的网络环境适合不同的协议,在选择VPN产品时,应该注意选择。下面简单地介绍一下这些协议。
①PPTP协议。PPTP(Point to Point Tunnel Protocol)协议是最为常用的隧道协议之一,它得到微软服务器操作系统的支持。RFC2637“点对点隧道协议”对PPTP协议进行了描述。该草案由PPTP论坛的成员公司,包括微软、Ascend、3Com和ECI等公司在1996年6月提交至IETF。可在站点http://www。ietf。org参看草案的在线拷贝。
PPTP协议是PPP协议(详细描述见RFC1661、RFC1171)的扩充。PPTP是一个第二层的协议,它将PPP数据帧封装在IP数据包内通过IP网络,如Internet传送。PPTP还可用于专用局域网络之间的连接。PPTP使用一个TCP连接对隧道进行维护,PPTP协议将控制包与数据包分开,控制包采用TCP控制,用于严格的状态查询及信令信息。数据包部分先封装在PPP协议中,然后封装到GRE(通用路由封装协议)V2协议中。可以对封装PPP帧中的负载数据进行加密或压缩。
PPTP协议是一个真正的端到端技术,它可建立用户到服务器的直接端到端隧道连接,对于接入路由器和互联网来说,这些都是透明的。建立一个PPTP的连接过程如下:
不管用户是通过专线或拨号网接入Internet网络,用户端都可以与VPN中心服务器建立IP连接。然后通过用户端的一个PPTP虚拟接口“拨号”到VPN中心服务器建立PPTP连接。PPTP的内层协议可以支持IP/IPX/CLNP等多种协议。换言之,通过PPTP协议的隔离作用,用户端和VPN中心服务器端可以建立端到端的VPN网络。
PPTP的优点在于应用较为简单。它不需要应用证书服务器,也不需要任何特定的认证服务器。这使得人们可以在远程应用中相当简单地使用Windows认证的解决方案。
②L2F协议。L2F是Cisco公司提出的隧道技术,作为一种传输协议,L2F支持拨号接入服务器,将拨号数据流封装在PPP帧内,通过广域网链路传送到L2F服务器(路由器)。L2F服务器把数据包解包之后重新注入网络。与PPTP和L2TP不同,L2F没有确定的客户方。应当注意L2F只在强制隧道中有效。
③L2TP协议。L2TP(Layer2Tunneling Protocol,第二层隧道协议,结合了PPTP和L2F协议。关于协议的详细描写可参见RFC2661.本协议支持封装的PPP帧在IP、X。25、帧中继或ATM等的网络上进行传送。当使用IP协议作为L2TP的数据包传输协议时,可以使用L2TP作为Internet网络上的隧道协议。L2TP还可以直接在各种WAN媒介上使用而不需要使用IP传输层。
IP网上的L2TP使用UDP和一系列L2TP消息对隧道进行维护。L2TP同样使用UDP将L2TP协议封装的PPP帧通过隧道发送。可以对封装PPP帧中的负载数据进行加密或压缩。L2TP协议允许对IP、IPX或NetBEUI数据流进行加密,然后通过支持点对点数据包传递的任意网络发送,如IP、X。25、帧中继或ATM。
④IPSec协议。IPSec是第三层的协议标准,支持IP网络上数据的安全传输。IPSec是一种端到端的确保基于IP通信的数据安全性的机制,详细描述可以参考RFC2411.IPSec支持对数据加密,同时确保数据的完整性。按照IETF的规定,不采用数据加密时,IPSec使用验证包头(AH)提供验证来源验证,确保数据的完整性。IPSec使用封装安全负载(ESP)与加密一道提供来源验证,确保数据的完整性。IPSec协议下,只有发送方和接收方知道密钥。如果验证数据有效,接收方就可以知道数据来自发送方,并且在传输过程中没有受到破坏。
ESP有2种工作模式:传送模式和隧道模式。在传送模式时只对IP的数据部分加密。一个IPSec隧道由一个隧道客户和隧道服务器组成,两端都配置使用IPSec隧道技术,采用协商加密机制。而在隧道模式时将通过设备对整个IP包加密(包括包头),使IP包的源地址与目的地址隐藏。此时的IP包的包头为VPN设备(网关,路由器等)的IP地址。一个IPSec隧道由一个隧道客户和隧道服务器组成,两端都配置使用IPSec隧道技术,采用协商加密机制。
IPSec隧道模式具有以下功能和局限:
只能支持IP数据流。
工作在IP栈(IP stack)的底层,因此,应用程序和高层协议可以继承IPSec的行为。
由一个安全策略(一整套过滤机制)进行控制。安全策略按照优先级的先后顺序创建可供使用的加密和隧道机制以及验证方式。当需要建立通信时,双方机器执行相互验证,然后协商使用何种加密方式。此后的所有数据流都将使用双方协商的加密机制进行加密,然后封装在隧道包头内。
现在的一种趋势是将L2TP和IPSec结合起来:用L2TP作为隧道协议,用IPSec协议保护数据。这种方式的优点在于:它定义了一套用于保护私有性和完整性的标准协议,可确保运行在TCP/IP协议上的VPN之间的互操作性。
缺点在于:除了包过滤外,它没有指定其他访问控制方法,对于采用NAT方式访问公共网络的情况难以处理。
所以可信LAN到LAN之间的VPN最适合采用这种技术。
⑤SOCKS v5协议。SOCKS v5工作在OSI模型中的第五层——会话层,可作为建立高度安全的VPN的基础。SOCKS v5协议的优势在访问控制,因此适用于安全性较高的VPN。SOCKS v5现在被IETF建议作为建立VPN的标准。
优点:非常详细的访问控制。在网络层只能根据源目的的IP地址允许或拒绝被通过,在会话层控制手段更多一些。由于工作在会话层,能同低层协议如IPV4、IPSec、PPTP、L2TP一起使用。用SOCKS v5的代理服务器可隐藏网络地址结构。能为认证、加密和密钥管理提供“插件”模块,让用户自由地采用所需要的技术。SOCKS v5可根据规则过滤数据流,包括Java Applet和Actives控制。
缺点:其性能比低层次协议差,必须制定更复杂的安全管理策略。
适用场合:最适合用于客户机到服务器的连接模式,适用于外部网VPN和远程访问VPN。
按照网络拓扑结构,VPN在部署方面总体上分为两大类:基于网络的VPN和基于用户边缘设备(CE)的VPN。
基于网络的VPN(NB-VPN):构成IP VPN的关键部件是隧道,它是连接VPN两个节点之间的特殊链路。当隧道的两端为服务提供商的边缘设备(在Internet环境下,也称ISP边缘路由器)时,IP隧道采用节点之间以全连接或部分连接形式构成IP VPN的主干网。用户站点通过CE及各种类型的专线,例如ATM VCC、帧中继电路、DDN专线、MPLC链路等接入附近的PE边缘路由器,必要时还可以采用拨号线路、无线链路等安全措施接入PE边缘路由器,构成VPN。这种形式的VPN称为基于网络的VPN。
基于用户边缘设备(CE)的VPN:若隧道的两端为CE设备(在Internet环境下,称为用户前端设备路由器)时,隧道对CE采用全连接或部分连接就构成基于CE的VPN。其中,CE可通过ATM VCC、帧中继电路、DDN专线等接入服务提供商网络。
由于基于网络的VPN的PE边缘路由器可连接多个CE设备,从而可支持多个VPN,因此,基于网络的VPN的拓扑结构要比CE-VPN简单。其次,NB-VPN的CE路由器一般只与一个PE边缘路由器连接,从而可采用默认路由的方式,简化路由选择过程,配置简单。另外,NB-VPN实施VPN的服务,包括提供防火墙和QoS比较简单,引入和管理新的服务也较简单。上述NB-VPN的这些优点主要是由于PE边缘路由器的数量要比CE路由器少很多而形成的。
采用CE-VPN的主要特点是:VPN的一些主要功能都是CE路由器通过IP隧道实施的。服务提供商提供的VPN网络主要提供传输通道,VPN的安全性能主要由VPN的使用者实施。所以,VPN使用者要求网络具有高度的安全性时,可采用CE-VPN。但是,如果CE之间的隧道采用全连接的网状结构时,网络由于需要建立n×(n-1)/2条隧道,也就是说隧道随CE数目的平方增加。所以CE-VPN的规模不宜太大,否则建设与维护费用过大,无法实际应用。
实际上,基于网络的VPN也可以采用适当的措施获得很高的安全性,关键问题在于VPN用户是否信任VPN服务提供商所采用的安全措施。如果用户认为网络的安全性能不够,用户可以在CE路由器处选用IPSec安全协议,以增强VPN的安全性能。当前VPN服务提供商主要提供基于网络的VPN服务。
2.加密技术
数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。加密技术可以在协议的任意层进行,可以对数据或报文头进行加密。在网络层中的加密标准是IPSec。网络层加密实现最安全的方法是在主机的端到端进行。另一个选择是“隧道模式”:加密只在路由器中进行,而终端与第一条路由之间不加密。这种方法不太安全,因为数据从终端系统到第一条路由时可能被截取而危及数据安全。终端到终端的加密方案中,VPN安全粒度达到个人终端系统的标准;而“隧道模式”方案,VPN安全度只达到子网标准。在链路层中,目前还没有统一的加密标准,因此所有链路层加密方案基本上是生产厂家自己设计的,需要特别的加密硬件。
3.QoS技术
通过隧道技术和加密技术,已经能够建立起一个具有安全性、互操作性的VPN。但是该VPN性能上不稳定,管理上不能满足企业的要求,这就要加入QoS技术。实行QoS技术应该在主机网络中,即VPN所建立的隧道这一段,这样才能建立一条性能符合用户要求的隧道。
网络资源是有限的,有时用户要求的网络资源得不到满足,通过QoS机制对用户的网络资源分配进行控制以满足应用的需求。QoS机制具有通信处理机制以及供应(Provisioning)和配置(Configuration)机制。通信处理机制包括802.1p、区分服务(Differentiated Service per-hop-behaviors,DiffServ)、综合服务(Integrated Services,IntServ),等等。现在大多数局域网是基于IEEE802技术的,如以太网、令牌环、FDDI等,802.1p为这些局域网提供了一种支持QoS的机制。802.1p对链路层的802报文定义了一个可表达8种优先级的字段。802.1p优先级只在局域网中有效,一旦出了局域网,通过第三层设备时就被移走。DiffServ则是第三层的QoS机制,它在IP报文中定义了一个字段称DSCP(DiffServ Codepoint)。DSCP有六位,用作服务类型和优先级,路由器通过它对报文进行排队和调度。与802.1p、DiffServ不同的是,IntServ是一种服务框架,目前有两种:保证服务和控制负载服务。保证服务许诺在保证的延时下传输一定的通信量;控制负载服务则同意在网络轻负载的情况下传输一定的通信量。典型地,IntServ与资源预留协议(Resource reservation Protocol,RSVP)相关。IntServ服务定义了允许进入的控制算法,决定多少通信量被允许进入网络中。
供应和配置机制包括RSVP、子网带宽管理(Subnet Bandwidth Manager,SBM)、政策机制和协议以及管理工具和协议。这里供应机制指的是比较静态的、比较长期的管理任务,如:网络设备的选择、网络设备的更新、接口添加删除、拓扑结构的改变等。而配置机制指的是比较动态、比较短期的管理任务,如:流量处理的参数。
网络管理员基于一定的政策进行QoS机制配置。政策组成部分包括:政策数据,如用户名;有权使用的网络资源;政策决定点(Policy Decsion Point,PDP);政策加强点(Policy Enforcement Point,PEP)以及它们之间的协议。传统的由上而下(TopDown)的政策协议包括简单网络管理协议(Simple Network Management Protocol,SNMP)、命令行接口(Command Line Interface,CLI)、命令开放协议服务(Command Open Protocol Services,COPS)等。这些QoS机制相互作用使网络资源得到最大化利用,同时也向用户提供了一个性能良好的网络服务。