zoukankan      html  css  js  c++  java
  • RIP协议

    1.概念:

    RIP协议是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。

    RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。

    这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。

    2.工作原理:

    RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新

    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)返回;

    R1到C的路径被剪断了,R1可以感受到,于是在自己的路由表中更新为16,表示"无穷大",不可达。

    R1准备在下一个30秒内告诉R2这个坏消息,但是在这之间R2先把自己的所有信息都告诉了R1,R1一看咦?R2到C的跳数是2,我到R2就一跳,现在虽然我不能直接到C了,那么绕道R2不就可以了吗?说干就干,于是把自己到C的跳数改为3.好了,真相被谎言掩盖了。

    R1向R2这个好基友坦白所有的信息,R2看到R1到C的距离变为3了,R2知道自己是经过R1才到达的C,于是毫不犹豫的改为4.下一次再把全部信息告诉R1,R1收到一看,咋回事啊,怎么又加一跳了呢!R2那边发生了什么?但是还是得根据规则,毫不犹豫的修改到C的距离跳数。就这样不断增加,直到都为16,才恍然大悟,原来大家都到不了了啊。

  • 相关阅读:
    gulp学习笔记1
    2017年秋季校招前端面经(百度,腾讯,网易,华为,乐视等)
    前端面试笔试知识汇总3(含答案)
    前端面试笔试知识汇总2(含答案)
    前端面试笔试知识汇总1(含答案)
    一些新的web性能优化技术
    一个简单的无限滚动的加载数据实现
    正则和字符串之间的关系梳理
    数据结构——二叉树的知识点总结
    秋招笔试碰到的疑难题目2
  • 原文地址:https://www.cnblogs.com/LMIx/p/12774561.html
Copyright © 2011-2022 走看看