计算机网络实验-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…

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;比如…

Boost搜索引擎项目相关介绍

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

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

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

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十六章 设备驱动IO控制

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

【Qt】Qt容器和STL容器的区别

1、简述 Qt容器和STL容器略有不同,作为一个Qter,应该知道它们之间的异同。 Qt容器官网介绍:https://doc.qt.io/qt-5/containers.html STL容器官网介绍:https://zh.cppreference.com/w/cpp/container 2、Qt容器和STL容器的对应关系 注意:QList 与 std::list 无关,QSet …

Python - 开源库 ReportLab 库合并 CVS 和图像生成 PDF 文档

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/140281680 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 Report…

算法 —— 暴力枚举

目录 循环枚举 P2241 统计方形&#xff08;数据加强版&#xff09; P2089 烤鸡 P1618 三连击&#xff08;升级版&#xff09; 子集枚举 P1036 [NOIP2002 普及组] 选数 P1157 组合的输出 排列枚举 P1706 全排列问题 P1088 [NOIP2004 普及组] 火星人 循环枚举 顾名思…

Unity UGUI 之 Input Field

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 1.Input Field是什么&#xff1f; 给玩家提供输入的输入框 2.重要参数 中英文对照着看…

环境搭建-Windows系统搭建Docker

Windows系统搭建Docker 一、系统虚拟化1.1 启用虚拟化2.2 启用Hyper-v并开启虚拟任务 三、安装WSL3.1 检验安装3.2 安装WSL 四、Docker安装4.1 Docker安装包下载4.2 Docker安装4.3 运行docker Desktop 五、Docker配置5.1 打开Docker配置中心5.2 配置Docker国内镜像 六、使用 一…