1 概述
在现有的ip VPN组网方案中,一般采用GRE隧道、L2TP、IPSec等方式。但是这些方案都存在一个弊端,就是必须是按照事先的配置进行组网,并且要完成一个全联通的网络时(如1.1.1.1 1.1)a.图1所示),结构和配置就变得复杂。由于要建立一对一的连接,所以当有 N 个网络设备进行互联时,网络的就必须建立N×(N-1) / 2个连接,这样不仅造成了组网和配置的复杂,而且配置时必须知道对端设备的基本信息,试想假如其中有一个节点的设备修改了配置,那么其他所有节点都必须针对这台设备修改本地配置,这给维护增加了很大的成本。
图1 传统VPN方式下的全联通
Quidway SecPathVPN安全网关(以下简称网关)可以提供动态VPN的解决方案,能有效地解决以上传统VPN的缺陷。动态VPN采用了Client和Server的方式,任意一个Client设备只需要知道Server的信息就能够和其他Client设备进行互通,并且这种互通是自动的,不需要任何人为的干预。企业的总部放置一台网关作为Server,其他设备完全就可以随时通过VPN互联,并且每个属于该VPN内的Client设备都能够互相访问(如图2所示)。通过这种方案进行VPN的组网不尽降低了维护成本,而且使得网络应用更加灵活,加上动态VPN提供的认证和加密特性完全保证了用户的网络安全。
图2 动态VPN组网方式
2 动态VPN的基本原理和要害技术
2.1 动态VPN的基本原理
动态VPN采用了Client / Server的方式,一台网关作为Server,其他的网关作为Client。每个Client都需要到Server进行注册,注册成功之后Client就可以互相通讯了。Server在一个VPN当中的主要任务就是获得Client的注册信息,当有一个Client需要访问另一个Client时通知该Client所要到达目的地的真正地址。
动态VPN采用了隧道技术,即在每对互相通讯的网关上都自动打通一条隧道,所有的数据都在隧道中传输,当该隧道没有数据流量的时候又会自动切断该隧道以节约资源或成本。目前动态VPN支持两种隧道方式,即GRE隧道和UDP隧道。GRE隧道方式属于标准协议的隧道;而UDP隧道方式是华为3Com公司的专利方式,这种方式能够很好的解决穿透NAT/防火墙的问题,这是GRE方式所不及的。
2.2 动态VPN的要害技术
2.2.1 穿透NAT/防火墙技术
动态VPN采用UDP方式建立隧道,使用这种技术建立隧道的最大好处就是能够穿透NAT/防火墙。传统的GRE方式建立隧道,由于GRE Tunnel是基于三层IP建立隧道,所以不支持PAT端口方式的一对多的地址转换,就需要大量的公网IP地址。动态VPN采用UDP方式建立隧道就完全避免了这种问题的发生,当网关使用UDP连接建立隧道,可以支持地址和端口的应用,当隧道通过NAT/防火墙的时候就会转换为对应的公网IP地址和相应的端口号,从而完成数据的穿越NAT网关。
2.2.2 动态IP地址构建VPN技术
传统的GRE方式建立隧道就必须知道对端设备的IP地址,一旦有一台设备IP地址更换,那其他相关设备就全部都需要更改配置;同时由于传统的GRE隧道建立必须知道对方的IP地址,这样就使得动态IP地址的设备就无法正常建链。
现在的宽带不断的推广应用,假如中小企业使用xDSL或者以太网接入方式的话要比以前专线方式接入节省大量的线路租用费用,但是一般的xDSL接入或者以太网接入使用的是动态的IP地址,这样就出现了一个问题,如何使用动态的IP地址来建立企业自己的VPN网络?显然传统的VPN构建方式已经满足不了现在的应用了,为此华为3Com公司的Quidway SecPath VPN安全网关,推出适合动态IP地址构建企业VPN的动态VPN技术和解决方案。
动态VPN在同一个VPN内部构建隧道不需要知道其他Client网关的任何信息,只需要配置自己的信息并指定相应的Server就完成了。所以使用动态VPN时用户只需配置一次,不管其他Client设备怎么更改也都能够进行互相通讯,同时用户也不用关心自己当前使用的IP地址是多少,更加适应现在动态IP地址的使用方式。
为了能够让用户使用更加方便、为了让更多的用户能够享受华为3Com动态VPN的优点、同时也为了用户降低组网成本,华为3Com公司还推出基于PC的客户端软件Quidway SecPoint,这样用户能够在外出时只需通过PC进行ADSL或者普通拨号方式就能够和公司的其他用户进行连接。
下图描述一个公司的VPN网络,既有固定IP地址用户(总部固定网络),也有动态IP地址用户(分支机构ADSL拨号和SOHO用户普通拨号)。假如这时有公司内部人员出差需要访问公司网络资源,那么只需要该用户拨号上网,到公司Server上注册,然后就可以访问任何用户(包括固定IP地址用户和其他动态IP地址用户设备)。在下图中以红色虚线表示。
图3 移动拨号用户访问整个VPN网络
2.2.3自动建立隧道技术
使用传统GRE方式构建VPN,假如有N台网关需要建立一个全联通的网络的话就需要在每台网关上创建N-1个Tunnel接口,使每个Tunnel接口对应一台对端设备,并且需要配置N-1个对端地址,整个网络一共需要配置N×(N-1)个Tunnel接口,这个工作量对于一个中型网络来说简直就是不可想象的工作量。不光如此,每当更改一台设备的IP地址时,其他N-1个设备都需要重新更改配置,这样给维护带来了很大的成本,并且也轻易导致人为的错误。
当人为操作会给整个通讯网络带来一定的风险的时候我们就需要一种自动方式来维护网络的正常运行。动态VPN在两个网关之间建立隧道完全是自动建立的,每台作为Client的网关只需配置自己相关的东西,如本地的IP地址、UDP方式下使用的端口号、所属的VPN和Server等;不需要知道其他Client端的任何信息就可以互相通讯。在这种方式下会比传统的GRE隧道方式减少大部分的工作量,假如是N台网关构建VPN网络的话,只需配置N台设备自己的信息就可以了,要比传统的方式减少N×(N-2)的工作量,并且很大程度上减少了人为错误的发生。
2.2.4 认证加密技术
VPN的主要特点就是在公共网络构建一个属于企业自己的专用网络,使用了VPN技术之后企业内部的设备都在一个VPN网络内部,不管各个分支机构所处何地都像是公司内部网络,可以直接进行访问和数据传输。但是由于是在公网上传输数据,那么安全特性就显得尤为重要了,没有一定的安全机制,企业内部的数据在公网上就会被其他人所截取,企业内部的机器也将受到网络上其他设备的攻击,这样给企业将带来灾难性后果。
动态VPN使用了认证、加密等技术,最大程度地保证用户数据的安全,用户网络的安全。首先,动态VPN提供了注册认证机制,Client端设备要想加入到某个特定的动态VPN内,必须首先经过Server的认证,只有通过Server认证的Client设备才能够接入企业的VPN网络,这样保证了非授权用户非法登录,同时也阻止了人为的破坏。其次,Client和Client之间建立隧道时也必须经过认证,就是说必须两个Client都经过同一个Server的认证才答应建立隧道,这样就可以防止公网上非法用户的入侵。另外,在使用动态VPN的接口上可以启用IPSec进行加密,保证用户在公网上传输的数据的安全可靠。有了上述这些措施之后,动态VPN网络内部就是一个相对安全的区域,企业可以放心的在VPN内传输自己的数据了。
2.2.5 支持多个VPN域
为了能够使得用户能够最大限度的使用网络设备资源,降低用户的网络构建成本,动态VPN答应用户在一台网关上支持多个VPN域。即一台网关不仅可以属于VPN A,也可以属于VPN B,并且可以在VPN A中作为Client设备,同时还可以在VPN B中作为Server设备使用。这样大大提高了组网的灵活性,也可以更加充分的使用网络设备资源,减少了用户的投资。
图4 一台网关支持多个VPN域
3 总结
由于传统的VPN技术在构建网络的时候越来越显得烦杂,对移动的用户或者动态IP地址的用户支持显得力不从心,使得传统方式构建的企业级的VPN网络处于尴尬境地。对于企业来说,需要能够采用一种新的简单的方式,既能够满足跨不同地域的固定IP地址用户互相访问,也同时能够满足移动的动态IP地址用户的企业网络访问。对于运营商来说,也希望能够借助目前自己的网络来给企业用户构建VPN网络,满足跨地域企业组网需求。但是目前提供的组网方式对于中小型企业来说是一种价格高昂花费,使得好多中小型企业望而却步。
随着IP宽带网络的发展,越来越多的企业从原来的专线方式投到了宽带接入的怀抱,非凡是近期xDSL接入的兴起,更多的中小型企业选择xDSL作为公司接入网络的一种首选方案。但随之而来的问题也渐渐暴露,使用一般的xDSL接入方式虽然价格低廉,但是和普通拨号一样是非固定的IP地址,甚至是某个ISP提供的私网IP地址,这些问题导致用户无法按照传统的方式来建立VPN网络。
华为3Com公司提出的动态VPN解决方案充分考虑了企业用户的需求,同时也考虑了运营商的利益。动态VPN不但使动态IP地址之间建立VPN成为可能,而且使用户付出较低的成本就可以享受宽带VPN带来的方便,同时动态VPN使用的安全特性能够让用户对VPN的数据更加安心。