RIP协议

1.概念:
RIP协议是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。
RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用"跳数"(即metric)来衡量到达目标地址的路由距离。
这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。

收敛:使所有路由表都达到一致状态的过程。

2.工作原理:
RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新(UDP520端口)。
RIP提供跳跃计数(hopcount)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。
如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。
RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。

3.算法(距离向量算法)
对每一个相邻路由器发送过来的RIP报文,进行以下步骤:

  1. 对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把"下一跳"字段中的地址都改为X,并把所有的"距离"字段的值加1
    每个项目都有三个关键数据,即: 目的网络N,距离是d,下一跳路由器是X。
  2. 对修改后的RIP报文中的每一个项目,进行如下步骤:
    若原来的路由表中没有目的网络N,则把该项目添加到路由表中;
    若原目的网络为N且距离大于d,则把收到的项目替换原路由表中的项目。
  3. 若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可到达的路由器,即把距离设置为16;
  4. 返回;
NET Next hop Metric
C 10.0.0.0 20.0.0.1 1
C 30.0.0.0 40.0.0.2 2



R3到右边的的路径被剪断了,R3可以感受到,于是在自己的路由表中更新为16,表示"无穷大",不可达。
R3准备在下一个30秒内告诉R2这个坏消息,但是在这之间R2先把自己的所有信息都告诉了R3,R3一看咦?R2到C的跳数是1,我到R2就一跳,现在虽然我不能直接到,那么绕道R2不就可以了吗?说干就干,于是把自己到C的跳数改为2.好了,真相被谎言掩盖了。
R3向R2这个好基友坦白所有的信息,R2看到R3到C的距离变为3了,R2知道自己是经过R3才到达的C,于是毫不犹豫的改为4.下一次再把全部信息告诉R3,R3收到一看,咋回事啊,怎么又加一跳了呢!R2那边发生了什么?但是还是得根据规则,毫不犹豫的修改距离跳数。就这样不断增加,直到都为16,才恍然大悟,原来大家都到不了了啊。

解决这个问题可以用水平分割

  • 从一个接口学习到的路由信息,不再从这个接口发送出去;
  • 同时也能减少路由更新信息占用的链路带宽资源。

实验:

# rip v1
router rip #启用rip协议
version 1 #设置版本
network 10.0.0.0 #激活网段
network 20.0.0.0 #激活网段

# rip v2
router rip
version 2
no auto-summry
network 10.0.0.0
network 20.0.0.0

作业:

posted @ 2020-08-12 21:52  _STAyy  阅读(987)  评论(0编辑  收藏  举报