第七章:动态多点×××DM×××

第六章我们讨论了IPSec ×××的高可用性技术。从第七章开始,我们要学习Cisco安全最重要的四大×××技术。这四大×××分别是第七章的DM×××,第八章的GET×××,第九章的EZ×××和第十一章的SSL×××。本章要介绍的DM×××是一个高扩展性的IPSec ×××技术,什么叫做高扩展性呢?也就是适合企业级的大规模部署,例如:一个企业有几百个分支机构的场合,对于一个大型连锁企业而言,这种规模并不算夸张。那么DM×××是高扩展性的IPSec ×××,那么传统技术的IPSec ×××又有什么高扩展性的问题呢?我们就从传统IPSec ×××的两种连接拓扑谈起,说说它们有什么高扩展性的问题。

图7-1 传统IPSec ×××星形拓扑

 



 

星形拓扑IPSec ×××有如下问题:

1. 中心站点配置量大:

不管是经典配置还是GRE Over IPSec或者SVI,多一个分支站点就要多一份配置,如果分支站点数量过多,配置就会变成沉重的负担,并且不容易管理。

2. 分支站点间流量延时较大:

因为一个分支站点的数据要抵达另外一个分支站点,首先需要加密数据送往中心,数据在中心站点被第一次解密,查看路由判断出隧道,然后在中心站点被第二次加密,并且送往目的站点。目的站点收到数据后,再进行第二次解密。由于数据被两次加解密,所以大大增加了延时。

3. 分支站点间流量占用中心带宽

星形拓扑分支站点间的所有流量,都需要经过中心站点进行转发。如果分支站点间流量过大,会大大消耗中心站点的带宽。

综上所述,星形拓扑的传统IPSec ×××,很明显不是一个高扩展性的设计,不适合在有大量分支站点的网络中部署IPSec ×××。

图7-2 传统IPSec ×××网状模型

 



 

网状拓扑IPSec ×××有如下问题:

1. 中心与分支站点配置量大:

不管是经典配置还是GRE Over IPSec或者SVI,多一个分支站点,所有的站点都要多一份配置,如果在分支站点数量过多的网络,使用网状拓扑的IPSec ×××,配置将是一场噩梦。

2. 分支站点需要维护过多IPSec SA:

网状拓扑的IPSec ×××,分支站点要和每一个其它站点建立IPSec SA,如果站点过多,每一个分支站点就会维护很多的IPSec SA,一般分支站点都使用低端路由器产品,例如:18或者28系列路由器,维护过多的IPSec SA会让这些设备的内存和CPU不堪重负。

3. 每一个分支站点需要固定IP地址

网状拓扑的IPSec ×××,因为两两站点之间需要建立IPSec ×××,所以每一个分支站点都需要有固定IP地址。很明显这在工程中很难实现,因为大多数分支机构可能都是通过ADSL这种廉价的接入技术,并且动态获取互联网地址。

由于传统IPSec ×××星形和网状拓扑存在高扩展性问题,Cisco提出了自己的高扩展性IPSec ×××技术,这个技术就叫做Dynamic Multipoint ×××(DM×××)。DM×××相比于传统的IPSec ×××技术有如下几个优点:

1. 简单的星形拓扑配置,提供了虚拟网状连通性。

2. 分支站点支持动态获取地址。

3. 增加新的分支站点,无需更改中心站点配置。

4. 分支站点到分支站点动态产生隧道。

要了解DM×××为什么能够提供上述的四大特点,我们首先需要了解组成DM×××这个解决方案的四大协议。下面我们就对这四大协议进行详细的介绍。

协议一:Multiple GREMGRE---动态多点GRE

我们在第二章学习过GRE技术,当时介绍的是点对点GRE。MGRE是一种特殊的GRE技术,非常类似于多点帧中继技术。是一个典型NBMA网络。我们可以通过图7-3的拓扑,来了解一下MGRE。

图7-3 MGRE拓扑

 



 

可以看到所有站点的MGRE隧道接口,都处于一个网段(172.16.1.0/24)。顾名思义多点GRE。也就是说任何一个分支站点不仅仅能够和中心站点进行通讯,而且还能够直接和其它分支站点进行通讯。这其实就说明了DM×××的第一个优点,虚拟网状连通性。

协议二: Next Hop Resolution ProtocolNHRP---下一跳解析协议

如果你认为配置了MGRE隧道,所有站点就能够直接进行通讯,那就大错而特错了。我给大家举两个例子来说明这个问题,第一个例子就是以太网,在以太网,IP地址为逻辑地址,MAC地址才是物理地址。如果一台设备只知道对方的逻辑地址,是不能进行通讯的。一定需要知道对方的物理地址,才能够向网络发送数据包。大名鼎鼎的ARP技术就是完成在以太网内,动态的或者手动的映射逻辑地址到物理地址。第二个例子就是和MGRE拓扑非常类似的多点帧中继网络,每一个帧中继接口都有一个逻辑的IP地址,但是要访问对方的逻辑IP必须要知道他的物理地址才行。在帧中继网络中物理地址就是DLCI,我们可以通过手动帧中继映射,或者动态反向ARP技术,映射IP地址到DLCI。同样的在MGRE网络中,也需要影射逻辑地址到物理地址,MGRE隧道的虚拟地址就是逻辑地址,站点获取的公网IP地址,就是物理地址。下一跳解析协议(NHRP)就是为了实现这个映射而设计的,首先每一个分支站点都需要手动影射中心站点的虚拟IP到公网IP,所以中心站点必须拥有固定IP地址。分支站点有了这个手动映射就能够和中心站点取得联系,并且通过NHRP协议,注册这个分支站点的隧道虚拟IP到动态获取的公网IP,一旦注册成功,中心站点就有所有分支站点的NHRP影射。这样中心站点也能够访问所有注册后的分支站点。因为注册是动态的,所以分支站点支持动态获取地址。当某一分支站点希望访问另外一个分支站点时,它首先会使用NHRP协议询问中心站点(NHRP的服务器),目的分支站点隧道虚拟IP所对应的公网IP,中心站点回送NHRP影射给发起方,发起方有了目的站点的NHRP影射以后,就能够通过MGRE直接发起隧道访问目的站点,这个流量是两个分支站点间直接发起的,并不占用中心站点资源。所以从这个角度来看,DM×××技术是高扩展性的技术。

协议三:动态路由协议

动态路由协议的主要目的是宣告隧道接口网络和站点身后私有网络。注意绝大部分动态路由协议都使用组播来传输路由更新信息。但是MGRE隧道是典型的NBMA网络,这种网络类型不支持直接承载组播信息,所以我们需要配置组播映射,把组播转换成为单播。因为只有中心站点才拥有固定IP地址,所以默认只有能够配置分支站点和中心站点之间的组播映射。由于组播映射的这个特点,所以动态路由协议的邻居关系,只会出现在分支站点和中心站点之间,分支站点之间由于不存在组播映射,并且分支站点间的隧道是动态建立的,所以不存在动态路由协议的邻居关系。MGRE支持的路由协议有RIP,EIGRP,OSPF,ODR和BGP。

协议四:IPSec技术

其实DM×××也可以理解成为MGRE over IPSec,IPSec其实就是对MGRE流量进行加密。虽然MGRE是一种特殊的GRE技术,但是协议号依然为GRE的47。所以配置和GRE over IPSec一般无二。图7-4为DM×××数据封装示意图,通过此图,说明DM×××和GRE over IPSec一样也应该采取传输模式进行封装。

图7-4 DM×××数据封装示意图