关于网络数通工程师 OSPF 协议的常见面试问题
基础理论部分
-
OSPF是什么?其核心设计目标及主要特性有哪些?
- OSPF(开放式最短路径优先)是基于链路状态的内部网关协议(IGP),使用Dijkstra的SPF算法计算最短路径树,核心目标包括快速收敛、分层网络设计(区域划分)和避免路由环路12。
- 主要特性:
- 支持VLSM/CIDR,适用于复杂IP规划12。
- 通过组播(224.0.0.5/224.0.0.6)传递协议报文,减少广播流量13。
- 支持区域划分(骨干区域Area 0)和路由汇总,提升扩展性36。
- 提供明文、MD5和SHA认证机制13。
-
OSPF的Router ID如何生成?若需修改应如何操作?
- 生成规则:优先手动配置;若无配置,选择最大Loopback接口IP;无Loopback时选最大物理接口IP12。
- 修改操作:需重启OSPF进程(如
clear ip ospf process
)或重启设备,否则原Router ID仍生效24。
-
OSPF的邻居(Neighbor)与邻接(Adjacency)区别?邻接关系建立的必要条件?
- 区别:邻居仅通过Hello报文发现对方(2-Way状态),邻接需完成LSDB同步(Full状态)56。
- 必要条件:
- 区域ID、认证类型/密钥、Hello/Dead时间一致56。
- 子网掩码匹配(广播/NBMA网络)16。
- MTU一致(若开启MTU检查)45。
-
简述OSPF的五种报文类型及其功能
- Hello:发现邻居、维护关系、选举DR/BDR45。
- DBD(Database Description):描述LSDB摘要,用于主从选举45。
- LSR(Link State Request):请求缺失的LSA45。
- LSU(Link State Update):发送完整的LSA45。
- LSAck(Link State Acknowledgment):确认LSA接收45。
工作机制与状态机
-
描述OSPF邻居状态机演变过程(从Down到Full)
- Down→Init:发送Hello,未收到对方回应56。
- Init→2-Way:收到含自身Router ID的Hello,建立邻居关系56。
- 2-Way→ExStart:选举主从(Master/Slave),协商DBD序列号45。
- ExStart→Exchange:交换DBD报文,同步LSDB摘要45。
- Exchange→Loading:发送LSR请求缺失LSA,接收LSU更新45。
- Loading→Full:LSDB完全同步,形成邻接关系56。
-
选举DR/BDR的作用?哪些网络类型必须选举?
- 作用:减少邻接关系数量(从O(n²)到O(n)),优化LSA泛洪效率13。
- 网络类型:广播网络(如以太网)和NBMA网络(如帧中继)必须选举13。
-
MTU协商在邻接建立中的作用?协商失败的影响?
- 作用:确保两端能处理相同大小的数据包,避免分片45。
- 失败影响:邻居卡在ExStart/Exchange状态,无法完成LSDB同步45。
-
主从关系选举目的及发生阶段?
- 目的:确定DBD报文发送顺序,避免冲突45。
- 阶段:ExStart阶段,通过比较Router ID选举(高ID为主)45。
LSA与路由计算
-
列举OSPF常见LSA类型及作用(至少5种)
- Type 1(Router LSA):描述路由器直连链路,区域内泛洪46。
- Type 2(Network LSA):描述广播网络的DR信息46。
- Type 3(Summary LSA):ABR生成的域间路由摘要46。
- Type 5(AS External LSA):ASBR通告的外部路由46。
- Type 7(NSSA External LSA):NSSA区域内的外部路由,由ABR转为Type 534。
-
域间路由和外部路由依赖的LSA类型?
- 域间路由:Type 3 LSA(由ABR生成)46。
- 外部路由:Type 5 LSA(普通区域)或Type 7 LSA(NSSA区域)46。
-
SPF算法工作过程及路由表生成机制?
- SPF计算:以Router为根节点,基于链路开销构建最短路径树17。
- 路由表生成:将SPF计算结果转换为路由条目,优选最低开销路径17。
区域与网络设计
-
非骨干区域必须直连Area 0的原因?虚链路使用场景?
- 原因:防止路由环路,确保所有区域通过骨干区域交换路由信息34。
- 虚链路:临时修复非骨干区域与Area 0的物理断开,需两端ABR配置34。
-
Stub与NSSA区域的区别及过滤的LSA类型?
- Stub区域:过滤Type 5 LSA,ABR下发默认路由34。
- NSSA区域:允许Type 7 LSA(本地外部路由),过滤Type 5 LSA34。
-
路由汇总的优势及配置方法?
- 优势:减少LSA数量,降低路由表规模,提升稳定性16。
- 配置:在ABR使用
area x range <汇总前缀>
,或在ASBR使用summary-address
16。
故障排查与优化
-
子网掩码不一致的后果?
- 邻居无法建立(广播/NBMA网络),因OSPF要求同一子网16。
-
邻居卡在ExStart/Exchange状态的可能原因?
- MTU不匹配、接口网络类型配置错误、Router ID冲突45。
-
如何通过Cost控制选路?默认计算方式?
- 控制方法:手动修改接口Cost值(
ip ospf cost <值>
)23。 - 默认计算:
Cost = 100 Mbps / 接口带宽(Mbps)
,如千兆口Cost=123。
- 控制方法:手动修改接口Cost值(
高级特性与对比
-
OSPF与RIP/EIGRP的区别?
- 协议类型:OSPF为链路状态协议,RIP为距离矢量,EIGRP为混合型23。
- 收敛速度:OSPF快于RIP,EIGRP支持DUAL算法快速收敛23。
- 扩展性:OSPF支持分层设计,RIP限15跳,EIGRP适合中小网络23。
-
OSPFv3相比OSPFv2的改进?
- 支持IPv6:独立于IPv4运行,地址格式为128位23。
- 认证分离:依赖IPSec而非协议内置认证23。
-
OSPF支持的认证类型及配置方法?
- 类型:明文、MD5、HMAC-SHA13。
- 配置示例:
plaintextCopy Code
interface GigabitEthernet0/0 ip ospf authentication message-digest ip ospf message-digest-key 1 md5 <密钥> ```:ml-citation{ref="1,3" data="citationList"}
相关文章:
关于网络数通工程师 OSPF 协议的常见面试问题
基础理论部分 OSPF是什么?其核心设计目标及主要特性有哪些? OSPF(开放式最短路径优先)是基于链路状态的内部网关协议(IGP),使用Dijkstra的SPF算法计算最短路径树,核心目标包括…...
Go 语言 + libbpfgo 实战 eBPF 开发
Go 语言 libbpfgo 实战 eBPF 开发 1. 引言 这是专栏的第一篇文章,我们将从环境准备、示例代码运行和详解三个方面,带你快速入门 eBPF 开发。 📌 读完这篇文章,你将学会: ✔️ 如何用 Go libbpfgo 开发 eBPF 程序。…...
练习题:74
目录 Python题目 题目 题目分析 需求理解 关键知识点 实现思路分析 复杂度分析 可能遇到的问题及注意事项 代码实现 代码解释 运行思路 1. 列表定义阶段 2. for 循环启动阶段 3. 偶数判断与 continue 语句执行阶段 4. 奇数元素输出阶段 5. 循环结束阶段 结束语…...
Python 性能优化:从入门到精通的实用指南
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

C# OPC DA获取DCS数据(提前配置DCOM)
OPC DA配置操作手册 配置完成后,访问远程ip,就能获取到服务 C#使用Interop.OPCAutomation采集OPC DA数据,支持订阅(数据变化)、单个读取、单个写入、断线重连...

xinference docker 部署方式
文章目录 简绍docker 安装方式访问地址对应官网在 dify 中 添加 xinference 容器内置大语言模型嵌入模型图像模型音频模型重排序模型视频模型 简绍 Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,…...
基于Kubernetes部署MySQL主从集群
以下是一个基于Kubernetes部署MySQL主从集群的详细YAML示例,包含StatefulSet、Service、ConfigMap和Secret等关键配置。MySQL主从集群需要至少1个主节点和多个从节点,这里使用 StatefulSet 初始化脚本 实现主从自动配置。 1. 创建 Namespace (可选) ap…...

【Azure 架构师学习笔记】- Azure Databricks (17) --Delta Live Table和Delta Table
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (16) – Delta Lake 和 ADLS整合 前言 前面介绍了Delta Table,但是Databricks又推出了“Delta Live Tables(DLTs&…...
Mybatis Generator 使用手册
第一章 什么是Mybatis Generator? MyBatis Generator Core – Introduction to MyBatis Generator MyBatis生成器(MBG)是MyBatis框架的代码生成工具。它支持为所有版本的MyBatis生成代码,通过解析数据库表(或多个表&…...
快乐数 力扣202
一、题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1&…...
SPA单页面应用优化SEO
1.SSR服务端渲染 将组件或页面通过服务器生成html,再返回给浏览器,如nuxt.js或vue-server-renderer const Vue require(vue); const server require(express)(); const renderer require(vue-server-renderer).createRenderer();const vueApp new …...

城市霓虹灯夜景拍照后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
调色教程 在城市霓虹灯夜景拍摄中,由于现场光线复杂等因素,照片可能无法完全呈现出当时的视觉感受。通过 Lr 调色,可以弥补拍摄时的不足。例如,运用基本调整面板中的曝光、对比度、阴影等工具,可以处理出画面的整体明暗…...
通领科技冲刺北交所
高质量增长奔赴产业新征程 日前,通领科技已正式启动在北交所的 IPO 进程,期望借助资本市场的力量,加速技术升级,推动全球化战略布局。这一举措不仅展现了中国汽车零部件企业的强大实力,也预示着行业转型升级的新突破。…...

隐私保护在 Facebook 用户身份验证中的应用
在这个数字化的时代,个人隐私保护成为了公众关注的焦点。社交媒体巨头 Facebook 作为全球最大的社交平台之一,拥有数十亿用户,其在用户身份验证过程中对隐私保护的重视程度直接影响着用户的安全感和信任度。本文将探讨 Facebook 在用户身份验…...
深度学习/强化学习调参技巧
深度调优策略 1. 学习率调整 技巧:学习率是最重要的超参数之一。过大可能导致训练不稳定,过小则收敛速度慢。可以使用学习率衰减(Learning Rate Decay)或自适应学习率方法(如Adam、RMSprop)来动态调整学习…...

python面试常见题目
1、python 有几种数据类型 数字:整形 (int),浮点型 (float)布尔 ( bool):false true字符串 (string)列表 (list)元组 (tuple)字典 &…...

echarts折线图设置背景颜色:X轴和Y轴组成部分背景色
echarts折线图设置背景颜色 关键代码 splitArea: {show: true,areaStyle: {color: [#F2F2F2],},},完整代码位置显示 yAxis: {type: value,boundaryGap: [0, 100%],max: 1,interval: 1,// 于设置y轴的字体axisLabel: {show: false, //这里的show用于设置是否显示y轴下的字体 默…...
文本处理Bert面试内容整理-BERT的应用场景有哪些?
BERT(Bidirectional Encoder Representations from Transformers)在多个自然语言处理(NLP)任务中表现出了强大的能力。由于其能够捕捉双向上下文信息和强大的迁移学习能力,BERT广泛应用于各种NLP场景。以下是BERT的一些典型应用场景: 1. 文本分类 文本分类任务旨在将文本…...

【愚公系列】《Python网络爬虫从入门到精通》045-Charles的SSL证书的安装
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...

manus对比ChatGPT-Deep reaserch进行研究类学术相关数据分析!谁更胜一筹?
没有账号,只能挑选一个案例 一夜之间被这个用全英文介绍全华班出品的新爆款国产AI产品的小胖刷频。白天还没有切换语言的选项,晚上就加上了。简单看了看团队够成,使用很长实践的Monica创始人也在其中。逐渐可以理解,重心放在海外产…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...