Internet动态路由选择—RIP与OSPF

news2024/11/28 20:12:44

刚做完网络层动态路由选择的实验,写下此篇记录实验过程,巩固学习成果。

参考书目:《计算机网络》北京理工大学出版社-刘阳老师编


路由选择可分为两种策略:

- 静态路由选择策略

- 动态路由选择策略

        静态路由即管理员手动配置路由信息,在网络拓扑结构发生变化时,需要网络管理员或者用户手动修改路由信息。此种路由策略简单、开销小,对于机器负担小,适用于小型、结构较为固定的网络。

        动态路由也叫做自适应路由选择,该种策略的路由信息由路由器内部某些算法根据网络状况计算得到,当网络拓扑结构发生改变时,算法会自动更新路由信息,而无需人为调整。由于需要频繁运行算法并监测网络状况,该种策略对机器开销较大。

        本文将会简单介绍动态路由选择策略中的两种内部网关协议:RIP(路由信息协议,Routing Infor Protocol)、OSPF(开放最短通路优先协议,Open Shortest Path First)。

一、路由信息协议 RIP

(一)RIP工作内容

        RIP通过距离向量算法来动态选择路由,其评价路由好坏的标准为距离的大小:路由器将与它直接连接的设备的距离定义为 1,非直连网络的距离则是路径上路由器的数量加 1,距离值越小,则认为路由越优。

        RIP协议规定一条路径中最大距离不超过 15,当距离为 16 时,说明该网络不可达。

        RIP仅与相邻路由器交换路由信息,交换内容为本路由器路由表中的所有内容。RIP规定相邻路由器之间每隔 30 秒就应当进行一次数据分享,当收到来自邻居的路由表时,路由器将会采用距离向量算法更新自己的路由表

(二)距离向量算法
1. 算法描述

        在接收到邻居路由器R传来的路由表信息后,针对其中的每一条路由,算法按如下步骤处理:

  1. 将路由下一条地址改为路由器 R
  2. 将跳数(距离)加 1
  3. 若路由表中不存在该路由,则直接添加到路由表中
    若存在该路由,且下一条地址相同,则用该路由替换旧路由信息
    若该路由跳数小于已存在的,则替换旧路由

        当 3 分钟内没有收到相邻路由器的路由表信息时,将该路由器标记为不可达(16 跳)

2. 缺陷

        采用距离向量算法会产生“慢收敛”现象,当某个网络出现故障时(如下图所示),与其相邻的路由器 R1 将把该网络标记为不可达(距离设为16),假若 R2 路由更新提前于 R1,R2中传来的通往故障网络的路由将会取代 R1 中原本被标记为不可达的路由(算法第3步第3条),在经过很长时间,路由跳数才慢慢抵达 16 跳。

3. 改进办法

        ①传递路由时,不将该路由从接受此信息的端口送出。②当得知路由不可达的 60 s内,不再接收关于该网络可达的信息。同时立刻向邻居广播此信息。

(三)在ENSP中调试RIP

在ENSP中新建如下拓扑

为路由器各个端口配置IP地址

【R1】
system
sysname R1
interface g0/0/0
ip address 12.0.0.1 30
quit
interface LoopBack 0
ip address 1.1.1.1 32
quit

【R2】
system
sysname R2
interface g0/0/0
ip address 12.0.0.2 30
quit
interface g0/0/1
ip address 23.0.0.2 30
quit
interface LoopBack 0
ip address 2.2.2.2 32
quit

【R3】
system
sysname R3
interface LoopBack 0
ip address 3.3.3.3 32
quit
interface g0/0/0
ip address 23.0.0.1 30
quit

IP地址配置完成后,进行连通性测试:

ping 12.0.0.2
ping 23.0.0.1

 

可以发现,直连网络可以成功ping通,而非直连网络无法ping通

接下来为三个路由器配置RIP协议

【R1】
interface g0/0/0
rip version 2
quit
rip
version 2
network 1.0.0.0 // 配置直连地址
network 12.0.0.0
undo summary // 取消路由聚合
quit


【R2】
inter g0/0/0
rip version 2
quit
inter g0/0/1
rip version 2
quit
rip
version 2
net 2.0.0.0
net 12.0.0.0
net 23.0.0.0
undo summary
quit


【R3】
inter g0/0/0
rip version 2
quit
rip
version 2
net 3.0.0.0
net 23.0.0.0
undo summary
quit

 配置完成后,测试网络连通性

Ping 23.0.0.1

 

        通过连通性测试发现,在没有手动配置路由表的情况下,两个网络之间可以相互通讯,说明路由器通过运行RIP协议,相邻路由器之间共享路由表的方式获得了包含了所有网络的路由表。

查看R1路由表

display ip routing-table

从中也可以发现由RIP产生的路由信息。

二、开放最短通路优先 OSPF

(一)OSPF工作内容

        OSPF的路由选择算法是基于Dijkstra提出的最短路径算法,该算法通过多个度量值评价路由的好坏:距离、延时、带宽等。仅在链路状态发生改变时,OSPF协议向本自治系统中所有路由发送信息(泛洪法),发送的是与本路由器相邻的所有路由器的链路状态(注意与RIP不同,OSPF不会直接发送自己的所有信息,而是只发送一个概览)。除此之外,OSPF也会定期交换信息(周期较长)。

        OSPF协议根据路由器之间信息,会总结出一个包含了网络拓扑图的链路状态数据库。

(二)OSPF区域

        为适应大规模网络路由,将自治系统进一步划分为更小的区域,每个区域有一个32位的标识符(点分十进制表示)。区域分为两级:一个主干区域和多个其他区域,主干区域标识符固定为0.0.0.0,每个区域至少有一个路由器连接到主干区域。

(三)在NESP中调试OSPF

在ensp中建立如下拓扑:

为各个接口分配并配置IP地址,并划分为三个区域:黄色—area1、蓝色(主干区域)—area0、青色—area2

AR1:
ospf 1 r 1.1.1.1
area 1
network 10.1.12.0 0.0.0.255 // 注意这里子网掩码要使用反码

AR2:
un in en
ospf 1 r 2.2.2.2
area 1
network 10.1.12.0 0.0.0.255
area 0
network 10.1.23.0 0.0.0.255


AR3:
un in en
ospf 1 r 3.3.3.3
area 0
network 10.1.23.0 0.0.0.255
area 2
network 10.1.34.0 0.0.0.255

AR4:
un in en
ospf 1 r 4.4.4.4
a 2
n 10.1.34.0 0.0.0.255

 测试网络连通性

(忘记截图了,略过)

使用OSPF相关命令,可以帮助我们查看OSPF是怎样工作的

display ospf peer                            //查看OSPF邻居的信息
display ospf interface                       //查看OSPF接口的信息
display ip routing-table protocol ospf       //查看路由器上的OSPF路由表
display ospf lsdb                            //查看链路状态数据库

用上面的命令查看一下路由器R2

ospf接口信息:

邻居信息:

 接口状态数据库:

路由表

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

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

相关文章

Python3 笔记:IDLE的几个基本设置

1、设置字体: Options > Configure IDLE > Fonts 2、设置文字颜色(设置高亮): Options > Configure IDLE > Highlights 3、设置背景颜色: Options > Configure IDLE > Highlights 4、设置窗口&a…

Centos7环境下MySQL5.7.38 安装开源审计插件 mysql-audit

MySQL安装开源审计插件 mysql-audit MySQL 5.7.38安装审计插件 mysql-audit安装MySQL1.查看Linux服务器版本和glibc版本2.根据自己的系统下载对应的MySQL版本,由于mysql-audit并不支持所有版本的MySQL,所以在确定MySQL版本之前请注意下插件支持的MySQL版…

hcip—VLAN实验

目录 实验拓扑: 实验目的: 实验思路: 实验步骤: 1.创建VLAN 2.将接口放进相应VLAN当中,并配置接口类型(hybrid口配置撕tag表) 3.配置路由器接口 4.配置DHCP服务 pc1 ping pc4的过程分析…

在Spring Boot项目中通过自定义注解实现多数据源以及主备数据库切换

在现代的企业应用开发中,使用多数据源是一个常见的需求。尤其在关键应用中,设置主备数据库可以提高系统的可靠性和可用性。在这篇博客中,我将展示如何在Spring Boot项目中通过自定义注解实现多数据源以及主备数据库切换。 在此说明&#xff…

VSCODE gcc运行多个.c文件

一、简介 很多时候,开发者需要使用VSCODE进行C语言算法验证。而VSCODE的gcc编译,默认是只编译本文件的内容,其他.c文件是不参与编译的。这就给开发者带来很大的困扰,因为开发者不可能把所有的算法都写在一个.c文件,特别…

arXiv AI 综述列表(2024.05.20~2024.05.24)

公众号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 每周末更新,完整版进群获取。 Q 群在群文件,VX 群每周末更新。 目录 1. Beyond Traditional Single Object Tracking: A …

在洁净实验室设计装修中怎么选择合适实验室家具?

在现代科学研究和技术开发中,洁净实验室装修设计成为了确保实验准确性和安全性的重要因素。洁净实验室需要提供一个无尘、无菌、受控的环境,而在洁净实验室装修设计这个过程中,如何选择合适的实验室家具就显得尤为重要,因为它直接…

【NumPy】NumPy实战入门:索引与切片(sort、argsort、searchsorted)详解

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

【静态分析】在springboot使用太阿(Tai-e)03

参考:使用太阿(Tai-e)进行静态代码安全分析(spring-boot篇三) - 先知社区 1. JavaApi 提取 1.1 分析 预期是提取controller提供的对外API,例如下图中的/sqli/jdbc/vuln 先看一下如何用tai-e去获取router…

AI+BI?国内期待值最高的4款智能问答类BI产品测评

AI大模型的这股风终是吹到了数据分析圈。与传统BI相比,问答BI进一步降低了数据获取门槛,通过对话的方式就可以访问数据并得出相应结论,更方便业务人员快速上手分析数据! 问答BI(Q&A BI)在数据分析领域…

平板如何实现无纸化会议

为了实现高效的无纸化会议,连通宝可以是在内部网络部署,那么,平板如何实现无纸化会议? 1. 服务器配置: 部署专用无纸化会议系统服务器(如rhub无纸化会议服务器)至组织的内部网络中。确保该服务…

18.SpringCloud Gateway

简介 SpringCloud Gateway是spingcloud家族的产品,使用netty实现的高性能服务网关,用于替换netflix公司的zuul网关实现。 参考地址: https://spring.io/projects/spring-cloud 术语 工作原理 Route Predicate Factories GatewayFilte…

LeetCode刷题之HOT100之多数元素

2024/5/21 起床走到阳台,外面绵柔细雨,手探出去,似乎感受不到。刚到实验室,窗外声音放大,雨大了。昨天的两题任务中断了,由于下雨加晚上有课。这样似乎也好,不让我有一种被强迫的感觉&#xff0…

张量 t-product 积(matlab代码)

参考文献:Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm 首先是文章2.3节中 t-product 的定义: 块循环矩阵: 参考知乎博主的例子及代码:(t-product与t-QR分解,另一篇傅里叶对…

Springboot 多环境切换 方法

准备工作 假设系统中有以下几个yml文件: application.ymlapplication-dev.ymlapplication-prode.ymlapplication-test.yml 方法一:在Active Profiles:输入dev 启动效果: 方法二:在Environment variables: 输入spring.profile…

外汇天眼:风险预警!以下平台监管牌照被撤销!

监管信息早知道!外汇天眼将每周定期公布监管牌照状态发生变化的交易商,以供投资者参考,规避投资风险。如果平台天眼评分过高,建议投资者谨慎选择,因为在外汇天眼评分高不代表平台没问题! 以下是监管牌照发生…

【简单介绍下7-Zip,什么是7-Zip?】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

ThingsBoard如何拆分前后端分离启动

后端启动 前端启动 注意事项 ThingsBoard是一个开源的物联网平台,它原本的设计就考虑到了现代Web应用的前后端分离架构。尽管其核心是一个后端服务,负责设备连接、数据处理和存储等,但其用户界面是作为单独的前端应用程序实现的&#xff0c…

8srping循环依赖

循环依赖 1.由同事抛的一个问题开始 最近项目组的一个同事遇到了一个问题,问我的意见,一下子引起的我的兴趣,因为这个问题我也是第一次遇到。平时自认为对spring循环依赖问题还是比较了解的,直到遇到这个和后面的几个问题后&…

超大Sql文件切分工具SQLDumpSplitter —— 筑梦之路

官网:PLB PLB - SQLSplitter 用于将大型MySQL转储拆分为可独立执行的小型SQL文件。 显示100%时并不是已经处理完了,而是才开始 优点 软件程序小巧,不需要安装,直接点击运行就可以最厉害的是SQLDumpSplitter可以自动将结构语句&…