距离向量算法

距离向量路由算法要求,每个结点都参与定期交换整个路由表,即把路由表传递给自己与之相连的结点

首先,当前路由表的组成如下,<目的网络 N,跳数,下一跳地址>

算法执行步骤

这里以 RIP 算法(距离向量算法的一种)为例。

  1. 从相邻的 X 路由器接收发送过来的 RIP(Routing Information Protocol) 报文
  2. 将该 RIP 报文中的下一跳地址修改为 X,且跳数增加 1
  3. 对每个项目执行如下步骤
    a.若原路由表没有 RIP 中的目的网络 N,直接添加到原路由表中
    b.若原路由表中有 RIP 中的目的网络 N,但下一跳地址不是 X ,选择跳数少的替换。如果两者跳数一样,则保留原路由表的项。
    c.若原路由表中有 RIP 中的目的网络 N,且下一跳地址是 X,使用收到的项替换
  4. 若超过 180s (RIP 默认 180s)还没有收到相邻路由器的更新路由表,则相邻路由器置为不可达,跳数为 16

简洁版:
1.无新信息,不改变
2.相同下一跳,更新
3.新项目,更新
4.不同下一跳,距离更短,更新

5.不同吓一跳,距离一样,不改变
6.不同下一跳,距离更大,不改变

算法的缺点:可以看到,距离向量协议传送的是整个路由表,那么报文的大小就和通信子网的结点个数成正比,如果通信子网越大,那么报文也将非常大。

实例 1

如下,有 B,C 两个路由器的路由表。B,C 为相邻路由器,现在 C 向 B 发送 RIP 报文,求 B 更新后的路由表

B 的路由表

目的网络距离下一跳
N17A
N22C
N68F
N84E
N94D

C 的 RIP 报文中的路由表

目的网络距离
N215
N32
N48
N82
N74

解:

  1. 将 RIP 报文的下一跳地址改为 C 且跳数增加 1
目的网络距离下一跳
N216C
N33C
N49C
N83C
N75C
  1. 与原路由表(B 的路由表)比较并更新
    a. 因为 C 路由表中并无关于 N1,N6 和 N9 的信息,所以原路由表保存不变
    b.对于 N2,目的网络一样,下一跳地址一样(同为 C),所以更新跳数为 16
    c.对于 N3,因为原路由表中无该项,所以直接添加。N4 和 N7 同理添加
    d.对于 N8,目的网络一样,但下一跳不一样,选择距离短(跳数少的添加),所以更新为 C 路由表的信息

更新后的 B 路由表

目的网络距离下一跳
N17A
N216C
N33C
N49C
N68F
N75C
N83C
N94D

实例 2

这是关于距离向量的另一种考法

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值