计网第四章(网络层)(七)

目录

一、路由信息协议RIP

1.距离向量:

2.跳数:

3.基本工作原理:

三个要点:

4.基本工作过程:

(1)初始状态:

(2)交换并更新信息 

(3)收敛

5.更新规则

6.RIP协议的问题


一、路由信息协议RIP

路由信息协议RIP是互联网中最早使用的协议,他是基于距离向量的。

1.距离向量:

RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络距离的记录,这是一组距离,称为“距离向量D-V”。

2.跳数:

RIP使用跳数作为度量来衡量到目的网络的距离。

如果是直连网络,那么距离就等于1。

如果是非直连网络,那么每经过一个路由器距离就加1。

RIP协议中一条路径最多只能包含15个路由器,距离等于16时就相当于不可达。所以,RIP协议只适合用于小型网络。

也就是说距离最小为1,最大为15。

比如:

图中对于R1路由器,要到达目的网络192.168.1.0/24和目的网络10.0.0.0/30,因为都是直连网络,所以距离都等于1;要到达目的网络10.0.1.0/30,因为是非直连网络,中间经过路由器R2,所以在1的基础上加1,所以距离为2,同样地,到达目的地网络192.168.2.0/24的距离为3。

注意:有些路由器的RIP将路由器到直连网络的距离定为0。 

3.基本工作原理:

RIP认为到达目的网络的路径中通过的路由器数量最少的路径最好,即距离最小。

如果到达同一目的网络有多条距离相等的路由时,就会进行等价负载均衡,即将通信量均衡地分布到多条等价的路由上。

三个要点:

RIP协议的三个要点是和谁交换信息,交换什么信息以及何时交换信息。

和谁交换信息:RIP协议中,仅和相邻的路由器交换信息。

例如上图中,路由器R1和R2会交换信息,同时R2还会和R3交换信息,但是R1和R3不是相邻路由器,所以不会交换信息。

交换什么信息:交换自己的路由表。

何时交换信息:周期性交换信息(如:每隔30秒发送一次RIP更新报文)。

综上所述,RIP协议中仅相邻的路由器周期性交换并更新自己的路由表。

4.基本工作过程:

(1)初始状态:

我们之前有提到过,在路由器刚开始工作时只知道与自己直连的网络,所以路由器只知道自己到直连网络的距离为1。

(2)交换并更新信息 

图中,对于路由器R1,路由器R2和路由器R3都为它的相邻路由器;

对于路由器R2,路由器R1和路由器R3和路由器R4都为它的相邻路由器;

对于路由器R3,路由器R1和路由器R2和路由器R4都为它的相邻路由器;

对于路由器R4,路由器R2和路由器R3都为它的相邻路由器。

根据RIP协议的要点可以得出,每个路由器会若干次交换并更新自己的路由信息。

(3)收敛

在若干次交换和更新后,每个路由器都可以知道在本AS内到达各网络的最短距离和下一跳地址。这就是收敛。

5.更新规则

前面提到路由器会交换并更新自己的路由信息,那么具体是怎么交换和更新的?

A、B各自的路由表如图,假设现在路由器A的RIP更新报文的发送周期到了,则路由器A将自己路由表的信息封装到更新报文中发送给路由器B。

图中我们故意将A的路由表的下一跳全部写为问号,这是因为A将自己的路由表信息给B时会将表中的下一跳都改为A,也就是说B无需关心A路由表里的这些内容。 

B接收到的A的路由表如图:其中距离在原有基础上都加1,因为这个过程相当于通过了路由器A,下一跳统一变为A。

随后B根据收到的改造后的A的路由表(后面简称为A路由表,但要注意这是改造后的A路由表)更新自己的信息。如图:

首先我们可以看到在B的路由表里面没有关于到达N1网络的条目,现在发现可以通过路由器A到达N1网络,于是将该条目加进去。这条规则叫“发现新的网络直接添加” 。

其次,我们在B的路由表的下一跳里面发现了有关于A的下一跳,即到达N7网络的条目,距离为6。在传来的A的路由表里面也有关于N7的条目,但是距离变为了7,于是将R2的路由表中的该条目的距离改为7。这条规则叫“到达目的网络,相同的下一跳,更新为最新信息” 。

现在A的路由条目还剩N3、N5、N9三条,很明显可以看到在B的路由表里里面,它们的下一跳都不是A。首先关于N3的条目,可以看到N3条目在B的路由表里面的距离为9,但是在A的路由表里面距离为6;在工作原理部分,我们有说RIP协议认为好的路由就是到达同一个目的网络通过的路由器数量最少的路径,所以应该把B路由表里的N3条目距离更新为6,且下一跳更新为A。这条规则叫“到达目的网络,不同的下一跳,新路由有优势,更新” 。

N5条目在两个路由表里虽然下一跳不同,但是距离都为5,在基本原理部分有提到过,有到达同一目的网络多条距离相等的路由时进行等价负载均衡。于是将A中关于N5网络的条目直接添加到B中。这条规则叫“到达目的网络,不同的下一跳,等价负载均衡” 。

最后,N9条目在A路由表里面的距离为6,但是在B路由表里面为5,秉持着好的路由原则,B路由表关于该条目的信息不发生变化。这条规则叫“到达目的网络,不同的下一跳,新路由有劣势,不更新” 。于是,最终的B更新后的路由表就如图所示:

总结RIP协议中,一个路由器A给相邻的路由器B发送装有自己路由表信息的RIP更新报文,路由器B会接受到改造后的路由表A,即距离全部加1,并且下一跳全部变为A。

更新可以先从到达的目的网络入手,如果发现新网络直接进行添加;如果是B表中已有的网络,则从下一跳入手,下一跳相同就进行更新;下一跳不同就从距离入手,谁距离短就用谁,距离一样就进行添加。

6.RIP协议的问题

RIP协议存在一个坏消息传的慢的问题。该问题又叫做路由环路或者距离无穷计数问题。这是基于距离向量算法的一个固有问题

首先需要注意的是,RIP协议中的交换并不是意思时间到了相邻的路由器同时交换,它们有可能是有先后顺序的。实际上,每个路由器都有一个RIP更新报文发送周期,它们的时间不一定相等。

我们从示例中进行详细说明,如图:

假设R1和R2已经交换过路由信息,那么R1表中现在就有到达N3网络的条目。

但是现在R2与直连网络N3的链路出现了故障。R2检测到该故障后,就会将自己表中N3网络条目的距离改为16,表示该网络不可达。然后R2就等待自己的RIP更新报文发送周期到时后,将自己的路由信息发送给R1。

但是R1在未收到R2的更新后的路由表的信息时,关于N3的条目的距离仍然为2。

那么根据前面所说的,现在假设R1的更新周期先到时,它就会将自己的路由信息传给R2。R2收到后会误认为可以通过R1到达N3网络,于是将自己表中的N3条目改为3。

 后面就会出现两个路由器不停地传递这个错误的条目,并且每次到达N3网络条目距离都会增加1,一直增加到16,才会发现网络不可达。而在中间这个过程R1和R2就会产生路由环路。

对于这种问题,有多种措施可以减少该问题出现的概率及带来的危害。(注意:是减少该问题而不是解决该问题。说明这种问题无法彻底避免。

一个就是在跳数部分提到的,路由距离达到16即不可达。上面这个示例也体现了这个措施的好处,虽然中间出现了路由环路,但是距离到达16后,双方就都知道该网络不可达了。

第二个,就是当路由表发生变化时,立即发送更新报文(也叫“触发更新”不用等待更新周期。(这一块不知道大家是否想起了之前说的超时重传与立即重传

还有就是让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口反方向传送。(比如上图中的路由器,我们将两个路由器的左边接口都叫接口0,右边都叫接口1,那么R1就只能从接口1接收关于N3网络的路由信息,但是不能再从该接口发送该信息)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

理解HTTPS/TLS/SSL(一)基础概念+配置本地自签名证书

文章目录 没有HTTPS时的样子场景模拟WireShark的Capture Filter和Display Filter设置Capture Filter启动程序设置Display Filter过滤抓到的包 结论 关于为什么加密更简洁有力的回答对称加密和非对称加密和CA证书密钥交换对称加密非对称加密CA机构和证书如何解决客户端和CA机构之…

图转超图 Graph convert toHypergraph

图转超图 DHT 介绍那么它有啥用呢? 这个实在太好玩了,参考的这个论文: EHGNN 采用的方法叫 Dual Hypergraph Transformation (DHT),主要就是把一个 graph 转为 hypergraph DHT 介绍 如何将 graph 转 hypergraph 的呢&#xff1…

基于鹈鹕算法优化的BP神经网络(预测应用) - 附代码

基于鹈鹕算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于鹈鹕算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.鹈鹕优化BP神经网络2.1 BP神经网络参数设置2.2 鹈鹕算法应用 4.测试结果:5.Matlab代码 摘要…

软考:中级软件设计师:无线网,网络接入技术,ipv6

软考:中级软件设计师:无线网 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &#x…

React面向组件编程

往期回顾:# React基础入门之虚拟Dom【一】 面向组件编程 react是面向组件编程的一种模式,它包含两种组件类型:函数式组件及类式组件 函数式组件 注:react17开始,函数式组件成为主流 一个基本的函数组件长这个样子 …

IDEA软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 IntelliJ IDEA是一款流行的Java集成开发环境(IDE),由捷克软件开发公司JetBrains开发。它专为Java开发人员设计,提供了许多高级功能和工具,使得开发人员能够更高效地编写…

文件传输协议

文章目录 一、FTP1. 定义2. 端口3. 数据传输方式主动方式被动方式 二、TFTP三、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、FTP 1. 定义 文件传输协议(FTP)是一种用于在客户端和服务器之间进行文件传输的标准网络协…

一文讲通物联网嵌入式

最近有很多同学问我,物联网近几年一直是科技的热点,嵌入式和物联网有什么关系呢?我在这里统一给大家讲解一下。 嵌入式是应用于物联网产品方向的一种嵌入式操作系统。类似于Android系统是谷歌开发的移动操作系统,嵌入式实际上也是…

想知道期权买认购和卖认沽有何不同?赶快来看!

期权买认购和卖认沽这个都是做多的意思,看涨做多的意思,买认购是买方做多,无保证金,没有爆仓风险,涨跌幅无限制,卖认沽是卖方做多,需要保证金交易,会爆炸,收益是锁定的&a…

SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法

文章目录 前言1. macOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接macOS3.1 macOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址 5. 使用固定TCP端口地址ssh远程 …

机房安全之道:构筑坚固的网络防线

引言: 在数字化时代,机房成为了许多组织和企业的核心基础设施,承载着重要的数据和应用。然而,随着网络攻击日益猖獗,机房的安全性显得尤为重要。本文将深入探讨如何构建坚固的网络防线,保护机房免受攻击的方…

光伏电站、变电站、等直流系统电参量测量仪器怎么选型

安科瑞虞佳豪 壹捌柒陆壹伍玖玖零玖叁 应用场景 工作拓扑图 功能 ①对电能参数进行采样计量和监测,逆变器或者能量管理系统(EMS)与之进行通讯,根据实时功率及累计电能实现防逆流、调节发电量、电池充放电等功能; ②…

STM32--SPI通信与W25Q64(2)

STM32–SPI通信与W25Q64(1) 文章目录 SPI外设特征 SPI框图传输模式主模式全双工连续传输 非连续传输硬件SPI读写W25Q64 SPI外设 STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担。 特…

2023.8各大浏览器11家对比:Edge/Chrome/Opera/Firefox/Tor/Vivaldi/Brave,安全性,速度,体积,内存占用

测试环境:全默认设置的情况下,均在全新的系统上进行测试,系统并未进行任何改动,没有杀毒软件,浏览器进程全部在后台,且为小窗模式,小窗分辨率均为浏览器厂商默认缩放大小(变量不唯一)&#xff0…

Window基础命令

文章目录 查看哪些端口被禁用TCP协议删除开机启动项方案1方案2 查看哪些端口被禁用TCP协议 netsh interface ipv4 show excludedportrange protocoltcp删除开机启动项 方案1 列出所有启动项 bcdedit /enum仔细看你要删除的是哪一项(看description)&a…

【LeetCode: 56. 合并区间+贪心+双指针+标识+模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

postgresql类型转换函数

postgresql类型转换函数 简介CAST 函数to_date 函数to_timestamp 函数to_char 函数to_number 函数隐式类型转换 简介 类型转换函数用于将数据从一种类型转换为另一种类型。 CAST 函数 CAST ( expr AS data_type )函数用于将 expr 转换为 data_type 数据类型;Post…

稳恒电路直观理解

图v0 图v1 图v2 图v3 图v4 自由正电荷s,定向移动过程中,在任何一位置处受力都是平衡的,即s所受总合力为0, 即s处于匀速运动:直导体中匀速直线运动、拐弯处匀速圆周运动 起初t0时刻, s的势能是最高的E0,之…

MyBatisPlus实现多租户功能

前言:多租户是一种软件架构技术,在多用户的环境下,共有同一套系统,并且要注意数据之间的隔离性。 一、SaaS多租户简介 1.1、SaaS多租户 SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务&#x…

ThinkPHP 文件上传 fileSystem 扩展的使用

ThinkPHP 文件上传 ThinkPHP 文件上传 扩展 filesystem一、安装 FileSystem 扩展二、认识 filesystem 配置文件 config/filesystem.php三、上传验证(涉及到验证器的知识点)四、文件上传demo ThinkPHP 文件上传 扩展 filesystem ThinkPHP 为我们 提供了 …