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

计算机网络实验-RIP配置与分析

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

一、相关知识

路由信息协议(Routing Information Protocol,RIP)是一种基于距离向量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离。为限制收敛时间,RIP 规定度量值取 0~15 的整数,大于或等于 16 的跳数被定义为无穷大,即目的网络或主机不可达。这个限制使 RIP 不能用于大型网络中。

1、RIP的报文形式

RIP 的报文采用 UDP 封装,报文的源端口、目的端口均是 UDP 520 端口

其个字段含义如下:

  • 命令(Command):标识报文的类型1标识Request报文,向邻居请求全部或部分路由信息;2表示Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项
  • 版本(Version):RIP的版本号,1表示RIPv1的版本号,2表示RIPv2
  • 地址族标识(Address Family Identifier):值为2时表示IP
  • 路由标记(Route Tag):外部路由的标记
  • 下一跳(Next Hop):指出该路由的下一跳IP地址,若为0.0.0.0,则表示发布此路由的路由器地址就是最优下一跳地址
  • 路由度量(Metric):表示路由的开销(跳数),也就是"距离"

2、相关CLI命令

在系统视图下启动RIP;为路由器配置RIP,首先启动RIP进程,进入RIP视图。若未指定进程ID,命令将使用1作为默认进程ID

 <R2>sys[R2]rip

在RIP视图下指定运行RIP的直连网络;对于不属于指定网络的接口,RIP 既不在该接口接收和发送路由,也不向外通告该接口的路由。

 [R2]network <network-address>

在 RIP 视图下设置 RIP 的版本号,1 表示 RIPv1,2 表示 RIPv2

[R2]version {1|2}

在 RIP 视图下启动自动路由汇总,自动对路由进行有类聚合,聚合后的路由以使用自然掩码(分类地址的默认掩码)的路由形式发布;

 [R2]summary

査看 RIP 进程的当前运行状态及配置信息

 [R2]display rip [ process-id ]

查看所有从其他路由器学习的 RIP 路由信息,以及与每条路由相关的不同定时器的值。

 [R2]display rip process-id route

在接口视图下,在该接口启用水平分割功能,以防止路由环路,该功能默认启用。如果要禁止启用水平分割功能,可使用“undo rip split-horizon”命令。

 [R2]rip split-horizon

在接口视图下,在该接口启用毒性逆转功能,以防止路由环路,该功能默认关闭。如果要禁止启用毒性逆转功能,可使用“undo rip poison-reverse”命令。如果同时启用水平分割和毒性逆转功能,则只有毒性逆转功能有效。

[R2]rip poison-reverse:

二、建立网络拓扑

三、RIPv1的基本配置

(1)查看路由器路由表,测试 PC1到PC2、PC3 的连通性,并分析结果

 PC>ping 210.138.3.1Ping 210.138.3.1: 32 data bytes, Press Ctrl_C to breakRequest timeout!...

(2)配置RIP并验证

为路由器 R1、R2 和 R3 配置 RIP(默认为 RIPv1 )

 [R1]:rip 1network 210.138.1.0network 210.138.4.0R2:rip 1network 210.138.2.0network 210.138.4.0network 210.138.5.0R3:rip 1network 210.138.3.0network 210.138.5.0

RIP 指定的网络地址只能为分类地址的自然网段地址;再次测试连通性,发现互通;

(3)在R2的G0/0/1接口捕获的RIPv1报文如图,分析R2发送的RIPv1报文;

(4)查看路由表中增加的 RIP 路由信息

 [Huawei-rip-1]display ip routing-table protocol ripRoute Flags: R - relay, D - download to fib------------------------------------------------------------------------------Public routing table : RIPDestinations : 3        Routes : 3        RIP routing table status : <Active>Destinations : 3        Routes : 3Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface210.138.1.0/24  RIP     100  2           D   210.138.5.1     G0/0/2210.138.2.0/24  RIP     100  1           D   210.138.5.1     G0/0/2210.138.4.0/24  RIP     100  1           D   210.138.5.1     G0/0/2RIP routing table status : <Inactive>Destinations : 0        Routes : 0

可以看出,R3 的路由表中到210.138.4.0的路由,掩码是“/24”而不是“/30”由于 RIPv1 的路由通告中没有子网掩码,R3 无法判断 210.138.40 的网络前缀,因此只能使用该地址的自然掩码。由此可见,RIPy1不支持无分类编址。

四、RIPv2的基本配置

(1)将R1、R2和R3的RIP版本设置为第2版。RIPv2与RIPv1的配置命令完全相同只需要进入RIP视图将版本设置为 2,其他配置不变。

 [R1]rip[R1-rip-1]version 2[R1-rip-1]display this#rip 1version 2network 210.138.1.0network 210.138.4.0#return

测试连通性,发现互通;

(2)在R2的G0/0/1接口捕获RIPv2报文

(3)查看路由器的路由表

 [Huawei-rip-1]display ip routing-table protocol ripRoute Flags: R - relay, D - download to fib------------------------------------------------------------------------------Public routing table : RIPDestinations : 3        Routes : 3        RIP routing table status : <Active>Destinations : 3        Routes : 3Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface210.138.1.0/24  RIP     100  2           D   210.138.5.1     G0/0/2210.138.2.0/24  RIP     100  1           D   210.138.5.1     G0/0/2210.138.4.0/30  RIP     100  1           D   210.138.5.1     G0/0/2RIP routing table status : <Inactive>Destinations : 0        Routes : 0

可看出,R3 的路由表中到 210.138.4.0 的路由,掩码是“/30”而不是“/24”。由于 RIPv2 的路由通告中携带子网掩码,因此 RIPv2 支持无分类编址

五、验证水平分隔功能

RIP 支持水平分割毒性逆转触发更新功能。在华为路由器中,水平分割功能是默认开启,而毒性逆转功能是默认关闭的。如果同时开启水平分割和毒性逆转功能,则只有毒性逆转功能有效

(1)为了更容易观察水平分割功能的作用,以下实验使用 RIPv1;

(2)分析在 R2 的 GE 0/0/1 接口捕获的 RIPv1 报文;为什么 R1 没有通告到 210.138.2.0、210.138.3.0、210.138.5.0 的路由,而 R2 没有通告到 210.138.1.0、210.138.4.0的路由?

(3)在 R2的G0/0/1接口启动抓包,同时关闭 R3 的G0/0/0接口(在接口视图下执行“shutdown”命令 ),模拟坏消息。分析:经过几次通告,到 210.138.3.0 的路由度量(距离)会变为 16(不可达)。

六、验证RIP慢收敛问题

首先启动 R3 的 GE 0/0/0 接口(在接口视图下执行“undo shutdown”命令 )。为了更容易观察 RIP 的慢收敛问题,我们需要关闭 RIP的路由汇总功能和水平分割功能,并继续使用RIPv1;

(1)关闭 RIP 的路由汇总功能,在路由器 R1、R2、R3 互连的所有接口上执行“undorip split-horizon”命令,以禁止启用水平分割功能。

 ripundo summary int g0/0/1undo rip split-horizon

在 R2 的 GE 0/0/1 接口启动抓包

(2)关闭R3的G0/0/0接口,模拟坏消息,并同时记下这时在R2的G0/0/1接口捕获的最后一个分组的序号。分析经过几次通告,到210.138.3.0的路由度量变为16(不可达);

七、总结

  • RIP 是一种基于距离向量算法的协议RIPv1 是一种有分类路由协议,利用 UDP一播进行路由信息通告;而 RIPv2 是一种无分类路由协议,利用 UDP 多播进行路由信息通告,使用的多播地址为 224.0.0.9
  • 在默认情况下,开启路由器接口的水平分割功能,可以减轻"坏消息传播得慢"的问题

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

相关文章:

计算机网络实验-RIP配置与分析

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、相关知识 路由信息协议&#xff08;Routing Information Protocol&#xff0c;RIP&#xff09;是一种基于距离向量&#xff08;Distance-Vector&…...

33.【C语言】实践扫雷游戏

预备知识&#xff1a; 第13篇 一维数组 第13.5篇 二维数组 第28篇 库函数 第29篇 自定义函数 第30篇 函数补充 0x1游戏的运行&#xff1a; 1.随机布置雷 2.排雷 基本规则&#xff1a; 点开一个格子后&#xff0c;显示1&#xff0c;对于9*9&#xff0c;代表以1为中心的去…...

git学习笔记(总结了常见命令与学习中遇到的问题和解决方法)

前言 最近学习完git&#xff0c;学习过程中也遇到了很多问题&#xff0c;这里给大家写一篇总结性的博客&#xff0c;主要大概讲述git命令和部分难点问题&#xff08;简单的知识点这里就不再重复讲解了&#xff09; 一.git概述 1.1什么是git Git是一个分布式的版本控制软件。…...

【计算机网络】TCP协议详解

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 1、引言2、udp和tcp协议的异同3、tcp服务器3.1、接口认识3.2、服务器设计 4、tcp客户端4.1、客户端设计4.2、说明 5、再研Tcp服务端5.1、多进程版5.2、多线程版 5、守护进程化5.1、什么是守护进程5.2…...

2.3 大模型硬件基础:AI芯片(上篇) —— 《带你自学大语言模型》系列

本系列目录 《带你自学大语言模型》系列部分目录及计划&#xff0c;完整版目录见&#xff1a;带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型&#xff08;科普向&#xff09; 第一章 走进大语言模型 1.1 从图灵机到GPT&#xff0c;人工智能经历了什么&#xff1…...

Java | Leetcode Java题解之第279题完全平方数

题目&#xff1a; 题解&#xff1a; class Solution {public int numSquares(int n) {if (isPerfectSquare(n)) {return 1;}if (checkAnswer4(n)) {return 4;}for (int i 1; i * i < n; i) {int j n - i * i;if (isPerfectSquare(j)) {return 2;}}return 3;}// 判断是否为…...

JS逆向高级爬虫

JS逆向高级爬虫 JS逆向的目的是通过运行本地JS的文件或者代码,以实现脱离他的网站和浏览器,并且还能拿到和浏览器加密一样的效果。 10.1、编码算法 【1】摘要算法&#xff1a;一切从MD5开始 MD5是一个非常常见的摘要(hash)逻辑. 其特点就是小巧. 速度快. 极难被破解. 所以,…...

基于Golang+Vue3快速搭建的博客系统

WANLI 博客系统 项目介绍 基于vue3和gin框架开发的前后端分离个人博客系统&#xff0c;包含md格式的文本编辑展示&#xff0c;点赞评论收藏&#xff0c;新闻热点&#xff0c;匿名聊天室&#xff0c;文章搜索等功能。 项目在线访问&#xff1a;http://bloggo.chat/ 访客账号…...

DVWA中命令执行漏洞细说

在攻击中&#xff0c;命令注入是比较常见的方式&#xff0c;今天我们细说在软件开发中如何避免命令执行漏洞 我们通过DVWA中不同的安全等级来细说命令执行漏洞 1、先调整DVWA的安全等级为Lower,调整等级在DVWA Security页面调整 2、在Command Injection页面输入127.0.0.1&…...

【YOLOv5/v7改进系列】引入中心化特征金字塔的EVC模块

一、导言 现有的特征金字塔方法过于关注层间特征交互而忽视了层内特征的调控。尽管有些方法尝试通过注意力机制或视觉变换器来学习紧凑的层内特征表示&#xff0c;但这些方法往往忽略了对密集预测任务非常重要的被忽视的角落区域。 为了解决这个问题&#xff0c;作者提出了CF…...

【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)

一、控件概述 Widget 是 Qt 中的核心概念&#xff0c;英文原义是 “小部件”&#xff0c;此处也把它翻译为 “控件”。控件是构成一个图形化界面的基本要素。 像上述示例中的按钮、列表视图、树形视图、单行输入框、多行输入框、滚动条、下拉框都可以称为 “控件”。 Qt 作为…...

【Python】字母 Rangoli 图案

一、题目 You are given an integer N. Your task is to print an alphabet rangoli of size N. (Rangoli is a form of Indian folk art based on creation of patterns.) Different sizes of alphabet rangoli are shown below: # size 3 ----c---- --c-b-c-- c-b-a-b-c --…...

html+css 实现水波纹按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…...

科技与占星的融合:AI 智能占星师

本文由 ChatMoney团队出品 在科技的前沿领域&#xff0c;诞生了一位独特的存在——AI占星师。它并非传统意义上的占星师&#xff0c;而是融合了先进的人工智能技术与神秘的占星学知识。 这能够凭借其强大的数据分析能力和精准的算法&#xff0c;对星辰的排列和宇宙的能量进行深…...

判断字符串,数组方法

判断字符串方法 在JavaScript中&#xff0c;可以使用typeof操作符来判断一个变量是否为字符串。 function isString(value) {return typeof value string; } 判断数组 在JavaScript中&#xff0c;typeof操作符并不足以准确判断一个变量是否为数组&#xff0c;因为typeof会…...

SpringBoot Vue使用Jwt实现简单的权限管理

为实现Jwt简单的权限管理&#xff0c;我们需要用Jwt工具来生成token&#xff0c;也需要用Jwt来解码token&#xff0c;同时需要添加Jwt拦截器来决定放行还是拦截。下面来实现&#xff1a; 1、gradle引入Jwt、hutool插件 implementation com.auth0:java-jwt:3.10.3implementatio…...

java中的多态

多态基础了解&#xff1a; 面向对象的三大特征&#xff1a;封装&#xff0c;继承&#xff0c;多态。 有了面向对象才有继承和多态&#xff0c;对象代表什么&#xff0c;就封装对应的数据&#xff0c;并提供数据对应的行为&#xff0c;可以把零散的数据和行为进行封装成一个整…...

【数据结构】:用Java实现链表

在 ArrayList 任意位置插入或者删除元素时&#xff0c;就需要将后序元素整体往前或者往后搬移&#xff0c;时间复杂度为 O(n)&#xff0c;效率比较低&#xff0c;因此 ArrayList 不适合做任意位置插入和删除比较多的场景。因此&#xff1a;java 集合中又引入了 LinkedList&…...

前端开发知识(三)-javascript

javascript是一门跨平台、面向对象的脚本语言。 一、引入方式 1.内部脚本&#xff1a;使用<script> &#xff0c;可以放在任意位置&#xff0c;也可以有多个&#xff0c;一般是放在<body></body>的下方。 2.外部脚本&#xff1a;单独编写.js文件&#xff…...

Windows图形界面(GUI)-MFC-C/C++ - MFC绘图

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 MFC绘图 绘图基础 CPaintDC 实例代码 MFC绘图 绘图基础 设备上下文&#xff08;Device Context, DC&#xff09;: 设备上下文是一个Windows GDI&#xff08;图形设备接口&#xff09…...

Cobar高可用性实现:心跳检测与故障转移的完整教程

Cobar高可用性实现&#xff1a;心跳检测与故障转移的完整教程 【免费下载链接】cobar a proxy for sharding databases and tables 项目地址: https://gitcode.com/gh_mirrors/co/cobar Cobar作为阿里巴巴开源的分布式数据库中间件&#xff0c;其高可用性实现是保障企业…...

从1997年的论文到2024年的实践:聊聊LEO卫星网络里那个‘过时’但依然有用的DT-DVTR算法

从1997年的论文到2024年的实践&#xff1a;LEO卫星网络里那个‘过时’但依然有用的DT-DVTR算法 在星链&#xff08;Starlink&#xff09;和OneWeb掀起全球卫星互联网热潮的今天&#xff0c;回望1997年Markus Werner那篇开创性的论文&#xff0c;会惊讶地发现&#xff1a;现代低…...

3分钟快速上手:Greasy Fork用户脚本终极安装与管理指南

3分钟快速上手&#xff1a;Greasy Fork用户脚本终极安装与管理指南 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork 你是否曾经想过让浏览器变得更加强大&#xff1f;是否厌倦了重复的网页…...

搜索引擎技巧

一.搜索行动框架第三步&#xff1a;抽取关键词、构造检索式在选择好搜索工具之后&#xff0c;紧接着就是抽取关键词、构造检索式了。检索式通常由三个要素组成。• 关键词&#xff1a;这个非常容易理解&#xff0c;我们常常在搜索过程中只会输入关键词。但很多时候&#xff0c;…...

终极指南:FNF PsychEngine游戏引擎完整功能解析与实战应用

终极指南&#xff1a;FNF PsychEngine游戏引擎完整功能解析与实战应用 【免费下载链接】FNF-PsychEngine Engine originally used on Mind Games mod 项目地址: https://gitcode.com/gh_mirrors/fn/FNF-PsychEngine FNF PsychEngine是一款专为Friday Night Funkin游戏设…...

Linux开发学习第七天——虚拟内存和物理内存

一、虚拟内存1.概念内核给进程编造的独立地址空间&#xff0c;每个进程都以为自己独占内存。它们靠 MMU&#xff08;硬件&#xff09; 页表&#xff08;内核&#xff09; 做映射。每个进程都独有一份&#xff0c;就是之前提到的进程的内存模型。2.作用隔离进程&#xff1a;A 进…...

CVE_2020_26259 任意文件删除

为什么要用c语言搓个shellcode出来&#xff0c;为什么不用msfvenom&#xff1f;因为这玩意生成的shellcode是基于winsocket的&#xff0c;注进去还要启动个监听&#xff0c;我仅仅想要验证一下可行性而已&#xff0c;不如自己搓个弹出messagebox版本的shellcode 环境 windows 1…...

TranslateGemma避坑指南:解决CUDA报错和GPU识别问题

TranslateGemma避坑指南&#xff1a;解决CUDA报错和GPU识别问题 1. 常见问题概述&#xff1a;为什么你的GPU跑不起来 部署TranslateGemma时&#xff0c;90%的安装失败都与GPU相关。以下是工程师们最常遇到的三大问题&#xff1a; CUDA版本不匹配&#xff1a;系统CUDA与镜像要…...

探秘AI应用架构师的企业数据价值挖掘宝藏

探秘AI应用架构师的企业数据价值挖掘宝藏 一、引言 (Introduction) 钩子 (The Hook) 在当今数字化浪潮席卷的时代&#xff0c;企业犹如置身数据的汪洋大海之中。据统计&#xff0c;全球每天产生的数据量高达数十亿TB。想象一下&#xff0c;企业每天收集的海量客户信息、业务交易…...

标签噪声鲁棒训练:从理论到实践,构建深度学习模型的抗噪防线

1. 标签噪声&#xff1a;深度学习中的隐形杀手 第一次用MNIST数据集跑分类模型时&#xff0c;我发现哪怕故意把20%的标签打乱&#xff0c;模型在测试集上依然能达到85%以上的准确率。这个结果让我误以为深度神经网络对标签噪声天然具有免疫力——直到后来在医疗影像分类项目里…...