网络工程师一定要学会的知识点:OSPF,今天给大家详细介绍

news2024/11/27 22:45:36

1. OSPF 概念

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

2. OSPF 的运行原理

(1)OSPF 的五种报文,如下图所示:

(2)OSPF 的运行

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

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

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

d) 基于 LSDB,通过 SPF(Shortest Path First)算法,计算最佳路径(cost 度量值最小)后放入路由表中。OSPF 协议运行过程如图所示:

3. OSPF 区域概念

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

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

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

4. 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) Full State:所有交互已经完成

5. OSPF 设备身份

DR(Designated Router):指定路由器,OSPF 协议启动后开始选举而来

BDR(Back-up Designated Router):备份指定路由器,同样是由 OSPF 启动后选举而来,当

指定路由器出现问题,备份指定路由器将成为指定路由器工作。

DR others:其他路由器,非 DR 非 BDR 的路由器都是 DR others。

ABR(Area Border Routers):区域边界路由器,用于连接不同 OSPF 区域,处于区域边界。

ASBR(Autonomous System Boundary Router):自治系统边界路由器,位于 OSPF 和非 OSPF

网络之间。

骨干路由器:至少有一个接口连接到骨干区域(区域 0)。

6. OSPF 选举 DR 与 BDR

Router-ID(Router Identifier,路由器标识符):用来在一个 OSPF 域中唯一标识一台路由器。(Router-ID 可通过手工配置,一个 OSPF 域中不能有相同的 Router-ID),如下图所示:

DR、BDR 的选举规则:比较 router-id

在 OSPF 系统启动后,若 40s 内没有新设备接入就会开始选举,当 DR 失效或故障时,BDR 会变成 DR,重新选 BDR。所有 DR,BDR,DRothers 说的都是接口,而不是设备,不同网段间选

DR,BDR,而不是以 OSPF 区域为单位。

DR 与 BDR 的选举规则:

(1)比较优先级:最高优先级值的路由器被选为 DR(默认优先级相同:1),次高优先级的

为 BDR

(2)比较 router-id:当优先级相同时,拥有最高 router-id 的成为 DR,次高的成为 BDR

7. OSPF 邻居关系

OSPF 邻居的两个状态:邻居(Neighbors)和邻接(Adjacency)

(1) 邻接关系的建立

如图所示:

A. 路由器 R1 的 Router ID 为 1.1.1.1,R2 的 Router ID 为 2.2.2.2,启动 OSPF

后,R1 状态为 Down,发送 Hello 报文。

B. 路由器 R2 收到 R1 的 Hello 报文将 R1 添加到邻居表中,状态置为 Init。

C. R2 向 R1 发送邻居列表为 1.1.1.1 的 Hello 报文,R1 在收到的 Hello 报文邻居

列表中发现自己的 Router ID,状态置为 2-way。

D. R1 向 R2 发送邻居列表为 2.2.2.2 的 Hello 报文,R2 在收到的 Hello 报文邻居

列表中发现自己的 Router ID,状态置为 2-way。

E. 邻居建立成功

8. OSPF 网络类型

OSPF 有四种网络类型,如下所示:

点到点网络:即 Point-to-point(P2P)型网络,是指该接口通过点到点的方式与一台路由器相连。此类型网络不需要进行 OSPF 的 DR、BDR 选举。在此类型的网络中,OSPF以组播方式(224.0.0.5)发送协议报文。典型例子时当链路层协议是 PPP 或 HDLC 时,OSPF 缺省认为网络类型是 P2P。如图所示:

广播型多路访问网络:即 Broadcast 型网络,网络本身支持广播功能。此类型网络需

要进行 OSPF 的 DR、BDR 选举。在该类型的网络中,OSPF 通常以组播方式(224.0.0.5

和 224.0.0.6)发送协议报文。典型例子时当链路层协议是 Ethernet、FDDI 时,OSPF

缺省认为网络类型是广播型。

如图所示:

非广播型多路访问网络:即 NBMA(Non-Broadcast Multiple Access)型网络,虽然从

一个接口可以到达多个目的节点,但是网络本身不支持广播功能,当链路层协议是

帧中继、ATM 或 X.25 时,OSPF 缺省认为网络类型是 NBMA。此时 OSPF 的邻居需要管

理员手工指定。在该类型的网络中,以单播方式发送协议报文。

如图所示:

点到多点网络:即 Point-to-multipoint(P2MP)型网络,是指该接口通过点到多点的网络与多台路由器相连。P2MP 型网络比较特殊,没有一种链路层协议会被缺省地认为是点到多点类型。点到多点必须是由其他网络类型强制更改而来。常用做法是将 NBMA 改为点到多点的网络。在该类型的网络中,缺省情况下以组播方式(224.0.0.5)发送协议报文,也可以根据用户需要,以单播形式发送协议报文。

如图所示:

9. OSPF 常见的其中类型 LSA:

(1) 路由器 LSA(Router LSA):每个路由器都可以发起通告,罗列出自己和邻居的接☐,描

述直连链路信息。

(2) 网络 LSA(Network LSA):只用于广播式网络,由区域内的 DR 或 BDR 路由器产生,报

文包括 DR 和 BDR 连接的路由器的链路信息。

(3) 网络汇总 LSA(Network summary LSA):由 ABR 产生,可以通知本区域内的路由器通往

区域外的路由信息,一个路由器接触网络内部的多个区域,使用这个路由表来总结信息, 更新其它区域到达另一个区域的信息

(4) ASBR 汇总 LSA(ASBR summary LSA):也是由 ABR 产生,但是它是一条主机路由,指向

ASBR 路由器地址的路由

(5) 自治系统外部 LSA(Autonomous system external LSA):由 ASBR 产生,告诉相同自治

区的路由器通往外部自治区的路径。

(6) AS-external-LSA,也叫 Type5 LSA,由 ASBR 产生,描述到 AS 外部的路由,通告到除

Stub 区域和 NSSA 区域以外所有的区域。

(7) NSSA 外部 LSA (NSSA External LSA)由 ASBR 产生,描述到 AS 外部的路由,仅在 NSSA

区域内传播。NSSA 区域的 ABR 收到 NSSA LSA 时,会有选择地将其转化为 Type5 LSA,

以便将外部路由信息通告到 OSPF 网络的其它区域。

10. 实验配置

1. 使用 OSPF 技术实现不同区域网络通信2. 分析路由表实验拓扑如下:

(1) 在路由器 R1 配置如下:

(2) 在路由器 R2 配置如下:

(3) 在路由器 R3 配置如下:

(4) 在路由器 R4 配置如下:

sys[Huawei]sys

name R4[R4]

int g0/0/2 //进入接口

[R4-GigabitEthernet0/0/2]ip add 192.168.3.2 24 //配置接口IP

[R4-GigabitEthernet0/0/2]ospf 1 //启用OSPF,ID为1

[R4-ospf-1]area 2 //声明区域2

[R4-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255

//宣告网络192.168.3.0属于area 2

(5) 在路由器 R3 上测试与 R4 的连通性测试如下:

(6) 在路由器 R4 上测试与 R3 的连通性测试如下:

(7) 查看 R1 路由表,如下所示:

由画红线部分可知,192.168.3.0 网段由 OSPF 协议学习到。

(8) 查看 R2 路由表,如下所示:

由画红线部分可知,192.168.2.0 网段由 OSPF

  • 最近整理了很多网工学习资料,需要可以直接+关注后戳这里即可获取哦!

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

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

相关文章

后端开发必懂nginx面试40问

什么是Nginx? Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用ngin…

Flink面试题

一 基础篇Flink的执行图有哪几种?分别有什么作用Flink中的执行图一般是可以分为四类,按照生成顺序分别为:StreamGraph-> JobGraph-> ExecutionGraph->物理执行图。1)StreamGraph顾名思义,这里代表的是我们编写…

RabbitMQ安装及配置

目录1.下载和安装1.1 下载1.2. 安装1.3 测试1.4 卸载管理界面2.1 添加用户2.2 创建Virtual Hosts2.3. 设置权限1.下载和安装 1.1 下载 1.下载Erlang的rpm包 RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注:Erlang环境一定要与RabbitMQ…

每天一道大厂SQL题【Day08】

每天一道大厂SQL题【Day08】 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题,以每日1题…

Learning C++ No.7

引言: 北京时间:20223/2/9/22:20,距离大一下学期开学还有2天,昨天收到好消息,开学不要考试了,我并不是害怕考试,考试在我心里,地位不高,可能只有当我挂了,才能…

自媒体人都在用的免费音效素材网站

视频剪辑、自媒体人必备的剪辑音效素材网站,免费下载,建议收藏! 1、菜鸟图库 音效素材下载_mp3音效大全 - 菜鸟图库 菜鸟图库是一个综合性素材网站,站内涵盖设计、图片、办公、视频、音效等素材。其中音效素材就有上千首&#xf…

数学建模学习笔记(20)典型相关分析

典型相关分析概述:研究两组变量(每组变量都可能有多个指标)之间的相关关系的一种多元统计方法,能够揭示两组变量之间的内在联系。 典型相关分析的思想:把多个变量和多个变量之间的相关化为两个具有代表性的变量之间的…

【沁恒WCH CH32V307V-R1开发板读取板载温度实验】

【沁恒WCH CH32V307V-R1开发板读取板载温度实验】1. 前言2. 软件配置2.1 安装MounRiver Studio3. ADC项目测试3.1 打开ADC工程3.2 编译项目4. 下载验证4.1 接线4.2 演示效果5. 小结1. 前言 ADC 模块包含 2 个 12 位的逐次逼近型的模拟数字转换器,最高 14MHz 的输入时…

pandas——plot()方法可视化

pandas——plot()方法可视化 作者:AOAIYI 创作不易,如果觉得文章不错或能帮助到你学习,记得点赞收藏评论哦 在此,感谢你的阅读 文章目录pandas——plot()方法可视化一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤…

Python文件的属性获取,重命名,目录的创建,显示和改变

1. 文件的属性获取 os.stat()函数可以获取文件的属性,该函数会返回一个和系统平台有关的stat_result对象, 具备一组可访问的属性,可以通过 stat_result.attribute 这样的格式来访问各个属性的值。 字 段描 述st_modeinode 保护模式st_inoin…

115.Android 简单的多级树结构列表+正常列表结合使用(RecyclerView)

1.第一步 导入需要用到的依赖库: //RecyclerView implementation com.android.support:recyclerview-v7:28.0.0 //RecyclerAdapter implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28 //刷新控件 implementation com.scwang.smartrefresh:SmartRefre…

python-QGIS环境配置

系统:win10 QGIS的下载及安装 在QGIS的官网下载安装包进行安装 下载得到QGIS-OSGeo4W-3.22.16-1.msi的安装包,除了安装路径,基本下一步就可以安装了安装完成后打开QGIS程序文件夹,在./QGIS xx.xx/bin/目录下有个python-qgis-ltr.b…

SpringBoot 自定义注解实现涉密字段脱敏

关于数据脱敏,网上的文章都是硬编码规则,比如对身份证,手机号,邮件地址等固定写法脱敏。本文在此基础上,拓展动态从数据库查出涉密关键字执行脱敏操作。数据脱敏:把系统里的一些敏感数据进行加密处理后再返…

【prism】路由事件映射到Command命令

在之前的一篇文章中,我介绍了普通的自定义事件: 【wpf】自定义事件总结(Action, EventHandler)_code bean的博客-CSDN博客_wpf action可以说通过Action和EventHandle,自定义事件是相当的方便简单了。https…

winform开发心得

最近一直在从事winform的开发,每次都是需要从网上查找资料才能对应具体风格要求,现在总结一下。 ui方面可以使用CSkin对应的一套ui,使用步骤 1.在窗口界面,工具箱空白处点击右键,弹出菜单有个”选择项“,点…

ISO7320FCQDRQ1数字隔离器LMG1025QDEETQ1半桥GaN驱动器

1、数字隔离器 DGTL ISO 3000VRMS 2CH 8SOIC型号:ISO7320FCQDRQ1批次:新技术:容性耦合类型:通用隔离式电源:无通道数:2输入 - 侧 1/侧 2:2/0通道类型:单向电压 - 隔离:30…

C语言深度剖析 -- 32个关键字(下)

文章目录if else 语句bool 与 0 的比较float 与 0 的比较指针与 0 的比较switch case 语句do while for 关键字goto语句真的没人使用吗?void 关键字void能否定义变量?void定义指针void修饰函数返回值和作为函数参数return关键字const关键字const修饰的只…

《电脑技术-系统篇》

《电脑技术-系统篇》 重装须知 ​ 备份桌面上资料,包括系统盘中其他的个人文件等。 一、重装系统 ​ 重装系统是指对计算机的操作系统进行重新的安装。当用户错误操作或遭受病毒、木马程序的破坏,系统中的重要文件就会受损导致错误,甚至崩…

详细对比php中类继承和接口继承(php是否支持多继承)

PHP类继承: 1、PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承 比如: class frist{public function __construct(){echo "我是第一个类。"," ";}public function printer(){echo "…

单片AR眼镜Monocle揭秘:基于反射棱镜,重15g续航1小时

提问:一个戴近视眼镜的人,会愿意再同时戴一副AR眼镜吗?这个问题对于VR来说并不难,通常VR头显为镜框留出了空间(一些Pancake VR自带屈光调节机制),因此二者并不冲突。然而AR眼镜体积更紧凑&#…