基于DMVPN技术的广域网设计和实现摘要:本文首先介绍了传统的IPSECVPN技术,剖析了传统IPSECVPN存在的问题和不足之处,由此引入并深入探讨了DMVPN技术原理以及它在构建广域网络方面的优势,结合作者在某跨国公司的实践,采用DMVPN技术设计并实现了一个双中心星形拓扑结构的广域网。关键词:广域网,IPSECVPN,DMVPN,设计和实现引言IPSecVPN是一种以公共网络如因特网为基础,通过IPSec数据加密和认证等技术,在位于不同区域的两个局域网之间建立的安全通信网络。作为一种业界流行的企业广域网解决方案,与使用MPLSVPN或者帧中继专线构建的广域网相比,IPSecVPN可为企业节约大量的通讯费用。传统的IPSec技术适合建立点到点的VPN网络,多个具有相同站点的点对点IPSecVPN网络,可构成以总部为中心的星型拓扑结构网络。大部分企业的IT服务器和数据库资源都集中在总部的数据中心,所以星形拓扑结构网络可满足多数企业应用的需要。当然,星形拓扑结构网络也有一定的缺陷,如果两个分支站点之间相互通信,则要通过中心站点,这样就造成了较大的网络时延,对中心站点的网络带宽资源也造成了不必要的浪费,一个极端的例子是位于同一个城市的两个分支站点,需要绕道通过异地的中心站点来进行通信,尤其是对于语音通信来说,分支站点之间的网络时延往往变得不可忍受。DMVPN技术的出现,使得我们可以构建一种具有全连接拓扑结构的网络,在分支站点之间可直接进行IPSEC通信。1传统的IPSecVPN网络1.1IPSec安全协议框架IPSec工作在OSI参考模型的第三层:网络层。IPSec是一个安全协议框架,它的功能是进行数据源认证、保护数据的完整性和私密性,确保数据不是来源于第三方攻击者,确保数据不会被攻击者截获、读取和更改。IPSec协议总共有三个:因特网密钥交换协议IKE、安全封装协议ESP和认证头协议AH。其中IKE用于IPSec通信对等体安全联盟SA之间的认证和协商,确定对等体之间数据通信所采用的加密算法(DES或3DES)、Hash算法(SHA-1或MD5)和密钥算法等,用来保证密钥和数据的安全传送和交换。ESP和AH提供数据源认证、数据完整性校验和报文防重放功能,但AH仅支持明文传送,不支持对IP报文的加密操作,所以较少被采用;而ESP可支持对数据报文进行加密,防止数据在传送过程中被拦截和被破解。IPSec本身具有隧道功能来构建VPN,也可与GRE隧道协议结合来构建VPN网络。1.2传统的IPSECVPN网络传统的IPSecVPN网络的特点是(1)利用访问控制列表ACL来定义哪些数据是需要被IPSec所保护的数据流,只有当数据报文与所定义的访问控制列表ACL相匹配时,才会建立IPSec加密隧道,每增加一个分支站点网络连接,都必须在中心站点上配置数据源地址、目的地址等信息,当网络规模越大,中心站点设备的管理和维护变得非常困难。(2)在建立IPSecVPN之前,需要知道对端的公网IP地址,目前很多分支站点使用DSL接入因特网,采用DHCP动态获得IP地址,每次上线时所获得的IP地址不是固定不变的,所以中心路由器无法根据该地址信息进行配置,从而限制了IPSec的使用。(3)由于OSPF、RIP、EIGRP动态路由协议都通过组播或广播报文进行路由表的更新,而IPSec不支持对组播和广播数据报文进行加密操作,这样就无法使用动态路由协议。1.3基于GRE的IPSecVPN网络1通用路由封装协议GRE是一种位于网络层的协议,它提供了将一种协议例如IP或IPX的报文封装在另一种协议例如IP报文中的机制,使报文能够在异种协议网络中传输,而异种报文传输的通道称为隧道。IPSec不支持IP多播和广播,但我们可以把多播/广播报文封装在GRE报文中,然后采用IPSec进行加密,这样动态路由协议的路由更新报文就可以在IPSecVPN网络上进行传送。与传统的IPSec相比,基于GRE的IPSecVPN可以使用EIGRP或OSPF等动态路由协议进行路由更新,因此配置较为简单方便,但是由于点对点GRE隧道需要在通信双方设备上静态指定隧道源地址和目标地址,当增加新的站点时,仍需要在中心站点上增加相应的配置,由此带来的网络维护工作量仍然很大。2.DMVPN技术原理为了解决传统IPSecVPN不利于大规模部署和维护的缺陷,CISCO公司提出了动态多点虚拟专网DMVPN技术,与传统IPSecVPN一样,D...