简单分析DMVPN技术

2023-05-16

定义: 动态多点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给他的路由而不相信他自己根据拓扑算出来的路由,路由加入路由表并打上%标记。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单分析DMVPN技术 的相关文章

  • ubuntu怎样通过终端打开firefox?

    1 直接输入firefox 按回车 2 首先打开火狐浏览器 xff0c 鼠标移到屏幕最顶端 xff0c 出现菜单栏 工具栏 xff0d xff0d 附加组件选项 如下图所示 也可以在火狐浏览器界面 使用快捷键 shift 43 Ctrl 4
  • 重新认识 IP地址

    目录 一 什么是网段划分 二 如何分配子网中的IP xff1f 三 IP地址的分类 1 早期划分方式 1 早期分类方式 2 早期分类的局限性 2 CIDR划分 xff08 子网掩码划分 xff09 1 基本思路 2 实现方式 四 IP地址的
  • Linux服务器下抓包工具tcpdump分析

    概述 说到抓包分析 xff0c 最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了 xff0c 但是有时候由于接口调用无法在客户端抓包 xff0c 只能在服务器上抓包 xff0c 这种情况下怎么办呢 xff1f 本
  • MATLAB 常用转义字符

    MATLAB常用转义字符收录如下 Single quotation mark nbsp Percent character nbsp Backslash nbsp a Alarm nbsp b Backspace nbsp f Form f
  • 利用MATLAB解决人工神经网络模拟预测问题研究

    利用MATLAB解决人工神经网络模拟预测问题研究 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 人工神经网络根据模仿人脑的工作原理抽象出来的一种算法 人工神经网络 artigicial neutral ne
  • Visual Studio 2008学习过程(之一)起步

    以前 xff0c 在使用MATLAB开发一些软件 xff0c 虽然它的数值计算方面的功能很强大 xff0c 但是界面不是很好看 xff0c 很难做出来漂亮的软件 xff0c 所以萌生了用VS和MATLAB联合编程的想法 这样可以使软件更加强
  • 如何用servlet写网页访问量计数器?

    如何用servlet写网页访问量计数器 xff1f 1 原料 l MyEclipse l Tomcat l html 2 步骤 1 新建工程 项目栏鼠标右键 New Web Project xff0c 这里我起名为 xff1a myexm4
  • 提示:请安装TCP/IP协议.error=10106。解决方案

    有朋友使用电脑的时候会出现如下错误 xff0c 如何解决该问题是本文写作的目的 提示错误 xff1a 图 1 解决 方案 xff1a 1 删除两个注册表选项 xff1b 按下windows键 43 R键 xff0c 输入regedit xf
  • 防止头文件被重复包含

    前言 为了避免同一个文件被include多次 xff0c C C 43 43 中有两种方式 xff0c 一种是 ifndef方式 xff0c 一种是 pragma once方式 方式一 xff1a ifndef SOMEFILE H 或写为
  • 有趣的网站分享——pornhub风格生成器

    寄语 要说logo设计 xff0c pornhub的logo设计让人印象深刻 xff0c 黑底白字 xff0c 配上一小撮橙色 xff0c 给人极强的冲击力 这不 xff0c 有一个有意思的程序员弄了一个网站 xff0c 专门生成pornh
  • 大小端存储问题

    1 什么是数据的高低位 数据的高位在左 xff0c 低位在右 2 什么是内存的高低位 2 什么是大端存储 小端存储 简单记就是 xff1a 小端 xff1a 低低 xff08 数据低位在内存低位 xff09 大端 xff1a 高低 xff0
  • 【A星算法的优化方案】

    当地图很大的时候 xff0c 或者使用A星算法的寻路频率很高的时候 xff0c 普通的A星算法就会消耗大量的CPU性能急剧下降 xff0c 普通的A星性能还是不过关 接下来我们讲讲A星寻路在遇到性能瓶颈时的优化方案 一 长距离导航 当距离很
  • Java工具类:String与DateTime类型的相互转换

    1 String 转 DateTime 在转换之前需要引入 hutool 依赖 String datestr 61 34 2022 5 19 34 DateTime datetime 61 DateUtil parse datestr 2
  • Iterator迭代器的一般用法

    Iterator迭代器的一般用法 迭代器 xff08 Iterator xff09 迭代器是一种设计模式 xff0c 它是一个对象 xff0c 它可以遍历并选择序列中的对象 xff0c 而开发人员不需要了解该序列的底层结构 迭代器通常被称为
  • socket编程---fgets和fputs函数使用理解

    这一节是继续上一节socket05的讨论 xff0c 来探讨在使用socket进行通信中遇到的一些函数使用理解误区 1 fgets的使用注意点 在写socket通信 xff08 代码见上一篇中 xff0c 只是将sendbuf和recvbu
  • Tarjan算法详细讲解

    Tarjan算法讲解的博客网上找到三篇比较好的 现在都转载了 个人只研究了第一篇 正如博主所说 讲的标比较详细 清晰 剩下两篇也可以看一下 卿学姐视频讲解 https www bilibili com video av7330663 以下内
  • 中文乱码在线恢复网站

    乱码恢复
  • GCC自带的一些builtin内建函数

    title GCC自带的一些builtin内建函数 date 2021 02 27 18 57 00 description 一些GCC自带的内建 bulitin 函数的接口及实现 一 GCC内建函数 最近在刷 leetcode 的时候遇到
  • Shell脚本实用小技巧-教你屏蔽执行命令的所有显示信息,包含错误信息

    前言 xff1a 在Linux中 xff0c 有个 dev null的东西 xff0c 人们一般称之为黑洞 xff0c 大概的意思就是东西就像黑洞一样 xff0c 任何东西丢进去都会消失 xff0c 那么下面就开始进行一些小案例去认识一下这
  • MPU6050应用详解

    MPU6050应用详解 最近项目上要用到 MPU6050 陀螺仪 xff0c 以前没有接触过它 虽然在网上很容易就可以找到了需要的代码 实现了一部分功能 但是却还是对陀螺仪的工作原理不太了解 xff0c 它的代码也需要分析一下 xff0c

随机推荐

  • protobuf详解

    1 protobuf 简介 protobuf protocol buffer 是谷歌内部的混合语言数据标准 通过将结构化的数据进行序列化 串行化 xff0c 用于通讯协议 数据存储等领域和语言无关 平台无关 可扩展的序列化结构数据格式 我们
  • 白泽知识讲堂 | printf漏洞介绍

    引子 Hello各位小伙伴们 xff0c 白泽又和大家见面了 大家还记得自己写的第一个C语言程序吗 xff1f 那是我们和代码爱情的起点 xff0c 一眼万年 没错 xff0c 就是那个耳熟能详的Hello World 1 include
  • Linux生成core文件相关配置,core文件调试示例

    1 生成core文件系统配置 使用ulimit c命令可以查看当前系统对于core文件的配置 xff0c 0表示不生成core文件 xff1b 不为0的数字a表示限制core文件大小不超过a xff0c 单位是k xff1b unlimit
  • Ubuntu 手动配置DNS

    使用ping命令测试百度域名时发现 xff0c 无法解析这个域名 xff0c 说明当前系统上没有配置DNS服务器 配置DNS服务器的方式主要有以下两种 xff1a 目录 1 修改DNS配置文件 etc resolv conf 2 修改网卡配
  • STM32启动文件详解

    启动文件使用的 ARM 汇编指令汇总 启动程序源码注释 点此下载 1 Stack 栈 Stack Size EQU 0x00000400 AREA STACK NOINIT READWRITE ALIGN 61 3 Stack Mem SP
  • Motorola_MSB_LSB

    声明 xff1a 如果涉及侵权 xff0c 请联系本人删除侵权内容 声明 xff1a 本文由本人以以往工作经验为依据 xff0c 总结而得 xff0c 如果错误 xff0c 欢迎指正 xff0c 便于后人参考 xff0c 少走弯路 如果图片
  • 虚拟机怎么安装vmware tools

    这篇文章主要为大家详细介绍了VMware Workstation12安装Ubuntu和VMware Tools教程 具有一定的参考价值 xff0c 感兴趣的小伙伴们可以参考一下 之前我通过百度经验上的过程来安装Ubuntu16 xff0c
  • MySQL数据库改名的三种方法

    MySQL数据库改名的三种方法 前不久去面试 xff0c 被问到Innodb引擎的表如何改数据库名 xff0c 当时我也只回答了MyISAM改如何操作 xff0c 被一些细节问题打败 xff0c 真是操蛋 如果表示MyISAM那么可以直接去
  • C语言详解 FILE文件操作

    1 需要了解的概念 需要理解的知识点包括 xff1a 数据流 缓冲区 文件类型 文件存取方式 1 1 数据流 xff1a 指程序与数据的交互是以流的形式进行的 进行C语言文件的存取时 xff0c 都会先进行 打开文件 操作 xff0c 这个
  • wifi提速技巧:十大方法瞬间提升wifi速度

    手机wifi速度慢真是很让人苦恼 xff0c 有什么有效的wifi提速方法吗 当然有啦 绿茶小编今天就为大家带来了提升wifi速度的十大方法 xff0c 能激活wifi表现 xff0c 提升无线网络哦 xff0c 快来看看吧 十大方法瞬间提
  • 如何消除步进电机的噪音与振动TMC

    步进电机的噪音来自哪里 由于步进电机由于结构简单 控制方便 安全性高 成本低 停止时候力矩大 在低速情况下不需要减速机就可以输出很大的力矩 相比直流无刷和伺服电机 步进电机不需要复杂的控制算法也不需要编码器反馈情况下可以实现位置控制 被用在
  • ROS Navigation Tuning Guide(导航调试指南)

    ROS Navigation Tuning Guide 导航调试指南准备工作距离传感器里程计定位 速度与加速度的设置获得最大速度获得最大加速度设置最小值 xff38 xff39 方向的速度 Global Planner接口参数 Local
  • 网络协议和Netty(9):Http的报文结构及一个完整Http请求的过程

    前言 xff1a 作为一个程序员 xff0c 刚刚接触前端知识的时候 xff0c 就特别好奇 xff0c http是怎么通过一个url将报文从客户端传送到服务端 xff1f 提问 xff1a http的一个请求经历了一个什么样的过程 xff
  • 北斗实验总结(22.11.21)

    做的怎么样了 xff1f 可以在串口助手上实时显示北斗模块的时间 xff0c 并且是北京时间 基本实现所要求的实验现象 遇到的问题 xff08 1 xff09 在没有拿到模块的时候 xff0c 运行代码没有错误 xff0c 就认为能够实现所
  • 解决Ubuntu“无法定位软件包 xxx”的问题

    配置Ubuntu系统时发现有些东西无法安装 xff0c 可能是软件源出了问题 xff0c 需要重新配置 目录 1 安装vim xff08 可跳过 xff09 2 备份软件源配置 3 配置软件源 4 重新获取软件源列表 1 安装vim xff
  • 解决windows 10无法使用ping命令

    在近期使用电脑的时候发现我的电脑突然无法使用 ping 命令了 xff0c 这让我一个网络工程的程序员十分的纳闷 xff0c 然后自己在网上找了资料发现时环境变量的问题 xff0c 现在我就带大家解决一下这个问题 xff1a 出现问题 xf
  • macOS终端设置http与https代理

    查看你的节点的代理端口 下面配置以我的代理为准配置 xff1a 运行命令 vim bashrc xff0c 将以下内容导入 xff1a xff08 如果没有bashrc文件可以自己创建一个出来 xff09 export http proxy
  • 记录一个Charles下载安装之后抓取不到localhost的问题

    下载好Charles下载后跟着指南设置好http等所有的设置 xff0c 发现还是抓去不到本地的host的http请求 虽然设置了Charles代理设置 xff0c 但是依然不会走本地host的 xff0c 要让走本地代理可以用一下方式访问
  • 解决Mysql ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

    记录一次Mac使用brew安装mysql后 xff0c 无法正常打开问题 在使用brew安装好mysql后 xff0c 发现使用启动命令 xff1a mysql server start 提示 xff1a xff08 两种可能情况 xff0
  • 简单分析DMVPN技术

    定义 xff1a 动态多点VPN 技术组成 xff1a MGRE 43 NHRP 43 IPSEC MGRE 解决隧道的封装技术NHRP 解决多点网络的通信技术IPSEC 解决专线的加密技术 技术特点 xff1a 由客户自行配置维护 xff