zoukankan      html  css  js  c++  java
  • 距离向量算法(RIP协议)

    距离向量路由算法要求,每个结点都参与定期交换整个路由表,即把路由表传递给自己与之相连的结点。
    首先,当前路由表的组成如下,<目的网络 N,跳数,下一跳地址>

    RIP算法执行步骤

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

    实例1

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

    B的路由表

    目的网络 距离 下一条
    N1 7 A
    N2 2 C
    N6 8 F
    N8 4 E
    N9 4 D

    C 的 RIP 报文中的路由表

    目的网络 距离
    N2 15
    N3 2
    N4 8
    N8 2
    N7 4

    解:

    1.将RIP报文的下一跳地址改为C且跳数增加1

    目的网络 距离 下一跳
    N2 16 C
    N3 3 C
    N4 9 C
    N8 3 C
    N7 5 C

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

    更新后的B路由表

    目的网络 距离 下一跳
    N1 7 A
    N2 16 C
    N3 3 C
    N4 9 C
    N6 8 F
    N7 5 C
    N8 3 C
    N9 4 D
  • 相关阅读:
    饿了么P7级前端工程师进入大厂的面试经验
    前端程序员面试的坑,简历写上这一条信息会被虐死!
    这次来分享前端的九条bug吧
    移动端开发必会出现的问题和解决方案
    创建一个dynamics 365 CRM online plugin (八)
    创建一个dynamics 365 CRM online plugin (七)
    创建一个dynamics 365 CRM online plugin (六)
    创建一个dynamics 365 CRM online plugin (五)
    使用User Primary Email作为GUID的问题
    怎样Debug Dynamics 365 CRM Plugin
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13308084.html
Copyright © 2011-2022 走看看