RIP V2路由协议配置实验CISCO

news2025/4/16 1:52:55

1.RIP V2简介:

RIP V2(Routing Information Protocol Version 2)是 RIP 路由协议的第二版,属于距离矢量路由协议,主要用于中小型网络环境。相较于 RIP V1,RIP V2 在功能和性能上进行了多项改进,支持无类域间路由(CIDR)和可变长子网掩码(VLSM),提高了网络地址的利用率和路由灵活性。

1.1RIP V2 的主要特性:

支持 VLSM 和 CIDR:

  • RIP V2 可以在路由更新中携带子网掩码信息,支持无类路由,允许更灵活的 IP 地址分配和子网划分。
  • 解决了 RIP V1 无法支持不连续子网的问题。

 组播路由更新:

  • RIP V2 使用组播地址 224.0.0.9 发送路由更新报文,而不是广播地址,减少了不必要的网络流量,提高了效率。

认证机制:

  • 支持明文认证和 MD5 密文认证,增强了路由信息交换的安全性,防止路由信息被篡改。

路由标记(Route Tag):

  • 允许在路由条目中添加标记,用于标识路由的来源或类型,便于路由策略的实施。

下一跳地址(Next Hop):

  • 支持指定下一跳地址,提供了更灵活的路由选择和优化。

保持与 RIP V1 的兼容性:

  • RIP V2 可以与 RIP V1 互操作,通过在报文中设置版本号,确保不同版本的路由器能够共存。

1.2RIP V2 的工作原理:

路由更新 :

  • 路由器每隔 30 秒向邻居发送路由更新报文,报文中包含自身的路由表信息。
  • 更新报文使用组播地址 224.0.0.9 发送,只有运行 RIP 的路由器会接收并处理这些报文。

水平分割(Split Horizon):

  • 防止路由环路的一种机制,路由器不会将从某个接口学到的路由信息再通过该接口发送回去。

毒性逆转(Poison Reverse):

  • 当路由器检测到某个路由不可达时,会将该路由的度量值设置为 16(不可达),并通过所有接口发送更新,通知邻居路由器。

触发更新(Triggered Update):

  • 当路由表发生变化时,路由器会立即发送更新报文,而不是等待下一个更新周期,从而加快路由收敛速度。

抑制计时器(Hold-Down Timer):

  • 当路由器收到某条路由的度量值变为 16 的更新时,会启动抑制计时器,在计时器超时前,忽略该路由的任何变化,防止路由抖动。

1.3RIP V2 的报文格式:

RIP V2 的报文格式在 RIP V1 的基础上进行了扩展,主要包括以下字段:

  • 命令(Command):1 字节,表示报文类型(请求或响应)。
  • 版本号(Version):1 字节,RIP V2 的版本号为 2。
  • 必须为 0(Unused):1 字节,保留字段,必须为 0。
  • 地址族标识符(Address Family Identifier, AFI):2 字节,表示网络层协议(如 IP)。
  • 路由标记(Route Tag):2 字节,用于标识路由的来源或类型。
  • IP 地址(IP Address):4 字节,表示目标网络的地址。
  • 子网掩码(Subnet Mask):4 字节,表示目标网络的子网掩码。
  • 下一跳地址(Next Hop):4 字节,表示到达目标网络的下一跳地址。
  • 度量值(Metric):4 字节,表示到达目标网络的跳数。

1.4RIP V2 的优缺点:

优点

  1. 简单易用:配置简单,适合中小型网络。
  2. 支持 VLSM 和 CIDR:提高了 IP 地址的利用率。
  3. 组播更新:减少了网络流量。
  4. 认证机制:增强了路由信息的安全性。

缺点

  1. 最大跳数限制:RIP 的最大跳数为 15,限制了网络规模。
  2. 收敛速度慢:由于采用定期更新和距离矢量算法,路由收敛速度较慢。
  3. 不适合大型网络:在大型网络中,路由更新开销大,容易产生路由环路。

 1.5RIP V2 的应用场景:

RIP V2 适用于以下场景:

  • 中小型企业网络:网络规模较小,拓扑结构简单。
  • 教育机构网络:如学校、实验室等,网络需求相对简单。
  • 分支机构网络:多个分支机构通过低速链路连接,需要简单的路由协议。

2. 具体配置:

本实验IP都采用静态配置

2.1实验准备:

2.1.1拓扑搭建和网段划分:

2.1.2各个PC的IP配置:

PC0:

PC1:(注意:下面图片PC1IP配置有误,正确的应为:192.168.1.2)

 

PC3:

PC2:

2.1.3各个路由器接口IP配置:

R0:

Router>en
Router>enable 
Router#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R0

R0(config)#interface g0/0
R0(config-if)#ip address 192.168.1.254 255.255.255.0
R0(config-if)#no shutdown 

R0(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up

R0(config-if)#exit

R0(config)#interface g0/1
R0(config-if)#ip address 10.0.0.1 255.0.0.0
R0(config-if)#no shutdown 

R0(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up

R0(config-if)#exit
R0(config)#

R1:

Router>enable 
Router#conf terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R1

R1(config)#interface g0/0
R1(config-if)#ip address 10.0.0.2 255.0.0.0
R1(config-if)#no shutdown 

R1(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
R1(config-if)#exit

R1(config)#interface g0/1
R1(config-if)#ip address 20.0.0.1 255.0.0.0
R1(config-if)#no shutdown 

R1(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
R1(config-if)

R2:

Router>enable 
Router#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R2

R2(config)#interface g0/0
R2(config-if)#ip address 20.0.0.2 255.0.0.0
R2(config-if)#no shutdown 

R2(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
R2(config-if)#exit

R2(config)#interface g0/1
R2(config-if)#ip address 192.168.2.254 255.255.255.0
R2(config-if)#no shutdown 

R2(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
R2(config-if)#exit
R2(config)#

2.2RIP V2配置:

R0:

R0(config)#router rip # 开启rip服务
R0(config-router)#version 2 # 使用rip v2版本
R0(config-router)#no auto-summary # 默认边界自动汇总,配置支持可变长子网,需要配置为不进行自动汇总
R0(config-router)#netw
R0(config-router)#network 192.168.1.0 # 向外宣告有哪些主网络网段,此网段所有接口将向外宣告rip路由信息,并同时接收rip更新信息
R0(config-router)#net
R0(config-router)#network 10.0.0.0
R0(config-router)#exit
R0(config)#

R1:

R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary 
R1(config-router)#network 10.0.0.0
R1(config-router)#network 20.0.0.0
R1(config-router)#exit

R2:

R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary 
R2(config-router)#network 20.0.0.0
R2(config-router)#network 192.168.2.0
R2(config-router)#exit

R2#show ip route # 查看路由信息

R2#debug ip rip # 打开rip协议调试

  

3.测试连通性:

PC0与PC2通信:

PC1与PC3通信: 

 

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

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

相关文章

《LNMP架构+Nextcloud私有云超维部署:量子级安全与跨域穿透实战》

项目实战-使用LNMP搭建私有云存储 准备工作 恢复快照,关闭安全软件 [rootserver ~]# setenforce 0[rootserver ~]# systemctl stop firewalld搭建LNMP环境 [rootserver ~]# yum install nginx mariadb-server php* -y# 并开启nginx服务并设置开机自启 [r…

3DMAX笔记-UV知识点和烘焙步骤

1. 在展UV时,如何点击模型,就能选中所有这个模型的uv 2. 分多张UV时,不同的UV的可以设置为不同的颜色,然后可以通过颜色进行筛选。 3. 烘焙步骤 摆放完UV后,要另存为一份文件,留作备份 将模型部件全部分成…

【新人系列】Golang 入门(十三):结构体 - 下

✍ 个人博客:https://blog.csdn.net/Newin2020?typeblog 📝 专栏地址:https://blog.csdn.net/newin2020/category_12898955.html 📣 专栏定位:为 0 基础刚入门 Golang 的小伙伴提供详细的讲解,也欢迎大佬们…

Spring Boot 自定义商标(Logo)的完整示例及配置说明( banner.txt 文件和配置文件属性信息)

Spring Boot 自定义商标(Logo)的完整示例及配置说明 1. Spring Boot 商标(Banner)功能概述 Spring Boot 在启动时会显示一个 ASCII 艺术的商标 LOGO(默认为 Spring 的标志)。开发者可通过以下方式自定义&a…

Ubuntu虚拟机Linux系统入门

目录 一、安装 Ubuntu Linux 20.04系统 1.1 安装前准备工作 1.1.1 镜像下载 1.1.2 创建新的虚拟机 二、编译内核源码 2.1 下载源码 2.2 指定编译工具 2.3 将根文件系统放到源码根目录 2.4 配置生成.config 2.5 编译 三、安装aarch64交叉编译工具 四、安装QEMU 五、…

【蓝桥杯】2025省赛PythonB组复盘

前言 昨天蓝桥杯python省赛B组比完,今天在洛谷上估了下分,省一没有意外的话应该是稳了。这篇博文是对省赛试题的复盘,所给代码是省赛提交的代码。PB省赛洛谷题单 试题 A: 攻击次数 思路 这题目前有歧义,一个回合到底是只有一个…

【数据结构_4下篇】链表

一、链表的概念 链表,不要求在连续的内存空间,链表是一个离散的结构。 链表的元素和元素之间,内存是不连续的,而且这些元素的空间之间也没有什么规律: 1.顺序上没有规律 2.内存空间上也没有规律 *如何知道链表中包…

音视频 五 看书的笔记 MediaCodec

MediaCodec 用于访问底层媒体编解码器框架,编解码组件。通常与MediaExtractor(解封装,例如Mp4文件分解成 video和audio)、MediaSync、MediaMuxer(封装 例如音视频合成Mp4文件)、MediaCrypto、Image(cameraX 回调的ImageReader对象可以获取到Image帧图像,可转换成YU…

ubuntu 系统安装Mysql

安装 mysql sudo apt update sudo apt install mysql-server 启动服务 sudo systemctl start mysql 设置为开机自启 sudo systemctl enable mysql 查看服务状态 (看到类似“active (running)”的状态信息代表成功) sudo systemctl status mysql …

selenium快速入门

一、操作浏览器 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By# 设置选项 q1 Options() q1.add_argument("--no-sandbo…

Redis:线程模型

单线程模型 Redis 自诞生以来,一直以高性能著称。很多人好奇,Redis 为什么早期采用单线程模型,它真的比多线程还快吗? 其实,Redis 的“快”并不在于并发线程,而在于其整体架构设计极致简单高效,…

Transformer模型解析与实例:搭建一个自己的预测语言模型

目录 1. 前言 2. Transformer 的核心结构 2.1 编码器(Encoder) 2.2 解码器(Decoder) 2.3 位置编码(Positional Encoding) 3. 使用 PyTorch 构建 Transformer 3.1 导入所需的模块: 3.2 定…

springboot框架集成websocket依赖实现物联网设备、前端网页实时通信!

需求: 最近在对接一个物联网里设备,他的通信方式是 websocket 。所以我需要在 springboot框架中集成websocket 依赖,从而实现与设备实时通信! 框架:springboot2.7 java版本:java8 好了,还是直接…

ES6学习03-字符串扩展(unicode、for...of、字符串模板)和新方法()

一、字符串扩展 1. eg: 2.for...of eg: 3. eg: 二。字符串新增方法 1. 2. 3. 4. 5.

目前状况下,计算机和人工智能是什么关系?

目录 一、计算机和人工智能的关系 (一)从学科发展角度看 计算机是基础 人工智能是计算机的延伸和拓展 (二)从技术应用角度看 二、计算机系学生对人工智能的了解程度 (一)基础层面的了解 必备知识 …

Flutter 2025 Roadmap

2025 这个路线图是有抱负的。它主要代表了我们这些在谷歌工作的人收集的内容。到目前为止,非Google贡献者的数量超过了谷歌雇佣的贡献者,所以这并不是一个详尽的列表,列出了我们希望今年Flutter能够出现的所有令人兴奋的新事物!在…

[数据结构]排序 --2

目录 8、快速排序 8.1、Hoare版 8.2、挖坑法 8.3、前后指针法 9、快速排序优化 9.1、三数取中法 9.2、采用插入排序 10、快速排序非递归 11、归并排序 12、归并排序非递归 13、排序类算法总结 14、计数排序 15、其他排序 15.1、基数排序 15.2、桶排序 8、快速排…

第16届蓝桥杯c++省赛c组个人题解

偷偷吐槽: c组没人写题解吗,找不到题解啊 P12162 [蓝桥杯 2025 省 C/研究生组] 数位倍数 题目背景 本站蓝桥杯 2025 省赛测试数据均为洛谷自造,与官方数据可能存在差异,仅供学习参考。 题目描述 请问在 1 至 202504&#xff…

记一次InternVL3- 2B 8B的部署测验日志

1、模型下载魔搭社区 2、运行环境: 1、硬件 RTX 3090*1 云主机[普通性能] 8核15G 200G 免费 32 Mbps付费68Mbps ubuntu22.04 cuda12.4 2、软件: flash_attn(好像不用装 忘记了) numpy Pillow10.3.0 Requests2.31.0 transfo…

使用SSH解决在IDEA中Push出现403的问题

错误截图: 控制台日志: 12:15:34.649: [xxx] git -c core.quotepathfalse -c log.showSignaturefalse push --progress --porcelain master refs/heads/master:master fatal: unable to access https://github.com/xxx.git/: The requested URL return…