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

news2024/11/18 9:31:13

互联网的路由选择协议

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.coloradmin.cn/o/1704407.html

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

相关文章

The First项目报告:解读去中心化衍生品交易所AVEO

2023 年12月8日凌晨,Solana 生态 MEV 基础设施开发商 Jito Labs 开放了 JTO 空投申领窗口,JTO 的价格在开盘短暂震荡后迅速攀高,一度触及 4.94 美元。 JTO 是加密社区这两日关注的热门标的,而在这场讨论中,除 Solana …

【JUC编程】-多线程和CompletableFuture的使用

多线程编程 文章目录 多线程编程[toc]引言创建多线程的方式继承Thread类实现Runnable接口实现Callable接口Callable和Runnable的区别 Lambda表达式 线程的实现原理Future&FutureTask具体使用submit方法Future到FutureTask类Future注意事项局限性 CompletionService引言使用…

损失函数篇 | YOLOv8更换损失函数之Inner-IoU | 通过辅助边界框计算IoU损失

前言:Hello大家好,我是小哥谈。损失函数是机器学习中用来衡量模型预测值与真实值之间差异的函数。在训练模型时,我们希望通过不断调整模型参数,使得损失函数的值最小化,从而使得模型的预测值更加接近真实值。为弥补现有IoU损失函数在不同的检测任务中的泛化能力较弱且收敛…

C++ 虚函数和纯虚函数

虚函数 #include <iostream> using namespace std; class Vehicle //交通工具 { public:void run() const{cout << "run a vehicle. " << endl;} }; class Car : public Vehicle //汽车 { public:void run() const{cout << "run a c…

项目文章 |NC揭示真菌中A-to-I mRNA编辑机制及其调控和演化

A-to-I mRNA编辑是一种重要的基因表达调控方式&#xff0c;它通过将mRNA中的腺苷(A)转变为肌苷(I)&#xff0c;从而可能改变蛋白质的编码信息。在动物中&#xff0c;这一过程由ADAR家族酶介导&#xff0c;然而在真菌中&#xff0c;由于缺乏ADARs的同源物&#xff0c;其背后的机…

如何使用Spring Cache优化后端接口?

Spring Cache是Spring框架提供的一种缓存抽象,它可以很方便地集成到应用程序中,用于提高接口的性能和响应速度。使用Spring Cache可以避免重复执行耗时的方法,并且还可以提供一个统一的缓存管理机制,简化缓存的配置和管理。 本文将详细介绍如何使用Spring Cache来优化接口,…

YOLOv8+PyQt5车辆类型检测系统完整资源集合(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

资源包含可视化的车辆类型检测系统&#xff0c;基于最新的YOLOv8训练的车辆类型检测模型&#xff0c;和基于PyQt5制作的可视化车辆类型检测系统&#xff0c;包含登陆页面、注册页面和检测页面&#xff0c;该系统可自动检测和识别图片或视频当中出现的21种车辆类型&#xff0c;包…

三维大场景管理-3Dtiles规范

简介 &#xff1a; 这篇文章都是三年前写的了&#xff0c;一直在笔记库存中&#xff0c;今天把他放出来。主要是讲Cesium 的3Dtiles 格式&#xff0c;当然3Dtiles主要是解决场景管理大场景的LOD实现的问题&#xff0c;不管是剔除渲染性能优化之Culling 剔除或者 LOD 、3Dtiles…

授权调用: 介绍 Transformers 智能体 2.0

简要概述 我们推出了 Transformers 智能体 2.0&#xff01; ⇒ &#x1f381; 在现有智能体类型的基础上&#xff0c;我们新增了两种能够 根据历史观察解决复杂任务的智能体。 ⇒ &#x1f4a1; 我们致力于让代码 清晰、模块化&#xff0c;并确保最终提示和工具等通用属性透明化…

MySQL导入SQL脚本---超详细介绍

1.新建xxx数据库&#xff0c;字符集选对。 2.在mysql安装目录下cmd进入小黑窗 3.执行mysql -uroot -p123456 --default-character-setutf8命令 4.use xxx; 5.source xxx.sql 执行完上面的命令等待结束就可以了 需要注意的是--default-character-setutf8&#xff0c;要不然可…

LeetCode994腐烂的橘子

题目描述 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a;值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。返回 直到单元格中没…

echarts学习篇

一、使用echarts 1.引入 Apache ECharts <!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <!-- 引入刚刚下载的 ECharts 文件 --> <script src"echarts.js"></script> </head> </html> 2.…

同元软控专业模型库系列—电气篇

一、引言 电气作为研究电能产生、传输、分配、使用和控制的专业领域&#xff0c;在航空航天、能源电力、船舶推进、轨道交通等众多行业中占据着举足轻重的地位&#xff0c;应用范围涉及电力工程、电子通信、自动化控制等&#xff0c;如电池充电管理芯片设计、航天器伺服系统、…

Cocos Creator 安卓环境配置

系统&#xff1a;Win10&#xff0c;引擎版本&#xff1a;CocosCreator3.8.2&#xff0c; 时间&#xff1a;2024.05.23 安装 Java SDK(JDK)下载地址 注意&#xff1a;Java版本对应的Gradle: 详见表 Table 1. Java Compatibility 此处选择 Java 21 对应 Gradle 8.5 配置Java系统…

Hack The Box-BoardLight

总体思路 子域名收集->默认密码->信息泄露->CVE-2022-37706 信息收集&端口利用 nmap -sSVC boardlight.htb发现22和80端口开放&#xff0c;先看80端口网站信息 四处查看后&#xff0c;发现没有有效信息&#xff0c;对其进行目录扫描和子域名扫描 dirsearch -u…

SQL 语言:基本概述和数据定义

文章目录 1. 数据库语言2. SQL 概述2.1 SQL 的特点2.2 SQL 语言支持三级模式结构2.3 SQL 的基本组成 3. 数据定义3.1 数据类型3.2 创建表3.3 修改和删除表3.4 创建和删除索引3.5 创建和删除视图 1. 数据库语言 数据结构化语言 (Structured Query Language&#xff0c;SQL)&…

python数据分析——apply 2

参考资料&#xff1a;活用pandas库 1、向量化函数 使用apply时&#xff0c;可以按行或按列应用函数。如果想应用自定义的函数&#xff0c;必须重写它&#xff0c;因为整列或整行传递到了函数的第一个参数中。可以利用向量化函数和装饰器对所有函数进行向量化。对代码进行向量化…

[数智人文实战] 02.舆情分析之词云可视化、文本聚类和LDA主题模型文本挖掘

【数智人文与文本挖掘】知识星球建立且正式运营,欢迎新老博友和朋友加入,一起分享更多数智人文知识和交流进步。该星球计划每周至少分享7个资源或文章,包括数智人文、文本挖掘、人工智能、大数据分析和图书情报的技术文章、代码及资源。同时,欢迎进入星球的朋友咨询我图情和…

技术面‍:前端代码是如何与服务器交互的

前言&#xff1a; 本篇文章主要是想讲解 .html 文件和 .CSS 文件在实际开发中和后端服务器交互最后上线的基础原理。 面向的人群&#x1f195;&#xff1a;是刚入行不久&#xff0c;且目前只会写前端业务代码而不清楚整个工作流的前端新人。我会从 0 开始一步一步带你理解整个…

内网安全--隧道技术-CS上线本地

免责声明:本文仅做技术交流与学习...请勿非法搞破坏... ---隧道技术:硬刚网络协议,(你不让我走我偏走!) 解决不出网协议上线的问题&#xff08;利用出网协议进行封装出网&#xff09; 代理协议&#xff1a; SOCKS4/5 代理软件&#xff1a; SocksCap Proxifier ProxyChains(…