关于网络数通工程师 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创始人也在其中。逐渐可以理解,重心放在海外产…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
