当前位置: 首页 > news >正文

OSPF基础(1):工作过程、状态机、更新

OSPF基础

1、技术背景(与RIP密不可分,因为RIP中存在的问题)

  • RIP中存在最大跳数为15的限制,不能适应大规模组网
  • 周期性发送全部路由信息,占用大量的带宽资源
  • 以路由收敛速度慢
  • 以跳数作为度量值
  • 存在路由环路可能性
  • 每隔30秒更新

2、OSPF协议特点

  • 没有跳数限制,适合大规模组网
  • 使用组播更新变化的路由和网络信息
  • 路由收敛快
  • 以COST作为度量值
  • 采用SPF算法有效避免环路
  • 每隔30分钟更新
  • 在互联网上大量使用,是运用最广泛的路由协议

注意:OSPF传递的是拓扑信息和路由信息,RIP传递的是路由表

3、OSPF三张表

邻居表:记录邻居状态和关系

拓扑表:链路状态数据库(LSDB)

路由表:记录由SPF算法计算的路由,存放在OSPF路由表中

4、OSPF数据包(可抓包)

(1)hello:hello包携带自己的router ID、被发现的邻居标识,用来周期保活的,发现,建立邻居关系。

(2)DBD(数据库描述报文):仅包含LSA摘要

(3)LSR:请求自己没有的或则比自己更新的链路状态详细信息

(4)LSU:链路状态更新信息

(5)LSAck:对LSU的确认

因为OSPF数据包内容过长,博主将其单开了一篇博客,想要详细了解的请移步OSPF数据包

5、OSPF工作过程

  • 邻居:双方通过hello报文,相互认识
  • 邻接:邻居关系建立好后,进行一系列报文交互,当两台路由器LSDB同步完成,开始独立计算路由时,这两台路由器形成了邻接关系

(1)确认可达性,建立邻居

router ID :标明的是路由器身份

手工配置:IPV4地址格式

自动选举:

环回口:IP地址大的优先

物理口:IP地址大的优先

2-way前,确认DR/BDR

选举原因:广播网络中使路由信息交换更加高速有序,可以降低需要维护的邻接关系数量

  • 选举范围:每个网段都需要选出一个DR和BDR(0-255)
  • 选举规则:1.优先级大的优先,默认优先级是1;2.router-id大的优先

DR/BDR的选举没有抢占性

关系状态:DRother与DR建立邻接关系;

                  DRother与BDR建立邻接关系;

                  DR /BDR建立邻接关系;

                  DRother之间保持邻居关系

(2)摘要同步,开始建立邻接关系

  1. 向邻接路由器发送DBD报文,通告本地LSDB中所有LSA的摘要信息
  2. 收到DBD报文后,与本地LSDB对比,向对方发送LSR报文,请求发送本地所需要的LSA的完整信息
  3. 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
  4. 收到LSU后,向对方回复LSAck报文,进行确认

邻接建立过程:

(3)完整信息同步,完全邻接关系建立

完全邻接关系建立,LSDB表与路由表形成

6、OSPF的状态机

(1)down:关闭状态(稳定状态),这种情况处于手动指定邻居的情况下,发送hello包之后进入下一个状态

(2)INIT:初始化状态,收到对方的hello报文,但没有收到对方的hello确认报文

(3)Attempt:一般不会出现,只出现在NBMA网络中,发出hello,但收不到对方的hello包

(4)2-way(稳定状态):双方互相发现,邻居状态稳定,并确认了DR/BDR的角色;

当选举完毕后,就算出现一台优先级更高的路由器,也不会替换成新的DR\BDR;

需要原DR\BDR失效,或重置OSPF进程才会成为新的DR\BDR;

<R1>reset ospf process

2-way的前提:

  • Router-id无冲突,修改router-id需要重置ospf进程使生效;
  • 掩码长度一致(MA网络中);
  • 区域ID一致;
  • 验证密码一致;
  • hello-time一致;
  • dead-time一致;
  • 特殊区域类型一致;

(5)Exstart:交换开始状态;发送第一个DD报文,但不发送LSA摘要,仅用于确定LSDB协商的主从,ROUTER-ID大的成为master

(6)Exchange:交换状态;发送后续DD报文,用于通告LSDB摘要

(7)Loading:读取状态,进行LSA的请求(LSR)、加入(LSU)和确认(LSACK)

(8)Full:邻接状态(稳定状态),两端同步LSDB;

              FULL的前提:两端MTU一致,否则可能卡在EXSTART\Exchange状态

              能够计算路由的前提:两端网络类型一致,否则邻居状态full,但无法学习路由

7、LSDB的更新(了解)

注:广播网络中的更新:只由DR发起

http://www.lryc.cn/news/532545.html

相关文章:

  • 工业相机如何获得更好的图像色彩
  • 使用requestAnimationFrame减少浏览器重绘
  • Mac 终端命令大全
  • 如何使用deepseek开发一个翻译API
  • vue如何解决跨域
  • 红包雨项目前端部分
  • 新版AndroidStudio 修改 jdk版本
  • 【golang学习之旅】使用VScode安装配置Go开发环境
  • langchain教程-2.prompt
  • GGML、GGUF、GPTQ 都是啥?
  • C++ 原码、反码、补码和位操作符
  • idea中git版本回退
  • 【PostgreSQL内核学习 —— (WindowAgg(三))】
  • redis教程
  • Python aiortc API
  • Transaction rolled back because it has been marked as rollback-only问题解决
  • 深入浅出 DeepSeek V2 高效的MoE语言模型
  • 读书笔记--分布式架构的异步化和缓存技术原理及应用场景
  • 售后板子HDMI无输出分析
  • python3处理表格常用操作
  • AUX接口(Auxiliary Port)
  • 计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫
  • 【梦想终会实现】Linux驱动学习5
  • Spring 核心技术解析【纯干货版】-Spring 数据访问模块 Spring-Jdbc
  • Docker 安装详细教程(适用于CentOS 7 系统)
  • Mac本地部署DeekSeek-R1下载太慢怎么办?
  • 《Angular之image loading 404》
  • JavaScript前后端交互-AJAX/fetch
  • ZooKeeper单节点详细部署流程
  • 流浪地球发动机启动问题解析与实现