【计算机网络】RIP路由协议实验

news2024/9/20 15:08:38

一:实验目的

1:掌握在路由器上配置RIPv2。

二:实验仪器设备及软件

硬件:RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。具体为:三层交换机1台、路由器2台。

软件:wireshark软件、记事本、Chrome浏览器等。

三:实验方案

【实验的网络拓扑图】

四:实验步骤

1:按照拓扑图配置PC1和PC2的IP地址、子网掩码、网关,并测试他们的连通性。此外,记录路由表信息。

由于两台主机在不同的网段,因此初始时没有连通性。

在路由器上执行show ip route命令,可以得到初始时的路由表。

2:三层交换机的基本配置。

三层交换机的基本配置过程,如下图所示。主要创建了VLAN 10和VLAN 50的虚拟端口,并配置了相应的IP地址。

3:路由器1的基本配置。

路由器1的基本配置过程,如下图所示。主要给端口配置了相应的IP地址。

4:路由器2的基本配置。

路由器2的基本配置过程,如下图所示。

5:交换机配置RIPv2路由协议。

    三层交换机的RIPv2路由协议配置过程,如下图所示。主要开启了RIP进程,声明了本设备的直连网段和RIP发布网段地址。

6:路由器1配置RIPv2路由协议。

    路由器1的RIPv2路由协议配置过程,如下图所示。

7:路由器2配置RIPv2路由协议。

路由器2的RIPv2路由协议配置过程,如下图所示。

8:验证三台路由设备的路由表,查看是否自动学习了其他网段的路由信息。

    检查三层交换机的路由表,结果如下图所示。可以发现,增加了2条R标签项的路由记录,由路由器1和路由器2传输其路由信息得到。

检查路由器1的路由表,结果如下图所示。可以发现,增加了2条R标签项的路由记录,由三层交换机和路由器2传输其路由信息得到。

检查路由器2的路由表,结果如下图所示。可以发现,增加了2条R标签项的路由记录,由三层交换机和路由器1传输其路由信息得到。

9:测试网络的连通性。

【1】将此时的路由表与步骤1的路由表进行比较,有什么结论?

每个路由设备的路由表,都增加了2条R标签项的路由记录。

结论:配置RIPv2后,路由表将逐渐学习并添加其他通过RIP广播的网络的条目。随着RIPv2的运行,路由器能够动态地了解到更多远程网络的信息,这些信息是通过与邻居路由器的交互获得的。

【2】分析traceroute PC1/PC2的结果。

    在PC1上执行traceroute PC2的结果,如下图所示。

可以看到从PC1到PC2的过程中经过了3次跳转,分别是10.206.50.1、10.206.10.1和10.206.20.2。

【3】进行拔线实验,通过wireshark测试报文变化的时间差,路由有没有出现毒性反转现象?

毒性反转是距离向量路由协议中的一种机制,用于防止路由循环。毒性反转的工作原理是:当一台路由器从某个邻居学到一个路由后,它会通过将该路由的距离设置为无穷大来“中毒”反向广播给该邻居,告知该路由不再可用。

拔线实验的执行过程如下:

(1)记录拔线前的状态:捕获并记录拔线操作之前的RIP消息,注意路由表中的路由距离。

(2)拔线:从网络中拔掉一条关键的连接线。

(3)观察反应:继续使用Wireshark记录拔线后的RIP消息。

分析捕获数据的过程如下:

(1)查找毒性反转消息:毒性反转通常体现为某条路由的距离被设置为16(在RIP中,16表示不可达)。在RIP更新包中查找目标网络的条目,看是否该网络的度量值变为16。

(2)比较时间差:观察从拔线到路由更新消息的发送这段时间内的延迟。分析路由器响应网络变化的速度,特别是路由器发送带有毒性反转条目的路由更新的速度。

(3)评估路由更新的广播:检查路由器是否对所有邻居广播了更新的路由信息,包括毒性反转的信息。

【4】捕获数据包,分析RIP封装结构。RIP包在PC1/PC2上能捕获到吗?如希望2台主机都能捕获到RIP包,请描述实现方法。

RIP数据包通常封装在UDP数据报中。RIP消息的结构如下:

  1. 命令:指示RIP包的类型,如请求(1)或响应(2)。
  2. 版本:RIP版本,通常为1或2。
  3. 必须为零的字段:用于对齐。
  4. 路由条目:包括网络地址、度量等信息。

    RIP包在PC1/PC2上能捕获到。

希望在2台主机都捕获到RIP包,可以采用以下方法:

(1)将PC设置为监听RIP广播和组播地址:在PC上配置一个网络接口以监听224.0.0.9(RIPv2的组播地址)。

(2)使用网络嗅探器在混杂模式下运行:在PC1和PC2上运行Wireshark或其他网络抓包工具,设置接口为混杂模式。混杂模式允许网络接口捕获通过它的所有流量。

(3)网络配置调整:如果PC1和PC2位于同一广播域内且网络中有路由器在使用RIP协议,那么只要将它们的网络接口设置为混杂模式,就有可能捕获到RIP数据包。如果不在同一广播域,需要在路由器或网络上设置端口镜像(SPAN)或网络分析口,将RIP流量复制到PC1和PC2所连接的端口。

五:实验结果及分析

1:查看交换机端口 0/1 所属 VLAN 应使用哪条命令?

命令为:show interface GigabitEthernet 0/1

在交换机上的执行结果,如下图所示。

2:如何查看 RIP 的版本号和发布到的网段?

    使用命令:show ip rip

3:RIPv1 的广播地址是什么?RIPv2 的组播地址是什么?

RIPv1的广播地址是255.255.255.255。

RIPv2的组播地址是224.0.0.9。

4:使用 10.10.X.0 的 IP 地址重做本次实验,注意网段间使用不同的子网掩码。当在 RIPv1 下设置不同网段时,配置后的端口实际上获得的子网掩码是什么?配合实验分析原因。

    RIPv1不支持子网掩码的传递,默认使用所在网络类别的标准子网掩码。在使用RIPv1的网络中,所有子网都必须使用相同的、基于类别的标准子网掩码,否则会导致子网掩码信息的不一致和路由错误。

5:RIPv1 必须使用自动汇总,不支持不连续网络,请实验验证。RIPv2 支持不连续网络吗?

    自动汇总是指RIPv1自动进行路由汇总到其类别地址,即自动将所有子网汇总到其主类网络地址(如A类、B类或C类)。因为RIPv1假设所有子网物理上连续且逻辑上属于同一个网络,所以RIPv1无法正确处理不连续网络。

RIPv1不支持不连续网络的实验验证:

(1)网络设置:配置一个模拟环境,其中包括几个RIPv1路由器,分布在不同的类别网络中。例如,一个网络段为10.0.2.0/24,另一个为10.0.3.0/24,它们之间通过一个B类地址(如172.16.0.0/16)的路由器连接。

(2)配置RIPv1:在所有路由器上启用RIPv1。

(3)观察路由表:检查路由表以验证路由器是否能正确学习和广播到不同的子网。

RIPv1不支持不连续网络的实验预期结果:由于RIPv1进行自动汇总,路由器将无法正确识别不连续网络。上述情况可能导致路由循环或某些网络不可达。

RIPv2 支持不连续网络。RIPv2允许手动配置路由汇总,并支持子网掩码。

6:RIPv1 对路由没有标记的功能,RIPv2 可以对路由打标记(tag),用于过滤和做策略。请在实验中观察和分析。

    标记(tag)允许管理员对路由信息进行额外的分类或标记,有助于在复杂的网络环境中进行路由信息的过滤和策略制定。

实验验证:

(1)配置RIPv2和路由标记。例如,路由器A可以对到达网络X的路由设置标记100。

    (2)设置路由接受/拒绝策略。在路由B上设置策略,仅接受带有标记100的路由更新。

    (3)流量转发策略。使用策略路由根据标记决定特定流量的转发路径。

    (4)观察和分析。使用Wireshark或类似工具捕获RIP更新,验证路由标记是否被正确传递。检查路由表,确认路由策略是否按预期工作。

六:实验总结及体会

1:RIP的封装结构如下。

2:RIPv1的设计限制会导致无法正确处理不同的子网掩码。这可能会导致路由循环、不可达的目的地或数据传输效率低下。

3:与RIPv1相比,RIPv2支持子网掩码的传递,因此可以处理不连续的子网和复杂的网络拓扑。

4:在进行拔线实验时,RIPv2展示了其在网络故障发生后的响应能力,及时更新和传播新的路由信息,减少了网络故障的影响。

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

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

相关文章

Qwen2-Audio:对话式AI突破,让你“声”临其境

阿里巴巴最新推出的音频处理模型Qwen2-Audio,不仅能直接用语音聊天,还能像一位专业的听觉大师一样分析各种声音,功能强大得令人难以置信。 Qwen2-Audio可以通过语音聊天和音频分析两种方式与用户互动,用户无需区分这两种模式&…

请问C语言到底允不允许动态定义数组大小?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「c语言的资料从专业入门到高级教程」,点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!! 按照谭浩强的第五版C程序设…

vue实现电子签名、图片合成、及预览功能

业务功能:电子签名、图片合成、及预览功能 业务背景:需求说想要实现一个电子签名,然后需要提供一个预览的功能,可以查看签完名之后的完整效果。 需求探讨:后端大佬跟我说,文档我返回给你一个PDF的oss链接…

MySQL客户端命令一节将.sql文件导入MySQL

MySql客户端命令 直接输入SQL语句 使用MySQL客户端连接到服务器之后,可以发送SQL语句到服务器执行,并且以;和\g, \G作为结束不同的结束方式显示内容有所不同** TIPS: ;和\g结尾以表格的形式显示结果\G以行的形式显示结果 在连接到服务器之后…

小程序获取订阅消息状态

uni.getSetting获取用户的当前设置 uni.getSetting({success(res) {console.log(res)} })1. 当withSubscriptions:true的时候,只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 2.返回值中的subscriptionsSetting表示…

自动驾驶-机器人-slam-定位面经和面试知识系列05之常考公式推导(02)

这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新,基本涵盖了自己秋招历程被问过的面试内容(除了实习和学校项目相关的具体细节)。在知乎和牛客(牛客上某些文章上会附上内推码)也会同步…

【运维自动化-配置平台】模型及模型关联最小化实践

蓝鲸智云配置平台,以下简称配置平台 我们知道主机是配置平台最常见的管控资源对象,在业务拓扑里可以通过划分模块来清晰的可视化管理;那其他资源如何通过配置平台来纳管呢,比如网络设备交换机。场景需求:如何把交换机…

怎么培养政府机关的公文写作能力?

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量 公文写作千万不能零起步,你有时间慢慢学习,但领导哪有时间等你慢慢进步啊。 如果问写公文有什么捷径,那就不得不靠「AI写作工具…

Study--Oracle-07-ASM相关参数(四)

一、ASM主要进程 1、ASM主要后台进程 ASM实例除了传统的DBWn、LGWR、CKPT、SMON和PMON等进程还包含如下几个新后台进程: 2、牛人笔记 邦德图文解读ASM架构,超详细 - 墨天轮 二、数据库实例于ASM实例之间的交互关系 数据库实例与ASM实例之间的交互关系涉及多个步骤和过程,…

联想教育电脑硬盘保护同传EDU系统使用简明教程

目录 一、原理概述 二、简明使用方法 1、软件下载 2、开机引导 3、开始安装 4、使用 (1)进入底层 (2)进行分区设置 (3)系统设置 (4)安装硬盘保护驱动 (5&…

Android Studio导入源码

在有源码并且编译环境可用的情况下: 1.生成导入AS所需的配置文件 在源码的根目录执行以下命令: source build/ensetup.sh lunch 要编译的项目 make idegen //这一步会生成out/host/linux-x86/framework/idegen.jar development/tools/idegen/idegen.sh…

若依框架 : 生成代码

6.生成代码 6.1.配置生成设置 ruoyi-generator -> src -> main -> resources -> generator.yml 由于 案例中 表都有 前缀 为 tta_ , 这里设置去掉 6.2.生成代码 6.2.1.导入数据库中的表 6.2.2.修改设置 6.2.2.1.设置生成信息 点击 编辑 -> 生成信息 特别…

【数据结构-前缀和】力扣3152.特殊数组II

如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组 。 周洋哥有一个整数数组 nums 和一个二维整数矩阵 queries,对于 queries[i] [fromi, toi],请你帮助周洋哥检查子数组 nums[fromi…toi] 是不是一个 特殊…

19 Python常用内置函数——range()

range() 是 Python 开发中非常常用的一个内置函数。该函数返回具有惰性求值特点的 range 对象,其中包含左闭右开区间 [start, end) 内以 step 为步长的整数。 参数 start 默认为 0,step 默认为 1。 print(range(5)) print(list(range(5))) print(list(r…

科研绘图系列:R语言山脊图(Ridgeline Chart)

介绍 山脊图(Ridge Chart)是一种用于展示数据分布和比较不同类别或组之间差异的数据可视化技术。它通常用于展示多个维度或变量之间的关系,以及它们在不同组中的分布情况。山脊图的特点: 多变量展示:山脊图可以同时展示多个变量的分布情况,允许用户比较不同变量之间的关…

在MATLAB中使用importrobot导入机械臂刚体树时没有找到模型文件,只显示坐标;改为使用loadrobot

没有mesh文件夹,所以找不到模型文件 改为使用loadrobot,直接加载刚体树数据

深度解析Linux-C——结构体(初始化,结构体数组,结构体大小,位段操作,联合体,内存对齐,C的预处理,宏和带参宏,条件编译)

目录 结构体的三种初始化 结构体的两种引用 结构体数组 结构体大小 结构体实现位段操作 联合体 内存对齐 C的预处理 带参宏 条件编译 结构体的三种初始化 定义如下结构体 struct student {char name[100]; int age; float height; } ; 1、定义变量时初始化 s…

unity 实现图片的放大与缩小(根据鼠标位置拉伸放缩)

1创建UnityHelper.cs using UnityEngine.Events; using UnityEngine.EventSystems;public class UnityHelper {/// <summary>/// 简化向EventTrigger组件添加事件的操作。/// </summary>/// <param name"_eventTrigger">要添加事件监听的UI元素上…

Memcached开发(十四):常见问题与故障排除

目录 1. 内存使用问题 1.1 内存不足 1.2 内存泄漏 2. 连接问题 2.1 连接超时 2.2 连接断开 3. 数据一致性问题 3.1 缓存穿透 3.2 缓存雪崩 3.3 缓存击穿 4. 性能问题 4.1 响应时间过长 4.2 吞吐量不足 5. 安全问题 5.1 未授权访问 5.2 数据泄露 6. 版本兼容问…

驾驭代码的无形疆界:动态内存管理揭秘

目录 1.:为什么要有动态内存分配 2.malloc和free 2.1:malloc 2.2:free 3.calloc和realloc 3.1:calloc 3.1.1:代码1(malloc) 3.1.2:代码2(calloc) 3.2:realloc 3.2.1:原地扩容 3.2.2:异地扩容 3.2.3:代码1(原地扩容) 3.2.3:代码2(异地扩容) 4:常见的动态内存的错误…