3.3.4 DMVPN概述
在开始讨论DMVPN之前,先复习一下GRE隧道的知识是个不错的主意,我们曾在前面3.2节中的“数据路径虚拟化——逐跳寻径或端到端寻径”小节中探讨过该问题。还记得GRE隧道天生的P2P特性给设计和部署的可扩展能力带来的挑战吗,多点GRE(mGRE)隧道突破了这一限制。例如,在集中星型拓扑结构中,在中心路由器上配置单个多点GRE隧道接口的工作取代了配置多个P2P GRE隧道接口的工作。
与P2P GRE隧道不同,当使用单个多点GRE隧道时,中心路由器的路由地址表会将所有spoke路由前缀映射到mGRE隧道接口,所以中心路由器只需一个单独的接口就能映射到所有的spoke路由器站点。不过通过单个mGRE隧道接口可以访问到多个spoke(隧道终点),因此在中心路由器需要有相应机制保证能够将mGRE隧道接口转发的包传送给正确的spoke,下一跳解析协议(Next Hop Resolution Protocol,NHRP)就是这样一类协议。
NHRP是L2层地址解析协议和缓存区,类似ARP和帧中继逆向ARP方法。当一个隧道接口是mGRE模式,NHRP将告知mGRE处理程序应该将包发给哪个地址正确的隧道(或者是spoke)。NHRP是一个客户/服务器型协议,分支路由是其中的客户,而中心路由则充当服务器角色。中心路由拥有一个NHRP数据库,登记了每个分支路由真实的物理地址(作为GRE隧道的目的地)和被赋给分支隧道接口的逻辑地址的关联,当一个分支首次连接到中心路由器时,将向中心路由器传送一个NHRP登记信息。分支会要求查看NHRP数据库以解析目标分支的真实地址以建立分支间的动态连接。
图3-13展示了一个在IP WAN之上的DMVPN样例。中心路由器与分支路由器之间建立了永久性的mGRE隧道,而分支路由之间的直接隧道则是动态组建的。NHRP解析请求和回应被应用在动态探测分支到分支间的消息映射,这种方式允许分支可以越过中心路由与其他分支建立直接连接。DMVPN能够支持一个全互联网络而无需提前探知所有连接的路径,这类网络被称为动态全网连接网络。在这样的网络中,要求一个分支能够支持与中心路由之间的有限隧道,同时能够支持与当前处于活动状态的其他分支的任意连接,如果一个分支不能够再支持更多的分支到分支隧道,它仍然可以通过分支到中心隧道传送数据,因此即便是某个首选的下一条路径已不可得,仍然能够保持连接畅通。
图 3-13 DMVPN样例
mGRE中心路由和NHRP机制仅是DMVPN的一部分,一个完全的DMVPN实现还包括涉及Intenet安全协议(Internet Protocol Security,IPSec)的元素封装机制。代码清单3.2探讨了一个简单DMVPN IPSec样例的配置模板。由于使用了DMVPN,因此无法提前预知哪个路由会建立到特定分支或中心路由的隧道,所以在Internet密钥交换(Internet Key Exchange,IKE)安全关联时使用了一个地址通配符(0.0.0.0 0.0.0.0),允许任意的IP地址初始化新到的IPSec会话。
代码清单3.2 DMVPN IPSec配置模板
代码清单3.3解释了一个DMVPN中心路由样例的配置模板(与图3-13无关)。“ip nhrp network-id<value>”命令激活mGRE接口的NHRP,此处value的值必须匹配某一个指定分支。“ip nhrp map multicast dynamic”命令确保在mGRE隧道上动态路由能与使用多点传送包的IGP一起正确工作。
代码清单3.3 DMVPN hub配置模板
代码清单3.4解释了一个DMVPN分支路由样例的配置模板(与图3-13无关)。分支到分支隧道可以随时根据需要建立在mGRE接口之上。因此,包可以越过中心路由直接通过直接的分支到分支隧道传输。对于分支路由器,增加了“ip nhrp nhs”命令以定义NHRP服务器地址(例如中心路由),分支发送NHRP登记信息的频率默认是2400秒,可以使用“ship nhrp registration timeout”命令来减慢至最小60秒。这样当与中心路由间的连接被破坏需恢复时,确保重登记时间更短。
代码清单3.4 DMVPN spoke配置模板
其他的考虑还包括:
·GRE隧道带宽:一个GRE隧道的默认带宽是9Kbps。因此,推荐改变GRE隧道接口的带宽配置,使其与实际链路的带宽值相吻合。
·IP最大传输单元(Maximum Transmission Unit,MTU):MTU建议值是1400字节,这个传输量能够同时GRE和IPSec满负载的需求,避免了要截断包。
总而言之,DMVPN是:
·通过mGRE模式完全克服了中心路由的复杂性,只需要配置单独的多点隧道接口。借助mGRE只需单个子网就可以将中心路由与所有的分支相连。
·借助NHRP降低了全互联网络预先配置的要求。
·通过IP WAN和IPSec,提供了数据集成性和机密性。