• 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
    

    作业:

  • 相关阅读:
    排序链表
    给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。
    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
    快速排序之三路快排
    双向链表实现
    删除链表重复元素
    链表是否是回文串
    链表逆序
    排序之归并排序
    线性表之链表实现
  • 原文地址:https://www.cnblogs.com/LMIx/p/13493244.html
Copyright © 2020-2023  润新知