Dijkstra, RIP, OSPF:RIP算法

1. 这部分参考王道 bilibili 视频:https://www.bilibili.com/video/BV19E411D78Q?p=56&vd_source=63764dd9776224d187bddddb05bf9f3f

2. 阿里云对于 RIP 解释:https://developer.aliyun.com/article/492772

坦率地说,最好的学习方法,是知道 RIP 怎么用的,然后又模拟环境可以适当测试。 

3. 参考资料:https://www.cnblogs.com/cpaulyz/p/12801324.html

 

这篇大概是解释得最好的。

 

RIP是一种分布式的基于距离向量的路由选择协议

  1. 对地址为X的路由器发来的RIP报文,先进行修改,把下一条地址都改为X,把距离都+1。每一个项目都三个关键数据:目的网络N、距离d、下一条路由器X
  2. 对修改后的RIP报文的每一个项目,进行以下步骤:
    • 若原路由表没有目的网络N,直接写进去
    • 否则(即原本就有到目的网络N的条目了)
      • 若下一条路由器地址为X,则进行替换(解释1)
      • 否则(有到目的网络N,但下一条不是X)
        • 若d<路由表中的距离,进行更新(解释2)
        • 否则什么也不做(解释3)
  3. 若3分组还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,距离设为16
  4. 返回

解释1:因为这是最新的消息,到目的网络的距离可能增大或减小,比如拓扑发生了改变?。不过不管怎么样,X的消息总是最新的,听他的就是了

解释2:DV以跳数作为评判,距离小了当然要更新。

解释3:没有好处,不更新。

 

最后倒数第二个有意思的议题:水平分割

   网络收敛后,路由器仍然在以30s的时间间隔向外发送整个路由表。

   执行水平分割可以阻止路由环路的发生,水平分割的规则是:从一个接口学习到路由信息,不再从这个接口发送出去。水平分割不仅能够阻止路由环路的产生,同时也能减少路由更新信息占用的链路带宽资源。

 

最后一个有意思的议题:收到路由表之后,同一网络,不同的下一跳,是用路径长度优先判断?还是侦测哪个路由器距离近,然后优先判断?

这个疑问,会在以下的例题体现。我慢点再搜答案……

 水平分割,首次出现在阿里云的文献。

参考:https://developer.aliyun.com/article/492772

 

例题-1:R6、R4相邻,如左图所示。现在 R4 的路由表更新为 右上表,现在让你写出 R6 更新后的路由表。 

 

例题-2: 这道题中向量6个元素分别代表某个路由器到达 A、B、C、D、E、F 六个路由器的路径。每个路径向量,都要加上各自的时延。

 

坏消息传得慢。GeekforGeek 形容 RIP 为 Routing on rumors 。

 

例题-3:如果现在 NET1出现了故障,R1 还来不及将 【NET1,16,直接交付】的路由报文更新给到 R2 ,但是 R2 先把自己的路由表更新到 R1。这个时候路由表中仍然含有到 NET1 的距离,且该距离小于 16,假设为2。R1 接收之后,将 2+1,更新路由表 【NET1,3,R2】,这里注意,从 R2 开始找的路径。这样的循环往复,不断在各自路由器这里路径 +1,直至路径加到 16为止。

 

上述就是 RIP 路由向量算法。

 

关于无分类地址 CIDR

 

案例:

 

 

 

 

 

结构化学习来说,可以参考这张图,但是这类系统分类,不会解释任何 关于 RIP 是如何接受路由表,如何更新的。以及什么叫做该节点学习,其他节点传出?

 

来源:知乎 https://zhuanlan.zhihu.com/p/110599663

 

 来源:知乎 https://zhuanlan.zhihu.com/p/513109424

 

我们调查一些资料之后发现,  RIP能够出题的部分比较少,更多涉及路由器怎么部署 ip routing command

因此,我们整理部分 RIP的优势和缺点,既然拿来学习了,必然有些用对不对?

 

第一,OSPF 大面积替代了 RIP。

In the enterprise, Open Shortest Path First (OSPF) routing has largely replaced RIP as the most widely used Interior Gateway Protocol.

Routing Information Protocol (RIP): A distance vector protocol that uses hop count as its metric to determine the best path for routing packets. Open Shortest Path First (OSPF): A link state protocol that calculates routes based on the shortest path algorithm, considering factors such as bandwidth and latency.

BTW,考虑 OSPF  是否能出题 Dijkstra 。

 

第二,内部测试网络,还是会用到RIP。

优势

简单、容易部署、收敛、自动更新、占用带宽少、兼容

劣势

有限扩展、慢收敛、路由环、对负载平衡有限支持、安全脆弱、对带宽使用无效性

 

例题-4:

 现在查看 R1、R2、R3 是如何配置的?

 

Configure RIP for R1 : 

R1(config)# router rip
R1(config-router)# network 192.168.20.0
R1(config-router)# network 172.16.10.4
R1(config-router)# version 2
R1(config-router)# no auto-summary

 

Configuring RIP for R2:  

R2(config)# router rip
R2(config-router)# network 192.168.10.0
R2(config-router)# network 172.16.10.0
R2(config-router)# version 2
R2(config-router)# no auto-summary

 

Configure RIP for R3 :  

R3(config)# router rip
R3(config-router)# network 10.10.10.0
R3(config-router)# network 172.16.10.4
R3(config-router)# network 172.16.10.0
R3(config-router)# version 2
R3(config-router)# no auto-summary

 

这里提到几个概念:

Update timer, Invalid timer / Hold down timer, Flush time

这里的 Flush time, 指的是 dead time (180s) + extra 60s = 240 s

240 秒之后,网络被重新刷新。

 

既然是笔记,我就提出一些疑问。例如,复习CIDR之后,我应该没理解错子网。所以上述案例, 172.16.10.5 - 172.16.10.6 是不是超出 172.16.10.0/30 这个子网,即覆盖右端 ip 0-3 。如图。

来源:https://www.geeksforgeeks.org/routing-information-protocol-rip/

BTW 为了更加真实地体验设备数据显示,可以查看 思科的 Handbook

参考:https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960x/software/15-2_5_e/configuration_guide/b_1525e_consolidated_2960x_cg/b_1525e_consolidated_2960x_cg_chapter_01011110.html 

 

 

 笔记写到这里,我们再看一些课程。

 

例题-5:

 

例题-6:

 

 

2023年11月20日 RIP 距离向量算法 补充笔记

 

1. 路由选择协议,分为内部网关协议(RIP,OSPF),和外部网关协议(BGP) 

2. RIP特点,简单,计算距离,所谓距离即“跳数”;

3. 路由器从自己出发,到达目的网络的,唯一的、最佳的 路径;

4. RIP 中的距离,即“跳数”。

(A)“跳数”,即“直接交付”,“1”、“2”……

(B)距离如果等于 16,表示不可达;

(C)适用小网络。

5. 路由表,抬头部分:目的网络、距离、下一跳路由器。

这里的距离,指的是“下一跳路由器的距离”。

6. 用一道例题帮助学习。

 

这里主要是计算好跳数,注意到 “距离” 指的是到达 “下一跳路由器” 的距离。

 

7. 再看一道例题

 

注意观察跳数的含义。

 

8. 再看一道例题

答案:B

 

个人评注: 这道题关键是阅读理解。首先,图表示网络拓补,即 C 链接的只有 BDE,它到整个网络的距离,就其本身而言,只能用 BDE来衡量。其次,罗列出三个路由器的所有路径,选择最短的路径。并且,每个路由器,一定由一个六维向量表示,每个维度对应的路由器,分别为 ABCDEF ,包含自己。结论是,一共 3 个相邻路由,即 3 个向量,3个唯一进入网络的方式,比较每个维度的最小值即可。

 

因此

C -> B [11, 06, 14, 18, 12, 08]

C -> D [19, 15, 09, 03, 12, 13]

C -> E [12, 11, 08, 14, 05, 09]

每个维度比较,即纵向比较,得出 [11, 06, 00, 03, 05, 08]。 

 

报文方面

  • RIP使用 UDP 报文,不可靠交付;
  • OSFP 使用 IP报文,不可靠交付;
  • BGP 使用 TCP 报文,可靠交付。

 

 

欢迎关注 ShoelessCai.com 。

 

posted on 2023-11-04 20:10  Mira_2019  阅读(51)  评论(0编辑  收藏  举报