网络层-第六节2:路由信息协议RIP的基本工作原理
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络层-第六节2:路由信息协议RIP的基本工作原理相关的知识,希望对你有一定的参考价值。
- 获取pdf:密码7281
- 专栏目录首页:【专栏必读】王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记、题目题型总结、注意事项、目录导航和思维导图
- 王道考研408计算机组成原理万字笔记
- 王道考研408数据结构+计算机算法设计与分析万字笔记
- 王道考研408操作系统+Linux系统编程万字笔记
文章目录
本节对应视频如下
一:路由信息协议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 R1→R4→R5是好的路由,尽管其带宽很小
当到达同一目的网络有多条“距离相等"的路由时,可以进行等价负载均衡,也就是将通信量均衡地分布到多条等价的路由上
(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的基本工作原理的主要内容,如果未能解决你的问题,请参考以下文章