OSPF路由协议单区域

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发布

相关推荐
小白银子16 小时前
零基础从头教学Linux(Day 42)
linux·运维·服务器·网络·nginx
火星MARK17 小时前
如何配置 Ingress 的 SSL/TLS 证书?
网络·网络协议·ssl
看好多桂花树17 小时前
Nginx SSL/TLS 配置
网络·nginx·ssl
程序猿费益洲18 小时前
Docker 网络详解:(一)Linux 网络虚拟化技术
linux·网络·docker·容器·云计算
云宏信息19 小时前
赛迪顾问《2025中国虚拟化市场研究报告》解读丨虚拟化市场迈向“多元算力架构”,国产化与AI驱动成关键变量
网络·人工智能·ai·容器·性能优化·架构·云计算
歪歪10019 小时前
什么是TCP/UDP/HTTP?
开发语言·网络·网络协议·tcp/ip·http·udp
luckys.one19 小时前
第12篇|[特殊字符] Freqtrade 交易所接入全解:API、WebSocket、限频配置详解
网络·ide·python·websocket·网络协议·flask·流量运营
roman_日积跬步-终至千里20 小时前
【系统架构设计(36)】网络规划与设计
网络·系统架构
黄昏恋慕黎明21 小时前
javaEE初阶 网络编程(socket初识)
运维·服务器·网络
key_Go21 小时前
06.容器存储
运维·服务器·网络·docker