OSPF面试题收集

第一章:基础理论部分

基础部分面试官主要是问一些简单得原理,口头描述的东西。不会涉及到报文的参数属性等。

OSPF是什么

定义也就是链路状态协议和距离矢量协议的区别区别。

开放式最短路径优先协议
路由是以自己为根,根据数据库计算去往所有树枝节点的最佳路径放进自己的路由表

描述OSPF 工作流程

  1. 交互hello:路由器向每一个启用OSPF 进程的接口发送hello接收邻居发送过来的hello,并且匹配hello中的各种参数, 如果参数匹配, 就进行下一步, 建立邻居关系。
  2. 邻居/邻接:接口根据OSPF 网络类型建立邻居或者邻接的关系, 邻居关系就是只交互过hello报文,并不知道邻居具体的物理拓扑信息.邻接关系就是两个邻居之间完全交互过各种报文, 两台路由器拥有各自的明细拓扑信息LSDB 完全同步。
  3. 发送LSA:路由器根据与对方建立的邻居或邻接关系向邻居发送不同类型的LSA,这些LSA 包含了路由器所有启用了OSPF 进程的链路信息,接口信息,这些信息可以是末梢网络,也可以是去往其他OSPF 区域的传输网络,或者是去往外部自治系统的网络, 根据各种各样的情形设计了不同的LSA。
  4. LSA 泛洪:接收邻居发送过来的LSA ,加入LSDB,并且根据路由器自身的角色对邻居发送过来的LSA 进行泛洪发送,以及转换工作。
  5. 收敛:当一个区域内的所有路由器的LSDB 完全同步, 网络就完成收敛。
  6. 执行SPF计算:一个区域内每个路由器以自身为树根, 计算到达每一个节点的最短路径, 画出一个最短路径的矢量图, 这个拓扑图就是SPF算法树。
  7. 计算路由:根据SPF 计算得到的矢量图计算到达每一个节点的最优路径, 放到路由表。

OSPF邻接关系建立过程中有哪些状态机?

  • Down:初始状态,没有在邻居失效时间间隔内收到来自邻居路由器的hello数据包
  • Attempt:该状态仅发生在NBMA网络中,对端在邻居失效时间间隔内没有回复hello报文,此时路由器依然轮询hello报文时间间隔向对端发送hello报文
  • Init:收到对端发送的hello报文
  • 2-Way:收到hello报文中含有自己的Router ID;如果不形成邻接关系,则邻居状态机就停留在此状态,否则进入Exstart状态
  • Exstart:如果形成邻居关系,则从Init状态转为Exstart状态,开始协商主从关系,并确定DD序列号
  • Exchange 同步数据库
  • Loading:DD报文交换完成Exchange done,此时状态为loading
  • Full:LSR重传列表为空

OSPF报文类型

  • Hello报文:周期性发送,发现和维持OSPF邻居关系
  • DD报文:描述本地LSDB的摘要信息,用于两台设备进行数据库同步
  • LSR报文:用于请求对方所需的LSA(只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文)
  • LSU报文:用于发送期所需要的LSA
  • LSAck报文:用于对收到的LSA进行确认

Router ID 选举原则

Router ID是一个32位的值,它唯一的标识了一个自治系统内的路由器,可以为每台运行OSPF的路由器上可以手动配置一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebSocket 快速入门 - springboo聊天功能

目录 一、概述 1、HTTP(超文本传输协议) 2、轮询和长轮询 3、WebSocket 二、WebSocket快速使用 1、基于Java注解实现WebSocket服务器端 2、JS前端测试 三、WebSocket进阶使用 1、如何获取当前用户信息 2、 后端聊天功能实现 一、概述 HTTP…

PVE grub resue错误修复 lvmid BUG

服务器断电后启动不起来,显示grub resue 找了半天没有找到修复方法。看官方文档有一处Recovering from grub “disk not found” error when booting from LVM 极为类似。https://pve.proxmox.com/wiki/Recover_From_Grub_Failure 下面是处理过程。 使用PVE 6.4启…

Leetcode算法训练日记 | day33

专题九 贪心算法 一、跳跃游戏 1.题目 Leetcode:第 55 题 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 …

机器学习(二)之监督学习

前言: 上一节大概讲解了几种学习方式,下面几张就具体来讲讲监督学习的几种算法。 以下示例中和都是权重的意思!!! 注:本文如有错误之处,还请读者指出,欢迎评论区探讨! 1…

MATLAB实现图片栅格化

MATLAB实现图片栅格化 1.读取图片:首先,你需要使用imread函数读取要栅格化的图片。 2.设置栅格大小:确定你希望将图片划分成的栅格大小,即每个栅格的宽度和高度。 3.计算栅格数量:根据图片的总尺寸和栅格大小&#…

搜索+剪枝,LeetCode 216. 组合总和 III

目录 一、题目 1、题目描述 2、接口描述 python3 cpp 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 python3 cpp 一、题目 1、题目描述 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多…

Compose 布局

文章目录 Compose 布局ColumnColumn属性使用 RowRow属性使用 BoxBox属性使用 ConstraintLayoutLazyColumnLazyColumn属性使用使用多类型使用粘性标题回到顶部 LazyRowLazyRow属性使用 LazyVerticalGridLazyVerticalGrid属性使用 Compose 布局 Column Compose中的”垂直线性布…

F-logic DataCube3 SQL注入漏洞复现(CVE-2024-31750)

0x01 产品简介 F-logic DataCube3是一款用于光伏发电系统的紧凑型终端测量系统。 0x02 漏洞概述 F-logic DataCube3 /admin/pr_monitor/getting_index_data.php 接口处存在SQL注入漏洞,未经身份验证的攻击者可通过该漏洞获取数据库敏感信息,深入利用可控制整个web服务器。 …

计算机图形学:直线生成算法—DDA

DDA(Digital Differential Analyzer,数字差分分析器)算法是一种基本的直线生成算法,通常用于计算机图形学中。它通过将直线划分为若干个等间隔的小线段,然后在每个小线段中选择一个像素点进行绘制,从而近似…

R-Tree:空间索引技术原理及实现详解

R-Tree:空间索引技术原理及实现详解 一、引言 在空间数据库中,如何高效地查询和处理空间数据一直是研究的热点。R-Tree作为一种重要的空间索引结构,在地理信息系统(GIS)、空间数据库管理系统等领域得到了广泛应用。本…

三十二章、Cesium从入门到精通;

一、打造第一个Cesium程序; 1、基础概念; 父子组件之间可以传递数据:props、回传事件; 使用Redux使用场景:兄弟; 2、代码样例; 11111111 二、Cesium基础设置; 三、讲解viewer…

产品原型图概念

产品原型图概念 产品原型图作用 如下图: 产品原型图的三种分类 线框图 通过【线段色块文字】描述产品页面。优点:制作快速。 缺点:传递信息容易遗漏。 应用:早期方案讨论,需要快速输出的场景,团队配合…

Java算法必备之快读

背景: 在一些算法题中,由于数据量过大,可能会出现卡输入输出时间的问题 原理: 在Java中,输入通常是使用Scanner,输出使用System.out,先说输入 Scanner in new Scanner(System.in);慢的原因有两方面: System.in在读取的时候是字节流进行读取,是一个字节一个字节读取的,在读取…

【工作杂记】groupBy排序-操作word

1.stream 流 groupBy 排序 stream流groupBy默认使用的HashMap&#xff0c;无序的&#xff0c;想要实现有序&#xff0c;需要手动指定接收的map类型 例子&#xff1a; Map<Date, List<OrderVo>> dataMap voList.stream().sorted(Comparator.comparing(OrderVo::ge…

华为OD-C卷-执行任务赚积分[100分]C++ 100%

题目描述 现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。 可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。 输…

Learn ComputeShader 01 First Computer Shader

使用Unity版本&#xff1a;2019.4.12f1 整体流程&#xff1a; 1添加一个quad object并添加一个无光照材质 2.相机投影模式设置为正交 3.调整quad使其完全显示在相机内 4.创建脚本并且使用计算着色器覆盖quad的纹理 5.创建一个compute shader 前三步完成以后结果应该是这…

网络基础先导

前言&#xff1a;最好在牢固前面几大件&#xff08;编程语言、数据结构、操作系统&#xff09;&#xff0c;并且您有一个服务器的基础上&#xff08;我使用的是腾讯云中配置最低的服务器&#xff09;再来学习本系列的网络知识。 1.网络发展简要 下面就是简单提及一些概念而已&…

多线程(64)如何设计一个高性能的订单处理系统

设计一个高性能的订单处理系统需要考虑多个方面&#xff0c;包括但不限于系统架构、数据一致性、可伸缩性、容错性以及性能优化。以下是设计这样一个系统的一些关键考虑因素和实现策略。 系统架构 微服务架构&#xff1a;将订单系统分解成独立的微服务&#xff0c;例如订单创建…

二叉树之AVL树

文章目录 1. AVL树的概念&#xff08;logN)1.1背景1.2规则 2.AVL树节点的定义3.AVL树的插入4. AVL树的旋转(重点&#xff09;4.1 新节点插入较高的右子树的右侧&#xff1a;左单璇&#xff1b;4.2 新节点插入较高左子树的左侧&#xff1a;右单璇&#xff1b;4.3&#xff08;双旋…

AJAX——ajax原理

1.XMLHttpRequest 定义&#xff1a;XMLHttpRequest&#xff08;XHR&#xff09;对象用于与服务器交互。通过XMLHttpRequest可以在不刷新页面的情况下请求特定URL&#xff0c;获取数据。这允许网页在不影响用户操作的情况下&#xff0c;更新页面的局部内容。XMLHttpRequest在AJA…