当前位置: 首页 > news >正文

第三章,GRE和MGRE

VPN---虚拟专用网络

image-20220930150457489

VPN的核心技术----隧道技术---封装

GRE---通用路由封装

配置

image-20240322190730146

GRE的配置:
R1:
[r1]interface Tunnel 0/0/0  ---创建一个虚拟的隧道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24   ---给隧道接口分配一个IP地址
[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

R3:
[r3]interface Tunnel 0/0/0
[r3-Tunnel0/0/0]ip address 192.168.3.3 24
[r3-Tunnel0/0/0]tunnel-protocol gre 
[r3-Tunnel0/0/0]source 23.0.0.3
[r3-Tunnel0/0/0]destination 12.0.0.1

一定要记住需要添加通往隧道的路由信息

GRE的报文结构和封装过程

image-20230301104724366

1、R1从连接私网的接口收到报文后,检查报文头部中的目的IP地址字段,在路由表查找出接口,如果发现出接口是隧道接口,则将报文发送给隧道模块来处理。
2、隧道模块收到该报文后,会首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装--加GRE报文头部。
3、设备给报文添加传输协议报文头部,即IP报文头。该IP报文头部的源地址和目的地址是隧道中配置的源目信息。
4、最后,设备根据新添加的IP报文头部的地址,在路由表中查找相应的出接口,并发送报文。

5、接收方设备从连接公网的接口收到报文后,首先分析IP报文头部,如果发现协议类型字段的数值为47,表明内层为GRE,于是接口将报文交付给GRE模块处理。又GRE模块去掉IP报文头部和GRE头部信息,并根据内层的IP头部信息进行数据转发。

Keepalive检测

  • Keepalive检测功能用于在任意时刻检测隧道是否处于正常状态。

    • 如果对端不可达,可以即使关闭隧道,避免形成路由黑洞。

  • 逻辑

    • 设备在本地创建一个计数器,并周期性发送keepalive报文,如果没有得到回复,则每发送一次报文,计数器加一。当计数器超过10,则认为对端不可达。周期性时间为10S。

[r1-Tunnel0/0/0]keepalive   ---开启接口的keepalive检测

只需要开一段就可以了

 

MGRE---多点通用路由封装

image-20240322200958778

在MGRE的网络类型结构中,是存在多个节点,但是MGRE本身在发送数据时,还是以点到点的形式发送,并不存在广播或者组播行为,所以,这种网络架构,可以被近似的看做是NBMA网络

现实中的公网IP地址可能是不固定的,所以出现了NHRP协议

NHRP----下一跳解析协议

在私网环境中,选择一个出口物理IP地址不会改变的设备作为NHRP的中心(NHS--下一跳服务器)。剩下的分支节点就可以确定的知晓中心节点的隧道地址和物理地址。
    然后,NHRP要求所有的分支节点都需要将自己的物理接口IP和隧道IP发送给NHS,并由NHS记录下来,这样,中心节点会保存有所有分支节点的地址映射关系。在发送数据时,查询该记录关系即可。
    
    中心-分支:Hub and Spoke架构

配置

MGRE的shortcut配置(所有路由的下一跳均为hub节点)

中心节点:
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip address 192.168.5.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp  ---修改接口的封装协议为P2MP
[r1-Tunnel0/0/0]source 15.0.0.1 --规定公网的源IP地址

spoke节点:
interface Tunnel0/0/0
 ip address 192.168.5.2 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet0/0/0  ---分支节点的IP地址不固定
 nhrp entry 192.168.5.1 15.0.0.1 register   
 1、在本地记录中心节点的隧道地址和物理地址的对应关系;

2、该命令代表需要向中心节点(15.0.0.1)发送NHRP注册报文(注册报文中包含本地的隧道IP地址和物理IP地址);

3、第一个IP是隧道IP,第二个IP为公网IP

        

        

[r2]display nhrp peer all   查看NHRP表项

非shorcut多的命令


[r1-Tunnel0/0/0]nhrp redirect  ---在hub节点开启重定向功能。开启后,hub会主动为其他设备发送重定向报文
[r2-Tunnel0/0/0]nhrp shortcut   ---使能shortcut功能,如果不开启,则分支节点会丢弃重定向报文,每个分支节点都需要配置

非shortcut方式的数据流通过程

1、R2访问R3---192.168.2.1  192.168.3.1--->ICMP
2、R2发送两个报文给hub节点,分别为ICMP和NHRP请求报文(R2请求R3)
3、R1将R2的两个报文转发给R3设备
4、R3处理ICMP报文-->发送ICMP应答报文给中心节点;并且向中心节点发送NHRP请求(R3请求R2的信息)
5、R3处理NHRP请求报文,在该报文中知晓源IP地址为25.0.0.2,故直接向该节点回复报文,告知其映射关系
6、R1转发R3的两个报文信息给R2设备
7、R2处理ICMP报文-->直接回复给R3
8、R2处理NHRP请求-->直接回复给R3

作业

录讲作业:讲解在MGRE环境中,spoke节点之间获取对方的映射关系的过程。讲解shortcut和非shortcut两种方式。

MGRE环境下的RIP网络搭建

image-20240326183557619

非shortcut方式:
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]network 192.168.1.0  ----主类宣告方式
[r1-rip-1]network 192.168.5.0  ----宣告:1、激活接口;2、发布路由。

[r1-Tunnel0/0/0]nhrp entry multicast dynamic   ---开启中心节点伪广播(给所有人以单播形式发送一次报文)

[r1-Tunnel0/0/0]undo rip split-horizon  ---关闭该接口的水平分割机制

综合实验

image-20221009154550417

相关文章:

  • Java学习手册:Spring 框架核心概念
  • Java SE(3)——程序逻辑控制,输入输出
  • Java + Seleium4.X + TestNG自动化技术
  • 23种设计模式-行为型模式之备忘录模式(Java版本)
  • Golang | 倒排索引Value的设计
  • 2 商户查询缓存
  • 02 业务流程架构
  • 第7章 内部类与异常类
  • Redis高可用架构全解析:主从复制、哨兵模式与集群实战指南
  • 基于STM32、HAL库的ADS1220IRVAR模数转换器ADC驱动程序设计
  • 初中级前端面试全攻略:自我介绍模板、项目讲解套路与常见问答
  • 30-算法打卡-字符串-重复的子字符串-leetcode(459)-第三十天
  • C++学习:六个月从基础到就业——模板编程:类模板
  • NCCL非阻塞non-blocking实现
  • 给函数参数设置默认值的方式
  • 【密码学——基础理论与应用】李子臣编著 第八章 SM2公钥密码算法 课后习题
  • 坐标转换:从WGS-84到国内坐标系(GCJ-02BD-09)
  • Android 系统的兼容性测试 - CTS Verifier、GTS、VTS、STS 等
  • BG开发者日志0427:故事的起点
  • 组件的基本知识
  • 众信旅游:去年盈利1.06亿元,同比增长228.18%
  • 媒体:每一个“被偷走的人生”,都该得到公道和正义
  • 王文涛会见德国汽车工业协会主席穆勒
  • 上海市委常委会传达学习总书记重要讲话精神,研究张江科学城建设等事项
  • 我国核电总体规模首次跃居世界第一,发电量持续增长
  • 神二十发射取得圆满成功