HCIP的学习(4)

GRE和MGRE

在这里插入图片描述

VPN---虚拟专用网络。
	指依靠ISP(运营商)或其他公有网络基础设施上构建的专用的安全数据通信网络。该网络是属于逻辑上的。

核心机制—隧道机制(封装技术)

GRE—通用路由封装

三层隧道技术,并且是属于点到点的隧道

在这里插入图片描述

[r1]interface Tunnel 0/0/0  ---创建一个虚拟隧道接口(接口序号只能变最后一个数字,范围:0/0/0-0/0/511)
[r1-Tunnel0/0/0]ip address 192.168.3.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre   ---定义隧道所使用的协议
[r1-Tunnel0/0/0]source 12.0.0.1   ---定义封装中的源地址信息
[r1-Tunnel0/0/0]destination 23.0.0.3  ---定义封装中的目的地址信息

r1配完,r3也要配置

测试隧道是否成功建立:
[r1]ping 192.168.3.3     ----ping对方的隧道地址
  PING 192.168.3.3: 56  data bytes, press CTRL_C to break
    Reply from 192.168.3.3: bytes=56 Sequence=1 ttl=255 time=20 ms
    Reply from 192.168.3.3: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 192.168.3.3: bytes=56 Sequence=3 ttl=255 time=30 ms
    Reply from 192.168.3.3: bytes=56 Sequence=4 ttl=255 time=30 ms
    Reply from 192.168.3.3: bytes=56 Sequence=5 ttl=255 time=30 ms

一定要添加私网路由信息,将其导入到隧道接口

[r1]ip route-static 192.168.2.0 24 192.168.3.3
[r3]ip route-static 192.168.1.0 24 192.168.3.1

测试:
[r1]ping -a 192.168.1.1 192.168.2.1   ---要使用-a规定源IP,不然路由器会使用12.0.0.1去测试

扩展:接收方在接收到报文时看到封装后的目的IP是自己的,往常逻辑会直接对三层进行解封装,但是GRE不同,接口看到报文的协议号为47(GRE协议号:47),就会直接将报文完整的交给隧道接口,因为它本身接口没有开启GRE协议,就算解封装了不认识GRE也会直接将报文丢了

keepalive机制

keepalive机制是用来检测隧道对端是否可达。(一般一端开启即可,因为发送和回复的报文都是keepalive报文,
内容都是一样的)
当某端开启该机制后,会周期性发送keepalive报文,对端收到后会回复keepalive报文。当一定次数未收到回复
报文,则认为该隧道不可用。(默认3次,每一次发送时间间隔为5秒)


[r1-Tunnel0/0/0]keepalive 
[r1-Tunnel0/0/0]keepalive period 10 retry-times 5   ---用来更改次数与时间间隔(5次,间隔10秒)
	period:设置发送周期
	retry-times:重传次数

MGRE—多点通用路由封装

NHRP—下一跳解析协议

MGRE环境是属于P2MP网络,可以近似的看做是NBMA网络。但是其本质还是点到点。
	
Hub and Spoke架构---中心到站点架构
	
在私网环境中,选择一个出口物理IP不变的设备作为NHRP的中心节点(NHS)。这样,剩下的分支就
可以知晓中心的隧道IP和物理IP地址。然后NHRP协议要求所有分支将自己的物理IP和隧道IP的对应关系
发送给NHS(一旦发生改变就会发送)。这样NHS就拥有所有分支的地址映射关系,并记录在本地。
在发送数据报文之前,查询NHS决定封装数据。
	

在这里插入图片描述

中心:
[r1]interface Tunnel0/0/0
[r1-Tunnel0/0/0]ip address 192.168.5.1 255.255.255.0 
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp  ---修改接口的封装协议为MGRE
[r1-Tunnel0/0/0]source 15.0.0.1

[r1-Tunnel0/0/0]nhrp network-id 1    --默认值为0(范围:1-4294967295),改不改都行,要改所有的设备都要改


分支:
[r2] Tunnel0/0/0
[r2-Tunnel0/0/0]ip address 192.168.5.2 255.255.255.0 
[r2-Tunnel0/0/0]tunnel-protocol gre p2mp
[r2-Tunnel0/0/0]source GigabitEthernet0/0/0   ---规定封装源为GE0/0/0接口的IP地址
[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register   --第一个IP为隧道地址,第二个为物理地址(都是中心的)
 1、告知本端,hub节点的隧道IP与物理IP的对应关系;
 2、向hub节点注册本地的隧道IP与物理IP的对应关系;
 
 
 
补全路由信息:
[r1]ip route-static 192.168.2.0 24 192.168.5.2
[r1]ip route-static 192.168.3.0 24 192.168.5.3

[r2]ip route-static 192.168.1.0 24 192.168.5.1  ----下一跳均为Hub节点
[r2]ip route-static 192.168.3.0 24 192.168.5.1

[r3]ip route-static 192.168.1.0 24 192.168.5.1
[r3]ip route-static 192.168.2.0 24 192.168.5.1

DSVPN(动态智能VPN技术):可以随时增加和删除虚拟隧道专线和节点(下面两者相加组成)

  • MGRE
  • NHRP
shortcut方式:分支路由汇聚到总部,每一个分支编写的路由信息的下一跳均为hub节点。

非shortcut方式:非便捷方式,分支之间相互学习路由。下一跳分别是分支的隧道IP地址。而非hub节点。

扩展:

Hub - Spoke:NHRP映射表静态关系

Spoke - Spoke:NHRP映射表动态关系

在非shortcut方式下,NHRP映射表动态关系:7200S(2小时)老化时间

非shortcut

在这里插入图片描述

解释:(图中的数字为报文顺序)

  1. 首先,在r2里有着3.0网段下一条对应虚拟网段接口5.3,虚拟网段接口5.1对应真实接口吓一跳15.0.0.1,r3中有着2.0网段下一条对应虚拟网段接口5.2,虚拟网段接口5.1对应真实接口吓一跳15.0.0.1
  2. r2要发送信息给3.0网段时,知道要发送给虚拟网段接口5.3,但NHRP表中没有对应虚拟网段接口5.3的真实端口IP,发现缺少(有误就封装中心的对应真实接口,让中心转发)。而此时有ICMP数据需要发送(ICMP数据发送优先级比填补缺少对应高),所以先发送ICMP数据给r1(hub),随后发送NHRP报文,问r1要r3的地址信息。
  3. r1先接收到ICMP报文,查看是给r3的,就进行转发给r3,随后接收到NHRP报文,虽然r1有r3的地址信息,但r1不会直接回复,会转发给r3(征求r3意见)
  4. r3先接收到ICMP报文,正常回复ICMP报文,随后接收到NHRP请求报文,r3直接发送给r2(因为NHRP请求报文中有原IP信息:25.0.0.2),虽然NHRP请求报文中有r2的NHRP映射关系,但r3并不会保存下来,因为在r3看来并不是我主动要的,优先度最低,不可信。只有自己要的才是可信的,但r2接收到r3发送的NHRP应答报文,会直接将r3虚拟网段接口5.3的对应真实接口35.0.0.3写进NHRP映射表中,因为这是r2主动请求的。
  5. 此时,r1将r3发送的ICMP报文转发给r2,r2要再发送ICMP报文就直接发送给r3
  6. 而r3要去回复ICMP报文报文时,发现NHRP表中没有对应虚拟网段接口5.2的真实端口IP,他也要发送NHRP请求报文给r1,然后r1转发给r2,r2再直接发送NHRP应答报文给r3,当r3将虚拟网段接口5.2的对应真实接口25.0.0.2写进NHRP映射表中时,两者的虚拟隧道就算建立起来了。
  7. 当r2与r3两者都不发消息,不发消息超过7200S(2小时)老化时间,这条隧道就会被拆除。

shortcut

在这里插入图片描述

解释:(图中的数字为报文顺序)

  1. r2要发送ICMP报文给r3,先发送给r1(因为是shortcut方式,所以去往3.0网段下一跳写的就是5.1,5.1在NHRP映射表中有,所以在r2看来没有错误),r1接收后将ICMP报文转发给r3,再给r2发送重定向报文(原因和携带内容下面配置后面有写)。
  2. r2接收到重定向报文,像r1发送NHRP请求报文,r1再转发给r3,r3接收到NHRP请求报文,就直接给r2发送NHRP应答报文。
  3. 有区别的是:r3接收到第一次r1转发的ICMP报文,会给r1发送ICMP回复报文,r1接收后,也会转发给r2,但也会给r3发送一个重定向报文(原理与上面一样),r3也会给r1发送一个NHRP请求报文,与上面一样,最后r2与r3都NHRP映射表数据都改了,就建立了一个虚拟隧道
在shortcut方式下,如果需要分支之间独立建立隧道,则需要添加如下配置:

[r1-Tunnel0/0/0]nhrp redirect   ---hub节点配置,开启重定向功能(r1发现数据从r2发送进入Tunnel0/0/0,
又从Tunnel0/0/0出去转发给r3,发现是次优路径,才会给r2发送重定向报文,报文里面有3.0网段对应的
真实端口IP为192.168.5.3)
[r2-Tunnel0/0/0]nhrp shortcut    ---在spoke节点配置,使能shortcut功能,未开启该功能,则代表分支站点
无法响应重定向报文。(如果不开启,r2收到r1的重定向报文,会认为自己可以正常收发消息(去3.0网段下
一跳为5.1,5.1又映射为15.0.0.1),没有错误,不需要更改,直接将重定向报文丢弃)
[r3-Tunnel0/0/0]nhrp shortcut

以非shortcut方式进行DSVPN组网时,分支站点可以自主发现NHRP映射表中存在关系缺少的现象,从而主动向hub节点申请通讯对端的映射关系。而在shortcut组网环境下,分支站点无法自主发现,需要hub节点通过重定向报文参与到分支之间的隧道建立过程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git基础(23):Git分支合并实战保姆式流程

文章目录 前言准备正常分支合并1. 创建两个不冲突分支2. 将dev合并到test 冲突分支合并1. 制造分支冲突2. 冲突合并 前言 Git分支合并操作 准备 这里先在Gitee创建了一个空仓库,方便远程查看内容。 正常分支合并 1. 创建两个不冲突分支 (1&#xf…

Tableau项目案例-网上超市运营分析

一、数据简要介绍 超市运营分析.xlsx 1、客户分析 交易次数统计 购买次数即购买频率,是指消费者在一定时期内购买某种或某类商品的次数。 用tableau打开excel文件 双击城市字段,会显出出一个地图 类别字段也拖到筛选器上,如上操作相同

AI论文速读 | 具有时间动态的路网语义增强表示学习

论文标题: Semantic-Enhanced Representation Learning for Road Networks with Temporal Dynamics 作者: Yile Chen(陈亦乐) ; Xiucheng Li(李修成); Gao Cong(丛高) ; Zhifeng Ba…

管理能力学习笔记四:团队发展四阶段

组建期 管理方式 动荡期 领导方式 规范期 管理方式 高产期 管理方式 高产期的注意点

FL Studio21.2.3最新中文编曲音乐制作软件新版本功能介绍

一、前言 随着科技的发展,越来越多的人开始尝试自己创作音乐。然而,传统的音乐制作过程复杂繁琐,需要昂贵的硬件设备和专业的知识技能。那么,有没有一款软件可以让普通人也能轻松地制作出专业级别的音乐作品呢?答案就…

什么是 ECMAScript,它与 JavaScript 有何不同

什么是 ECMAScript? 关于 JavaScript](https://cloudaffle.com/history-of-javascript/)的[历史以及它是如何产生的,有一个完整的故事。长话短说,ECMAScript 中的 ECMA 是指欧洲计算机制造商协会,早在 1997 年就向该协会提交了 JavaScript 1.1 进行标准化。创建了一个技术委员…

机器学习(二)

线性模型: 离散转为连续的变换: 检查是否有“序”的变化,若有“序”,则连续化;否则,转化为k维向量 最小二乘解: 多元线性回归: 广义线性模型: 线性判别分析: 由于将样例投影到一条直线(低维空间),因此也被视为一种&q…

洛谷1803

P1803 凌乱的yyy / 线段覆盖 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 所需知识:贪心 本来还想用dfs bfs搜索来一点一点做的,看到了大佬的思路之后,直接orz了 整体思路:因为要想尽可能的多参加比赛,所以越早结…

MySQL 经典练习 50 题 (记录)

前言: 记录一下sql学习,仅供参考基本都对了,不排除有些我做的太快做错了。里面sql不存在任何sql优化操作,只以完成最后输出结果为目的,包含我做题过程和思路最后一行才是结果。 1.过程: 1.1.插入数据 /* SQLyog Ul…

《论文阅读》TSAM:一个因果情绪蕴含的双流注意模型 COLING 2022

《论文阅读》TSAM:一个因果情绪蕴含的双流注意模型 前言简介方法整体流程图上下文语句表示Two-Stream Attention Model(TSAM)原因预测实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《TSAM:…

Python 指南-最短路径(Dijkstra 算法):

Dijkstra 算法可在 Python 库 OSMNX 中实现,可用于查找两个位置之间按距离或时间加权的最短路径。该算法使用 OpenStreetMap (OSM) 网络来驾驶、步行或骑自行车,并在后台使用 Python 库 NETWORKX 查找路线。 编码练习 正如我提到的,我将做一…

MySQL 8.0.35 企业版开启审计audit log功能

一、系统环境和要求 在MySQL中,开启日志审计可以记录数据库的操作日志,包括修改、删除、插入等操作。这对于追踪和分析数据库的使用情况以及排查潜在的安全问题非常有帮助。本文将详细介绍如何开启MySQL的日志审计功能。 操作系统:Ubuntu 20…

距离AI PC起飞,还差了点什么?

作者 | 张未 来源 | 洞见新研社 PC行业也没有逃过万物皆可AI的真香定律。 英伟达在前喊出AI PC的口号后,一众PC厂商纷纷加码这一最新概念,有关AI PC的讨论点燃了PC市场。 最直观的变化就是,全球PC市场终于止住了颓势,打破了七连…

JavaWeb开发-前端CSS基础

CSS层叠样式表基本语法 层叠样式表,用来控制页面的样式 (1)CSS的三种引入方式 内部样式表:适合学习使用,将CSS代码写在style标签里面,style标签嵌套在title里 外部样式表:开发常使用,将CSS代…

Windows Server配置MySQL主从数据库

目录 一,环境准备 1.1.安装MySQL 1.2.主数据库配置 1.3.从数据库的配置 二,主从同步配置 2.1.主库设置 2.2.查看二进制日志的状态 2.3.从数据库配置 2.4.配置完成测试 一,环境准备 1.1.安装MySQL 我用虚拟机安装两台 Windows Serv…

Requests教程-19-token认证

领取资料,咨询答疑,请➕wei: June__Go 上一小节中我们学习了requests的auth认证方法,本小节我们学习一下requests的token认证。 token的来源: 当客户端多次向服务端请求数据时,服务端就需要多次从数据库中查询用户…

SpringBoot扩展篇:循环依赖源码链路

SpringBoot扩展篇:循环依赖源码链路 1. 相关文章2. 一个简单的Demo3. 流程图3.1 BeanDefinition的注册3.2 开始创建Bean3.3 从三级缓存获取Bean3.4 创建Bean3.5 实例化Bean3.6 添加三级缓存3.7 属性初始化3.8 B的创建过程3.9 最终流程 1. 相关文章 SpringBoot 源码…

何恺明重提十年之争——模型表现好是源于能力提升还是捕获数据集偏置?

想象一下,如果把世界上所有的图片都找来,给它们放到一块巨大的空地上,其中内容相似的图片放得近一些,内容不相似的图片放得远一些(类比向量嵌入)。然后,我随机地向这片空地撒一把豆子&#xff0…

【计算机图形学】AO-Grasp: Articulated Object Grasp Generation

对AO-Grasp: Articulated Object Grasp Generation的简单理解 文章目录 1. 做的事情2. AO-Grasp数据集2.1 抓取参数化和label标准2.2 语义和几何感知的抓取采样 3. AO-Grasp抓取预测3.1 预测抓取点3.2 抓取方向预测 4. 总结 1. 做的事情 引入AO-Grasp,grasp propo…

【MySQL】聊聊自增id用完怎么办?

在实际的开发中,一般都会将数据存储到数据库中,在设计表的时候,其实id如果达到最大值的话,会出现什么问题。其实主要分两种情况,一种是设置了主键id,另一种没有设置主键id。 表定义自增值id create table…