距离矢量路由(DVR)协议

距离向量路由(DVR)协议要求路由器通知其邻居的拓扑周期性地变化。历史上称为旧的ARPANET路由算法(或称为Bellman-Ford算法)。

Bellman Ford基础知识–每个路由器维护一个距离矢量表,该表包含其自身与所有可能的目标节点之间的距离。基于所选度量的距离是使用来自邻居距离矢量的信息来计算的。

DV路由器保存的信息-
每个路由器都有一个ID与连接到路由器的每个链接相关联, 
有链接成本(静态或动态)。中级啤酒花
距离矢量表初始化-距自身= 0与所有其他路由器的距离=无限数。

距离矢量算法–

  1. 路由器在路由数据包中将其距离矢量传输到其每个邻居。
  2. 每个路由器从其每个邻居接收并保存最近接收到的距离矢量。
  3. 在以下情况下,路由器将重新计算其距离向量:
    • 它从邻居接收距离信息,该距离向量包含与以前不同的信息。
    • 它发现到邻居的链接已断开。

DV计算基于最小化每个目的地的成本

Dx(y)=估计从x到y的最小成本 
C(x,v)=节点x知道每个邻居v的成本
Dx = [Dx(y):y∈N] =节点x保持距离矢量
节点x还维护其邻居的距离矢量
–对于每个邻居v,x维持Dv = [Dv(y):y∈N]

注意 –

  • 有时,每个节点都会将自己的距离矢量估计值发送给邻居。
  • 当节点x从任何邻居v接收到新的DV估计时,它保存v的距离矢量,并使用BF公式更新其自己的DV:每个节点y∈N的Dx(y)= min {C(x,v)+ Dv(y),Dx(y)}
11

示例–如图所示,考虑3个路由器X,Y和Z。每个路由器都有其路由表。每个路由表都将包含到目标节点的距离。

考虑路由器X,X将把它的路由表共享给邻居,邻居将把它的路由表共享给邻居X,并使用Bellmenford公式计算出节点X到目的地的距离。

 每个节点y∈N的Dx(y)= min {C(x,v)+ Dv(y)}
dvr2
dvr3

正如我们所看到的,当Y是中间节点(跳)时,从X到Z的距离将减少,因此它将在路由表X中更新。

类似地,对于Z也–

dvr4

最后是所有人的路由表–



距离矢量路由的优点–

  • 它比链接状态路由更易于配置和维护。
  • 收敛比链接状态慢。
  • 它受到计数到无穷大问题的威胁。
  • 由于跳数更改必须传播到所有路由器并在每个路由器上进行处理,因此它产生的流量超过链接状态。即使网络拓扑没有变化,跳数更新也会定期进行,因此仍然会浪费带宽。
  • 对于较大的网络,距离矢量路由生成的路由表比链路状态大,因为每个路由器都必须知道所有其他路由器。这也可能导致WAN链路拥塞。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁