CCIE
当前位置:网站首页>CCIE
基于IPSEC的高扩展性技术——DMVPN
发布日期:2019-06-10 13:49:24 发布者:
    类似于思科DMVPN技术的,其他厂商的 H3C的叫DVPN,HW的叫DSVPN,Juniper的叫 AC-vpn(Netscreen支持) ,SRX的话只支持NHTB,不过效果比DMVPN差很多。

    Cisco DMVPN是为了解决大型的企业的需求而出现的。基于传统的IPsec VPN的缺点。

    1、如果基于Hub-spoke的模型,就像上面的图,如果上海的分支需要访问长沙分支,那么就必须经过总部到达,这样一样经过总部就需要解密然后加密发送出去,center端的路由器负担非常重。而且延迟也大,对于一些敏感的流量是不允许的。

    2、如果实现full mash的话,那么就必须每两个路由器之间建立一个IPsec通道,这对于配置跟管理都是非常繁琐的,并且必须依赖于固定IP地址,在如今IPv4的网络中,固定IP越来越难获得了。

    Cisco DMVPN就是解决这个问题,它主要为大型企业网络提供的解决方案,扩展性强。它由几个协议共同完成

    我们都知道GRE是一个典型的VPN隧道,它实现一个点对点的连接,如果需要与另外的节点建立tunnel,那么就需要建立多个GRE才能完成。DMVPN使用的是Mutiple Gre 动态多点GRE,非常类似于我们的帧中继,一个tunnel对应多个分支的tunnel, 但是它并不知道对方的地址,它的建立必须依赖于NHRP。

    NHRP:下一跳解析协议,它是一个C/S模型,我们通常把S放在Hub端,而client为spoke,它的工作原理是当client启动后,就会向server发送一个注册信息,这个注册信息包含这个tunnel地址和公网IP,所以在MGRE与NHRP配合的情况下,使得除了server端必须是固定IP地址以外,其余的client可以是动态的。这样server就会知道所有client的公网地址,从而实现了DMVPN。

    DMVPN技术总体实现:client通过NHRP自动向server端注册自己的地址,这样一来,server那就有了所有的动态地址信息,这样无论是建立VPN还是Spoke之间通信都不成问题了,当一个Spoke想发送数据到另外一个Spoke的时候,它会先向server端询问Spoke的公网地址并把数据包发送出去,server收到这个数据包和查询包,会先代为转发,并且回复这个查询。当Spoke端收到这个查询后得到对方的公网地址,建立VPN隧道,但是这个隧道是有时间限制的,默认为2个小时。

    原理弄懂了的话,就很容易理解了。

微信