计算机网络路由协议之内部网关协议RIP例题与详解

互联网的路由选择协议

94fba286ea8f4e54888fd660602b7eb5.jpg

 

路由器转发表的路由协议如何得出呢?

使用路由算法进行,路由算法可以分为两类:

静态路由选择策略和动态路由选择策略。

静态路由选择策略:

非自适应路由选择,人工配置每一条路由。

动态路由选择策略:自适应路由,但配置比较复杂。

互联网使用的路由协议主要是动态的,分布式的路由选择协议。

将互联网划分为多个自治系统AS(autononmous system),之所以是因为有两方面的原因:(1)互联网过于庞大,如果让所有路由器彼此交换信息,过于复杂。

(2)有些信息比较隐私或秘密,只希望在小范围网络传播。

70dc5e4e535e40319e6440bc664b6f2f.jpg

 

因此将路由选择协议划分为两大类:

(1)IGP(interior gateway protocol)内部网关协议,使用最多的是RIP和OSPF协议。

(2)EGP(external gateway protocol)外部网关协议

使用最多的是BGP-4;

自治系统内部使用内部网关协议,自治系统之间使用外部网关协议。

(1)内部网关协议RIP(routing information protocol),即路由信息协议,

【工作原理】

每个路由器维护本身到目的网络的距离,每经过一个路由器距离加一(经过相邻的不同网络要一个路由器转发),路由器与直接相连的网络距离也是1.一条路径最多能包含15个网络 ,当距离为16时候表示网络不可达。经过距离数也叫跳数。

工作特点:

只和相邻路由器交换信息:

交换的信息是路由器本身已知的信息,即自己的路由表,路由信息包含目的网络,到本内部自治系统的目的网络距离以及下一跳的路由器。

按固定时间交换信息:

主机也运行RIP协议,但其只能被动接收信息,而不能发出路由信息。(发出是路由表特定功能)

d65cb4b59fcf47abaa8ccdb3b54c2d7f.jpg

 

每个路由器刚刚运行时候,路由表为空,那么它设置本身与直接相连的网络的距离为1,然后与相邻路由器交换路由信息, 经过若干次交换,最终每个路由器路由表都得到了更新。

下面介绍具体更新算法,大家不要着急,讲的会比较详细:

(1)对地址为x的路由器发来的信息,先修改,具体做法是将距离字段都加一,然后将下一跳的路由器字段都改为x,这个很好理解,下一跳字段改为相邻路由器x的地址,自身作为中转,加的一就是本路由器与x的距离,

69797052b8984006962f1ccf2cb319ea.png

(2)逐个比较自身路由表每条信息与收到的信息,决定是否更新,这里有好几种情况;

(2).1消息的目的网络和路由表中的目的网络不相同,此时表明是一个新的网络,直接添加即可。

(2).2如果相同,再比较消息的下一跳路由器与路由表的下一条路由器,如果相同,那么直接将其替换路由表的消息,因为这是最新消息,网络有时会状态发生变化,因此以最新的为标准。

(2).3 如果消息的下一跳路由器与路由表的下一条路由器不相同,那么此时接着比较距离,如果消息的距离字段比路由表的距离字段小,那么替换路由表信息,因为选择最短距离为方案发送。

(2).4如果相同或者更大,那么不进行处理,否则没有意义。

(3)如果三分钟还没有收到相邻路由器更新信息,则为不可达,距离字段为16;

例题:

路由器F的路由表如下,现在收到了相邻路由器D转发的信息:

429d4dd9045c4486b8309ddd25ed6f20.png

先进行(1),将 其修改如下;

4b34222e75ff426ca12cfde9818d88b1.png

选择路由信息的第一条,目的网络在路由表不存在,直接添加即可。对应(2).1;

选择路由信息第二条“N2 5 D”,与路由表“N2 3 D”比对时候,发现目的网络相同,下一跳路由器也相同,距离更大,则更新,以最新消息为主,对应(2).2;

选择路由信息第三条:“N3 2 D”与路由表信息“N3 4 E”比较发现,目的网络相同,下一跳路由器不相同,距离更小,发现了更近路径,那么更新。对应规则(2).3;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lombok,一款超级强大的Java工具库

在软件开发过程中,繁琐的模板代码经常让开发者感到烦恼。 Lombok 是一款 Java 库,能够帮助开发者减少这些冗余代码,提高开发效率。本文将介绍 Lombok 的基本概念、安装和配置方法,以及如何在实际项目中使用它。 Lombok 是什么 L…

图解 Transformer

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

数据赋能(101)——概念:数据治理、数据管理

此文为本人学习与提高能力的笔记。 数据治理与数据管理这两个术语,尽管在数据管理的领域中经常相伴出现,且在某些情境下可能被视为具有相似的语义范畴,但为了确保术语使用的精准度和专业性,我们必须对它们有更为深入的认知。我们…

已解决java.lang.annotation.AnnotationFormatError: 注解格式错误的正确解决方法,亲测有效!!!

已解决java.lang.annotation.AnnotationFormatError: 注解格式错误的正确解决方法,亲测有效!!! 目录 问题分析 报错原因 解决思路 解决方法 检查注解定义 检查注解的使用 确认依赖版本和兼容性 检查默认值和实际值 检查编…

安装ROS 2 Jazzy Jalisco

参考: https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html 先要安装一个ubuntu,对老旧硬件最友好的版本Lubuntu: 安装Lubuntu24.04-CSDN博客 过程: 按文档一步步走下去: 遇到问题查找通用案…

鸿蒙ArkTS声明式开发:跨平台支持列表【按键事件】

按键事件 按键事件指组件与键盘、遥控器等按键设备交互时触发的事件,适用于所有可获焦组件,例如Button。对于Text,Image等默认不可获焦的组件,可以设置focusable属性为true后使用按键事件。 说明: 开发前请熟悉鸿蒙开…

(十二)统计学基础练习题六(选择题T251-300)

本文整理了统计学基础知识相关的练习题,共50道,适用于想巩固统计学基础或备考的同学。来源:如荷学数据科学题库(技术专项-统计学二)。序号之前的题请看往期文章。 251) 252) 253) 2…

基于SpringBoot设计模式之结构型设计模式·适配器模式

文章目录 介绍开始使用委托的适配器(媒体播放器)架构图定义被适配者定义需求接口定义适配者 使用继承的适配器(手机充电接口)架构图定义被适配者定义需求接口定义适配者 测试样例 总结优点缺点 介绍 在程序世界中,经常…

Flutter 中的 Center 小部件:全面指南

Flutter 中的 Center 小部件:全面指南 在Flutter的世界里,Center是一个简单而强大的布局小部件,它能够将子组件放置在父组件的中心位置。无论是水平中心、垂直中心,还是两者都居中,Center都能轻松实现。本文将详细介绍…

Linux shell编程学习笔记50:who命令

0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。比如,我们可以使用who命令来收集当前已登陆系统的用户信息,当前运行级别等信息。 1. who命令 的功能、格式和选项…

对未知程序所创建的带有折叠书签的 PDF 文件书签层级全展开导致丢失的一种解决方法

对需要经常查阅、或连续长时间阅读的带有折叠书签的 PDF 文档展开书签层级,提高阅览导航快捷是非常有必要的。 下面是两种常用书签层级全展开的方法 1、 FreePic2Pdf 1 - 2 - 3 - 4 - 5 - 6,先提取后回挂 2、PdgCntEditor 载入后,直接保存…

异常(Java.lang.Throwable)

说明:代表程序出现的问题。 异常的体系: (一)Error 说明:代表的系统级别错误(属于严重问题),也就是说系统一旦出现问题,sun公司会把这些问题封装成Error对象给出来,Error是给sun公…

本地缓存之Guava Cache

概述 缓存的目的就是减少数据库DB端负载提高访问速度,最终提升系统性能缓存种类 分布式缓存: Redis、Memcached本地/进程缓存(JVM中堆内存):Ehcache、Guava Cache、Caffeine Guava Guava是Google开源的Java类库,提供了一组核心库,目的是帮助…

已解决java.lang.ExceptionInInitializerError: 初始化程序中的异常错误的正确解决方法,亲测有效!!!

已解决java.lang.ExceptionInInitializerError: 初始化程序中的异常错误的正确解决方法,亲测有效!!! 目录 问题分析 报错原因 解决思路 解决方法 分析错误栈信息 检查静态初始化块和静态变量 验证资源和配置 使用日志记录…

统计建模选题推荐

统计建模选题推荐 统计建模作为数据分析领域的重要工具,其在多个领域中都有着广泛的应用。选择一个合适的统计建模选题对于研究者而言至关重要,它不仅能够展示研究者的专业素养和技能水平,还能够为实际问题的解决提供有力的支持。以下是一些…

Python 应用打包成 APK【全流程】

将 Python 应用打包成 APK。 文章目录 步骤 1: 安装 Buildozer 和其依赖Linux (Ubuntu) 环境下安装: 步骤 2: 创建你的 Python 应用步骤 3: 配置 Buildozer步骤 4: 打包成 APK总结 步骤 1: 安装 Buildozer 和其依赖 首先确保你的系统中已安装 Python 和 pip。接下来&#xff…

C-数据结构-平横二叉树

平衡二叉树(Balanced Binary Tree)是一种二叉树,其中任意节点的两棵子树的高度差不超过 1。也可以说是一棵空树或者左右子树高度差不超过 1 的二叉树。 特点和性质 高度平衡:平衡二叉树是一种高度平衡的二叉树,任意节…

教育学口诀解析

1) 卢梭爱自然,爱是《爱弥儿》,自然就是自然主义教育。夸美纽斯是教育遵循自然。 夸大自然拌饭,和 卢梭爱自然 2) 陶行知的教育思想——两S一教,S是社会和生活首字的第一个字母。 陶行知的教育思想是结合了当时中国…

【量算分析工具-坡度】GeoServer改造Springboot番外系列七

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…

字符串表达式可被解析包含加减乘除取模和次幂运算的数学表达式

实现一个简单的表达式求值器&#xff0c;可以解析包含加减乘除取模和次幂运算的数学表达式&#xff0c;并计算出最终结果。通过递归解析表达式中的数字和运算符&#xff0c;并按照运算符的优先级进行计算&#xff0c;最终输出表达式的计算结果。 #include <stdio.h> #in…