Internet的路由选择协议(RIP、OSPF)

2023-10-27

有关路由选择协议的几个概念

1、理想的路由算法

路由选择协议的核心就是路由算法,即路由器通过算法来获得路由。

一个理想的路由算法应该具有以下的特点

  • 算法必须是正确和完整的
  • 算法在计算上应简单
  • 算法应能适应通信量和网络拓扑的变化
  • 算法应具有稳定性
  • 算法应是公平的
  • 算法应是最佳的

这里的“最佳”指的是相对于某一种特定要求下得出的较为合理的选择

从路由算法能否适应通信量和网络拓扑的变化来看,可将路由分为

  • 静态路由:由管理员进行配置,路由不随网络拓扑的变化而变化
  • 动态路由:自动学习路由,路由能够适时根据网络拓扑的变化而变化

由于因特网规模较大,不可能要求管理员为因特网上所有的路由器去配置路由。而且因特网上的网络拓扑随时都在变,管理员配置的静态路由也无法去适应网络拓扑的变化。所以,因特网上采用的主要是动态的、分布式路由协议

同时,一些企业部门不希望自己的内部网络被外界知道,所以因特网将整个互联网划分为许多小的自制系统(AS)

AS的定义:在单一的技术管理下的一组路由器。一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。

根据此,可以将路由选择协议划分为两大类

  • 内部网关协议(IGP):在一个自治系统内部使用的路由协议(RIP或者OSPF)
  • 外部网关协议(EGP):在自治系统间进行路由的路由协议,典型的外部网关协议就是BGP,现在使用最多的是BGP-4(BGP协议的4版本)

RIP协议

RIP协议是一种分布式的基于路由矢量的路由选择协议(贝尔曼-福特算法)

这里的“距离”是跳数,即每经过一个路由器,距离加1,RIP协议规定距离最大为16,当距离等于16时,相当于不可达。所以这个也就注定RIP只能适用于小型互联网。

RIP协议的特点

  • 仅和相邻路由器交换信息(相邻说的是直连的路由器)
  • 路由器交换的信息是当前路由器知道的全部信息,即自己的路由表
  • 按规定的时间间隔交换路由信息,周期为30s

OSPF协议

为了克服RIP协议存在的缺点,在1989年开发出了OSPF协议,使用了最短路径算法(Dijkstra算法)。

OSPF协议最主要的特征是使用分布式的链路状态协议

三个要点

  • 所有路由器向本自治系统中的其他所有路由器用洪泛发送信息
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态通告(LSA)

这里的链路状态是指本路由器都和那些路由器相邻,以及该链路的度量(或者称为代价)。这个度量用来表示费用、距离、时延、带宽等,由网络管理人员来决定。

  • 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息

OSPF协议工作过程

  • 发现邻居,建立并维护邻居关系
  • 生成LSA,每台路由器都会生成自己的LSA
  • 泛洪LSA,使用OPSF自身具备可靠传输能力将LSA泛洪到区域中的其它路由器上
  • 将收到的LSA组装成链路状态数据库(LSDB),根据SPF算法计算出到达拓扑中所有网络的最短路径
  • 将计算得出的路由装载到路由表

OSPF协议的优点

  • 收敛速度快
  • 网络扩展性好
  • 环路避免方面性能较好

为了能使OSPF适用于更大规模的网络,OSPF将一个自治系统在划分为若干个区域(area)每个区域有一个32位的区域标识符(用点分十进制表示)一个区域不能太大,在区域进行规划的时候,一般要根据一个区域内路由器的型号,性能,以及负载来进行设计,通常一个区域中的路由器数量为30到100台左右,最好不要超过200台路由器

划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这样就减少了整个网络上的通信量。OSPF采用层次结构的区域划分,分为主干区域和普通区域。

区域在进行规划的时候,一定要注意,所有普通区域必须与骨干区域直接相连。该要求主要是为了OSPF区域间防环。(由于SPF算法本身可以保证OSPF在区域内部无环路,所以区域间防环主要依靠网络设计来解决。因为OSPF在区域间使用类似距离矢量路由协议的路由传递方式,所以不能保证没有环路,如果所有普通区域都直接连接到骨干区域,相当于形成了一个星型拓扑,这在拓扑的设计上避免了区域间环路的可能。

将路由器分成了几类

  • 区域内部路由器:所有的接口都位于同一区域
  • 区域边界路由器(ABR):有不同的接口位于不同的区域且其中一个为骨干区域
  • 自治系统边界路由器(ASBR):进行了重分布操作将其它路由器源学习到的路由引入OSPF的路由器

几类路由器

OSPF协议更新机制

OPSF使用触发更新+增量更新。(OSPF有一个非常缓慢的周期更新)

作为对比,RIP协议使用周期更新+完整更新(RIP也具有触发更新的机制)

  • 触发更新:当拓扑发生变化时,立即发送更新
  • 周期更新:每经过一个时间周期,发送一次更新
  • 增量更新:只发送变化部分的路由信息
  • 完整更新:发送所有路由信息

注:OSPF协议不用UDP而是直接用IP数据报传送

OSPF的一些特点

  • OSPF允许管理员给每条路由指派不同的代价
  • 可以实现多路径负载均衡
  • 所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息
  • OSPF支持可变长度的子网划分和无分类的编制CIDR
  • 由于网络中的链路状态可能随时发生变化,因此OSPF让每一个链路状态都带上一个32位的序号,序号越大状态就越新

OSPF协议的五种分组类型

  • 类型一,Hello分组,用来发现和维持邻站的可达性
  • 类型二,数据库描述(LSDB)分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
  • 类型三,链路状态请求(LSR)分组,向对方请求发送某些链路状态项目的详细信息
  • 类型四,链路状态更新(LSU)分组,用洪泛法对全网更新链路状态,这种分组最复杂,也是OSPF协议最核心的部分
  • 类型五,链路状态确认(LSA)分组,对链路更新分组的确认

注:链路状态数据库的同步指的是不同路由器的链路状态数据库的内容是一样的,两个同步的路由器叫做完全邻接,两个不同的路由器如果物理上相邻,但链路状态数据库不同步,只能说是邻居。

OSPF协议同步数据库的过程:

Created with Raphaël 2.1.0 Router1 Router1 Router2 Router2 Hello Hello 数据库描述 数据库描述 数据库描述 数据库描述(DD) 链路状态请求(LSR) 链路状态更新(LSU) 链路状态确认(LSA)

OSPF对多点对接的局域网采用了指定路由器的方法,使广播的信息量大大减少

  • DR:指定路由器
  • BDR:备份指 定路由器
  • DR和BDR在每个链路上通过选举产生,路由器优先级越大越好,当优先级都相等时,选举Router-ID最大的路由器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Internet的路由选择协议(RIP、OSPF) 的相关文章

随机推荐

  • 日历插件可选择_Obsidian——推荐插件

    Obsidian 推荐插件 工具 Obsidian 官方插件 关系图谱 页面预览 预览模式中 鼠标悬浮于一个内链时 显示小窗预览 编辑模式中 鼠标悬浮于链接上的同时按住 Ctrl Cmd 也会显示预览小窗 快速切换 Ctrl Cmd O 在
  • 开山之作,简单说说什么是"集群(Cluster)"

    一 什么是集群 集群 Cluster 是由两台或多台节点机 服务器 构成的一种松散耦合的计算节点集合 为用户提 供网络服务或应用程序 包括数据库 Web服务和文件服务等 的单一客户视图 同时提供接近容错机的故 障恢复能力 集群系统一般通过两
  • AndroidStudio项目打包成library以及jar包、aar包流程

    引言 一般项目做多了后 码农们都会整理出一系列的工具类来 为了方便在后面项目中使用 打包成library或者jar aar包供项目使用是比较好的方式 1 library方式 library方式是比较简单的方式 一般新建完一个项目的时候 点击
  • mysql意向锁的概念和用途

    锁的粒度 A 表锁 Table Lock 对整个表加锁 影响标准的所有记录 通常用在DDL语句中 如DELETE TABLE ALTER TABLE等 B 行锁 Row Lock 对一行记录加锁 只影响一条记录 通常用在DML语句中 如IN
  • Visio如何插入公式、MathTape安装

    遇到的问题 在写论文过程中发现Visio没有插入公式的选项 而从word中复制过来邮无法识别 经过我在一番百度以后解决了这个问题 首先要求我们的电脑上已经装好WPS或者MathType 我的电脑已经装了office 所以不想再装WPS 所以
  • 课程计划、课程标准、教材三者关系

    课程主要表现为课程计划 课程标准 教材 教科书是其主要部分 课程计划 国家教育主管部门制定的 包括课程设置 学科顺序 课时分配 学年编制和学周安排 课程标准 国家根据课程计划纲要的形式编写的有关某门学科的内容及实施 评价的指导行文件 如 高
  • 使用nginx搭建的各种服务

    一 nginx搭建文件服务器 1 安装nginx bin bash 安装nginx的脚本文件 先按照nginx的依赖 yum y install gcc openssl devel pcre devel gt dev null echo n
  • pytorch入门篇2 玩转tensor(查看、提取、变换)

    上一篇博客讲述了如何根据自己的实际需要在pytorch中创建tensor pytorch入门篇1 创建tensor 这一篇主要来探讨关于tensor的基本数据变换 是pytorch处理数据的基本方法 文章目录 1 tensor数据查看与提取
  • CentOS7 Failed to start LSB: Bring up/down解决方法

    关于这个问题 网上的有各种解决方法 1 类似于https blog csdn net qq 21398167 article details 46694179这篇文章中提到的 修改mac地址 大多数都是这样 2 类似于http blog 5
  • 回归分析结果表格怎么填_回归分析表怎么看懂?

    展开全部 我给你解读一份stata的回归表格吧 应该有标准表格的所有内容了 因为你没有给范62616964757a686964616fe4b893e5b19e31333332643336例 不过我们考试基本就是考stata或者eview的输
  • AD7606调试过程与源码

    公司有一个项目用到了AD7606 控制器用的STM32 使用的模式是并行16位模式 程序刷好之后发现读取的AD数据乱码 结果发现是因为AD7606的接地不对 当然这个问题是我师傅找出来的 查找的过程如下 用示波器看了BUSY线 转换线等各种
  • Python的request库应用

    我是精神抖擞王大鹏 不卑不亢 和蔼可亲 计算机硕士 目前小米大数据开发 日常会分享总结一些自己面试实际问题的回答 欢迎一起讨论 公众号 diting dapeng Requests是一常用的http请求库 它使用python语言编写 可以方
  • matlab 批量读取execl(csv)文件

    一直没时间整理自己写的垃圾代码 如今代码乱的一团糟 今天把matlab读取excel文件拿出来 需要根据数据格式稍作修改就可以用 读取核心的语句莫过这两句 dir csvread 文件下载 read csvdata author enjoy
  • NoSQL和关系型数据库的区别和使用场景

    NoSQL和关系型数据区别 文章目录 NoSQL和关系型数据区别 一 关系型数据库遵循ACID规则 1 A Atomicty 原子性 2 C Consistency 一致性 3 I Isolation 独立性 4 D Durability
  • Linux笔记

    命令 提供一定功能的工具 ssh 提供远程登录功能 参数 命令的作用对象 193 3 3 3 远程登录的作用主机 选项 命令作用的方式 p 22 通过22端口登录到主机 电脑 外壳shell 内核 输入输出设备 用户 提供意愿 转化为命令与
  • nestjs:Cannot read property ‘retryAttempts‘ of undefined

    描述 Cannot read property retryAttempts of undefined 解决 检查数据库的配置是否有问题
  • 日期格式化方法

    时间格式化 有时候我们会用到时间的展示 时间的展示种类也是各种各样 对于不用的产品需要不同的样式 这时候就需要我们做一下时间的格式化处理 下面是一种常见的日期显示方式 代码如下 格式化时间 param String date 原始时间格式
  • 23种设计模式(七) —— 手写实现 Builder 模式 (组装复杂实例)

    文章目录 一 Builder 模式 二 示例 2 1 示例实现功能 2 2 具体实现 2 3 运行结果 三 Builder 模式中登场的角色 四 原文链接 Author Gorit Date 2021 10 24 2021年发表博文 22
  • 你还不知道的简历准备及面试技巧

    最近已经不止听到一位朋友吐槽工作不好找了 一波又一波的裁员潮 ChatGPT 等人工智能工具的爆火 1158 万的应届毕业生 都让今年 IT 行业的就业状况雪上加霜 面对愈加激烈的求职竞争 作为程序员 应该掌握哪些面试技巧 本文邀请了 2
  • Internet的路由选择协议(RIP、OSPF)

    有关路由选择协议的几个概念 1 理想的路由算法 路由选择协议的核心就是路由算法 即路由器通过算法来获得路由 一个理想的路由算法应该具有以下的特点 算法必须是正确和完整的 算法在计算上应简单 算法应能适应通信量和网络拓扑的变化 算法应具有稳定