定义: 动态多点VPN
技术组成: MGRE+NHRP+IPSEC

  • MGRE——解决隧道的封装技术
  • NHRP——解决多点网络的通信技术
  • IPSEC——解决专线的加密技术

技术特点:由客户自行配置维护,不需要ISP来管理
技术缺点:由于用封装技术穿越公共网络,所以稳定性不高
作用:解决在公共网络上多站点(私有网络)的互通问题

实验模型:(模拟现实环境)
1、实际的路由拓扑图示:

拓扑说明:
我们用R1代表总公司的网络部分,背后连接着很多的内部私有网络;我们用R3与R4代表分公司的网络部分,背后也有很多的私有网络,R2为ISP。我们现在就要用DMVPN来解决各个公司站点的私有网络穿越公有网络部分来通信问题。

我们用这种模拟图来标识远距离的一家公司,R1为总公司,SP为在不同地区的俩个分公司。起先这些公司都可以连接到公共网络访问互联网,我们所需要解决的是如何让公司内部的人员互相通信——也就是说hub到站点和站点到站点。
我们部署DMVPN后的网络拓扑图在逻辑的被划分为这样的拓扑图:

注意:其实从R1接出来的看作是一根线,相当于是一根接口连接俩个终端。

图中虚线是用MGRE技术与分公司建立虚拟的专线,先阶段的网络状况有很多问题需要解决:

  • 总公司与分公司的私有网络并不能通信
  • 分公司到分公司的网络问题

VPN技术是一种封装技术,我们借助MGRE来解决DMVPN的隧道封装技术;
然后用NHRP来解决站点之间的通信问题。

一、解决DMVPN隧道封装技术——MGRE

二、用nhrp解决各个公司网络之间的通信问题:
nhrp工作原理:
nhrp技术被部署到各站点的虚拟通道中,各个站点之间形成隧道
地址与公网地址的映射关系,分支站点通过触发产生注册报文向总站点提供自身隧道与公网映射表,最后中心收集到整个网络的映射表。此阶段之后中心有所有的映射关系,所以可以访问任意的分公司,分公司也可以任意访问中心站点;然而分公司之间的互相通信则需要开启nhrp流量触发才会发出注册报文向中心copy映射表达到通信问题,然后将虚拟的报头解封装还原公网报文,达到交互信息的作用。

nhrp技术分为三个阶段处理站点之间的网络通信问题:
*第一阶段:*通过nhrp技术把目的站点公网与虚拟隧道地址做成映射关系,让每个站点有去其它站点的映射关系;
第二阶段:通过nhrp技术完成分支到分支之间直接通信的问题;
此阶段可以通过动态路由协议运行在MGRE网络中来解决,但是MGRE链路默认是不支持组播的信息数据包,然而大部分的路由协议都是通过
组播来建立邻居关系的,那么问题就产生了:

(无组播状态)

1.如何处理这些建邻组播包?

第一种方式:(用协议本身解决问题)用单播与中心建立邻居关系;现在分支到中心的问题解决了,但是会发现分支到分支问题却没有解决;

应用eigrp协议:(eigrp默认开启水平分割我们要关闭它)
eigrp也支持单播建邻居,那么分支与中心建立单播eigrp关系,分支到中心没有问题,但是分支到分支的时候发现我要去另外一个分支然而下一跳目标还是中心站点,所以分支还是有问题;那么现在我们关闭掉中心的自动改变下一跳问题就可以解决了。

应用rip:类似于eigrp

应用ospf协议:(网络类型问题默认为点到点)
用ospf的NBMA网络类型来解决分支到分支的问题,相对于eigrp比较简单,ospf通过LSA直接解决分支到分支的问题,会直接被看做是点到点链路。但是NBMA网络有致命的问题,因为DMVPN不是那么稳定,所以加上NBMA网络建立邻居相应时间比较慢所以ospf的NBMA不是最佳的处理方式。

当然我们在比较简单的单层次的拓扑中我们不考虑体验效果,就将就的解决了分支到分支的通信问题。

(组播状态)
然而如果拓扑图为多层次的架构,那么问题会更多:

以上拓扑是已经用MGRE处理后的逻辑拓扑图。

现在解决各个站点直接通信问题,假设用第一种方式,那么一级分支之间
是可以建立关系,并直接通信,二级分支在自己的网络结构中也是可以通
信的,但是我们让不同网络结构中的二级分支之间通信的时候就会发现,
网络结构根本不在同一区域,所以根本不可能用第一种方式去解决这个问
题。这就是现在的问题。

2、如何处理组播状态下的站点通信问题?

第二种方式:(用nhrp技术解决)
现在之所以二级的不同区域无法通信是因为在不同区域内没有映射表而造成的,那么现在要解决二级分支到另外二级分支站点的通信,我们可以让二级分支递归的去查找映射关系,从二级分支到自己的一级分支,然后一级分支到总站点递归到要去的二级分支站点,这样就映射关系问题就解决了。
如图所示工作原理:

现阶段的映射关系有深层次的关系就是分支站点的背后的私有网络与分支公有网络的映射关系,我们现在要开启这个功能。以上实施在总站点开启重定向,在请求端开启深层次的映射关系就可以了。

接下来解决路由问题:

1、eigrp协议:(默认水平分割开启)

  • 直接在总站点处使用汇总路由(这样就可以避免大量的关闭水平分割,和路由环路问题)
  • 总站点开启重定向
  • 分支站点(请求端)开启深层次的映射关系——需要触发发出注册报文(nhrp利用汇总路由会 直接把映射关系发布到路由表中并显示为H标记的路由条目)

2、ospf协议:

  • 总部开启重定向
  • 分部开启NHRP的查询 (Spoke上ip nhrp shortcut 可以发映射请求了)

请求回来的路由会出来一个特殊的标识%,因为NHRP修改了OSPF的下一跳,我们需要操作的是参考OSPF中的FA地址,让OSPF选择NHRP给他的路由而不相信他自己根据拓扑算出来的路由,路由加入路由表并打上%标记。

简单分析DMVPN技术相关推荐

  1. 智能情绪分析技术_简单分析人工智能的表现在计算机网络应用技术中的优势

    简单分析人工智能的表现在计算机网络应用技术中的优势 大数据时代背景下, 计算机网络技术迅猛发展, 而人工智能技术的发展也进一步推动了计算机网络技术的发展, 两者相互融合, 相互促进, 实现了双赢发展. ...

  2. 简单分析STM32和51的区别

    分享本文,简单分析STM32与51单片机的区别与取舍之处. 单片微型计算机简称单片机,简单来说就是集CPU(运算.控制).RAM(数据存储-内存).ROM(程序存储).输入输出设备(串口.并口等)和中 ...

  3. x264源代码简单分析:x264_slice_write()

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  4. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧间宏块(Inter)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  5. FFmpeg的H.264解码器源代码简单分析:概述

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  6. FFmpeg源代码简单分析:结构体成员管理系统-AVClass

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  7. FFmpeg源代码简单分析:avio_open2()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  8. ffmpeg 源代码简单分析 : avcodec_register_all()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  9. ffmpeg 源代码简单分析 : av_register_all()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

最新文章

  1. Eclipse如何从SVN更新和上传修改部分项目
  2. c语言枚举变量自增报错,C_数据结构与算法(1):C语言基础
  3. c语言的32个关键词
  4. 互动场景下的低延迟编码技术
  5. 有趣的圣诞节 库的打包
  6. 【kafka】Kafka 幂等 Producer
  7. Java 读取excel 需要的jar_java自定义jar包读取Excel(包含2003和2007)数据,并举例说明...
  8. python shell 运行时不打印日志_shell编程
  9. bootstrap select2 动态从后台Ajax动态获取数据
  10. 50k热敏电阻温度对照表c语言,50K热敏电阻温度表..doc
  11. 基于电气火灾监控系统与物联网的设计与研究
  12. linux设置双屏拼接_Linux 与Windows(A卡、N卡)下折腾双屏、3屏拼接
  13. PCL笔记二:PCD解析;PCD读取;PCD与XYZ转换;
  14. 《零基础入门学习Python》第019讲:函数:我的地盘听我的
  15. 上海房产中介面临倒闭潮
  16. 起始字节 和起始位_frechlet起始距离fid的简短介绍
  17. 港科资讯|沈向洋教授获委任为香港科大校董会主席
  18. linux运维前景2018,Linux运维工程师为什么越来越受企业重视?
  19. python 将小图放入较大的白色或黑色背景图片
  20. android商城首页布局,仿JD商城UI布局达到90%

热门文章

  1. 基于jacoco+ant+tomcat生成代码覆盖率报告
  2. 解决问题:javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 25;
  3. python搜索算法_搜索算法(Python)
  4. 【vue2,3使用QRCode进行二维码的生成和下载】
  5. 根据不同时间显示不同的图片(JS)
  6. import lasagne报错cannot import name downsample
  7. 小程序容器怎样助力智能家居
  8. 源码时代UI干活分享| ps新手入门案例,手把手教你在白板上制出写实图标鸡蛋
  9. 优客工场和SOHO 3Q都准备上市 共享办公究竟是不是一个伪风口?
  10. VRTK详细使用方法