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

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

文章目录

一、路由选择协议分类

二、RIP 协议

三、RIP 协议 信息交换

四、距离向量算法

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

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





一、路由选择协议分类


路由选择协议分类 :


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


RIP 协议 : 使用 距离向量 算法 ; 用于 小型网络 ;

OSPF 协议 : 使用 链路状态 算法 ; 用于 大型网络 ;

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



下图中 自治系统 A AA 内部使用 RIP 协议 , 自治系统 B BB 内部使用 OSPF 协议 , 两个自治系统 A , B A,BA,B 之间使用 BGP 协议 ;


image.png





二、RIP 协议


RIP 协议 :


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


② 特点 : 简单 ;


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


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


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


⑥ 最大距离 : RIP 协议中要求 , 一条路由只能包含 15 1515 个路由器 ( 包含其本身 ) , 距离 最大是 15 1515 , 如果距离为 16 1616 , 该目标主机就会被判定为 网络不可达 ;




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






三、RIP 协议 信息交换


RIP 协议 信息交换 :


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


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


③ 交换周期 : 每隔 30 3030 秒 , 交换一次路由信息 , 根据新的信息更新路由表 , 如果超过 180 180180 秒没有收到 邻居路由器的 交换信息 , 则判定旁边的 邻居路由器没了 , 更新自身的路由表 ;



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



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



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


单个 RIP 报文中 , 最多存储 25 2525 个路由信息 , 如果路由表很大 , 那么发送多个 RIP 报文 ;


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






四、距离向量算法


距离向量算法 :


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


相邻路由器 地址为 X XX , 发送来 RIP 报文 , ① 将 下一跳 地址改为 X XX 相邻路由器地址 , ② 将距离 加一 ;



② 更新 本路由器 路由表 :


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


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


没有的表项 : 没有报文中路由表表项的 网络地址 , 直接插入即可 ;

已有的表项 : 存在报文中路由表表项的 网络地址 , 查看下一跳路由器地址 ,

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

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


③ 删除路由 : 如果 180 180180 秒 , 还没有收到相邻路由器 X XX 的 RIP 报文数据 , 那么将 路由器 X XX 记为不可达路由器 , 将距离设置为 16 1616 ;



④ 返回 ;






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


距离向量算法 计算示例 :


R 6 R6R6 本身路由表 :


表项 1 11 : 目的网络 Net 2 22 , 距离 3 33 , 下一跳路由 R 4 R4R4 ;

表项 2 22 : 目的网络 Net 3 33 , 距离 4 44 , 下一跳路由 R 5 R5R5 ;

收到 R 4 R4R4 发来的 RIP 报文 ( 路由更新信息 ) :


表项 1 11 : 目的网络 Net 1 11 , 距离 3 33 , 下一跳路由 R 1 R1R1 ;

表项 2 22 : 目的网络 Net 2 22 , 距离 4 44 , 下一跳路由 R 2 R2R2 ;

表项 3 33 : 目的网络 Net 3 33 , 距离 1 11 , 下一跳路由 直接交付 ;

计算更新后的 R 6 R6R6 路由器路由表 ?



计算过程 :


① 修改 RIP 报文 :


① 将 下一跳 地址改为 X XX 相邻路由器地址

② 将距离 加一 ;

按照上述 两个步骤 修改 收到 R 4 R4R4 发来的 RIP 报文 ( 路由更新信息 ) :


表项 1 11 : 目的网络 Net 1 11 , 距离 4 44 , 下一跳路由 R 4 R4R4 ;

表项 2 22 : 目的网络 Net 2 22 , 距离 5 55 , 下一跳路由 R 4 R4R4 ;

表项 3 33 : 目的网络 Net 3 33 , 距离 2 22 , 下一跳路由 R 4 R4R4 ;


② 更新 路由表 :


针对 "表项 1 11 : 目的网络 Net 1 11 , 距离 4 44 , 下一跳路由 R 4 R4R4 " , 原来 R 6 R6R6 路由表中没有 目的网络 Net 1 11 , 直接将该路由表表项插入到 R 6 R6R6 路由表zh9ong ;


针对 "表项 2 22 : 目的网络 Net 2 22 , 距离 5 55 , 下一跳路由 R 4 R4R4" , 原来 R 6 R6R6 路由表中 有 目的网络 Net 2 22 , 对比下一跳地址 , 原来的路由表项中下一跳地址是 R 4 R4R4 , 不管距离是否远近 , 这说明网络的拓扑结构发生变化 , 直接使用新的路由表项 , 替换原来的 ;

( 本步骤与距离远近无关 , 是网络拓扑发生的变化 )


针对 "表项 3 33 : 目的网络 Net 3 33 , 距离 2 22 , 下一跳路由 R 4 R4R4" , 原来 R 6 R6R6 路由表中 有 目的网络 Net 3 33 , 对比下一跳地址 , 下一跳地址不同 , 那么开始对比距离远近 , 原来的距离是 4 44 , 新的距离是 2 22 , 这里选择距离较近的 , 即将 RIP 报文中的路由表表项更新到 R 6 R6R6 路由器中 ;



更新后的 R 6 R6R6 路由器表项 : ( 全都更改了一遍 )


表项 1 11 : 目的网络 Net 1 11 , 距离 4 44 , 下一跳路由 R 4 R4R4 ;

表项 2 22 : 目的网络 Net 2 22 , 距离 5 55 , 下一跳路由 R 4 R4R4 ;

表项 3 33 : 目的网络 Net 3 33 , 距离 2 22 , 下一跳路由 R 4 R4R4 ;





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


某子网 有 A , B , C , D , E , F A, B, C,D,E,FA,B,C,D,E,F 六个路由器 , 使用 距离-向量 算法 , 下面的向量 , 达到路由器 C CC :


来自 B BB 的向量为 ( 5 , 0 , 8 , 12 , 6 , 2 ) ( 5, 0, 8 , 12 , 6, 2 )(5,0,8,12,6,2)

来自 D DD 的向量为 ( 16 , 12 , 6 , 0 , 9 , 10 ) ( 16, 12, 6 , 0 , 9, 10 )(16,12,6,0,9,10)

来自 E EE 的向量为 ( 7 , 6 , 3 , 9 , 0 , 4 ) ( 7, 6, 3 , 9 , 0 , 4 )(7,6,3,9,0,4)

C CC 到 B , D , E B, D, EB,D,E 的延迟分别是 6 , 3 , 5 6,3,56,3,5 , 求 C CC 到达所有节点的最短路径 ;



计算过程 :



B BB 的向量为 ( 5 , 0 , 8 , 12 , 6 , 2 ) ( 5, 0, 8 , 12 , 6, 2 )(5,0,8,12,6,2) , 即 B BB 到 A , B , C , D , E , F A, B, C,D,E,FA,B,C,D,E,F 六个路由器的跳数 ;

D DD 的向量为 ( 16 , 12 , 6 , 0 , 9 , 10 ) ( 16, 12, 6 , 0 , 9, 10 )(16,12,6,0,9,10) , 即 D DD 到 A , B , C , D , E , F A, B, C,D,E,FA,B,C,D,E,F 六个路由器的跳数 ;

E EE 的向量为 ( 7 , 6 , 3 , 9 , 0 , 4 ) ( 7, 6, 3 , 9 , 0 , 4 )(7,6,3,9,0,4) , 即 E EE 到 A , B , C , D , E , F A, B, C,D,E,FA,B,C,D,E,F 六个路由器的跳数 ;



C CC 到 B BB 再到 其它路由器跳数为 ( 11 , 6 , 14 , 18 , 12 , 8 ) ( 11, 6, 14 , 18 , 12, 8 )(11,6,14,18,12,8)

C CC 到 D DD 再到 其它路由器跳数为 ( 19 , 15 , 9 , 3 , 12 , 13 ) ( 19, 15, 9 , 3 , 12, 13 )(19,15,9,3,12,13)

C CC 到 E EE 再到 其它路由器跳数为 ( 12 , 11 , 8 , 14 , 5 , 9 ) ( 12, 11, 8 , 14 , 5, 9 )(12,11,8,14,5,9)



C CC 到 A AA 最短 跳数 是 11 , 19 , 12 11 , 19, 1211,19,12 中最小值 11 1111 ;

C CC 到 B BB 最短 跳数 是 6 , 15 , 11 6 , 15, 116,15,11 中最小值 6 66 ;

C CC 到 C CC 最短 跳数 是 0 00 ;

C CC 到 D DD 最短 跳数 是 8 , 3 , 14 8 , 3, 148,3,14 中最小值 3 33 ;

C CC 到 E EE 最短 跳数 是 12 , 12 , 5 12 , 12, 512,12,5 中最小值 5 55 ;

C CC 到 F FF 最短 跳数 是 8 , 13 , 9 8 , 13, 98,13,9 中最小值 8 88 ;



C CC 达到所有节点的路径是 ( 11 , 6 , 0 , 3 , 5 , 8 ) ( 11, 6, 0 , 3, 5, 8 )(11,6,0,3,5,8)


目录
相关文章
|
28天前
|
机器学习/深度学习 算法 数据挖掘
基于WOA鲸鱼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB 2022a/2024b实现,采用WOA优化的BiLSTM算法进行序列预测。核心代码包含完整中文注释与操作视频,展示从参数优化到模型训练、预测的全流程。BiLSTM通过前向与后向LSTM结合,有效捕捉序列前后文信息,解决传统RNN梯度消失问题。WOA优化超参数(如学习率、隐藏层神经元数),提升模型性能,避免局部最优解。附有运行效果图预览,最终输出预测值与实际值对比,RMSE评估精度。适合研究时序数据分析与深度学习优化的开发者参考。
|
29天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本内容包含基于BiLSTM与遗传算法(GA)的算法介绍及实现。算法通过MATLAB2022a/2024b运行,核心为优化BiLSTM超参数(如学习率、神经元数量),提升预测性能。LSTM解决传统RNN梯度问题,捕捉长期依赖;BiLSTM双向处理序列,融合前文后文信息,适合全局信息任务。附完整代码(含注释)、操作视频及无水印运行效果预览,适用于股票预测等场景,精度优于单向LSTM。
|
18天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB2022a/2024b开发,结合粒子群优化(PSO)算法与双向长短期记忆网络(BiLSTM),用于优化序列预测任务中的模型参数。核心代码包含详细中文注释及操作视频,涵盖遗传算法优化过程、BiLSTM网络构建、训练及预测分析。通过PSO优化BiLSTM的超参数(如学习率、隐藏层神经元数等),显著提升模型捕捉长期依赖关系和上下文信息的能力,适用于气象、交通流量等场景。附有运行效果图预览,展示适应度值、RMSE变化及预测结果对比,验证方法有效性。
|
18天前
|
机器学习/深度学习 算法
基于遗传优化ELM网络的时间序列预测算法matlab仿真
本项目实现了一种基于遗传算法优化的极限学习机(GA-ELM)网络时间序列预测方法。通过对比传统ELM与GA-ELM,验证了参数优化对非线性时间序列预测精度的提升效果。核心程序利用MATLAB 2022A完成,采用遗传算法全局搜索最优权重与偏置,结合ELM快速训练特性,显著提高模型稳定性与准确性。实验结果展示了GA-ELM在复杂数据中的优越表现,误差明显降低。此方法适用于金融、气象等领域的时间序列预测任务。
|
24天前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。
|
26天前
|
机器学习/深度学习 数据采集 算法
基于GWO灰狼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于Matlab 2022a/2024b实现,结合灰狼优化(GWO)算法与双向长短期记忆网络(BiLSTM),用于序列预测任务。核心代码包含数据预处理、种群初始化、适应度计算及参数优化等步骤,完整版附带中文注释与操作视频。BiLSTM通过前向与后向处理捕捉序列上下文信息,GWO优化其参数以提升预测性能。效果图展示训练过程与预测结果,适用于气象、交通等领域。LSTM结构含输入门、遗忘门与输出门,解决传统RNN梯度问题,而BiLSTM进一步增强上下文理解能力。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本内容包含时间序列预测算法的相关资料,涵盖以下几个方面:1. 算法运行效果预览(无水印);2. 运行环境为Matlab 2022a/2024b;3. 提供部分核心程序,完整版含中文注释及操作视频;4. 理论概述:结合时间卷积神经网络(TCN)与鲸鱼优化算法(WOA),优化TCN超参数以提升非线性时间序列预测性能。通过因果卷积层与残差连接构建TCN模型,并用WOA调整卷积核大小、层数等参数,实现精准预测。适用于金融、气象等领域决策支持。
|
23天前
|
算法 JavaScript 数据安全/隐私保护
基于遗传算法的256QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
本内容展示了基于GA(遗传算法)优化的256QAM概率星座整形(PCS)技术的研究与实现。通过Matlab仿真,分析了优化前后星座图和误码率(BER)的变化。256QAM采用非均匀概率分布(Maxwell-Boltzman分布)降低外圈星座点出现频率,减小平均功率并增加最小欧氏距离,从而提升传输性能。GA算法以BER为适应度函数,搜索最优整形参数v,显著降低误码率。核心程序实现了GA优化过程,包括种群初始化、选择、交叉、变异等步骤,并绘制了优化曲线。此研究有助于提高频谱效率和传输灵活性,适用于不同信道环境。
41 10
|
23天前
|
算法
基于遗传优化算法的带时间窗多车辆路线规划matlab仿真
本程序基于遗传优化算法,实现带时间窗的多车辆路线规划,并通过MATLAB2022A仿真展示结果。输入节点坐标与时间窗信息后,算法输出最优路径规划方案。示例结果包含4条路线,覆盖所有节点并满足时间窗约束。核心代码包括初始化、适应度计算、交叉变异及局部搜索等环节,确保解的质量与可行性。遗传算法通过模拟自然进化过程,逐步优化种群个体,有效解决复杂约束条件下的路径规划问题。
|
24天前
|
算法 JavaScript 数据安全/隐私保护
基于遗传算法的64QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
本内容主要探讨基于遗传算法(GA)优化的64QAM概率星座整形(PCS)技术。通过改变星座点出现的概率分布,使外圈点频率降低,从而减小平均功率、增加最小欧氏距离,提升传输性能。仿真使用Matlab2022a完成,展示了优化前后星座图与误码率对比,验证了整形增益及频谱效率提升效果。理论分析表明,Maxwell-Boltzman分布为最优概率分布,核心程序通过GA搜索最佳整形因子v,以蒙特卡罗方法估计误码率,最终实现低误码率优化目标。
29 1