计算机网络实验-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
  • 在默认情况下,开启路由器接口的水平分割功能,可以减轻"坏消息传播得慢"的问题

致谢

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity2D游戏开发06稳定,材质,碰撞器

稳定性 在操控玩家时,我们会发现玩家移动时,摄像头会有抖动,这是摄像机过度精确造成的。 创建名为RoundCameraPos的C#脚本,用Visual Studio打开 代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using Cinemachine;//导入Cinemac…

rust 初探 -- use

rust 初探 – use Package, Crate, 定义 Module use 关键字 作用&#xff1a;将路径引入到作用域内&#xff0c;其依旧遵循私有性规则&#xff0c;也即只用 pub 的部分引入进来才能使用 use crate::front_of_house::hosting; // 绝对路径 // use front_of_house::hosting; …

【Python机器学习】使用Matplotlib注解绘制树形图

通过数据集可以创建树&#xff0c;但是字典的表示形式非常不易于理解&#xff0c;而且直接绘制图形也比较困难。但是通过Matplotlib库可以绘制树形图。 决策树的主要优点就是直观、易于理解&#xff0c;如果不能将其直观的显示出来&#xff0c;就无法发挥其优势。 Matplotlib…

基于JSP、java、Tomcat三者的项目实战--校园交易网(2)登录,注册功能实现

技术支持&#xff1a;JAVA、JSP 服务器&#xff1a;TOMCAT 7.0.86 编程软件&#xff1a;IntelliJ IDEA 2021.1.3 x64 OK&#xff0c;那我们进入正题&#xff0c;随着前面一篇博客的尚未完结基于JSP、java、Tomcat三者的项目实战--校园交易网&#xff08;2&#xff09;登录功能…

微软蓝屏事件:网络安全的多维挑战与应对策略

一、引言 1. 事件概述&#xff1a;微软蓝屏事件的影响与范围 微软蓝屏事件&#xff0c;这一近期震动全球科技界的重大事件&#xff0c;起因于一次看似平常的软件更新。美国电脑安全技术公司“众击”发布的更新包中隐藏着一个致命的“缺陷”&#xff0c;这个缺陷如同潜伏的病毒…

函数图像是如何画出来的(LiveCharts2)

大火的人工智能本质上就是一些简单的函数的组合&#xff0c;比如f(x)kxb&#xff0c;只是可能不只有x,还会x1&#xff0c;x2&#xff0c;…xn&#xff0c;只是维数不同&#xff0c;当维数很多的时候自然就需要方程组才能求解&#xff0c;维数越多自然需要的算力就越多。于是就有…

简单小案例分析

一、容器和实例关系 <div class"app"><h1>Hello,{{name}}</h1> </div> <div class"app"><h1>Hello,{{name}}</h1> </div><script>//创建Vue实例new Vue({el:".app", //el用于指定当前V…

easyExcel 3.x以上版本导入数据后,再把错误信息导出,外加自定义RGB背景色、行高、宽度等

easyExcel 3.x以上版本导入数据后&#xff0c;再把错误信息导出&#xff0c;外加自定义RGB背景色 背景 由于项目中用的easypoi导入的数据量大了&#xff0c;会导致OOM的问题&#xff0c;所以要求更换为easyExcel框架做导入。话不多说&#xff0c;这里只做一个导入的示例&…

DP学习——享元模式

学而时习之&#xff0c;温故而知新。 享元模式 名词解析 有必要解释下“享元”两字&#xff0c;英文原文是flyweight pattern——轻量级模式&#xff0c;但是翻译过来的“享元”两字太牛逼了——褒贬不一&#xff0c;翻译的他妈都不认识。 享元的高雅在于: 享:共享/共用 元:…

VB中如何定义和使用数组

在VB&#xff08;Visual Basic&#xff09;中&#xff0c;数组是一种数据结构&#xff0c;用于存储相同类型的数据项集合。这些数据项可以通过索引&#xff08;通常是整数&#xff09;来访问。VB提供了多种方式来定义和使用数组。 定义数组 在VB中&#xff0c;你可以使用Dim语…

Retrieval-Augmented Evaluation方法评估模型幻觉

测试大模型的幻觉 Factuality prompt 1:建立factuality prompt测试集合 “Factuality prompt”是指用于引导语言模型生成与事实相符的文本的输入提示,它通过提供明确的问题或句子,帮助模型聚焦于生成准确的信息,从而提高生成内容的事实准确性。如果一个factuality promp…

DBeaver Ultimate 22.1.0 连接数据库(MySQL+Mongo+Clickhouse)

前言 继续书接上文 Docker Compose V2 安装常用数据库MySQLMongo&#xff0c;部署安装好之后我本来是找了一个web端的在线连接数据库的工具&#xff0c;但是使用过程中并不丝滑&#xff0c;最终还是选择了使用 DBeaver &#xff0c;然后发现 mongo 还需要许可&#xff0c;又折…

PyQt5 + selenium,自动票务工具,演唱会门票,学习使用

PyQt5 selenium&#xff1b;在damai工具的基础上加入了UI界面&#xff0c;并将应用做了打包工作&#xff0c;主要是方便不会/不想折腾环境的用户使用&#xff0c;抢票的核心代码来自由于原作者不再维护&#xff0c;自己修改了部分代码。 安装教程 解压安装包到任意位置&…

SpringBoot整合elasticsearch-java

一、依赖 系统使用的是ElasticSearch8.2.0 <dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.1.0</version> </dependency> 二、配置 1、yml文件配置 elastics…

Mongodb文档和数组的通配符索引

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第97篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

新华三H3CNE网络工程师认证—VLAN间通信背景

VLAN间通信技术主要解决的是不同的VLAN之间如何通信。每一个广播域会有网段给IP进行命名&#xff0c;不同网段之间的通信本质上是不同广播域进行通信&#xff0c;通信会使用到网关地址。不同网段之间的通信&#xff0c;路由器的每个接口其实是对应一个广播域的&#xff0c;比如…

C# 控制台程序输出乱码

前面概要 首先有几个问题因为项目需要&#xff0c;和一个控制台程序做链接&#xff0c;控制台那边会输出用户选择的图片路径。但是我发现如果图片路径是中文&#xff0c;就会乱码&#xff0c;报错结果只需要把编码全部设置成utf-8就可以了注意Console 输出为utf-8 Console.Ou…

Python爬虫技术 第08节 Cookies和Session

在Web开发和爬虫技术中&#xff0c;Cookies和Session是两个关键概念&#xff0c;它们被用来维护客户端&#xff08;如浏览器&#xff09;和服务器之间的状态信息。这对于爬虫来说特别重要&#xff0c;因为许多现代网站依赖于这些机制来保持用户登录状态、个性化内容等。下面我将…

Boost搜索引擎项目相关介绍

Boost搜索引擎相关介绍&#xff1a; 首先&#xff0c;Boost库不具备搜索条件&#xff0c;所以我们这个项目借此实现搜索功能。 项目的核心就是以用户搜索的相关内容在目标数据中进行查找。 首先&#xff0c;我们面临的第一大难题就是目标数据&#xff0c;在这里目标数据就是Boo…

算法第十五天:leetcode19.删除链表的倒数第N个节点

一、删除链表的倒数第N个节点的题目描述与链接 19.删除链表的倒数第N个节点的链接如下表所示&#xff0c;您可直接复制下面网址进入力扣学习&#xff0c;在观看下面的内容之前您一定要先做一遍哦&#xff0c;以便让我印象更深刻&#xff01;&#xff01;!https://leetcode.cn/p…