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

OSPF笔记

OSPF:开放式最短路径优先协议

使用范围:IGP

协议算法特点:链路状态型路由协议,SPF算法

协议是否传递网络掩码:传递网络掩码

协议封装:基于ip协议封装,协议号为89

一,ospf特点

1.ospf是一种典型的链路状态型路由协议

2.传递信息称作LSA,LSA链路状态通告,包含路由信息和拓扑信息

        路由LSA:描述本路由器上接口的路由信息

        拓扑LSA:描述路由器之间的连接状态

3.更新方式:触发更新+30分钟的链路状态刷新

4.更新地址:组播和单播更新,组播地址:224.0.0.5(all spf router)  224.0.0.6(all dr router)

5.支持路由认证

6.支持手工汇总

7.支持区域划分

8.ospf比较消耗设备资源

二,ospf区域

区域划分的意义

        1.减少LSA的数量

        2.减少LSA的传播范围

区域的划分是基于接口的(链路的)

区域的标记:使用32个二进制,类似于ip地址

区域的分类

        骨干区域:区域标记为0或0.0.0.0

        非骨干区域:区域标记不等于0或0.0.0.0

区域设计原则:向日葵型网络结构

        1.ospf网络中必须存在并唯一的骨干区域(单区域除外)

        2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连

        3.非骨干区域之间不允许直接相连相互发布区域间路由

ospf中路由器的角色

        骨干路由器(BR)

        非骨干路由器

        区域边界路由器(ABR):骨干和非骨干之间的路由器

        自治系统边界路由器(ASBR):能够产生5类或7类LSA的路由器,把非ospf路由引入ospf中

三,ospf消息数据包

1.hello数据包

        周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)

        目的:建立并维持ospf邻居关系

2.DBD:数据库描述数据包

        主从选举DBD:比较双方的router-id,router-id大的一方为主(master),小的一方为从(slave);主用于控制LSA的交互

3.LSR:链路状态请求,按照DBD报文的未知LSA头部进行请求

4.LSU:链路状态更新,携带LSA信息

5.LSACK:链路状态确认

四,ospf邻居状态机制

  1. Down(失效)状态:这是初始状态,表示尚未收到邻居的任何信息。
  2. Attempt(过渡)状态:特殊网络条件才有的状态,不支持广播网路
  3. Init(初始化)状态:本路由器已经从邻居收到了 Hello 报文,但报文中未列出本路由器的 Router ID。
  4. 2-Way(双向通信)状态:本路由器在收到的 Hello 报文中看到了自己的 Router ID,表明双方可以双向通信。如果是在广播型网络或 NBMA 网络中,此时还需要选举 DR(指定路由器)和 BDR(备份指定路由器)。
  5. ExStart(预启动)状态:路由器开始协商主从关系,并确定用于交换数据库描述(DBD)报文的初始序列号。
  6. Exchange(交换)状态:路由器使用 DBD 报文来描述自己的链路状态数据库,并向邻居请求缺失或更新的 LSA(链路状态通告)。
  7. Loading(加载)状态:路由器根据收到的 LSR(链路状态请求)报文,向邻居发送 LSU(链路状态更新)报文来提供所需的 LSA 信息。
  8. Full(完全邻接)状态:路由器的链路状态数据库已经与邻居同步,邻居关系建立完成,可以进行路由计算和数据转发。

邻居关系建立条件:

  1. router-id 必须不同每台 OSPF 路由器都需要有唯一的 Router-ID 来标识自己。如果两台路由器的 Router-ID 相同,会导致 OSPF 协议无法正常区分它们,从而无法建立邻居关系。
  2. area ID 相同OSPF 网络被划分为不同的区域,路由器要成为邻居,必须处于相同的区域,这样它们才能共享相同的链路状态信息,以计算准确的路由。
  3. 认证:认证类型(不认证=0 明文认证=1 MD5=2)认证数据:为了保证网络的安全性和数据的完整性,OSPF 支持不同的认证方式。邻居之间的认证类型和认证数据必须匹配,否则无法建立邻居关系。
  4. hello 时间,dead 时间必须一致:Hello 报文用于发现和维护邻居关系,Dead 时间用于判断邻居是否失效。如果这两个时间参数不一致,可能会导致邻居状态的错误判断和不稳定。
  5. 特殊区域标识一致(E(外部路由位)=1 ;N(NSSA 外部路由位)=0 P=0):特殊区域具有特定的属性和路由传播规则,邻居路由器在这些特殊区域标识上必须一致,以确保对路由信息的处理方式相同。
  6. MA 网络中,网络掩码必须一致:在多路访问(MA)网络中,如以太网,网络掩码一致是确保网络地址规划和路由计算的准确性的重要条件。
  7. 必须同时使用单播或组播更新:这确保了邻居之间的更新报文发送方式的一致性,避免因发送和接收方式不同而导致更新报文丢失或无法处理。
  8. 更新源检测(双方的 IP 地址必须在同一网段):只有当更新源(发送更新报文的接口 IP 地址)在同一网段,才能保证它们在逻辑上处于同一网络,从而能够正常通信和建立邻居关系。

 邻居状态下,MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)

DR选举:

        1.比较优先级(范围:0-255,默认优先级为1,越大越优)

        2.比较各自的router-id,越大越优

注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围0-255,数字为0代表不参加选举  4.先选BDR,再升级为DR

主从选举:发生在exstart状态,通过双方router-id进行比较,router-id大的一方为主。发送的主从选举DBD,DBD总包含了MTU值(若双方的MTU值不同,则卡在exstart状态)

router-id选举规则:

        1.手工指定最优先

        2.选举所有逻辑中ip地址最大的

        3.选举所有物理接口ip地址最大的

五,ospf基本配置

开启 OSPF 进程并配置 Router ID:

    ospf 1 router-id 1.1.1.1

其中,“1”是进程号,缺省为 1;“1.1.1.1”是手动配置的 Router ID

配置区域:

    area 0/0.0.0.0

    network 192.168.0.0 0.0.0.255

上述命令将 192.168.0.0/24 网段宣告到区域 0 中,使用反掩码(255.255.255.255 - 掩码)来匹配网段。

常用的 OSPF 配置命令

        修改 Hello 包发送间隔:ospf timer hello 10 ,其中“10”为间隔时间(单位为秒)。

        修改 Hello 包超时间隔:ospf timer dead 40 。

        显示 OSPF 接口信息:display ospf interface g0/0/0 。

        修改 OSPF 接口优先级:ospf dr-priority 100 。

        修改开销(cost):ospf cost 10 ,取值范围为 1 至 65535,缺省为 1。

        调整带宽参考值:bandwidth-reference 100 ,默认为 100Mbps,需在整个 OSPF 网络中统一调整。

        重启 OSPF 进程:reset ospf process 。

ospf三张表:

  1. 邻居表(Neighbor Table):也称为邻居关系表。该表记录了与本地路由器建立了邻居关系的其他路由器的信息,包括邻居路由器的 Router ID、接口地址、状态、Hello 间隔、失效时间等。通过查看邻居表,可以了解到哪些路由器与本地路由器成功建立了邻居关系,以及它们的相关参数和状态。display ospf peer brief可查看

  2. 链路状态数据库(Link State Database,LSDB):存储了本区域内所有路由器的链路状态通告(LSA)。LSDB 中的 LSA 描述了网络的拓扑结构和链路状态信息。每个路由器通过与邻居交换 LSA 来同步 LSDB,确保所有路由器对网络拓扑有一致的认识。display ospf lsdb可查看

  3. 路由表(Routing Table):根据 LSDB 计算得出的最优路由信息表。OSPF 路由器使用 Dijkstra 算法根据 LSDB 中的链路状态信息计算出到达各个目标网络的最短路径,并将这些路由信息放入路由表中,用于数据的转发决策。display ip routing-table protocol ospf 可查看

相关文章:

OSPF笔记

OSPF:开放式最短路径优先协议 使用范围:IGP 协议算法特点:链路状态型路由协议,SPF算法 协议是否传递网络掩码:传递网络掩码 协议封装:基于ip协议封装,协议号为89 一,ospf特点 1…...

IOC容器初始化流程

IOC容器初始化流程 一、概要1.准备上下文prepareRefresh()2. 获取beanFactory:obtainFreshBeanFactory()3. 准备beanFactory:prepareBeanFactory(beanFactory)4. 后置处理:postProcessBeanFactory()5. 调用bean工厂后置处理器:invokeBeanFactoryPostProcessors()6. 注册bea…...

第二季度云计算市场份额榜单:微软下滑,谷歌上升,AWS仍保持领先

2024 年第二季度,随着企业云支出达到 790 亿美元的新高,三大云计算巨头微软、谷歌云和 AWS的全球云市场份额发生了变化。 根据新的市场数据,以下是 2024 年第二季度全球云市场份额结果和六大世界领先者,其中包括 AWS、阿里巴巴、…...

三点确定圆心算法推导

已知a,b,c三点求过这三点的圆心坐标 a ( x 1 , y 1 ) a(x_1, y_1) a(x1​,y1​) 、 b ( x 2 , y 2 ) b(x_2, y_2) b(x2​,y2​) 、 c ( x 3 , y 3 ) c(x_3, y_3) c(x3​,y3​) 确认三点是否共线 叉积计算方式 v → ( X 1 , Y 1 ) u → ( X 2 , Y 2 ) X 1 Y 2 − X 2 Y 1 \…...

神经网络 (NN) TensorFlow Playground在线应用程序

神经网络 (NN) 历史上最重要的发现之一是神经网络 (NN) 的强大功能。 在神经网络中,称为神经元的许多数据层被添加在一起或相互堆叠以计算新的数据级别。 常用的简称: DNN 深度神经网络CNN 卷积神经网络RNN 循环神经网络 神经元 科学家一致认为&am…...

腾讯课堂 离线m3u8.sqlite转成视频

为了广大腾讯课堂用户对于购买的课程不能正常离线播放,构成知识付费损失,故出此文档。 重点:完全免费!!!完全免费!!!完全免费!!! 怎么…...

Linux多路转接

文章目录 IO模型多路转接select 和 pollepoll IO模型 在还在学习语言的阶段,C里使用cin,或者是C使用scanf的时候,总是要等着我们输入数据才执行,这种IO是阻塞IO。下面是比较正式的说法。 阻塞IO: 在内核将数据准备好之前&#xf…...

IDEA导入Maven项目的流程配置以常见问题解决

1. 前言 本文主要围绕着在IDEA中导入新Maven项目后的配置及常见问题解决来展开说说。相关的部分软件如下: IntelliJ IDEA 2021.1JDK 1.8Window 2. 导入Maven项目及配置 2.1 导入Maven项目 下面介绍了直接打开本地项目和导入git上的项目两种导入Maven方式。 1…...

【数据分析---- Pandas进阶指南:核心计算方法、缺失值处理及数据类型管理】

前言: 💞💞大家好,我是书生♡,本阶段和大家一起分享和探索数据分析,本篇文章主要讲述了:Pandas进阶指南:核心计算方法、缺失值处理及数据类型管理等等。欢迎大家一起探索讨论&#x…...

2024世界机器人大会将于8月21日至25日在京举行

2024年的世界机器人大会预定于8月21日至25日,在北京经济技术开发区的北人亦创国际会展中心隆重举办。 本届大会以“共育新质生产力 共享智能新未来”为核心主题,将汇聚来自全球超过300位的机器人行业专家、国际组织代表、杰出科学家以及企业家&#xff0…...

【Linux】lvm被删除或者lvm丢失了怎么办

模拟案例 接下来模拟lvm误删除如何恢复的案例: 模拟删除: 查看vg名: vgdisplayvgcfgrestore --list uniontechos #查看之前的操作 例如我删除的,现场没有删除就用最近的操作文件: 还原: vgcfgrestore…...

疫情防控管理系统

摘 要 由于当前疫情防控形势复杂,为做好学校疫情防控管理措施,根据上级防疫部门要求,为了学生的生命安全,要求学校加强疫情防控的管理。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生&#x…...

永久删除的Android 文件去哪了?在Android上恢复误删除的消息和照片方法?

丢失重要消息和照片可能是一种令人沮丧的经历,尤其是在您没有备份的情况下。但别担心,在本教程中,我们将指导您完成在Android设备上恢复已删除消息和照片的步骤。无论您是不小心删除了它们还是由于软件问题而消失了,这些步骤都可以…...

宠物服务小程序多生态转化

宠物服务如美容造型、医疗、看护寄养等有着不少需求,尤其是年轻人从宠物生活到饮食起居等面面俱到,往往不惜金钱给到较好的环境,如定时除虫、优质食物、玩具、检查身体、服饰; 近些年宠物服务店新开数量也较多,同行竞…...

今天细说一下工业制造行业MES系统

文章目录 前言什么是MES? 前言 最近几个月在做制造行业的MES系统开发,这类面向制造业的系统是今年做的第三个系统了,也算是了解较深的了,和一个之前转行做这一块的朋友聊了聊,他们集团要扩大规模,准备招ME…...

C++ 知识点(长期更新)

C++ 知识点 C/C++1. `cin`, `cin.get()`, `getchar()`, `getline()`, 和 `cin.getline()`的区别。2. 有关 cin >>3. 定义和声明的区别4. `union`、`struct`和`class`的区别5. 深拷贝 vs 浅拷贝6. new 和 malloc 的区别7. 被free回收的内存是立即返还给操作系统吗?为什么…...

Spring AI + 通义千问 入门学习

Spring AI 通义千问 入门学习 文章目录 Spring AI 通义千问 入门学习一,开发环境配置二,项目搭建2.1 pom文件2.2 配置文件 三,AI使用3.1 对话问答3.1.1 普通方式3.1.2 流方式 3.2 文字生成图片 最近AI很火,而Spring也出了Spring…...

38.【C语言】指针(重难点)(C)

目录: 8.const 修饰指针 *修饰普通变量 *修饰指针变量 9.指针运算 *指针或-整数 *指针-指针 *指针关系运算 往期推荐 承接上篇37.【C语言】指针(重难点)(B) 8.const 修饰指针 const 全称 constant adj.不变的 *修饰普通变量 #…...

Vue-05.指令-v-for

v-for 列表渲染&#xff0c;遍历容器的元素或者对象的属性 v-for“列表元素名 in 列表名” <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…...

自动驾驶的一些大白话讲解

无人驾驶牛逼吗&#xff1f;我来帮你祛魅【原理缺陷解析】_哔哩哔哩_bilibili 5分钟讲明白自动驾驶端到端&#xff0c;解释为什么华为智驾并不是遥遥领先 到底什么是端到端自动驾驶系统&#xff1f;为何我会说这是智能驾驶的弯道超车机会&#xff1f;我希望今天用5分钟的时间&…...

seo排名工具可以提升网站排名吗

SEO排名工具能否提升网站排名&#xff1f;深入解析与实用建议 在当前互联网时代&#xff0c;网站的排名直接影响着其流量和转化率。许多网站主和数字营销人员常常使用SEO排名工具来提升网站的搜索引擎排名。SEO排名工具能否真正提升网站排名呢&#xff1f;本文将从问题分析、原…...

GTE-Chinese-Large GPU加速部署:CUDA 12.1 + PyTorch 2.3兼容性验证教程

GTE-Chinese-Large GPU加速部署&#xff1a;CUDA 12.1 PyTorch 2.3兼容性验证教程 1. 教程概述 1.1 学习目标 通过本教程&#xff0c;你将学会如何在支持CUDA 12.1和PyTorch 2.3的环境中&#xff0c;快速部署GTE-Chinese-Large文本向量模型&#xff0c;并验证其GPU加速效果…...

Qwen3-VL-8B在智能客服场景的应用:让客服真正看懂用户图片

Qwen3-VL-8B在智能客服场景的应用&#xff1a;让客服真正看懂用户图片 1. 智能客服的视觉盲区 你有没有遇到过这样的情况&#xff1a;当用户给客服发送一张商品照片询问"这个配件能用在XX型号上吗&#xff1f;"&#xff0c;得到的回复却是"请您提供商品编号&q…...

全栈开发者工具链:OpenClaw+Qwen3.5-9B-AWQ-4bit辅助前端调试

全栈开发者工具链&#xff1a;OpenClawQwen3.5-9B-AWQ-4bit辅助前端调试 1. 为什么需要AI辅助前端调试 作为全栈开发者&#xff0c;我经常陷入这样的困境&#xff1a;当页面渲染出现异常时&#xff0c;需要在控制台日志、网络请求和DOM树之间反复切换排查。传统调试流程至少包…...

OpenClaw办公自动化:Qwen3-14B处理Excel与邮件实战

OpenClaw办公自动化&#xff1a;Qwen3-14B处理Excel与邮件实战 1. 为什么选择OpenClaw处理办公自动化 上个月我需要每周手动处理几十份销售报表&#xff0c;总是要加班到深夜。直到同事推荐了OpenClaw——这个能像人类一样操作电脑的开源智能体框架。经过一个月的实战&#x…...

WSL2多版本Ubuntu共存与切换实战指南

1. 为什么需要多版本Ubuntu共存&#xff1f; 很多开发者可能都遇到过这样的困境&#xff1a;项目A需要Ubuntu 20.04的环境&#xff0c;而项目B又要求使用Ubuntu 24.04的新特性。传统做法是在不同机器或虚拟机中分别部署&#xff0c;但这既浪费资源又增加管理难度。WSL2的出现完…...

C语言核心特性与工程实践详解

1. C语言核心特性解析C语言作为一门经典的编程语言&#xff0c;其核心特性决定了它在系统编程和嵌入式开发中的不可替代地位。让我们从底层机制开始剖析&#xff1a;1.1 静态类型与编译执行C语言采用静态类型系统&#xff0c;这意味着所有变量必须在编译前明确声明其类型。这种…...

保姆级教程:用SNAP处理哨兵2号L1C数据,5分钟搞定大气校正生成L2A

零基础实战&#xff1a;SNAP快速处理哨兵2号L1C数据的完整指南 当第一次拿到哨兵2号L1C级数据时&#xff0c;很多研究者都会面临一个共同问题&#xff1a;如何高效地将原始数据转换为可直接用于分析的表面反射率产品&#xff1f;本文将手把手带你完成从数据准备到大气校正的全流…...

Grok 4.1 API 完全指南:性能实测、成本测算与接入方案(2026)

上周 xAI 突然放出了 Grok 4.1&#xff0c;我当天晚上就拿到了 API 访问权限。说实话&#xff0c;Elon Musk 的团队这次搞出来的东西让我有点意外——不是那种「又一个 GPT 竞品」的感觉&#xff0c;而是在长上下文和实时信息检索这两个维度上&#xff0c;确实拉开了一些差距。…...

新手怎么部署OpenClaw?2026年本地1分钟超速搭建OpenClaw及大模型百炼APIKey配置

新手怎么部署OpenClaw&#xff1f;2026年本地1分钟超速搭建OpenClaw及大模型百炼APIKey配置。OpenClaw&#xff08;原Clawdbot&#xff09;作为2026年主流的AI自动化助理平台&#xff0c;可通过阿里云轻量服务器实现724小时稳定运行&#xff0c;并快速接入钉钉&#xff0c;让AI…...