动态路由——距离矢量路由协议

前言:动态路由协议就是你啥也不用想,贼鸡儿帅的敲几条指令就能配好路由的协议。

什么是「距离矢量」

矢量就是方向加距离,在网络中,从哪个接口出去,就是方向。

使用距离矢量路由协议的路由器并不了解到达目的网络的整条路径。该路由器只知道:自身与目的网络之间的距离以及该从哪个端口出去

用来衡量距离的又是另外一个故事:度量

度量

度量的本质就是距离,是指路由协议用来分配到达远程网络的路由开销的值

每种协议使用的度量不一样:

管理距离(AD)

这个数值用于指定路由协议的优先级

简单叙述距离矢量路由协议

  • 路由器初始启动
  • 交换路由信息
  • 直到每个路由器无新信息更新(路由器收敛完成)

距离矢量路由协议——防环机制

没有防环机制的路由协议是很可能产生环路的,导致数据包在路由器之间来回发送

下面介绍几种防环机制:

定义最大度量以防止计数至无穷大

比如在 RIP 协议中,度量的是跳数。

一跳代表源地址到目的地址只有一个路由器或者其他设备

所以在 RIP 协议中,防环机制就是限制最大跳数。

假设最左边的 10.1.0.0 断了,R1 没有这个路由了。但是 R2 还有这个路由,他会把度量 +1 发送给 R1,R1 一看我没有这个路由,就会增加这条路由并度量为 2。

然后度量 +1,发给 R2。R2 发现度量值不对,又更新。如此反复。

但是到最大度量值的时候,路由器会删掉这条路由

水平分割

水平分割的思想史:在路由信息传送过程中,不再把由该接口学习到的路由再从该接口发出

在上述的例子中,就是因为 R2 给 R1,发送了从 R1 学习到的路由信息,造成的环路。

触发更新

正常情况下,路由器会基于计时器每 30s 将路由表发送给邻居路由器,而触发更新就是立刻发送路由更新信息

也就是说检测到网络故障的路由器会直接发送一个更新信息给邻居路由器,并依次产生触发更新通知它们的邻居路由器,此过程就叫触发更新。

触发更新这种方式使整个网络上的路由器在最短的时间内收到更新信息,从而快速了解(学习收敛)整个网络的路由变化

抑制计时器

如果一条路由更新的跳数大于路由表已记录的该路由的跳数,那么将会引起该路由进入长达 180 秒(即 6 个路由更新周期)的抑制状态阶段。在抑制计时器超时前,路由器不再接收关于这条路由的更新信息。

如果在抑制计时器超时后还接受到该消息,那么这时路由器就认为该消息时真的

路由毒化或毒性反转

路由中毒:是指在路由信息在路由表中失效时,先将度量值变为无穷大,而不是马上从路由表中删掉这条路由信息。(这句话要理解,如 RIP 协议中,其度量值变为 16,意味着路由不可达)再将其信息发布出去,这样相邻的路由器就得知这条路由己无效了…..

毒性反转:与路由中毒概念是不一样的,它是指收到路由中毒消息的路由器,不遵守水平分割原则将中毒消息转发给所有的相邻路由器,也包括发送中毒信息的源路由器,也就是通告相邻路由器这条路由信息己失效了。。主要目的是达到快速收敛的目的。

你可能感兴趣的:(动态路由——距离矢量路由协议)