当前位置: 首页 > news >正文

动态路由--RIP配置(思科cisco)

一、简介

        RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的动态路由选择协议。

        在RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离被定义为1跳。若从路由器A出发到达网络B需要经过N个其他路由器,则路由器A到网络B的距离计算为N+1跳。RIP协议基于一个核心原则:距离(即跳数)最小的路径被视为最佳路径。这里的“距离”在RIP协议中也被称为“跳数”,每经过一个路由器,跳数就增加1。需要注意的是,RIP协议规定一条路径上最多只能包含15个路由器,因此跳数的最大值为16(在RIP中表示网络不可达)。正因如此,RIP协议主要适用于小型网络环境。

二、RIP的路由表

2.1、结构

  1. 目的IP地址域:这是路由表中最重要的信息,指示了可以到达的网络目的地。当路由器收到一个数据报文时,会查找路由表中的目的IP地址,以确定如何转发该报文。

  2. 度量标准(距离-向量度量)域:此域指出了从路由器到特定目的地的总耗费,即路径的“距离”。在RIP中,这个距离是以跳数来衡量的,每经过一个路由器,跳数就增加1。

  3. 下一跳IP地址域:如果目的网络不与路由器直接相连,这个域就会包含下一个路由器接口的IP地址,这是数据包在前往目的地途中的下一个跃点。

  4. 路由变化标志域:此域用于标识到目的IP地址的路由是否最近发生了变化。这对于RIP协议的收敛过程至关重要。

  5. 路由计时器域:路由表中与每条路由相关的有两个计时器,超时计时器和路由刷新计时器。这些计时器协同工作,以确保路由表中存储的路由信息的有效性。

2.2、功能

  1. 路径选择:基于路由表中的信息,路由器能够确定到达每个目的地的最优路径。这是通过比较不同路径的度量标准(在RIP中是跳数)来实现的。

  2. 动态更新:RIP协议支持动态更新路由表。当网络拓扑发生变化时,如链路故障或新链路的添加,路由器会通过RIP协议及时更新其路由表,以确保网络的连通性和最优路径的选择。

2.3、维护

  1. 定期更新:路由器会定期(通常是每隔30秒)向邻居路由器发送整个路由表信息,以保持网络中的路由器之间路由信息的一致性。

  2. 路由收敛:通过一系列路由更新,网络中的每个路由器最终都会形成一张完整的、一致的路由表,这个过程称为收敛。收敛是确保数据包能够沿着最优路径传输的关键。

2.4、示例

目的网络子网掩码下一跳地址跳数标记
192.168.1.0255.255.255.0直接连接0C
10.0.0.0255.0.0.0192.168.1.22R
172.16.0.0255.240.0.0192.168.1.23R
203.0.113.0255.255.255.010.0.0.24R
默认路由0.0.0.010.0.0.11G

说明:

  • 目的网络:表示目标网络的IP地址。
  • 子网掩码:用于划分网络地址和主机地址的子网掩码。
  • 下一跳地址:表示数据包在前往目的网络途中的下一个跃点地址。如果是直接连接的网络,则显示为“直接连接”。
  • 跳数:从当前路由器到目标网络所需经过的路由器数量(跳数)。直接连接的网络跳数为0。
  • 标记:用于指示路由的来源或类型。常见的标记包括:
    • C:表示该路由是直连网络。
    • R:表示该路由是通过RIP协议学习到的。
    • G:表示该路由是一个默认路由,通常指向一个网关。

三、RIP的工作原理及更新算法

RIP协议的工作原理如下:

  • 每个路由器每隔30秒会向其所有邻居路由器广播RIP报文,这些报文包含了该路由器当前的路由表信息。当两个路由器共享一条链路或处于同一物理网络中时,它们被称为邻居。值得注意的是,RIP是应用层协议,其报文通过使用UDP数据报传送,端口号为520
  • 在接收到邻居路由器的路由表信息后,每个路由器都会更新自己的路由表。它们会添加新的路由表项或修改旧的路由表项。这样,在下一次广播时,它们就可以将更新后的路由信息告知邻居。
  • 如果一个路由器在180秒内没有收到某个邻居路由器的路由表信息,它会认为该路由器出现了故障。随后,它会将路由表中所有以该故障路由器为下一跳的表项的距离字段修改为16,这表示目的网络不可达。

路由表更新算法:当路由器收到邻居路由器广播的RIP报文后,它会根据距离矢量算法来更新自己的路由表。该算法的基本思想如下:

假设路由器A收到了来自路由器B的路由信息,路由器A会在以下情况下更新自己的路由表:

  • 如果B的路由表中包含了A之前不了解的网络信息,那么A会在自己的路由表中增加相应的表项。
  • 如果A的路由表中已经包含了到达某个网络的路由信息,并且该路由的下一站是路由器X,但B的路由表提供了一个更短的路径到达该网络,那么A会更新自己的路由表项,选择更短的路径。
  • 如果A的路由表中包含了一条到达某个网络的路由信息,并且该路由的下一站是路由器B,但当B的路由表中关于到达该网络的距离信息发生变化时,A会相应地更新自己的路由表项。

四、RIP的网络拓扑搭建(Cisco)

实际拓扑图

4.1、步骤一

        打开Packet Tracer并添加三个2901路由器和三个PC机

4.2、步骤二

        将路由器和PC机之间相互连接

注意:有些路由器一开始是没有Se接口的,需要在路由器内添加相应的组件,如下图:

这里注意,最好在选项里设置查看接口号,如下图:

4.3、步骤三

        配置两个PC机的IP地址和网关

4.4、步骤四

        按照实际拓扑图所提示的IP地址对路由器进行接口IP地址配置(以下的命令皆是缩写后按TAB键补全)

对R1路由器

Router>enable       //进入特权执行模式
Router#configure terminal       //进入全局配置模式
Router(config)#hostname R1      //更改路由器的主机名
R1(config)#interface gigabitEthernet 0/0        //进入Gigabit Ethernet 0/0接口的配置模式
R1(config-if)#ip address 192.168.10.254 255.255.255.0     //给Gigabit Ethernet 0/0接口配置IP地址和子网掩码
R1(config-if)#no shutdown        //启用Gigabit Ethernet 0/0接口
R1(config-if)#exit              //退出当前接口的配置模式,返回到全局配置模式R1(config)#interface serial 0/3/0
R1(config-if)#ip address 30.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exitR1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip address 20.0.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit

对R2路由器

Router>enable 
Router#configure terminal 
Router(config)#hostname R2
R2(config)#interface gigabitEthernet 0/0
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exitR2(config)#interface gigabitEthernet 0/1
R2(config-if)#ip address 20.0.0.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit

对R3路由器

Router>enable 
Router#configure terminal 
Router(config)#hostname R3
R3(config)#interface gigabitEthernet 0/0
R3(config-if)#ip address 192.168.10.254 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exitR3(config)#interface serial 0/3/0
R3(config-if)#ip address 30.0.0.2 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exitR3(config)#interface gigabitEthernet 0/1
R3(config-if)#ip address 20.0.0.1 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit

在输入完以上三个路由器的命令之后,就可以看到每个路线之间的出现绿色三角形

        在此时虽然每个接线之间都已经是出现代表畅通的绿色三角形,可以尝试PC1机pingPC0机

但是RIP的动态路由还没有真正开始配置。

4.5、步骤五

        对路由器进行RIP协议的配置

对R1路由器

R1(config)#router rip   //启动RIP路由进程并进入RIP配置模式
R1(config-router)#version 2      //指定RIP的版本为2
R1(config-router)#network 20.0.0.0 255.255.255.0     //R1上的哪个网络应该参与RIP路由过程
R1(config-router)#network 30.0.0.0 255.255.255.0 
R1(config-router)#network 192.168.10.0 255.255.255.0 
R1(config-router)#end       //退出RIP配置模式,返回到特权执行模式

对R2路由器

R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#network 20.0.0.0
R2(config-router)#network 10.0.0.0
R2(config-router)#end

对R3路由器

R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#network 10.0.0.0
R3(config-router)#network 30.0.0.0
R3(config-router)#network 192.168.20.0
R3(config-router)#end

        在此刻,才算真正配置好RIP动态路由。

4.6、检验

        尝试让PC1传输一个数据包给PC0,看看是走那条路。由于配置了RIP动态路由,数据包会从PC1->R3->R1->PC0进行传输

使用命令,查看路由表

show ip route

 

:内容仅为个人意见,有什么不妥或错误的地方,欢迎指出!!!

相关文章:

动态路由--RIP配置(思科cisco)

一、简介 RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的动态路由选择协议。 在RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离被定义为1跳。若从路由器A出发到达网络B需要…...

python - 函数 / 字典 / 集合

一.函数 形参和实参: >>> def MyFirstFunction(name): 函数定义过程中的name是叫形参 ... print(传递进来的 name 叫做实参,因为Ta是具体的参数值!) print前面要加缩进tab,否则会出错。 >>> MyFirstFun…...

connect to github中personal access token生成token方法

一、问题 执行git push时弹出以下提示框 二、解决方法 去github官网生成Token,步骤如下 选择要授予此 令牌token 的 范围 或 权限 要使用 token 从命令行访问仓库,请选择 repo 。 要使用 token 从命令行删除仓库,请选择 delete_repo 其他根…...

Appium启动APP时报错Security exception: Permission Denial

报错内容Security exception: Permission Denial: starting Intent 直接通过am命令尝试也是同样的报错 查阅资料了解到:android:exported | App quality | Android Developers exported属性默认false,所以android:exported"false"修改为t…...

ubuntu22 使用ufw防火墙

专栏总目录 一、安装 sudo apt update sudo apt install ufw 二、启动防火墙 (一)启动命令 sudo ufw enable (二)重启命令 sudo ufw reload 三、配置规则 #允许SSH连接 sudo ufw allow ssh #如果sshd服务端口指定到了8888&a…...

初识STM32:开发方式及环境

STM32的编程模型 假如使用C语言的方式写了一段程序,这段程序首先会被烧录到芯片当中(Flash存储器中),Flash存储器中的程序会逐条的进入CPU里面去执行。 CPU相当于人的一个大脑,虽然能执行运算和执行指令,…...

详解Amivest 流动性比率

详解Amivest 流动性比率 Claude-3.5-Sonnet Poe Amivest流动性比率是一个衡量证券市场流动性的重要指标。这个比率主要用于评估在不对价格造成重大影响的情况下,市场能够吸收多少交易量。以下是对Amivest流动性比率的详细解释: 定义: Amivest流动性比率是交易额与绝对收益率的…...

pycharm小游戏制作

以下是一个使用 Python 和 PyGame库在 PyCharm中创建一个简单的小游戏(贪吃蛇游戏)的示例代码,希望对您有所帮助: import pygame import random# 基础设置 # 屏幕高度 SCREEN_HEIGHT 480 # 屏幕宽度 SCREEN_WIDTH 600 # 小方格…...

昇思11天

基于 MindSpore 实现 BERT 对话情绪识别 BERT模型概述 BERT(Bidirectional Encoder Representations from Transformers)是由Google于2018年开发并发布的一种新型语言模型。BERT在许多自然语言处理(NLP)任务中发挥着重要作用&am…...

AI绘画Stable Diffusion【图生图教程】:图片高清修复的三种方案详解,你一定能用上!(附资料)

大家好,我是画画的小强 今天给大家分享一下用AI绘画Stable Diffusion 进行 高清修复(Hi-Res Fix),这是用于提升图像分辨率和细节的技术。在生成图像时,初始的低分辨率图像会通过放大算法和细节增强技术被转换为高分辨…...

适用于Mac和Windows的最佳iPhone恢复软件

本文将指导您选择一款出色的iPhone数据恢复软件来检索您的宝贵数据。 市场上有许多所谓的iPhone恢复程序。各种程序很难选择并选择其中之一。一旦您做出了错误的选择,您的数据就会有风险。 最好的iPhone数据恢复软件应包含以下功能。 1.安全可靠。 2.恢复成功率高…...

64.ThreadLocal造成的内存泄漏

内存泄漏 程序中已动态分配的堆内存,由于某种原因程序为释放和无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。内存泄漏的堆积终将导致内存溢出。 内存溢出 没有足够的内存提供申请者使用。 ThreadLocal出现内存泄漏的真实原因 内存泄漏的发…...

深入刨析Redis存储技术设计艺术(二)

三、Redis主存储 3.1、存储相关结构体 redisServer:服务器 server.h struct redisServer { /* General */ pid_t pid; /* Main process pid. */ pthread_t main_thread_id; /* Main thread id */ char *configfile; /* Absolut…...

python读取写入txt文本文件

读取 txt 文件 def read_txt_file(file_path):"""读取文本文件的内容:param file_path: 文本文件的路径:return: 文件内容"""try:with open(file_path, r, encodingutf-8) as file:content file.read()return contentexcept FileNotFoundError…...

日期选取限制日期范围antdesign vue

限制选取的日期范围 效果图 <a-date-pickerv-model"dateTime"format"YYYY-MM-DD":disabled-date"disabledDate"valueFormat"YYYY-MM-DD"placeholder"请选择日期"allowClear />methods:{//回放日期选取范围限制&…...

【大模型】衡量巨兽:解读评估LLM性能的关键技术指标

衡量巨兽&#xff1a;解读评估LLM性能的关键技术指标 引言一、困惑度&#xff1a;语言模型的试金石1.1 定义与原理1.2 计算公式1.3 应用与意义 二、BLEU 分数&#xff1a;翻译质量的标尺2.1 定义与原理2.2 计算方法2.3 应用与意义 三、其他评估指标&#xff1a;综合考量下的多元…...

《优化接口设计的思路》系列:第2篇—小程序性能优化

优化Uniapp应用程序的性能可以从以下几个方面进行优化&#xff1a; 1.减少页面加载时间&#xff1a;避免页面过多和过大的组件&#xff0c;减少不必要的资源加载。可以使用懒加载的方式&#xff0c;根据用户的实际需求来加载页面和组件。 2.节流和防抖&#xff1a;对于频繁触发…...

prototype 和 __proto__的区别

prototype 和 __proto__ 在 JavaScript 中都与对象的原型链有关&#xff0c;但它们各自有不同的用途和含义。 prototype prototype 是函数对象的一个属性&#xff0c;它指向一个对象&#xff0c;这个对象包含了可以由特定类型的所有实例共享的属性和方法。当我们创建一个新的…...

网络中未授权访问漏洞(Rsync,PhpInfo)

Rsync未授权访问漏洞 Rsync未授权访问漏洞是指Rsync服务配置不当或存在漏洞&#xff0c;导致攻击者可以未经授权访问和操作Rsync服务。Rsync是一个用于文件同步和传输的开源工具&#xff0c;通常在Unix/Linux系统上使用。当Rsync服务未经正确配置时&#xff0c;攻击者可以利用…...

DataWhaleAI分子预测夏令营 学习笔记

AI分子预测夏令营学习笔记 一、直播概览 主持人介绍 姓名&#xff1a;徐翼萌角色&#xff1a;DataWhale助教活动目的&#xff1a;分享机器学习赛事经验&#xff0c;提升参赛者在分子预测领域的能力 嘉宾介绍 姓名&#xff1a;余老师背景&#xff1a;Data成员&#xff0c;腾…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...