关于网络数通工程师 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-address16。
故障排查与优化
-
子网掩码不一致的后果?
- 邻居无法建立(广播/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创始人也在其中。逐渐可以理解,重心放在海外产…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
