RIP路由协议的理解

RIP路由协议的理解RIP 路由协议的理解 计算机网络 距离向量算法 实际中较少使用 默认 RIP 使用简单的度量 通往目的站点所需经过的链路数 取值为 1 15 数值 16 表示无穷大 使用 UDP 的 520 端口发送和接收 RIP 分组 RIP 每隔 30 秒以广播形式发送一次路由信息 在邻居之间互传 防止广播风暴 后续分组做随机延时后发送 如果一个路由在 180s 内未被更新 相应的距离设置为无穷大 16 并从路由表中删

RIP路由协议的理解

@(计算机网络)

距离向量算法,实际中较少使用。

  • 默认,RIP使用简单的度量:通往目的站点所需经过的链路数。取值为1~15,数值16表示无穷大。
  • 使用UDP的520端口发送和接收RIP分组。
  • RIP 每隔30秒广播形式发送一次路由信息,在邻居之间互传。
  • 防止广播风暴:后续分组做随机延时后发送。
  • 如果一个路由在180s内未被更新,相应的距离设置为无穷大:16,并从路由表中删除该表项。
  • RIP分组分为:
    • 请求分组
    • 响应分组

上面的是基础储备。

路由收敛很慢如何理解?

收敛过程的详细理解,是非常必要的。

直连跳数是1.

这里写图片描述

初始时R1到C网络的跳数是1,路由表中就记录着1,R2经过R1再到C共两跳,因此记录跳数是2.

现在:

这里写图片描述

R1C的路径被剪断了,R1可以感受到,于是在自己的路由表中更新为16,表示”无穷大”,不可达。

这是个坏消息,坏消息传得慢。现在看如何慢。

R1准备在下一个30秒内告诉R2这个坏消息,但是R2先把自己的所有信息都告诉了R1,R1一看咦?R2C的跳数是2,我到R2就一跳,现在虽然我不能直接到C了,那么绕道R2不就可以了吗?说干就干,于是把自己到C的跳数改为3.好了,真相被谎言掩盖了。开始了二者之间的互捧臭脚时间。

R1R2这个好基友坦白所有的信息,R2看到R1C的距离变为3了,R2知道自己是经过R1才到达的C,于是毫不犹豫的改为4.下一次再把全部信息告诉R1,R1收到一看,咋回事啊,怎么又加一跳了呢!R2那边发生了什么?但是还是得根据规则,毫不犹豫的修改到C的距离跳数。就这样不断增加,直到都为16,才恍然大悟,原来大家都到不了了啊。

就是这样的更新过程。理论掌握到这个程度就可以解绝大部分题了。

比如:

这里写图片描述

(2016.37)假设R1,R2,R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是:B

update :

需要更新的是这道题的详细解法。上面提到的坏消息传得慢和这里的情况并不完全对应。也即,上面设定的情景中,是一个路由器知道坏事发生了,但是还没来得及告诉邻居,于是开始不断的增长跳数,直到为16时才明白不可达。这里的题干说的是R3先向R2通告了自己的新的距离路由向量,所以R2知道通过R3这里不可达。但是不要忽视了R1,已经收敛的情况下,R1到该网络的距离是2。题干设定是R3告诉了R2,但是没说告诉了R1,那么当R2更新时,通过R1知道到达网络的距离向量是3.即R2到R1距离为1,R2到网络距离为2,那么综合为3.往后,当R3告诉R1后,才会开启新的一波距离向量增长的过程。这里牵涉到三个路由,需要特别注意。

update:

思考一个相对难点的题目:

这里写图片描述

分析:这个题目不必动手把数据都标到图上,没有必要。且全部标上,会让问题更加复杂。因此,我们直接推算即可。首先要明确的是C自己实际测算的结果就是最小的值,明确了这一点,直接选出B即可。

选个最小的,于是为11;

C到B:实际测的是6,就是6。

C到D,实际测的是3,就为3.

C到E,实际测得是5,就为5;

取最小的8.

于是选择B为最终答案。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212251.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午8:28
下一篇 2026年3月18日 下午8:28


相关推荐

  • 如何通过一个SAPGUI屏幕反查这个屏幕对应的事务码[通俗易懂]

    如何通过一个SAPGUI屏幕反查这个屏幕对应的事务码[通俗易懂]如何通过一个SAPGUI屏幕反查这个屏幕对应的事务码

    2022年4月21日
    44
  • 查找与解决网速变慢原因之谜

    查找与解决网速变慢原因之谜

    2021年7月29日
    59
  • 找不到vcruntime140.dll 无法执行代码_Win11一键修复所有dll缺失

    找不到vcruntime140.dll 无法执行代码_Win11一键修复所有dll缺失welcometomyblog问题描述:安装mysql时报错:由于找不到vcruntime140_1.dll,无法继续执行代码解决方法:这是缺少了动态链接库(.ddl文件),跟mysql无关,下载一份即可,下载地址,拖到下面,我下载的是64位版本的压缩包解压后将vcruntime140_1.dll复制到C:\Windows\System32即可注意,32位版本…

    2025年11月17日
    5
  • windows如何设置定时关机「建议收藏」

    windows如何设置定时关机「建议收藏」电脑定时关机是通过shutdown这个命令来实现的,不论是windows还是linux,这个命令都是关机的意思。下面我们简要的介绍一下windows如何定时关机:思路一:通过shutdown这个命令加参数来实现按“win+R”(注win键即指windows徽标键,该键的最明显的标识就是在键面上有个Windows的徽标),此时会弹出“运行”对话框,如下图所示。在对话框的编辑栏里输入“Shutdown…

    2022年5月14日
    56
  • Django(46)drf序列化类的使用(ModelSerializer)「建议收藏」

    Django(46)drf序列化类的使用(ModelSerializer)「建议收藏」前言我们上篇文章使用到了Serializer类,可能有小伙伴说太过复杂,那么本篇就为大家带来更加简便的序列化类ModelSerializerModelSerializer先来看下ModelSer

    2022年7月30日
    11
  • git拉取代码错误

    git拉取代码错误记录一下拉取 git 服务器的代码到本地输入命令 gitpull 报错如下 图片上的信息表示 查看 https aka ms gcmcore tlsverify 后 发现应该是缺少了安全认证 所以解决方法是重启安全认证 百度之后 输入命令 gitconfigglo sslVerifytru 再输入命令 gitpull 这时 又报出新的错误 出现这种问题 是由于有人在 git 服务器上直接修改文件 致使从 gitpull 最新代码会提示这样的问题 因为想彻底地覆盖本地的代码

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号