VPN以及GRE和MGRE

VPN

VPN — 是虚拟专用网络
通俗地说,就是通过虚拟的手段,将两个独立的网络,穿越一个公共网络进行连接,实现点到点专线的效果(可以理解为:一个分公司通过公网和总公司建立点到点的专线连接)

现实中,不通过VPN技术也可以实现点到点专线连接的效果,最简单直接的就是接个网线,将两家公司的网络直接连接起来。

那么,既然可以通过连线实现网络的连接,为什么要大费周章地搞个VPN技术,既然有VPN,就有其出现的意义,最大的意义就是 ------ 省钱
试想一下,两个公司用线连,那么线要多长,成本更是高,而VPN是通过公网作为一个虚拟的线,来实现连接,成本远远降低。

介绍完VPN,那么就来说说VPN技术

VPN技术包括了两个技术 ———— GREMGRE

GRE

GRE ------ 通用路由封装
这是一个标准的VPN技术,从一个私网访问另一个私网时,可以通过这个技术创建一个虚拟的tunnel接口,对方私网对应的也要创建一个虚拟的tunnel接口,当你访问对方私网时会从该tunnel接口出,此时它会在ipv4报头前再封装一个三层报头(该报头表明源目IP地址,如下图显示,表示源IP source 12.1.1.1/24 到目标IP destination 23.1.1.2/24),使该包能够顺利发送到对方的私网,对方私网收到包后,拆开报头,会发现里面还有一个三层报头,这个才是真正的三层报头,用来访问对方私网 ------ 这就达到了私网的虚拟点对点的连接

在这里插入图片描述
注意:tunnel接口是虚拟的,实际上出的口还是实际的口如g0/0/0或e0/0/0等实际的接口,只不过当路由器检测到该IP要走tunnel接口时,会在其前面再加一个封装再从实际口出,而检测到其他口则不会加三层报头,直接从实际接口出

看上图,配置GRE的步骤如下:

1、创建隧道接口 --- interface Tunnel 0/0/0
2、配置IP ---ip address 192.168.3.1 24
3、用GRE封装该接口 --- tunnel-protocol gre
4、表明源目IP --- source 12.1.1.1​				destination 23.1.1.2
5、给R2写路由 --- ip route-static 192.168.2.0 24 192.168.3.2​				告知R2去访问私网R3走192.168.3.2过
6、给R3写回来的路由,与R2写法一样,也可以用出接口表示 --- ip route-static 192.168.1.0 24 Tunnel 0/0/0

注意:上图中12.1.1.1和23.1.1.2都是固定的,要用到企业级宽带
也就是说每有一个公司加入连接,那么每个公司都要给加入的那个公司发一条直连,这样的话,直连的线会成指数增加,而且每条线都是企业级的宽带
企业级宽带就是接口固定
家庭版宽带就是接口不固定,会不断变动

那么既然说到直连会成指数增加,就说明费用会很高
为了解决费用高这个问题,也就有了MGRE

MGRE

MGRE — 多点GRE — 是GRE的一种扩展配置;归类于虚拟的NBMA网络
NBMA–非广播型多路访问
BMA — 广播型多路访问 – 在一个网段内可以放置多个物理节点,同时该范围内可以实施广播洪泛机制;以太网技术典型的BMA网络
相较于GRE:

​ MGRE不需要两两间的IP都固定,只需要一个中心站点的IP固定即可,而其他IP不用固定,也就是说,只要一条企业级宽带,其他用家庭版宽带也行,费用大大降低,但是这个得用到NHRP协议

NHRP — 下一跳发现协议

​ 对MGRE的作用 — 由于只有中心站点是固定的,那么其他的站点每天都会变,而NHRP协议就是让其他站点每天开机后,就向中心站点发送自己今天的IP,即使中心站点实时了解并记录其他站点的IP,并绘成一个表,以便能够正常通讯

​ 而其他站点可以到中心站点下载IP表,使其他站点可以不通过中心站点也能自行访问其他站点,例如下图:
假设AR1是中心站点,那么正常来说,AR3访问AR4要通过中心站点,因为AR3不知道AR4的路由,但是AR3到AR1那下载IP表后,就可以直接访问AR4,不用经过AR1
在这里插入图片描述
具体的配置可以看我的另外一个博客:

HCIP的mgre实验这个是上图实验的具体配置解析

这个是简单的MGRE配置信息:

1、interface Tunnel 0/0/0 创建隧道接口
2、ip address 192.168.4.1 24 隧道接口ip地址
3、tunnel-protocol gre p2mp  定义该隧道为多点gre隧道
4、source 14.1.1.1 该隧道加封装的报头源ip地址通过NHRP协议来获取加封装的目标ip地址
5、nhrp entry multicast dynamic  本地成为NHRP服务端
6、nhrp network-id 100 NHRP的工作编号,该网段所有设备必须在同一id

分支站点:

1、interface Tunnel 0/0/0
2、ip address 192.168.4.2 24
3、tunnel-protocol gre p2mp加封装的源ip地址,为本地的隧道实际通过接口的ip地址,填写接口编号,而不是接口ip,原因在于该接口ip地址可变
4、source GigabitEthernet 0/0/0加封装的目标ip地址,需要到NHRP中心站点获取
5、nhrp entry 192.168.4.1 14.1.1.1 register
6、nhrp network-id 100 将各站点包括中心站点分配到100组中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1483930.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Jupyter notebook如何快速的插入一张图片?如何控制插入图片的缩放、靠左展示(ChatGPT)

在Jupyter Notebook中,你可以使用Markdown语法快速插入图片,并且可以通过HTML标签来控制图片的展示方式和缩放。 注意:以下所有操作都有一个前提,即选择Cell-CellType-Markdown 1. 快速插入图片 要在Jupyter Notebook中插入图…

docker安装好了,但是启动失败

新项目要用docker部署,但是docker安装完后,启动失败,服务器用的是国产化的(之前的服务器非国产化,之前也没任何问题),国产化的使用起来问题一大堆,还是bclinux 安装好后重启一直显示 使用journalctl -xe也没任何报错 使用systemctl status docker查看docker状态是灰…

白话大模型微调(Fine-tune)

吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭&#xf…

专业学习|系统建模与仿真的基础概念知识合集

学习笔记来源:http://tup.tsinghua.edu.cn/upload/books/yz/086457-01.pdf 一、系统 系统按照事物发展的连续性又可分为连续系统和离散系统。连续系统是指状态变量随 时间连续变化的系统,如图1-1所示;离散系统则是指状态变量只是在某个离散的时间点集合上发生变化…

Problems retrieving the embeddings data form OpenAI API Batch embedding job

题意:从OpenAI API批量嵌入作业中检索嵌入数据时遇到问题 问题背景: I have to embed over 300,000 products description for a multi-classification project. I split the descriptions onto chunks of 34,337 descriptions to be under the Batch e…

Linux--线程互斥(加锁)

目录 0.对原生线程封装的代码 1.为什么需要线程互斥 2.加锁 2.1.认识加锁和它的接口 2.2用一下接口 2.2.1 解决抢票问题 2.2.2设置局部锁 2.3从原理角度理解锁 2.4锁是如何实现的**** 0.对原生线程封装的代码 方便后续对锁的理解:Thread.hpp 详情请看&#…

mybatis-plus LambdaQueryWrapper条件构造器使用apply查询含有逗号‘,‘分隔的字段

mybatis-plus LambdaQueryWrapper apply自定义SQL条件使用 真实业务开发使用场景 数据库:postgreSQL 开发场景:SpringBoot2.5.7 数据库中数据如下 需求 查找, bingBdNumber字段为422875,要求数据库中bind_bd_number这一栏中只要有422875的就返回. 根据上图查422875需要返回…

【python】导入serial模块,读写串口数据(嵌入式软件自动化测试)

目录 环境准备安装pyserial硬件连接 基本函数使用获取串口设备列表初始化串口对象发送数据读取数据 环境准备 安装pyserial 1、python 3.6.7 2、pyserial模块封装了python对串口的访问 pip install serialpip install pyserial如果代码报错卸载掉serial 硬件连接 1、将串口…

Android 10.0 SystemUI下拉状态栏固定展开QsPanel不收缩功能实现

1. 前言 在10.0的系统ROM产品定制化开发中,在systemUi的原生下拉状态栏中,首次下拉展开quickQsPanel,第二次展开就显示 QsPanel,在产品开发中,需要下拉状态栏固定展开QsPanel,不需要二次展开,接下来分析下相关功能的实现,如图: 2.SystemUI下拉状态栏固定展开QsPanel不收…

Python和C++行人轨迹预推算和空间机器人多传感融合双图算法模型

🎯要点 🎯双图神经网络模型:最大后验推理和线性纠错码解码器 | 🎯重复结构和过约束问题超图推理模型 | 🎯无向图模型变量概率计算、和积消息传播图结构计算、隐马尔可夫模型图结构计算、矩阵图结构计算、图结构学习 |…

基于Java技术的致远汽车租赁系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:B/S模式、Java技术 工具:Visual Studio、MySQL数据库开发工具 系统展示 首页 用户注册…

现场可重构CPLD芯片应用案例—蓝牙音箱

我司英尚微提供的高性能数模混合现场可重构IC、通用可配置的模数混合芯片内部集成丰富的模拟资源和数字资源,可轻松替代电路中的各种标准器件,并按照客户要求组合成最优小型ASIC,缩短开发周期,降低成本。下面介绍LS98002现场可重构…

object-C 解答算法:移动零(leetCode-283)

移动零(leetCode-283) 题目如下图:(也可以到leetCode上看完整题目,题号283) 解题思路: 本质就是把非0的元素往前移动,接下来要考虑的是怎么移动,每次移动多少? 这里需要用到双指针,i 记录每次遍历的元素值, j 记录“非0元素值”需要移动到的位置; 当所有“非0元素值”都移…

链表面试练习习题(Java)

1. 思路: 创建两个链表,一个用来记录小于x的结点,一个用来记录大于等于x的结点,然后遍历完原链表后,将小于x的链表和大于等于x的链表进行拼接即可 public class Partition { public ListNode partition(ListNode pH…

如何将PDF转换成可以直接编辑的CAD图纸?

PDF图纸是为了让用户更好的阅览CAD文件,但是,当我们想要对其进行编辑的时候,PDF图纸就是一个麻烦了。那么PDF转换成CAD后可以编辑吗?如何将PDF转换成可以直接编辑的CAD图纸呢?本篇给你答案。 1、启动迅捷CAD编辑器&…

linux进行redis的安装并使用RDB进行数据迁移

现在有两台电脑,分别是A,B,现在我要把A电脑上的redis的数据迁移到B电脑上,B电脑上是没有安装redis的 1.找到A电脑的redis的版本 1.先启动A电脑的redis,一般来说,都是直接在linux的控制台输入:re…

Spring Cloud Loadbalancer 的使用

一、默认负载均衡策略 Spring Cloud LoadBalancer 默认的负载均衡策略是轮询。 轮询效果示例 我们需要示例一个请求分发到不同的模块上,所以我们需要创建多模块项目。 新建 Spring Boot (3.0.2)的 Maven 项目(JDK 17&#xff09…

万界星空科技MES系统生产计划管理的功能

MES系统(Manufacturing Execution System,制造执行系统)的生产计划管理功能是其核心功能之一,旨在将企业的生产计划转化为实际的生产操作,并通过实时监控和调整来确保生产活动的顺利进行。以下是MES系统生产计划管理功…

STM32智能环境监测系统教程

目录 引言环境准备智能环境监测系统基础代码实现:实现智能环境监测系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:环境监测与管理问题解决方案与优化收尾与总结 1. 引言 智能环境监测系统通…

基于STM32智能电子锁设计

1.简介 随着时代的高速发展,家居安全也成为人们日常生活中的一个安全问题。目前传统的门锁使用的是机械密码,在安全性方面表现不佳。这些缺点可以通过改用智能电子密码锁来弥补。智能电子锁是一种使用了现代电子技术的高科技产品,它的出现解决…