RIP的不足

以跳数评估的路由并非最优路径
如果RTA选择S0/0传输,传输需时会大大缩短为3s
在这里插入图片描述

RIP协议限制网络直径不能超过16跳

收敛速度慢
RIP定期路由更新
– 更新计时器:定期路由更新的时间间隔,默认30秒。
– 失效计时器:失效计时器内未收到更新,路由失效,默认180秒。
– 清除计时器:清除计时器内未收到更新,路由清除,默认240秒。
在这里插入图片描述

更新发送全部路由表浪费网络资源
假设RTA和RTB各有1000条路由,每条路由需占用20个字节
每次路由更新时,RTA和RTB之间单向需消耗至少160Kb的带 宽资源

OSPF简介

OSPF英文全称Open Shortest Path First (开放式最短路径优先)
OSPF是IETF 开发的一种链路状态路由协议,使用基于带宽的度量值。
OSPF采用SPF算法计算路由,从算法上保证了无路由环路。
OSPF通过邻居关系维护路由,避免了定期更新对带宽的消耗。
OSPF路由更新效率高,网络收敛快,适用于大中型网络。
OSPF报文封装于IP,协议号89,组播地址224.0.0.5与224.0.0.6。

OSPF的基本工作原理

OSPF基本协议模型
在这里插入图片描述

OSPF四张表

在这里插入图片描述

邻居表:记录与本地路由器建立OSPF邻居关系的相邻路由器信息,用于维护邻居状态和协议交互。

LSDB表:存储全网拓扑信息,包含所有接收到的LSA(链路状态通告),用于计算最短路径树(SPF树)。

ospf表:通过SPF算法(Dijkstra)从LSDB中计算出的最优路径,尚未注入全局路由表。

全局路由:存储设备最终使用的路由信息,包含从所有路由协议(OSPF、静态路由、BGP等)学到的路由。

OSPF基本概念 ----------- Router ID

一台路由器如果要运行OSPF协议,则必须存在Router ID(RID)。
RID是一个32比特无符号整数,可以在一个自治系统中唯一的标识一台路由器。
RID可以手工配置,也可以自动生成。

如果没有通过命令指定RID,将按照如下顺序自动生成一个RID:
如果当前设备配置了Loopback接口,将选取所有Loopback接口上数值最大 的IP地址作为RID;
如果当前设备没有配置Loopback接口,将选取它所有已经配置IP地址且链在这里插入图片描述
路UP的接口上数值最大的IP地址作为RID。

OSPF基本概念------LS
链路状态(LS):路由器周边的链路的状态
直连网段状态:通过接口网段和接口状态感知
描述直连网段:(网段,掩码,接口开销)
直连拓扑状态:通过OSPF邻居和邻居状态感知
描述直连拓扑:(邻居RouterID,连接接口,接口开销)
接口开销:OSPF参考带宽 / 接口带宽
OSPF参考带宽默认为100Mbps。
Loopback接口的开销默认为1。

OSPF基本概念------LSA
LSA:每个路由器通过LSA向邻居通告自己的直连链路状态,最终所有路由器同步链路状态数据库(LSDB)

OSPF基本概念-----LSDB
LSDB:
每台OSPF路由器都有一个LSDB,用于存储LSA。
同一个区域中的OSPF路由器的LSDB一致。
LSA封装在LSU报文中,在区域内洪泛,最终达到区域内LSDB一致。
LSA在洪泛过程中内容保持不变。

OSPF基本概念----SPF
SPF计算
以自己LSA 1为根,进行SPF计算。
各OSPF路由器单独进行SPF计算,互不影响。

OSPF基本概念 ----------- OSPF网络类型
Broadcast广播多路访问:以太网接口
NBMA(Non-Broadcast Multi-Access,非广播多点访问网络):帧中继接口
P2MP(Point-to-MultiPoint,点到多点)
P2P(Point-to-Point,点到点):PPP HDLC接口

OSPF基本概念 ----------- OSPF报文类型与封装
在这里插入图片描述

OSPF报文直接封装在IP报文中,协议号为89。
在这里插入图片描述

链路层帧头:在数据链路层(如以太网)中标识源/目标设备,确保帧正确传输到相邻设备。

IP Header:在网络层(三层)实现跨网段寻址,将OSPF报文从源IP路由到目标IP。

OSPF Packet:承载OSPF协议的具体信息(如Hello、LSU、LSR等),用于邻居发现、LSDB同步等。

链路层帧尾:标记帧结束,并提供错误检测机制。

维持邻居关系(点对点)
在这里插入图片描述
在这里插入图片描述

邻居之间通过交换Hello报文,确认邻居是否工作正常
如果在一定的时间间隔内,收不到邻居发来的Hello报文,就认为邻居已经失效,从邻居表中删除。

DR/BDR的选举原则

首先比较Hello报文中携带的优先级
优先级最高的被选举为DR,优先级次高的被选举为BDR
优先级为0的不参与选举
优先级一致的情况下,比较Router ID
Router ID越大越优先
保持稳定原则
当DR/BDR已经选举完毕,就算一台具有更高优先级的路由器变为有效,也 不会替换该网段中已经选举的DR/BDR成为新的DR/BDR
在这里插入图片描述

当DR失效时,BDR立刻成为新的DR
DRother路由器进行竞争,Router ID高的成为新的BDR

邻居关系无法建立原因总结
在这里插入图片描述

DOWN、Init、two-way之间的状态转换
在这里插入图片描述

DOWN 初始状态,表示未收到任何来自邻居的Hello报文。
Init 已收到邻居的Hello报文,但邻居的Hello报文中未包含自己的Router ID。
2-Way 双向通信已建立,双方Hello报文中均包含对方的Router ID。

DOWN → Init
触发条件:
本地路由器从接口收到邻居发来的Hello报文,但该Hello报文的邻居列表(Neighbor List)中不包含自己的Router ID。

Init → 2-Way
触发条件:
本地路由器收到邻居发来的Hello报文,且该报文的邻居列表中包含自己的Router ID。

状态转换详解

在这里插入图片描述

(1) ExStart → Exchange
触发条件:
双方路由器通过空DBD报文(不含LSA摘要)协商主从关系(Master/Slave)。
Master:负责控制DBD报文交换,使用自己生成的初始序列号。
Slave:响应Master的序列号。
选举依据:Router ID较大者成为Master。
关键动作:
发送带I(Init)、M(More)、MS(Master/Slave)标志的DBD报文。
一旦主从关系确定,进入Exchange状态。

(2) Exchange → Loading
触发条件:
双方通过DBD报文交换LSDB摘要(LSA头部信息,如LSA类型、Link State ID等)。
对比本地LSDB,发现缺失的LSA。
关键动作:
若发现缺失的LSA,发送LSR(Link State Request) 请求完整LSA。
收到LSR的一方回复LSU(Link State Update) 携带完整LSA。

所有缺失LSA请求完成后,进入Loading状态。

(3) Loading → Full
触发条件:
通过LSR/LSU报文完成所有缺失LSA的同步。
双方LSDB完全一致。
关键动作:
发送LSAck(Link State Acknowledgment) 确认收到的LSA。
状态变为Full,邻接关系正式建立,开始定期维护LSDB。

OSPF协议包具备超时重传机制
OSPF协议包具备序列号,对重复包不做处理

包含在各种报文中的LSA信息

在这里插入图片描述

LSA报文头部

在这里插入图片描述

泛洪新LSA
当有新的LSA生成或收到时,这条新的LSA应当被泛洪。
泛洪新的LSA时,只需要使用LS Update报文和LS Ack报文。

  1. 当RTA有新的LSA要泛洪时,RTA向RTB发送一个LS Update报文,在
    这个报文里包含这条LSA。
  2. 收到新的LSA以后,RTB向RTA泛洪一个LS Ack报文进行确认。
    当在两个处于完全邻接状态(邻居状态为Full)的路由器之间泛洪新的LSA
    时,邻居状态不受影响。
    在这里插入图片描述

在广播和NBMA网络中,链路状态发生变化时,主要是通过DR路由器发送更新报文。

OSPF LSA洪泛与老化

– LSA不老化的缺点:当网络长时间中断,故障网络中的设备发起
的LSA长时间无效,但仍然存储在LSDB中,浪费设备内存。
OSPF LSA采用递增老化
LSA自发起时开始计时,到达最大老化时间后,从LSDB中清除。
OSPF最大老化时间3600秒,LSA头部的老化时间字段用于计时。

OSPF LSA老化与全网刷新
正常OSPF网络的路由维护
LSA老化时间到达最大老化时间的一半(30分钟),发起路由器
随机等待一段时间后重新发起该LSA,然后洪泛,刷新所有路由器LSDB。
新发起的LSA序列号加1,老化时间为0。
LSA在整个洪泛过程中,除老化时间外,其余各字段都保持不变

在这里插入图片描述

OSPF区域划分

在这里插入图片描述

OSPF协议区域LSA发布

在这里插入图片描述

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

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

相关文章

Kubernetes部署与管理Scrapy爬虫:企业级分布式爬虫平台构建指南

引言:Kubernetes在爬虫领域的战略价值在大规模数据采集场景中,​​容器化爬虫管理​​已成为企业级解决方案的核心。根据2023年爬虫技术调查报告:采用Kubernetes的爬虫系统平均资源利用率提升​​65%​​故障恢复时间从小时级缩短至​​秒级​…

Web-Machine-N7靶机攻略

一.环境准备(VBox,kali虚拟机,靶机) 1.1Vbox下载地址: Downloads – Oracle VirtualBox 1.2将N7导入到这个虚拟机中 1.3将kali和Vbox都设置成桥接模式 1.4开启靶机 若鼠标出不来可以使用组合技,CtrlAltDelete强制退出 二.信息…

用毫秒级视频回传打造稳定操控闭环之远程平衡控制系统技术实践

在工业自动化、远程机器人、无人装备等复杂作业场景中,远程实时操控正逐步取代传统“监控指令”模式,成为提升效率与保障安全的关键能力。尤其在高风险、高精度的应用环境中,操作者不仅要“能控”,更要“看得准、反应快”。 真正…

瑞萨电子RA-T MCU系列新成员RA2T1——电机控制专家

RA2T1系列微控制器基于64MHz ArmCortex-M23内核设计,专为单电机控制应用而优化。RA2T1集成PWM定时器,以及配备3个采样保持电路的A/D转换器等先进的模拟功能,适用于电动工具,风扇和家用电器等高效的低端电机控制方案。RA2T1支持1.6…

Java排序算法之<选择排序>

目录 1、选择排序 1.1、介绍 1.2、稳定性 2、执行流程 3、java实现 4、优缺点 总结:Java 排序算法进阶路线 O(n) 算法(适合学习原理) 冒泡排序(最慢)→ 选择排序 → 插入排序(推荐先学) …

ESP8266 http收发数据

1.先修改基础配置 make menuconfig 打开配置菜单 选择component config 然后选择 修改波特率为115200 保存退出 2.修改彩色日志打印的 在component config目录下找到log output 选中点击空格关掉彩色日志输出,这样正常串口打印就没有乱码了 然后保存退出 3…

ZLMediaKit 源代码入门

ZLMediaKit 是一个基于 C11 开发的高性能流媒体服务器框架,支持 RTSP、RTMP、HLS、HTTP-FLV 等协议。以下是源代码入门的详细指南: 1. 源码结构概览 主要目录结构: text ZLMediaKit/ ├── cmake/ # CMake 构建配置 ├── …

智能Agent场景实战指南 Day 21:Agent自主学习与改进机制

【智能Agent场景实战指南 Day 21】Agent自主学习与改进机制 文章内容 开篇 欢迎来到"智能Agent场景实战指南"系列的第21天!今天我们将深入探讨智能Agent的自主学习与改进机制——这是使Agent能够持续提升性能、适应动态环境的核心能力。在真实业务场景…

微信小程序中英文切换miniprogram-i18n-plus

原生微信小程序使用 miniprogram-i18n-plus第一步:npm install miniprogram-i18n-plus -S安装完成后,会在项目文件文件夹 node_modules文件里生成 miniprogram-i18n-plus, 然后在工具栏-工具-构建npm,然后看到miniprogram_npm里面…

LeetCode 127:单词接龙

LeetCode 127:单词接龙问题本质:最短转换序列的长度 给定两个单词 beginWord 和 endWord,以及字典 wordList,要求找到从 beginWord 到 endWord 的最短转换序列(每次转换仅改变一个字母,且中间单词必须在 wo…

docker搭建ray集群

1. 安装docker 已安装过docker 没安装流程 启动 Docker 服务: sudo systemctl start docker sudo systemctl enable docker # 设置开机即启动docker验证 Docker 是否安装成功: docker --version2. 部署ray # 先停止docker服务 systemctl stop docker…

【iOS】SideTable

文章目录前言1️⃣Side Table 的核心作用:扩展对象元数据存储1.1 传统对象的内存限制1.2 Side Table 的定位:集中式元数据仓库2️⃣Side Table 的底层结构与关联2.1 Side Table 与 isa 指针的关系2.2 Side Table 的存储结构2.3 SideTable 的工作流程3️⃣…

【Spring Cloud Gateway 实战系列】高级篇:服务网格集成、安全增强与全链路压测

一、服务网格集成:Gateway与Istio的协同作战在微服务架构向服务网格演进的过程中,Spring Cloud Gateway可与Istio形成互补——Gateway负责南北向流量(客户端到集群)的入口管理,Istio负责东西向流量(集群内服…

一文说清楚Hive

Hive作为Apache Hadoop生态的核心数据仓库工具,其设计初衷是为熟悉SQL的用户提供大规模数据离线处理能力。以下从底层计算框架、优点、场景、注意事项及实践案例五个维度展开说明。 一、Hive底层分布式计算框架对比 Hive本身不直接执行计算,而是将HQL转换…

SeaweedFS深度解析(三):裸金属单机和集群部署

#作者:闫乾苓 文章目录2.2.4 S3 Server(兼容 Amazon S3 的接口)2.2.5 Weed(命令行工具)3、裸金属单机和集群部署3.1 裸金属单机部署3.1.1安装 SeaweedFS3.1.2 以Master模式启动2.2.4 S3 Server(兼容 Amazon…

相机ROI 参数

相机的 ROI(Region of Interest,感兴趣区域) 参数,是指通过设置图像传感器上 特定区域 作为有效成像区域,从而只采集该区域的图像数据,而忽略其他部分。这一功能常用于工业相机、科研相机、高速相机等场景&…

Vue基础(24)_VueCompinent构造函数、Vue实例对象与组件实例对象

分析上一节代码中的school组件:该组件是一个名为VueCompinent的构造函数。截取部分vue.js源码,分析Vue.extend:// 定义一个名为VueComponent的构造函数对象Sub,往Sub对象调用_init(options)方法,参数为配置项&#xff…

萤石云替代产品摄像头方案萤石云不支持TCP本地连接-东方仙盟

不断试错东方仙盟深耕科研测评,聚焦前沿领域,以严谨标准评估成果,追踪技术突破,在探索与验证中持续精进,为科研发展提供参考,助力探路前行 萤石云价格萤石云的不便于使用 家庭场景:成本可控与隐…

C51:用DS1302时钟读取和设置时间

因为在ds1302.c文件中包含了写ds1302(51向ds1302写数据)和读ds1302(51从ds1302读数据)的两个函数,我们根据文件中提供的函数来写读取时间和设置时间的函数即可ds1302.c文件源码如下,需要的同学可以参考一下…

webrtc整体架构

WebRTC(Web Real-Time Communication)是一套支持浏览器和移动应用进行实时音视频通信的开源技术标准,其架构设计围绕 “实时性”“低延迟”“跨平台” 和 “安全性” 展开,整体可分为核心引擎层、API 层、支撑服务层三大部分&…