当前位置: 首页 > 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
  • 在默认情况下,开启路由器接口的水平分割功能,可以减轻"坏消息传播得慢"的问题

致谢

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

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

http://www.lryc.cn/news/408173.html

相关文章:

  • 33.【C语言】实践扫雷游戏
  • git学习笔记(总结了常见命令与学习中遇到的问题和解决方法)
  • 【计算机网络】TCP协议详解
  • 2.3 大模型硬件基础:AI芯片(上篇) —— 《带你自学大语言模型》系列
  • Java | Leetcode Java题解之第279题完全平方数
  • JS逆向高级爬虫
  • 基于Golang+Vue3快速搭建的博客系统
  • DVWA中命令执行漏洞细说
  • 【YOLOv5/v7改进系列】引入中心化特征金字塔的EVC模块
  • 【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
  • 【Python】字母 Rangoli 图案
  • html+css 实现水波纹按钮
  • 科技与占星的融合:AI 智能占星师
  • 判断字符串,数组方法
  • SpringBoot Vue使用Jwt实现简单的权限管理
  • java中的多态
  • 【数据结构】:用Java实现链表
  • 前端开发知识(三)-javascript
  • Windows图形界面(GUI)-MFC-C/C++ - MFC绘图
  • 51单片机-第五节-串口通信
  • 【Linux常用命令】之df命令
  • 2024年起重信号司索工(建筑特殊工种)证模拟考试题库及起重信号司索工(建筑特殊工种)理论考试试题
  • AWS全服务历史年表:发布日期、GA和服务概述一览 (全)
  • Leetcode 2824. 统计和小于目标的下标对数目
  • TCP服务器主动断开客户端
  • 接口自动化中json.dumps()跟json.loads()区别详解
  • 计算机网络-配置双机三层互联(静态路由方式)
  • ES(Elasticsearch)常用的函数有哪些?
  • 【计算机网络】ICMP报文实验
  • transformers进行学习率调整lr_scheduler(warmup)