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邻居状态机制
- Down(失效)状态:这是初始状态,表示尚未收到邻居的任何信息。
- Attempt(过渡)状态:特殊网络条件才有的状态,不支持广播网路
- Init(初始化)状态:本路由器已经从邻居收到了 Hello 报文,但报文中未列出本路由器的 Router ID。
- 2-Way(双向通信)状态:本路由器在收到的 Hello 报文中看到了自己的 Router ID,表明双方可以双向通信。如果是在广播型网络或 NBMA 网络中,此时还需要选举 DR(指定路由器)和 BDR(备份指定路由器)。
- ExStart(预启动)状态:路由器开始协商主从关系,并确定用于交换数据库描述(DBD)报文的初始序列号。
- Exchange(交换)状态:路由器使用 DBD 报文来描述自己的链路状态数据库,并向邻居请求缺失或更新的 LSA(链路状态通告)。
- Loading(加载)状态:路由器根据收到的 LSR(链路状态请求)报文,向邻居发送 LSU(链路状态更新)报文来提供所需的 LSA 信息。
- Full(完全邻接)状态:路由器的链路状态数据库已经与邻居同步,邻居关系建立完成,可以进行路由计算和数据转发。
邻居关系建立条件:
- router-id 必须不同:每台 OSPF 路由器都需要有唯一的 Router-ID 来标识自己。如果两台路由器的 Router-ID 相同,会导致 OSPF 协议无法正常区分它们,从而无法建立邻居关系。
- area ID 相同:OSPF 网络被划分为不同的区域,路由器要成为邻居,必须处于相同的区域,这样它们才能共享相同的链路状态信息,以计算准确的路由。
- 认证:认证类型(不认证=0 明文认证=1 MD5=2)认证数据:为了保证网络的安全性和数据的完整性,OSPF 支持不同的认证方式。邻居之间的认证类型和认证数据必须匹配,否则无法建立邻居关系。
- hello 时间,dead 时间必须一致:Hello 报文用于发现和维护邻居关系,Dead 时间用于判断邻居是否失效。如果这两个时间参数不一致,可能会导致邻居状态的错误判断和不稳定。
- 特殊区域标识一致(E(外部路由位)=1 ;N(NSSA 外部路由位)=0 P=0):特殊区域具有特定的属性和路由传播规则,邻居路由器在这些特殊区域标识上必须一致,以确保对路由信息的处理方式相同。
- MA 网络中,网络掩码必须一致:在多路访问(MA)网络中,如以太网,网络掩码一致是确保网络地址规划和路由计算的准确性的重要条件。
- 必须同时使用单播或组播更新:这确保了邻居之间的更新报文发送方式的一致性,避免因发送和接收方式不同而导致更新报文丢失或无法处理。
- 更新源检测(双方的 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三张表:
-
邻居表(Neighbor Table):也称为邻居关系表。该表记录了与本地路由器建立了邻居关系的其他路由器的信息,包括邻居路由器的 Router ID、接口地址、状态、Hello 间隔、失效时间等。通过查看邻居表,可以了解到哪些路由器与本地路由器成功建立了邻居关系,以及它们的相关参数和状态。display ospf peer brief可查看
-
链路状态数据库(Link State Database,LSDB):存储了本区域内所有路由器的链路状态通告(LSA)。LSDB 中的 LSA 描述了网络的拓扑结构和链路状态信息。每个路由器通过与邻居交换 LSA 来同步 LSDB,确保所有路由器对网络拓扑有一致的认识。display ospf lsdb可查看
-
路由表(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: 在内核将数据准备好之前…...
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位的机器人行业专家、国际组织代表、杰出科学家以及企业家࿰…...
【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 列表渲染,遍历容器的元素或者对象的属性 v-for“列表元素名 in 列表名” <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…...
自动驾驶的一些大白话讲解
无人驾驶牛逼吗?我来帮你祛魅【原理缺陷解析】_哔哩哔哩_bilibili 5分钟讲明白自动驾驶端到端,解释为什么华为智驾并不是遥遥领先 到底什么是端到端自动驾驶系统?为何我会说这是智能驾驶的弯道超车机会?我希望今天用5分钟的时间&…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
