OSPFv2基础02_工作原理

目录

1.OSPF接口状态

2.OSPF邻居状态

2.1 OSPF邻居状态类型

2.2 广播网络OSPF邻接关系建立

3.Router ID(路由器ID)选举

4.DR和BDR选举

4.1 为什么引入DR和BDR?

 4.2 DR和BDR的作用

4.3 DR和BDR选举过程

4.4 DR和BDR选举原则

5.OSPF路由计算原理


1.OSPF接口状态

OSPF接口总共有7种状态:

Down(接口关闭):接口被管理员关闭或者检测到故障。

Loopback(环回):接口配置为环回接口,用于本地测试或管理目的。

Waiting(等待):接口正在等待与邻居建立邻居关系。

Point-to-Point(点对点):接口与单个邻居之间建立了邻居关系。

DR(Designated Router):接口被选举为DR,用于在多点连接上减少链路状态广播的数量。

Backup(备份):接口被选举为备份DR,作为DR故障时的替代。

DR Other(DR其他):接口不是DR或备份DR,但在多点连接中仍然具有邻居关系。

DR Waiting(DR等待):接口正在等待与DR建立邻居关系。

2.OSPF邻居状态

2.1 OSPF邻居状态类型

Down(关断):表示邻居关系处于关闭状态,没有建立连接。

Attempt(尝试):表示路由器正在尝试与邻居建立连接。

Init(初始化):表示邻居关系正在初始化过程中,还未完成。

2-Way(双向):表示邻居路由器已经收到了对方的Hello报文,表明双方的邻居关系已经建立。

Exstart(启动):表示邻居路由器正在进行Master/Slave角色的选举过程。

Exchange(交换):表示邻居路由器正在交换链路状态数据库(LSDB)信息。

Loading(加载):表示邻居路由器正在加载链路状态信息,并更新自己的路由表。

Full(完全):表示邻接关系已经完全建立,路由器之间的信息同步完成。

邻居关系和邻接关系有什么区别?

邻居关系指的是2-Way状态,处于邻居关系的OSPF接口不能进行LSA信息交换,DR Other接口之间只能形成邻居关系。

邻接关系指的是Full状态,完成了LSA交换的OSPF路由器将建立邻接关系,DR,BDR和其他OSPF接口形成的是邻接关系。

2.2 广播网络OSPF邻接关系建立

在讨论邻居关系的时候,我们一定得分场景(OSPF网络类型)去讨论,不同的场景邻接状态会有一定的差异,我们以广播网络来进行分析和讨论。

 图 2-1 广播网络OSPF邻接关系建立

3.Router ID(路由器ID)选举

当一个路由器运行OSPF协议时,它需要选择一个唯一的路由器ID(Router ID)来标识自己。

路由器ID在OSPF网络中非常重要,它用于识别路由器、区分LSA(链路状态广告)和确定OSPF路由的计算。

OSPF路由器ID选举的过程如下:

  • 手动配置:管理员可以手动配置路由器ID,手动配置的路由器ID优先级最高,如果手动配置了ID,则将使用该ID。
  • Loopback接口IP:如果没有手动配置的路由器ID,那么路由器将从其所有接口的IP地址中选择一个最高的IP地址作为路由器ID。通常情况下,Loopback接口的IP地址具有最高优先级,因为它们是稳定且通常不会更改的。
  • 物理接口IP:如果没有Loopback接口或没有可用的Loopback接口,那么将选择具有最高优先级的物理接口的IP地址作为路由器ID。接口优先级可以通过配置进行调整。
  • 最高MAC地址:如果以上选项都不可用,则将使用具有最高MAC地址的物理接口作为路由器ID。

需要注意的是,一旦路由器ID被选定,它将在OSPF进程的整个生命周期内保持不变,除非手动更改或重新启动OSPF进程。

 图 3-1 Router ID选举优先级

4.DR和BDR选举

4.1 为什么引入DR和BDR?

OSPF引入了DR(Designated Router)和BDR(Backup Designated Router)的概念,为了减少链路状态广告(LSA)的洪泛以及减轻网络负载。

如图 4-1,未选举DR和BDR的广播网络,路由器之间的邻接关系数量为n*(n-1)/2,图种6个OSPF路由器的邻接关系数量为6*(6-1)/2 = 15,路由器越多邻接关系越复杂。

选举DR和BDR的广播网络,路由器只需和DR和BDR建立邻接关系即可,这样邻接关系数量会大大的减少。

图 4-1 引入DR和BDR的好处

 4.2 DR和BDR的作用

DR是网络中被选举为主要路由器的路由器,它负责收集并分发LSA,其他路由器只需将LSA发送给DR即可。

BDR是备份的DR,它接收LSA并保存备份数据,以便在DR失效时接替其角色。

4.3 DR和BDR选举过程

DR和BDR选举是在OSPF邻居关系建立阶段进行的。当一个路由器与其他路由器建立邻居关系时,它们会交换Hello报文。 在Hello报文中,路由器会宣告自己的优先级(Priority)。默认情况下,所有路由器的优先级都是1。

当一个路由器收到Hello报文时,它会比较对方的优先级和自己的优先级。如果对方的优先级大于自己的优先级,那么它会接受对方作为DR,并将自己作为BDR。 如果对方的优先级与自己的优先级相同,那么会比较对方的路由器ID(Router ID)。路由器ID是由路由器在OSPF进程中唯一标识自己的32位数字。 如果对方的路由器ID较大,那么它会接受对方作为DR,并将自己作为BDR。

如果路由器没有被选举为DR或BDR,则它将是普通的OSPF路由器,只需要将LSA发送给DR和BDR。

需要注意的是,DR和BDR选举是相对于一个OSPF区域(OSPF Area)而言的。在不同的区域中,会进行独立的DR和BDR选举。

通过DR和BDR的选举,OSPF能够减少LSA洪泛,提高网络效率,并减轻网络负载。同时,如果DR失效,BDR将接替其角色,保证网络的稳定性和可靠性。

 图 4-2 广播网络DR和BDR选举过程

4.4 DR和BDR选举原则

(1)选举制

DR和BDR不能通过人工配置,只能通过选举产生。

(2)终生制

DR和BDR一旦被选举出来将不会改变,路由器无法抢占成为DR或者BDR。

(3)继承制

如果DR发生故障,BDR将被选举位DR,其他路由器竞选BDR。

5.OSPF路由计算原理

OSPF使用SPF(Shortest Path First)算法来计算最短路径,并选择最佳的路由。

SPF算法的原理如下:

  1. 构建拓扑图:每个OSPF路由器根据收到的链路状态信息(LSA)构建一个拓扑图,其中包含网络、链路和路由器节点。

  2. 计算最短路径树:每个OSPF路由器使用Dijkstra算法计算从自己到其他所有节点的最短路径。该算法通过比较各个路径的总代价(通常是链路成本之和)来确定最短路径。

  3. 构建转发表:每个OSPF路由器根据最短路径树构建转发表,将每个目标网络映射到下一跳路由器。

  4. 更新链路状态数据库:当网络中发生链路状态变化时,每个OSPF路由器将更新自己的链路状态数据库,并重新计算最短路径树。

通过这样的方式,OSPF能够动态地适应网络中的变化,并选择最佳的路径来转发数据包。这种基于SPF算法的计算方式使得OSPF成为了一种高效可靠的路由协议。

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

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

相关文章

Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用

前言 如果对 vue3 的语法不熟悉的,可以移步 Vue3.0 基础入门,快速入门。 1. 安装依赖 yarn add sass -D // or npm install sass -D 2. 页面样式初始化 reset.scss /* 新建 src/assets/style/reset.scss */ /* 页面样式初始化 */ html, body, div, s…

常见的BUG---1、虚拟机启动之后,突然发现没有ens33网卡

1、问题描述 今天一开启虚拟机,发现用XShell连接不上我的一台虚拟机,其他虚拟机是正常可以连接的,我稍微看了一下XShell的配置和Windows中的映射文件(hosts),都没有啥问题,然后我就知道应该是虚…

SSM学习笔记-------Spring(二)

SSM学习笔记-------Spring(二) Spring_day021、IOC/DI配置管理第三方bean1.1 案例:数据源对象管理1.1.1 环境准备1.1.2 思路分析1.1.3 实现Druid管理步骤1:导入druid的依赖步骤2:配置第三方bean步骤3:从IOC容器中获取对应的bean对象步骤4:运行程序 1.1.4…

CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制

近期,CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制。 无人机行业在过去几年里取得了迅猛发展,大疆是全球领先的无人飞行器控制系统及无人机解决方案的研发商和生产商,客…

天津良心web前端培训学校品牌汇总(Web前端的起步薪资)

现在很多小伙伴想要了解web前端开发技术知识,但是不知道现在学习web前端值不值得,会有很多小伙伴开始犹豫学不学,学完能不能找到工作,那下面小编就通过下面三点,来给大家简单分析一下web行业,以及要不要报班…

需要为您的网站配置CDN的九大理由

所有的网站访问者都期望能够给用户提供快速高效的访问和使用体验,没有延迟或网站性能问题意味着更多的顾客和访问量。然而高流量和覆盖全球的网站意味着网站管理者面临着延迟增加和页面加载时间缓慢的挑战,这可能会导致业务损失。据统计,四分…

域服务(NETBASE第十一课)

域服务(NETBASE第十一课) web虚拟主机(一台服务器运行多个WEB站点) Web虚拟主机的实现方法: 1)同IP不同端口(基于端口的虚拟主机) 2)同端不同IP(基于IP的虚拟主机) 3)同端口同I…

DataFrame.pivot()--Pandas

1. 函数功能 通过指定的行、列重塑数据&#xff0c;进行行列转换 2. 函数语法 DataFrame.pivot(*, columns, indextyping.Literal[<no_default>], valuestyping.Literal[<no_default>])3. 函数参数 参数含义columns用于分组的列名&#xff0c;出现在透视表的列…

day 44 完全背包

完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品都有无限个&#xff08;也就是可以放入背包多次&#xff09;&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 完全背包和01背包问题唯一不同…

Yjmstr的算法竞赛模板(updating)

YJMSTR的算法竞赛模板 目录 文章目录 YJMSTR的算法竞赛模板目录图论一、最短路1.spfa与负环、最短路1.1 bfs-spfa找负环&#xff1a;1.2 dfs-spfa找负环1.3 spfa求最短路的优化 2.dijkstra模板&#xff08;set模拟二叉堆堆优化)2.1有向图最小环 3.Floyd求多源最短路/传递闭包/…

DataGrip连接clickhouse数据库后,左侧不显示库中的表

一、问题描述 使用datagrip链接clickhouse&#xff0c;本来左侧时可以显示数据库中对应的表的列表的。但是&#xff0c;这个链接clickhouse不显示。 二、问题解决 参考一些文档后&#xff0c;而且因为当前采用的时2023.1.2的版本&#xff0c;所以&#xff0c;选项有些改变。…

Java的运算符

运算符介绍 运算符是一种特殊的符号&#xff0c;用以表示数据的运算、赋值和比较等。 运算符介绍 算术运算符赋值运算符关系运算符 [比较运算符]逻辑运算符位运算符 [需要二进制基础]三元运算符 算术运算符 介绍 算术运算符是对数值类型的变量进行运算的&#xff0c;在 Ja…