【新星计划·2023】网工知识——OSPF讲解

news2024/11/28 20:48:59

OSPF ( Open Shortest Path First开放式最短路径优先)是一种动态路由协议,属于内部网关协议( Interior Gateway Protocol,简称IGP ),是基于链路状态算法的路由协议。

一、OSPF是什么?

OSPF意思是指一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统内决策路由。

OSPF主要通过一个链路状态路由协议来实现,该协议隶属于内部网关协议(IGP),因此在自治系统内运行。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络。

OSPF也称为接口状态路由协议,OSPF通过通知路由器之间的网络接口状态建立链路状态数据库,生成最短路径树每个OSPF路由器使用这些最短路径来构建路由表。

b83f1c054a2f437eb33d38dc4db17c28.jpg

二、OSPF原理

OSPF ( Open Shortest Path First开放式最短路径优先)是一种动态路由协议,属于内部网关协议( Interior GatewayProtocol ,简称IGP ) ,是基于链路状态算法的路由协议。

1、OSPF的五种报文,如下图:

f9718cb4265b41a2815b000bdf79c59d.jpg

2、OSPF的运行

①OSPF以组播的方式在所有开启OSPF协议的接口发送Hello报文,用来查看是否有OSPF邻居;

②发送Hello报文之后,若发现邻居则建立OSPF邻居关系,形成邻居表项

③建立邻居表后,向各邻居发送LSA报文相互通告路由,形成LSDB (链路状态数据库)

④基于LSDB,通过SPF ( Shortest Path First )算法,计算最佳路径( cost度量值最小)后放入路由表中。

3、OSPF协议运行过程如图64206e1ef58a4614b9ef5b2e02658402.jpg

三、OSPF的区域

1、区域

逻辑上将设备划分为不同的组,每个组用不同的区域号( Area ID )来标识。在OSPF中,用OSPF Area来表示一个OSPF区域,分为骨干区域和非骨干区域。

①骨干区域(区域0 )

每一个OSPF必须拥有一个区域0,骨干区域必须连接所有非骨干区域,一般来说区域内没有终端用户。

②非骨干区域(非0区域)

非骨干区域必须连接骨干区域通信,一般情况下用于连接终端设备和资源。

四、OSPF的状态

1、Down State

邻居的初始状态,表示没有从邻居受到任何信息

2、Init State

路由设备收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。

3、Two-way State

设备收到了一个Hello包,且Hello包中包括了自己的router-id,表示此时双方可以进行通信。

4、Exstart State

First DBD确认主从关系,router-id大的为主,先发包

5、Exchange State

交互DBD相互学习

6、Loading State

LSR与LSU的交互过程

7、FullState

所有交互已经完成

 

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

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

相关文章

阿里云短信验证接口调用

需要的maven依赖 <!-- 升级版 SDK这是一个短信 --> <dependency> <groupId>com.aliyun</groupId> <artifactId>dysmsapi20170525</artifactId> <version>2.0.23</version> </dependency> package com.service.thereServ…

融合改进Sine混沌映射的新型粒子群优化算法(NIPSO)-附代码

融合改进Sine混沌映射的新型粒子群优化算法(NIPSO) 文章目录 融合改进Sine混沌映射的新型粒子群优化算法(NIPSO)1.粒子群优化算法2. 改进粒子群优化算法2.1 改进的 Sine 混沌映射2.2 粒子群改进 3.实验结果4.参考文献5.Matlab代码6.Python代码 摘要&#xff1a;为了应对传统粒子…

vscode remote server tunnel内网穿透转发tcp,速率10kb每秒

参考: vscode网页版的正确打开方式(建立tunnel-p2p连接)_vscode打开网页_怪力左手的博客-CSDN博客 在vps(ubuntu20.04 可出网,无公网ip)上输入如下命令: 需要chisel这个工具,通过websocket转发tcp连接和启动socks5代理, cd /tmp; curl -L -O https://github.com/jpillora/c…

C++异步调用方法

C之future和promise future和promise的作用是在不同线程之间传递数据。使用指针也可以完成数据的传递&#xff0c;但是指针非常危险&#xff0c;因为互斥量不能阻止指针的访问&#xff1b;而且指针的方式传递的数据是固定的&#xff0c;如果更改数据类型&#xff0c;那么还需要…

基于SpringBoot+Vue的搬家服务系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 当今社会&#xff0c;…

实践指南-前端性能提升 270%

目录 一、背景 二、优化前 1. 了解测量工具及性能指标 1.1 Performance 1.2 最佳实践 1.3 SEO 2. 分析需要优化的地方 2.1 Performance 2.2 最佳实践 2.3 SEO 三、优化 Performance 1. 体积优化 1.1 代码压缩 1.2 代码分包 1.3 组件按需加载 1.4 工具库按需加载…

基于SpringBoot+Vue的超市货物管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 在1990年代初期&#…

ELK【elasticsearch+logstash+kibana】企业级日志分析系统

文章目录 一、ELK概述1. ELK简介2.ElasticSearch3. Logstash4.Kiabana5.Filebeat6.为什么要用ELK&#xff08;思考一下&#xff09;7.ELK的工作原理 二、ELK实验&#xff08;部署ELK日志分析系统&#xff09;1.关闭防火墙2.安装 Elasticsearch-head 插件 总结 一、ELK概述 1. …

第六章 Matlab的复数数据、字符数据和附加画图类型

在第二章中,我们学习了 MATLAB 基础数据类型:double 和 char。MATLAB 还有许 多的附加数据类型,在本章,我们将会了解它们中的一个。我们要讨论的附加数据类型是 MATLAB 支持的复数数据。我们也将学习如何使用 char 数据类型,以及如何把 MATLAB 数组扩展为多维数组。 本章…

如何使用wireShark的追踪流功能抓取并还原文件

简介 WireShark的追踪流功能可以帮我们抓取从网络上下载的各种文件&#xff0c;接下来就演示下如何抓取并且进行还原。 使用Nginx搭建文件存储服务器 只要是通过http网站下载的包&#xff0c;都可以通过追踪流工具进行抓取。这里为了演示&#xff0c;临时搭建一个Nginx文件存…

Redis的全局命令及相关误区

Redis中所说的数据结构是针对key-value中的value而言的。主要的结构包括String、哈希表、列表、集合等等在redis中存在16个库&#xff0c;涉及到后期的集群搭建只能使用0号库最为方便 查看所有键&#xff08;支持通配符&#xff09; keys * keys S*返回当前数据库中的键总数 …

设计原则-开闭原则

世界上没有任何一个项目是不需要迭代的&#xff0c;随着项目的发展壮大&#xff0c;会有越来越多的功能代码会被修改、添加、删除。据统计线上的生产事故90%都有由于变更引起的&#xff0c;因此为保证项目的迭代稳定性&#xff0c;我们需尽可能的遵守开闭原则。那开闭原则到底是…

Jeston Orin Nano Sdkmanager 自动化安装部署官网CUAD环境

大家好&#xff0c;我是虎哥&#xff0c;入手一块Jeston Orin nano 8G模块&#xff0c;这个模块因为是英伟达未来5年左右主推的模块&#xff0c;所以我逐步会将之前所有的应用都在这个模块环境上做适配&#xff0c;本章内容&#xff0c;我将主要围绕烧写安装系统后&#xff0c;…

R7-13 小明找前缀100000(假)

题目背景 小明最近上课天天睡觉&#xff0c;于是啥都不会。 一天&#xff0c;老师终于点兵点将点到他回答问题&#xff0c;你能帮他渡过难关吗&#xff1f; 现在老师给了小明 n 个由 0、1 构成的字符串&#xff0c;然后有 m 次询问&#xff0c; 每次询问给出一个由 0、1 构…

关于Vue3 ,看这一篇文档你就会用了

随着Vue3的到来&#xff0c;公司的新项目全部进行了升级&#xff0c;相比于Vue2&#xff0c;语法上个人觉得更简洁&#xff0c;更容易通俗易懂。首先安装vue3项目&#xff0c;这里我使用vite进行安装&#xff08;强烈推荐&#xff0c;启动速度贼快&#xff09; npm create vit…

Android 12.0状态栏居中显示时间和修改时间显示样式

1.概述 在12.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了 效果图如下: 在这里插入图片描述 …

算法基础学习笔记——⑩DFS与BFS\树与图

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 DFS与BFS\树与图 ✨DFS ✨BFS &#x1f353;宽搜流程图如下&#xff1a; &#x1f353;宽搜流程&#xff1a; &#x1f353;广搜模板 ✨树与图 &#x1f353;树是特殊的图&#xff08;连通无环的图&am…

第09讲:SkyWalking Agent 启动流程剖析,领略微内核架构之美

微内核架构 SkyWalking Agent 采用了微内核架构&#xff08;Microkernel Architecture&#xff09;&#xff0c;那什么是微内核架构呢&#xff1f;微内核架构也被称为插件化架构&#xff08;Plug-in Architecture&#xff09;&#xff0c;是一种面向功能进行拆分的可扩展性架构…

英文论文(sci)解读复现【NO.8】基于注意机制和感受野的YOLOv5在唐卡图像缺陷识别中的应用

此前出了目标检测算法改进专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

【Unity100个实用小技巧】世界Canvas自动隐藏,包含子物体

☀️博客主页&#xff1a;CSDN博客主页&#x1f4a8;本文由 萌萌的小木屋 原创&#xff0c;首发于 CSDN&#x1f4a2;&#x1f525;学习专栏推荐&#xff1a;面试汇总❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&#…