网络层-第六节2:路由信息协议RIP的基本工作原理

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络层-第六节2:路由信息协议RIP的基本工作原理相关的知识,希望对你有一定的参考价值。

文章目录

本节对应视频如下

一:路由信息协议RIP

(1)概述

路由信息协议RIP:是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance Vector)”。RIP使用跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离

  • 路由器到直连网络的距离定义为1:例如图中的路由器R1到其直连网络N1的距离为1
  • 路由器到非直连网络的距离定义为所经过的路由器数加1:例如图中的路由器R3到其非直连网络N2的距离为2

RIP允许一条路径最多只能包含15个路由器。“距离” 等于16时相当于不可达。因此,RIP只适用于小型互联网

(2)RIP所认为好的路由

RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由

  • 例如下图RIP会认为 R 1 → R 4 → R 5 R_1\\rightarrow R_4 \\rightarrow R_5 R1R4R5是好的路由,尽管其带宽很小

当到达同一目的网络有多条“距离相等"的路由时,可以进行等价负载均衡,也就是将通信量均衡地分布到多条等价的路由上

(3)RIP包含的三个要点

①和谁交换信息 仅和相邻路由器交换信息。例如下图中R1和R2互为相邻路由器,因为它们是直连的,中间没有其他路由器,同理R2和R3也互为相邻路由器,但是R1与R3不是相邻路由器,因为它们之间还存在其他路由器

②交换什么信息 交换的是路由器自己的路由表

③何时交换信息 周期性交换(例如每30s发送一次RIP更新报文)

二:举例

(1)RIP的基本工作过程

RIP的基本工作过程

  • 路由器刚开始工作时,只知道自己到直连网络的距离为1

  • 每个路由器仅和相邻路由器周期性地交换并更新路由信息

  • 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛

(2)RIP的路由条目更新规则

如下图,路由器C和D互为相邻路由器,它们之间周期性交换并更新路由信息

  • 路由器C的路由表:到达各目的网络的下一跳都记为问号,可以理解为路由器D并不需要关心路由器C的这些内容
  • 路由器D的路由表

假设路由器C的RIP更新报文发送周期到了,则路由器C将自己路由表中相关路由信息封装到RIP更新报文中发送给路由器D。可以简单的理解为路由器C将自己的路由表发送给了路由器D

路由器D在收到后会对其进行改造,将到达各目的网络的下一跳都改为C,距离都增加1。这是因为,路由器C告诉D,它可以到达这些目的网络,那么路由器C作为D的邻居路由器,自然可以借助C来到达这些目的网络,只是比C到达这些目的网络的距离多1

现在,路由器D可以根据改造好的路由表来更新自己先前的路由表了

  • 路由器D原来到达网络N的距离为2,下一跳经过路由器C的转发,现在路由器D知道了,到达网络N2仍然经过C的转发,距离变为了5。也就是说,C与N2之间的网络拓扑结构发生了变化,于是将自己这条路由条目中的距离更新为5

  • 更新理由为:到达目的网络,相同下一条最新消息,更新

  • 路由器D原来不知道网络N3的存在,现在路由器D知道了,可以通过路由器C到达网络N3,于是将该路由条目添加到自己的路由表中

  • 更新理由为:发现了新的网络,添加

  • 路由器D原来到达网络N6的距离是8,下一跳经过路由器F的转发,现在路由器知道了,到达网络N6如果通过C来转发则距离可以缩短为5,于是将自己这条路由条目中的距离修改为5,下一跳修改为C

  • 更新理由为:到达目的网络,不同下一跳,新路由优势,更新

  • 路由器D原来到达网络N8的距离是4,下一条经过路由器E的转发,现在路由器D知道了,到达网络N8还可以通过C来转发,距离也为4,于是将该路由条目添加到自己的路由表中

  • 更新理由为:到达目的网络,不同的下一跳,但距离相等,进行等价负载均衡

  • 路由器D原来到达网络N9的距离是4,下一条经过路由器F的转发,现在路由器D知道了,到达网络N9如果通过C来转发则距离扩大为6,于是不使用这条路由条目来更新自己的路由表

  • 不更新理由为:到达目的网络,不同下一跳,新路由劣势,不更新

三:RIP协议“坏消息传得慢”问题

(1)概述

坏消息传得慢:"坏消息传播得慢”又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题

(2)举例

如下图,假设R1到其直连网络N1的链路出现了故障,当R1检测到该故障后,会将到达N1的路由条目中距离修改为16,表示N1不可达,并等待RIP更新周期到时后,发送该路由信息给R2,而此时R2的路由表中关于N1的路由条目仍然是先前通过RIP协议获取到的,也就是到达N1的距离为2,下一跳通过R1转发。假设R2的RIP更新周期先到时,也就是R2的这套路由信息先到达R1,R1的这条路由信息后到达R2

此时它们会被对方误导

  • 当R1收到R2的这条路由信息后就会被该谣言误导,认为可以通过R2到达N1,距离为3,并在自己的RIP更新周期到时后将这条路由信息发送给R2
  • 当R2收到R1的这条路由信息后就会被该谣言误导,认为可以通过R1到达N1,距离为4,并在自己的RIP更新周期到时后这条路由信息发送给R1
  • 当R1收到R2的这条路由信息后就会被该谣言误导,认为可以通过R2到达N1,距离为5,并在自己的RIP更新周期到时后将这条路由信息发送给R2

最后只有当R1和R2的路由表中,到达N1的距离为16时,R1和R2才知道N1不可达。在该过程中R1和R2会出现路由环路,时间长达数分钟

(3)解决方法

解决方法:可以采取多种措施减少出现该问题的概率或减小该问题带来的危害,例如

  • 限制最大路径距离为15 (16表示不可达)
  • 当路由表发生变化时就立即发送更新报文(即“触发更新”),而不仅是周期性发送
  • 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即“水平分割”)

以上是关于网络层-第六节2:路由信息协议RIP的基本工作原理的主要内容,如果未能解决你的问题,请参考以下文章

网络层-第六节4:边界网关协议BGP的基本工作原理

网络层-第六节4:边界网关协议BGP的基本工作原理

网络层-第六节1:路由选择协议概述

网络层-第六节1:路由选择协议概述

计算机网络—— 网络层:路由选择协议

计算机网络-网络层路由选择协议