什么是DMVPN
DMVPN是一个动态多点VPN,它的技术背景是这样的:VPN 的建立模型通常有两种,分别是Hub-Spoke (星型结构) 和Full-Mesh (网状结构)。以上两种模式均存在较大的弊端:
星型结构:
中心站点 (Hub) 配置量大 , 资源消耗大 , 因为它需要同每一 个远端分支站点建立 IPSec VPN, 可能同时维护多套 SA。
中心站点扩展性不好 , 因为每当一个新的远端分支站点加入时 , 中心站点都需要为新加入的远端分支站点提供对应配 置来建立 IPSec VPN。
IPSec VPN 建立成功后 , 从远端分支站点访问另一个远端分支站点时 , 数据包都必须要经过中心站点 , 因此存在加密。
解密→加密→解密的过程 , 导致延时增加。
分支与分支之间的数据通信会严重占用中心站点的带宽。
网状结构:
所有站点的配置量,资源消耗都很大 , 每两个站点直接就需存在一套对应的 SA。
扩展性很差 , 因为每当增加一个新的站点 , 则全网所有站点都需要进行调整。
在建立过程中 , 要求每个站点都必须要提供固定的公网地址。
针对以上两种模型的弊端 , Cisco 提出了私有的高扩展性的VPN 解决方案——DMVPN。
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml/wps7A62.tmp.jpg
DMVPN的组成部分
1. MGRE (multipoint GRE)
2. NHRP (Next Hop Resolution Protocol)
3. Dynamic Routing Protocol
4. IPSec VPN
NHRP:
一个二层的客户-服务器解析协议,用于映射隧道地址(虚拟)到一个NBMA地址(物理)。
NHRP的功能非常类似于ARP(映射IP(逻辑)到MAC(物理)和Reverse ARP(映射IP(逻辑)到DLCI(物理))。
就想ARP一样,NHRP支持静态映射和动态映射,Hub路由器维护一个所有Spoke隧道地址(虚拟)到公网地址(物理)的数据库。
档Spoke启动以后,它注册自己的公网地址到Hub,并且询问其他的目的Spoke的公网地址,这样Spoke之间就能直接建立隧道。
Dynamic Routing Protocol:
一个协议用来宣告私有网络到DMVPN网络,IP路由更新和IP组播数据包仅仅只在Hub-to-spoke隧道中进行传输,单播数据包既能穿越hub-to-spoke隧道也能穿越直接动态建立的spoke-to-spoke隧道。
路由比邻只在hub-to-spoke隧道上建立,spoke-to-spoke的路由逻辑由NHRP来执行。路由协议并不监控spoke-to-spoke隧道的状态。
支持的动态路由协议有:RIP、EIGRP、OSPF、ODR和BGP
IPSec VPN:
DMVPN 依然是一种GRE over IPSec技术,也是典型的传输模式。
原始数据包:
源IP:192.168.1.1 目的IP:192.168.2.1 ICMP DATA
GRE封装后:
源IP:202.100.1.1 目的IP:202.100.1.2 GRE 源IP:192.168.1.1 目的IP:192.168.2.1 ICMP DATA
DMVPN (传输模式):
源IP:202.100.1.1 目的IP:202.100.1.2 ESP GRE 源IP:192.168.1.1 目的IP:192.168.2.1 ICMP DATA
技术特点:由客户自行配置维护,不需要ISP来管理
技术缺点:由于用封装技术穿越公共网络,所以稳定性不高
作用:解决在公共网络上多站点(私有网络)的互通问题
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml/wps7A73.tmp.jpg
实验
实验模型:(模拟现实环境)实际的路由拓扑图示:
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml/wps7A74.tmp.jpg
拓扑说明:
我们用R1代表总公司的网络部分,背后连接着很多的内部私有网络;
我们用R3与R4代表分公司的网络部分,背后也有很多的私有网络,R2为ISP。
我们现在就要用DMVPN来解决各个公司站点的私有网络穿越公有网络部分来通信问题。
我们用这种模拟图来标识远距离的一家公司,R1为总公司,SP为在不同地区的俩个分公司。
起先,这些公司都可以连接到公共网络访问互联网,我们所需要解决的是如何让公司内部的人员互相通信——也就是说hub到站点和站点到站点。我们部署DMVPN后的网络拓扑图,在逻辑的被划分为这样的拓扑图:
file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml/wps7A75.tmp.jpg
注意:其实从R1接出来的看作是一根线,相当于是一根接口连接俩个终端。
图中虚线是用MGRE技术与分公司建立虚拟的专线,先阶段的网络状况有很多问题需要解决:
总公司与分公司的私有网络并不能通信分公司到分公司的网络问题。
VPN技术是一种封装技术,所以,可以借助MGRE来解决DMVPN的隧道封装技术,然后用NHRP来解决站点之间的通信问题。
文章来源:内容来自CSDN,由本号梳理成文。因觉优质,特此分享,侵删。
进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓
群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加老杨微信(spotoa),邀你进群
|