动态路由--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、结构
目的IP地址域:这是路由表中最重要的信息,指示了可以到达的网络目的地。当路由器收到一个数据报文时,会查找路由表中的目的IP地址,以确定如何转发该报文。
度量标准(距离-向量度量)域:此域指出了从路由器到特定目的地的总耗费,即路径的“距离”。在RIP中,这个距离是以跳数来衡量的,每经过一个路由器,跳数就增加1。
下一跳IP地址域:如果目的网络不与路由器直接相连,这个域就会包含下一个路由器接口的IP地址,这是数据包在前往目的地途中的下一个跃点。
路由变化标志域:此域用于标识到目的IP地址的路由是否最近发生了变化。这对于RIP协议的收敛过程至关重要。
路由计时器域:路由表中与每条路由相关的有两个计时器,超时计时器和路由刷新计时器。这些计时器协同工作,以确保路由表中存储的路由信息的有效性。
2.2、功能
-
路径选择:基于路由表中的信息,路由器能够确定到达每个目的地的最优路径。这是通过比较不同路径的度量标准(在RIP中是跳数)来实现的。
-
动态更新:RIP协议支持动态更新路由表。当网络拓扑发生变化时,如链路故障或新链路的添加,路由器会通过RIP协议及时更新其路由表,以确保网络的连通性和最优路径的选择。
2.3、维护
-
定期更新:路由器会定期(通常是每隔30秒)向邻居路由器发送整个路由表信息,以保持网络中的路由器之间路由信息的一致性。
-
路由收敛:通过一系列路由更新,网络中的每个路由器最终都会形成一张完整的、一致的路由表,这个过程称为收敛。收敛是确保数据包能够沿着最优路径传输的关键。
2.4、示例
目的网络 | 子网掩码 | 下一跳地址 | 跳数 | 标记 |
---|---|---|---|---|
192.168.1.0 | 255.255.255.0 | 直接连接 | 0 | C |
10.0.0.0 | 255.0.0.0 | 192.168.1.2 | 2 | R |
172.16.0.0 | 255.240.0.0 | 192.168.1.2 | 3 | R |
203.0.113.0 | 255.255.255.0 | 10.0.0.2 | 4 | R |
默认路由 | 0.0.0.0 | 10.0.0.1 | 1 | G |
说明:
- 目的网络:表示目标网络的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性能的关键技术指标
衡量巨兽:解读评估LLM性能的关键技术指标 引言一、困惑度:语言模型的试金石1.1 定义与原理1.2 计算公式1.3 应用与意义 二、BLEU 分数:翻译质量的标尺2.1 定义与原理2.2 计算方法2.3 应用与意义 三、其他评估指标:综合考量下的多元…...

《优化接口设计的思路》系列:第2篇—小程序性能优化
优化Uniapp应用程序的性能可以从以下几个方面进行优化: 1.减少页面加载时间:避免页面过多和过大的组件,减少不必要的资源加载。可以使用懒加载的方式,根据用户的实际需求来加载页面和组件。 2.节流和防抖:对于频繁触发…...

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

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

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

lnmp php7 安装ssh2扩展
安装ssh2扩展前必须安装libssh2包 下载地址: wget http://www.libssh2.org/download/libssh2-1.11.0.tar.gzwget http://pecl.php.net/get/ssh2-1.4.tgz (这里要换成最新的版本) 先安装 libssh2 再安装 SSH2: tar -zxvf libssh2-1.11.0.tar.gzcd libss…...

数据库概念题总结
1、 2、简述数据库设计过程中,每个设计阶段的任务 需求分析阶段:从现实业务中获取数据表单,报表等分析系统的数据特征,数据类型,数据约束描述系统的数据关系,数据处理要求建立系统的数据字典数据库设计…...

提升用户体验之requestAnimationFrame实现前端动画
1)requestAnimationFrame是什么? 1.MDN官方解释 2.解析这段话: 1、那么浏览器重绘是指什么呢? ——大多数电脑的显示器刷新频率是60Hz,1000ms/6016.66666667ms的时间刷新一次 2、重绘之前调用指定的回调函数更新动画? ——requ…...

Mysql慢日志、慢SQL
慢查询日志 查看执行慢的SQL语句,需要先开启慢查询日志。 MySQL 的慢查询日志,记录在 MySQL 中响应时间超过阀值的语句(具体指运行时间超过 long_query_time 值的SQL。long_query_time 的默认值为10,意思是运行10秒以上(不含10秒…...

卫星网络——Walker星座简单介绍
一、星座构型介绍 近年来,随着卫星应用领的不断拓展,许多任务已经无法单纯依靠单颗卫星来完成。与单个卫星相比,卫星星座的覆盖范围显著增加,合理的星座构型可以使其达到全球连续覆盖或全球多重连续覆盖,这样的特性使得…...

C++ Lambda表达式第一篇, 闭合(Closuretype)
C Lambda表达式第一篇, 闭合Closuretype ClosureType::operator()(params)auto 模板参数类型显式模板参数类型其他 ClosureType::operator ret(*)(params)() lambda 表达式是唯一的未命名,非联合,非聚合类类型(称为闭包类型&#…...

移动校园(3):处理全校课程数据excel文档,实现空闲教室查询与课程表查询
首先打开教学平台 然后导出为excel文档 import mathimport pandas as pd import pymssql serverName 127.0.0.1 userName sa passWord 123456 databaseuniSchool conn pymssql.connect(serverserverName,useruserName,passwordpassWord,databasedatabase) cursor conn.cur…...

【MySQL】1.初识MySQL
初识MySQL 一.MySQL 安装1.卸载已有的 MySQL2.获取官方 yum 源3.安装 MySQL4.登录 MySQL5.配置 my.cnf 二.MySQL 数据库基础1.MySQL 是什么?2.服务器,数据库和表3.mysqld 的层状结构4.SQL 语句分类 一.MySQL 安装 1.卸载已有的 MySQL //查询是否有相关…...

查看电脑显卡(NVIDIA)应该匹配什么版本的CUDA Toolkit
被串行计算逼到要吐时,决定重拾CUDa了,想想那光速般的处理感觉(夸张了)不要太爽,记下我的闯关记录。正好我的电脑配了NVIDIA独显,GTX1650,有菜可以炒呀,没有英伟达的要绕道了。回到正…...

优化:遍历List循环查找数据库导致接口过慢问题
前提: 我们在写查询的时候,有时候会遇到多表联查,一遇到多表联查大家就会直接写sql语句,不会使用较为方便的LambdaQueryWrapper去查询了。作为一个2024新进入码农世界的小白,我喜欢使用LambdaQueryWrapper,…...