RIP路由协议汇总(华为)
#交换设备
RIP路由协议汇总
一、原理概述
-
当网络中路由器的路由条目非常多时,可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数,加快路由收敛时间和增强网络稳定性。路由汇总的原理是,同一个自然网段内的不同子网的路由在向外(其他网段)发送时聚合成一个网段的路由发送。由于汇总后路由器将不会感知被汇总子网有关的变化,从而提高了网络稳定性,减少了不必要的路由器更新
-
RIPv1 是有类别路由协以,它的协议报文中没有携带掩码信息,只能识别A、B、C类这样的自然网段的路由,因此 RIPv1 无法支持路由聚合,也不支持不连续子网,所有路由会被自动汇总为有类路由。
-
RIPv2 是一种无分类路由协议,报文中携带掩码信息,支持手动路由汇总和自动路由汇总两种方式。
-
基于 RIP 进程的有类自动汇总: 比如对于 10.1.1.0/24 (metric=2) 和 10.1.2.0/24(Cmetric=3 ) 这两条路由,聚合成自然网段路由 10.0.0.0/8 (metric=2)。自动汇总是按类聚合的,在华为设备上自动汇总是默认关闭的,可手动更改配置使自动汇总生效;

-
基于接口的手动汇总: 用户可以指定聚合路由。比如,对于 10.1.1.0/24 (metric=2 )和 10.1.2.0/24 (metric=3 ) 这两条路由, 可以在此接口上配置聚合路由 10.1.0.0/16 (metric=2)。
metric 代表路由度量值,用于衡量到达目标网络的距离,具体是指从一个路由器到另一个路由器的跳数
二、RIPv1自动汇总
可以观察到,RIPv1l 的协议报文中没有携带掩码信息,只有相应的网络号以及Metric 值, 即 RIPv1 只发布汇总后的有类路由。RIPv1 默认开启自动汇总, 且无法关闭,也不支持手动汇总。可以使用 display default-parameter rip 命令查看 RIP 默认配置信息。

可以看到,192.168.23.0的路由度量值为16,代表不可达,但是实际上,这里是因为,这个数据包就是192.168.23.2接口发出的,所以将metric设置为最大值来表示自己所处的网段
查看RIP默认配置信息

三、RIPv2自动汇总
- 配置过程同上,使用ripv2
- 抓包查看RIP

- RIPv2默认开启自动汇总,且支持手动关闭
查看路由表时,可能会发现,路由表中并没有汇总的条目,这是因为在华为设备上,以太网接口和串口都默认启用了水平分割功能。为了防止环路和不连续子网问题的产生,在启用了水平分割或毒性逆转的接口上,RIPv2 的默认自动汇总就会失效,所以从 R3 通告过来的都是具体的明细路由条目。
手动开启路由汇总的方法
- 通过使用
summary always命令,无论水平分割是否启用,自动汇总都生效 - 通过关闭水平分割功能,使自动汇总自动生效
第一种方法
[R3]rip 2
[R3-rip-2]summary always 第二种方法
[R3-rip-2]int g0/0/0
[R3-GigabitEthernet0/0/0]undo rip split-horizon
四、RIPv2手动汇总
- 通过人工计算,将若干网段合并为一个大网段,通过命令
rip summary-address配置手动汇总
[R3-rip-2]int g0/0/0
[R3-GigabitEthernet0/0/0]rip summary-address 3.3.0.0 255.255.252.0
RIP版本兼容、定时器、协议优先级
- 定时器:内容详见[[12_RIP协议/12_RIP 动态路由协议#^9b1293]]
一、RIP版本兼容性
-
首先,建议路由器之间配置相同版本的RIP,避免出现不必要的故障
-
关于两个版本的区别,详见[[12_RIP协议/12_RIP 动态路由协议#^6d8803]]
-
再配置RIP时,如果不指定版本,则接口默认情况下可以接受V1和V2的报文,但是只能发送V1的报文,在制定版本的情况下,只能发送相应版本的报文

- 广播方式发送RIPv2报文
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]rip version 2 broadcast
- 组播方式发送RIPv2报文,组播地址为224.0.0.9
[R1]int g0/0R1-GigabitEthernet0/0/0]rip version 2 multicast
二、3种定时器配置
- 路由更新的有效时间为180s,如果超过180s还没有收到新的路由更新,则宣布该路由无效,在默认情况下,RIP协议会每隔30s左右发送一个理由更新
1.手动停止路由跟新
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo rip output
2.查看rip发布数据库信息
- 通过查看rip数据库的信息,检查对应的网段是否正在被通告 advertised
dis rip 1 database #查看rip数据库

- 可以发现,超时后,该路由条目被标记为 跳数cost=16,表示不可达,并且通告标记为
I表示不通告 - 如果在接下来的120s内还没有收到改路由条目的跟新,那么在数据中将会删除该条目

3.通过命令修改定时器默认值
- 例如将R1的
- 更新报文时间间隔 设置为 20s
- 超时计时器超时时间间隔 设置为 120s
- 垃圾收集计时器的超时时间 设置为 60s
[R1]rip 1
[R1-rip-1]timer
[R1-rip-1]timers rip 20 120 60
如果 3 个定时器值设置不当,会引起网络不稳定。例如,如果更新时间大于失效时间,那么在更新时间内,可能在接收到路由更新之前,本地的路由条目已经失效了。定时器值的调整应考虑网络的规模和性能,并在所有运行的 RIP 路由器上进行统一配置。
三、协议优先级配置
-
在实际网络中,去往相同目的网段的路由信息可以通过不同的路由协议获取,比如同时通过静态路由和 RIP 协议获取,此时就会先比较二者的协议优先级,通过具有较高优先级的路由协议所获取的路由信息将被优选放入路由表中。
-
在路由器的路由表中显示了协议的优先级,默认设置为100

- 通过命令修改RIP协议的优先级
[R1]rip
[R1-rip-1]preference 90 #设置协议优先级为90
相关文章:
RIP路由协议汇总(华为)
#交换设备 RIP路由协议汇总 一、原理概述 当网络中路由器的路由条目非常多时,可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数,加快路由收敛时间和增强网络稳定性。路由汇总的原理是,同一个自然网段内的不…...
服务部署:.NET项目使用Docker构建镜像与部署
前提条件 安装Docker:确保你的Linux系统上已经安装了Docker。如果没有,请参考官方文档进行安装。 步骤一:准备项目文件 将你的.NET项目从Windows系统复制到Linux系统。你可以使用Git、SCP等工具来完成这个操作。如何是使用virtualbox虚拟电…...
力扣1170.比较字符串最小字母出现频次
力扣1170.比较字符串最小字母出现频次 f()是找最小字母的次数 即cnt中第一个出现过的字母 将word中所有字符串都处理存入nums nums排序 再做二分 class Solution {public:int f(string s){int cnt[26] {0};for(char c:s)cnt[c - a] ;for(int i0;i<26;i) cout<<cn…...
boost asio异步服务器(3)增加发送队列实现全双工通信
增加发送节点 构造发送节点,管理发送数据。发送节点的类如下。 这个发送节点用于保证发送和接收数据的有效性。 增加发送队列 前边实现的是一个简单的echo服务器,也就是服务器将收到的内容发送给对应的客户端。但是在实际的服务器设计中,服务…...
49.Chome浏览器有三种清缓存方式
49.Chome浏览器有三种清缓存方式:正常重新加载、硬件重新加载、清空缓存并硬性重新加载 1、【正常重新加载】 触发方式:①F5 ②CtrlR ③在地址栏上回车 ④点击链接 如果缓存不过期会使用缓存。这样浏览器可以避免重新下载JavaScript文件、图像、…...
Python爬取与可视化-豆瓣电影数据
引言 在数据科学的学习过程中,数据获取与数据可视化是两项重要的技能。本文将展示如何通过Python爬取豆瓣电影Top250的电影数据,并将这些数据存储到数据库中,随后进行数据分析和可视化展示。这个项目涵盖了从数据抓取、存储到数据可视化的整个…...
【背包题】oj题库
目录 1282 - 简单背包问题 1780 - 采灵芝 1888 - 多重背包(1)编辑 1891 - 开心的金明 2073 - 码头的集装箱 1905 - 混合背包 1282 - 简单背包问题 #include <bits/stdc.h> using namespace std; //二维数组:dp[i][j]max(dp[i-1][j],v[i]dp[…...
Web前端弱势因素:深入探讨与挑战解析
Web前端弱势因素:深入探讨与挑战解析 在快速发展的Web前端领域,尽管技术日新月异,但仍存在一些固有的弱势因素。这些因素不仅影响了开发效率和用户体验,也带来了诸多挑战。本文将深入探讨Web前端的弱势因素,并从四个方…...
元素在超出当前界面的下拉列表中如何定位
有时我们会遇到一种情况是,当我们找一个视频列表中的视频,在页面的最底层,此时selenium 无法定位到这个元素,因为 selenium只能定位页面上显示出来内容的元素,需要通过下拉框把界面拉到该元素所在的位置,再…...
Vscode中使用make命令
前言 需要注意,如下操作需要进行网络代理,否则会出现安装失败的情况 安装 第一步 — 安装MingGW (1)进入官网下载 (2)下载完成之后,双击exe文件 (3)点击Install &#x…...
配置完eslint没有用?
当你使用 npx eslint --init 生成配置文件后 你也配置好了.prettierrc 当你在代码写一点小问题的时候 发现eslint没有进行检查 原因是你生成的 .eslintrc.js中没有加上这个配置 extends: [.....plugin:prettier/recommended],加上以后重启vscode你会发现...
[Nacos]No spring.config.import property has been defined
在学习 Spring Cloud Alibaba ,Nacos组件,创建一个cloudalibaba-config-nacos-client,加载多配置集时遇到问题 配置了 bootstrap.yml 后启动项目报错: 是因为在springcloud 2020.0.2版本中把bootstrap的相关依赖从spring-cloud-s…...
【操作与配置】Pytorch环境搭建
安装显卡驱动 显卡驱动是一种软件程序,用于控制显卡硬件与操作系统之间的通信和交互。显卡驱动负责向操作系统提供有关显卡硬件的信息,以及使操作系统能够正确地控制和管理显卡的各种功能和性能。显卡驱动还包含了针对不同应用程序和游戏的优化ÿ…...
判断QT程序是否重复运行
打开exe,再次打开进行提示。 main.cpp添加: #include "QtFilePreview.h" #include <QtWidgets/QApplication> #include <windows.h> #include <qmessagebox.h> #pragma execution_character_set("utf-8")bool Ch…...
利用Axios封装及泛型实现定制化HTTP请求处理
本案例旨在教授如何使用Axios库结合TypeScript泛型进行HTTP请求的高级封装,以提升代码的可复用性和类型安全性。我们将通过一个具体的示例,学习如何创建一个通用的请求函数,它能够适应不同类型的API响应,并在请求前后加入自定义逻…...
RN6752V1 高性能AHD转MIPIDVPBT656BT601芯片方案,目前适用于车载方案居多
RN6752V1描述: RN6752V1是一种模拟高清晰度(模拟高清)视频解码器IC,专为汽车应用而设计。它集成了所有必要的功能块: AFE,PLL,解码逻辑,MIPI和I2C接口等,在一个小的5mm …...
Rust 基金会的商标政策更新引发社区争议
Rust 基金会最近更新了其商标政策,引发了社区内的一些争议。 Rust 是一种高性能系统编程语言,拥有庞大的开发者社区。Rust 基金会成立于 2020 年,旨在支持和推动 Rust 语言的发展。该基金会负责管理 Rust 的商标,并制定了商标使用…...
Java Opencv识别图片上的虫子
最近有个需求,希望识别图片上的虫子,对于java来说,图像识别不是很好做。在网上也搜索了很多,很多的代码都是不完整,或者下载下载报错,有的写的很长看不懂。所以自己试着用java的opencv写了一段代码。发现识…...
微型操作系统内核源码详解系列五(1):arm cortex m3架构
系列一:微型操作系统内核源码详解系列一:rtos内核源码概论篇(以freertos为例)-CSDN博客 系列二:微型操作系统内核源码详解系列二:数据结构和对象篇(以freertos为例)-CSDN博客 系列…...
值传递和址传递
值传递 上面的代码是想要交换x,y的值,把x,y传递给swap函数之后,执行下面的操作: 在swap中a和b交换了,但是和x,y没有关系,所以x,y在main中不会变。 址传递 下面再看把x…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
运行vue项目报错 errors and 0 warnings potentially fixable with the `--fix` option.
报错 找到package.json文件 找到这个修改成 "lint": "eslint --fix --ext .js,.vue src" 为elsint有配置结尾换行符,最后运行:npm run lint --fix...
GB/T 43887-2024 核级柔性石墨板材检测
核级柔性石墨板材是指以可膨胀石墨为原料、未经改性和增强、用于核工业的核级柔性石墨板材。 GB/T 43887-2024核级柔性石墨板材检测检测指标: 测试项目 测试标准 外观 GB/T 43887 尺寸偏差 GB/T 43887 化学成分 GB/T 43887 密度偏差 GB/T 43887 拉伸强度…...
