Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【计算机网络】网络层 : RIP 协议 ( 路由选择协议分类 | RIP 协议简介 | 信息交换 | 距离向量算法 | 计算示例 )★

【计算机网络】网络层 : RIP 协议 ( 路由选择协议分类 | RIP 协议简介 | 信息交换 | 距离向量算法 | 计算示例 )★

作者头像
韩曙亮
发布于 2023-03-28 09:18:35
发布于 2023-03-28 09:18:35
1.4K0
举报

文章目录

一、路由选择协议分类


路由选择协议分类 :

① 内部网管协议 IGP : 在 自治系统 ( Autonomous System ) 内部 使用的协议 ;

  • RIP 协议 : 使用 距离向量 算法 ; 用于 小型网络 ;
  • OSPF 协议 : 使用 链路状态 算法 ; 用于 大型网络 ;

② 外部网关协议 EGP : 在 自治系统 ( Autonomous System ) 之间 使用的协议 ;

下图中 自治系统

内部使用 RIP 协议 , 自治系统

内部使用 OSPF 协议 , 两个自治系统

之间使用 BGP 协议 ;

二、RIP 协议


RIP 协议 :

① 概念 : RIP 协议 是 分布式的 , 基于 距离向量 的 , 路由选择协议 ; 该协议是因特网协议标准 ;

② 特点 : 简单 ;

③ RIP 协议内容 : 要求网络中 , 每个路由器 都维护一个路由表 , 路由表内容是 从 路由器本身 到 目的网络 的 唯一最佳距离记录 ;

④ 距离 : 路由器 跳数 , 每经过一个路由器 , 跳数加一 ;

⑤ 直接连接距离 : 路由器 到 直接连接的网络 , 距离是

;

⑥ 最大距离 : RIP 协议中要求 , 一条路由只能包含

个路由器 ( 包含其本身 ) , 距离 最大是

, 如果距离为

, 该目标主机就会被判定为 网络不可达 ;

路由表 形成 需要进行信息 交换 , 需要与 指定的路由器 , 在指定的时机 , 交换指定信息 ;

三、RIP 协议 信息交换


RIP 协议 信息交换 :

① 交换对象 : 本路由器 只 与 相邻路由器 进行信息交换 ;

② 交换信息 : 交换的信息是路由器的 本身的路由表 ; 将本路由器的路由表所有信息, 封装在 RIP 报文中 , 发送给相邻路由器 ;

③ 交换周期 : 每隔

秒 , 交换一次路由信息 , 根据新的信息更新路由表 , 如果超过

秒没有收到 邻居路由器的 交换信息 , 则判定旁边的 邻居路由器没了 , 更新自身的路由表 ;

交换过程 : 刚开始时 , 每个路由器 只知道 直连的网络的距离

, 之后每个路由器想换交换信息 , 并更新路由信息 , 若干次交换后 , 所有的路由器都知道 本 自治系统 ( Autonomous System ) 中从任何路由器 到达 任何网络的最短距离 , 和 下一跳路由地址 ;

路由表内容 : 网络地址 , 跳数 , 下一跳地址 ;

RIP 协议是 应用层协议 , 使用 UDP 协议传输数据 ;

单个 RIP 报文中 , 最多存储

个路由信息 , 如果路由表很大 , 那么发送多个 RIP 报文 ;

RIP 协议特点 : 好消息更新快 , 坏消息更新慢 ; 网络出现故障后 , 要经过几分钟 , 才能将该信息送达所有的路由 , 收敛慢 ;

四、距离向量算法


距离向量算法 :

① 修改 RIP 报文 : 修改 相邻 路由器 发送的 RIP 报文 中的 所有表项 ;

相邻路由器 地址为

, 发送来 RIP 报文 , ① 将 下一跳 地址改为

相邻路由器地址 , ② 将距离 加一 ;

② 更新 本路由器 路由表 :

路由表内容 : 网络地址 , 跳数 , 下一跳地址 ;

针对修改后的 RIP 报文 , 执行下面的操作 :

  • 没有的表项 : 没有报文中路由表表项的 网络地址 , 直接插入即可 ;
  • 已有的表项 : 存在报文中路由表表项的 网络地址 , 查看下一跳路由器地址 ,
    • 下一跳就是

    相邻路由器 : 使用该新的路由表项替换原来的路由表项 ; 这种情况下 , 不管距离变大还是变小 , 只要下一跳路由器一样 , 就更新 , 这说明了网络拓扑发生了改变 ; 始终以新的数据为标准 ;

    • 下一跳不是

    相邻路由器 : 比较距离 , 如果 本次的距离 比 原来的距离 近 , 就更新路由表项 , 如果远 , 不做处理 ; ( 更新原则是 , 同一个目的地址 , 始终保持跳数较少的路由路径 )

③ 删除路由 : 如果

秒 , 还没有收到相邻路由器

的 RIP 报文数据 , 那么将 路由器

记为不可达路由器 , 将距离设置为

;

④ 返回 ;

五、距离向量算法 计算示例


距离向量算法 计算示例 :

本身路由表 :

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

收到

发来的 RIP 报文 ( 路由更新信息 ) :

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由 直接交付 ;

计算更新后的

路由器路由表 ?

计算过程 :

① 修改 RIP 报文 :

  • ① 将 下一跳 地址改为

相邻路由器地址

  • ② 将距离 加一 ;

按照上述 两个步骤 修改 收到

发来的 RIP 报文 ( 路由更新信息 ) :

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

② 更新 路由表 :

针对 "表项

: 目的网络 Net

, 距离

, 下一跳路由

" , 原来

路由表中没有 目的网络 Net

, 直接将该路由表表项插入到

路由表zh9ong ;

针对 "表项

: 目的网络 Net

, 距离

, 下一跳路由

" , 原来

路由表中 有 目的网络 Net

, 对比下一跳地址 , 原来的路由表项中下一跳地址是

, 不管距离是否远近 , 这说明网络的拓扑结构发生变化 , 直接使用新的路由表项 , 替换原来的 ; ( 本步骤与距离远近无关 , 是网络拓扑发生的变化 )

针对 "表项

: 目的网络 Net

, 距离

, 下一跳路由

" , 原来

路由表中 有 目的网络 Net

, 对比下一跳地址 , 下一跳地址不同 , 那么开始对比距离远近 , 原来的距离是

, 新的距离是

, 这里选择距离较近的 , 即将 RIP 报文中的路由表表项更新到

路由器中 ;

更新后的

路由器表项 : ( 全都更改了一遍 )

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

  • 表项

: 目的网络 Net

, 距离

, 下一跳路由

;

六、距离向量算法 计算示例 2


某子网 有

六个路由器 , 使用 距离-向量 算法 , 下面的向量 , 达到路由器

:

  • 来自

的向量为

  • 来自

的向量为

  • 来自

的向量为

的延迟分别是

, 求

到达所有节点的最短路径 ;

计算过程 :

的向量为

, 即

六个路由器的跳数 ;

的向量为

, 即

六个路由器的跳数 ;

的向量为

, 即

六个路由器的跳数 ;

再到 其它路由器跳数为

再到 其它路由器跳数为

再到 其它路由器跳数为

最短 跳数 是

中最小值

;

最短 跳数 是

中最小值

;

最短 跳数 是

;

最短 跳数 是

中最小值

;

最短 跳数 是

中最小值

;

最短 跳数 是

中最小值

;

达到所有节点的路径是

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档