VPN技术专帖(转载)
虚拟专用网(VPN)技术是指在公共网络中建立专用网络,数据通过安全的“加密管道”在公共网络中进行传播。使用公共网络进行信息传输会使信息容易被窃取,那些未经授权的使用者很有可能寻找到隐蔽“入口”。如何能够利用公共网络来安全地建立和管理虚拟的专用网络是我们下面要要讨论的问题。
一、VPN简介
虚拟专用网(VirtualPrivateNetwork,VPN)是一种“基于公共数据网,给用户一种直接连接到私人局域网感觉的服务”。VPN极大地降低了用户的费用,而且提供了比传统方法更强的安全性和可靠性。
VPN可分为三大类:
(1)企业各部门与远程分支之间的Intranet VPN;
(2)企业网与远程(移动)雇员之间的远程访问(Remote Access)VPN;
(3)企业与合作伙伴、客户、供应商之间的Extranet VPN。
二、VPN的要求
(1)安全性
VPN提供用户一种私人专用(Private)的感觉,因此建立在不安全、不可信任的公共数据网的首要任务是解决安全性问题。VPN的安全性可通过隧道技术、加密和认证技术得到解决。在IntranetVPN中,要有高强度的加密技术来保护敏感信息;在远程访问VPN中要有对远程用户可靠的认证机制。
(2)性能
VPN要发展其性能至少不应该低于传统方法。尽管网络速度不断提高,但在Internet时代,随着电子商务活动的激增,网络拥塞经常发生,这给VPN性能的稳定带来极大的影响。因此VPN解决方案应能够让管理员进行通信控制来确保其性能。通过VPN平台,管理员定义管理政策来激活基于重要性的出入口带宽分配。这样既能确保对数据丢失有严格要求和高优先级应用的性能,又不会“饿死”,低优先级的应用。
(3)管理问题
由于网络设施、应用不断增加,网络用户所需的IP地址数量持续增长,对越来越复杂的网络管理,网络安全处理能力的大小是VPN解决方案好坏的至关紧要的区分。VPN是公司对外的延伸,因此VPN要有一个固定管理方案以减轻管理、报告等方面负担。管理平台要有一个定义安全政策的简单方法,将安全政策进行分布,并管理大量设备。
(4)互操作
在ExtranetVPN中,企业要与不同的客户及供应商建立联系,VPN解决方案也会不同。因此,企业的VPN产品应该能够同其他厂家的产品进行互操作。这就要求所选择的VPN方案应该是基于工业标准和协议的。这些协议有IPSec、点到点隧道协议(PointtoPoint Tunneling Protocol,PPTP)、第二层隧道协议(Layer 2 Tunneling Protocol,L2TP)等。
三、VPN的实现技术
VPN实现的两个关键技术是隧道技术和加密技术,同时QoS技术对VPN的实现也至关重要。
1.VPN访问点模型
首先提供一个VPN访问点功能组成模型图作为参考。其中IPSec集成了IP层隧道技术和加密技术。
2.隧道技术
隧道技术简单的说就是:原始报文在A地进行封装,到达B地后把封装去掉还原成原始报文,这样就形成了一条由A到B的通信隧道。目前实现隧道技术的有一般路由封装(GenericRoutingEncapsulation,GRE)L2TP和PPTP。
(1)GRE
GRE主要用于源路由和终路由之间所形成的隧道。例如,将通过隧道的报文用一个新的报文头(GRE报文头)进行封装然后带着隧道终点地址放入隧道中。当报文到达隧道终点时,GRE报文头被剥掉,继续原始报文的目标地址进行寻址。GRE隧道通常是点到点的,即隧道只有一个源地址和一个终地址。然而也有一些实现允许点到多点,即一个源地址对多个终地址。这时候就要和下一跳路由协议(Next-HopRoutingProtocol,NHRP)结合使用。 NHRP主要是为了在路由之间建立捷径。
GRE隧道用来建立VPN有很大的吸引力。从体系结构的观点来看,VPN就象是通过普通主机网络的隧道。普通主机网络的每个点都可利用其地址以及路由所形成的物理连接,配置成一个或多个隧道。在GRE隧道技术中入口地址用的是普通主机网络的地址空间,而在隧道中流动的原始报文用的是VPN的地址空间,这样反过来就要求隧道的终点应该配置成VPN与普通主机网络之间的交界点。这种方法的好处是使VPN的路由信息从普通主机网络的路由信息中隔离出来,多个 VPN可以重复利用同一个地址空间而没有冲突,这使得VPN从主机网络中独立出来。从而满足了VPN的关键要求:可以不使用全局唯一的地址空间。隧道也能封装数量众多的协议族,减少实现VPN功能函数的数量。还有,对许多VPN所支持的体系结构来说,用同一种格式来支持多种协议同时又保留协议的功能,这是非常重要的。IP路由过滤的主机网络不能提供这种服务,而只有隧道技术才能把VPN私有协议从主机网络中隔离开来。基于隧道技术的VPN实现的另一特点是对主机网络环境和VPN路由环境进行隔离。对VPN而言主机网络可看成点到点的电路,VPN能够用其路由协议穿过符合VPN管理要求的虚拟网。同样,主机网络用符合网络要求的路由设计方案,而不必受VPN用户网络的路由协议限制。
虽然GRE隧道技术有很多优点,但用其技术作为VPN机制也有缺点,例如管理费用高、隧道的规模数量大等。因为GRE是由手工配置的,所以配置和维护隧道所需的费用和隧道的数量是直接相关的——每次隧道的终点改变,隧道要重新配置。隧道也可自动配置,但有缺点,如不能考虑相关路由信息、性能问题以及容易形成回路问题。一旦形成回路,会极大恶化路由的效率。除此之外,通信分类机制是通过一个好的粒度级别来识别通信类型。如果通信分类过程是通过识别报文(进入隧道前的)进行的话,就会影响路由发送速率的能力及服务性能。
GRE隧道技术是用在路由器中的,可以满足ExtranetVPN以及IntranetVPN的需求。但是在远程访问VPN中,多数用户是采用拨号上网。这时可以通过L2TP和PPTP来加以解决。
(2)L2TP和PPTP
L2TP是L2F(Layer2Forwarding)和PPTP的结合。但是由于PC机的桌面操作系统包含着PPTP,因此PPTP仍比较流行。隧道的建立有两种方式即:“用户初始化”隧道和“NAS初始化”(NetworkAccess Server)隧道。前者一般指“主动”隧道,后者指“强制”隧道。“主动”隧道是用户为某种特定目的的请求建立的,而“强制”隧道则是在没有任何来自用户的动作以及选择的情况下建立的。
L2TP作为“强制”隧道模型是让拨号用户与网络中的另一点建立连接的重要机制。建立过程如下:①用户通过Modem与NAS建立连接;②用户通过NAS 的L2TP接入服务器身份认证;③在政策配置文件或NAS与政策服务器进行协商的基础上,NAS和L2TP接入服务器动态地建立一条L2TP隧道;④用户与L2TP接入服务器之间建立一条点到点协议(PointtoPointProtocol,PPP)访问服务隧道;⑤用户通过该隧道获得VPN服务。
与之相反的是,PPTP作为“主动”隧道模型允许终端系统进行配置,与任意位置的PPTP服务器建立一条不连续的、点到点的隧道。并且,PPTP协商和隧道建立过程都没有中间媒介NAS的参与。NAS的作用只是提供网络服务。PPTP建立过程如下:①用户通过串口以拨号IP访问的方式与NAS建立连接取得网络服务;②用户通过路由信息定位PPTP接入服务器;③用户形成一个PPTP虚拟接口;④用户通过该接口与PPTP接入服务器协商、认证建立一条PPP 访问服务隧道;⑤用户通过该隧道获得VPN服务。
在L2TP中,用户感觉不到NAS的存在,仿佛与PPTP接入服务器直接建立连接。而在PPTP中,PPTP隧道对NAS是透明的;NAS不需要知道PPTP接入服务器的存在,只是简单地把PPTP流量作为普通IP流量处理。
采用L2TP还是PPTP实现VPN取决于要把控制权放在NAS还是用户手中。L2TP比PPTP更安全,因为L2TP接入服务器能够确定用户从哪里来的。L2TP主要用于比较集中的、固定的VPN用户,而PPTP比较适合移动的用户。
3.加密技术
数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非受权者不能了解被保护信息的内容。加密算法有用于Windows95的 RC4、用于IPSec的DES和三次DES。RC4虽然强度比较弱,但是保护免于非专业人士的攻击已经足够了;DES和三次DES强度比较高,可用于敏感的商业信息。
加密技术可以在协议栈的任意层进行;可以对数据或报文头进行加密。在网络层中的加密标准是IPSec。网络层加密实现的最安全方法是在主机的端到端进行。另一个选择是“隧道模式”:加密只在路由器中进行,而终端与第一跳路由之间不加密。这种方法不太安全,因为数据从终端系统到第一条路由时可能被截取而危及数据安全。终端到终端的加密方案中,VPN安全粒度达到个人终端系统的标准;而“隧道模式”方案,VPN安全粒度只达到子网标准。在链路层中,目前还没有统一的加密标准,因此所有链路层加密方案基本上是生产厂家自己设计的,需要特别的加密硬件。
4.QoS技术
通过隧道技术和加密技术,已经能够建立起一个具有安全性、互操作性的VPN。但是该VPN性能上不稳定,管理上不能满足企业的要求,这就要加入QoS技术。实行QoS应该在主机网络中,即VPN所建立的隧道这一段,这样才能建立一条性能符合用户要求的隧道。
不同的应用对网络通信有不同的要求,这些要求可用如下参数给予体现:
·带宽:网络提供给用户的传输率;
·反应时间:用户所能容忍的数据报传递延时;
·抖动:延时的变化;
·丢失率:数据包丢失的比率。
网络资源是有限的,有时用户要求的网络资源得不到满足、通过QoS机制对用户的网络资源分配进行控制以满足应用的需求。QoS机制具有通信处理机制以及供应(Provisioning)和配置(Configuration)机制。通信处理机制包括802.1p、区分服务(differentiatedserviceper-hop-behaviors,DiffServ)、综合服务(integratedservices,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、子网带宽管理(subnetbandwidthmanager,M)、政策机制和协议以及管理工具和协议。这里供应机制指的是比较静态的、比较长期的管理任务,如:网络设备的选择、网络设备的更新、接口添加删除、拓扑结构的改变等等。而配置机制指的是比较动态、比较短期的管理任务,如:流量处理的参数。
RSVP是第三层协议,它独立于各种的网络媒介。因此,RSVP往往被认为介于应用层(或操作系统)与特定网络媒介QoS机制之间的一个抽象层。RSVP 有两个重要的消息:PATH消息,从发送者到接收者;RESV消息,从接收者到始发者。RSVP消息包含如下信息:①网络如何识别一个会话流(分类信息);②描述会话流的定量参数(如数据率);③要求网络为会话流提供的服务类型;④政策信息(如用户标识)。RSVP的工作流程如下:
·会话发送者首先发送PATH消息,沿途的设备若支持RSVP则进行处理,否则继续发送;
·设备若能满足资源要求,并且符合本地管理政策的话,则进行资源分配,PATH消息继续发送,否则向发送者发送拒绝消息;
·会话接收者若对发送者要求的会话流认同,则发送RESV消息,否则发送拒绝消息;
·当发送者收到RESV消息时,表示可以进行会话,否则表示失败。
M是对RSVP功能的加强,扩大了对共享网络的利用。在共享子网或LAN中包含大量交换机和网络集线器,因此标准的RSVP对资源不能充分利用。支持 RSVP的主机和路由器同意或拒绝会话流,是基于它们个人有效的资源而不是基于全局有效的共享资源。结果,共享子网的RSVP请求导致局部资源的负载过重。M可以解决这个问题:协调智能设备。包括:具有M能力的主机、路由器以及交换机。这些设备自动运行一选举协议,选出最合适的设备作为DM (designatedM)。当交换机参与选举时,它们会根据第二层的拓扑结构对子网进行分割。主机和路由器发现最近的DM并把RSVP消息发送给它。然后,DM查看所有消息来影响资源的分配并提供允许进入控制机制。
网络管理员基于一定的政策进行QoS机制配置。政策组成部分包括:政策数据,如用户名;有权使用的网络资源;政策决定点(policydecsionpoint,PDP);政策加强点(policyenforcement point,PEP)以及它们之间的协议。传统的由上而下(TopDown)的政策协议包括简单网络管理协议(Simple Network Management Protocol,SNMP)、命令行接口(Command Line Interface,CLI)、命令开放协议服务(Command Open Protocol Services,COPS)等。这些QoS机制相互作用使网络资源得到最大化利用,同时又向用户提供了一个性能良好的网络服务。
四、结束语
基于公共网的VPN通过隧道技术、数据加密技术以及QoS机制,使得企业能够降低成本、提高效率、增强安全性。VPN产品从第一代:VPN路由器、交换机,发展到第二代的VPN集中器,性能不断得到提高。在网络时代,企业发展取决于是否最大限度地利用网络。VPN将是企业的最终选择。
[ 本帖最后由 triazole 于 2007-5-9 08:52 编辑 ]