OSPF实验以及核心原理全解

OSPF(Open Shortest Path First,开放式最短路径优先)是一种基于链路状态的内部网关协议(IGP),广泛应用于中大型网络中。它通过维护网络拓扑信息,使用 SPF(最短路径优先)算法计算最优路由,具有收敛快、无环路、支持大型网络等特点。以下从核心原理 和实验设计两部分详细说明。

一、OSPF 核心原理

1. 基本定位与特点
  • 链路状态路由协议:与 RIP 等距离矢量协议不同,OSPF 路由器不传递 "路由条目",而是交换 "链路状态信息"(如接口带宽、连接关系、开销等),并基于这些信息独立计算路由。
  • 适用场景:大型企业网、运营商骨干网等,最大可支持数千台路由器。
2. 区域划分(Area)

OSPF 通过 "区域" 划分减小路由计算复杂度,核心设计是 "骨干区域 + 非骨干区域":

  • 骨干区域(Area 0):所有非骨干区域必须直接或间接连接到 Area 0,负责区域间路由的传递,确保全网路由互通。
  • 非骨干区域(Area 1、2...):用于缩小单区域内的链路状态数据库(LSDB)规模,降低 SPF 计算压力。
  • 特殊区域:为进一步优化,可配置 Stub(末梢区域)、Totally Stub(完全末梢区域)、NSSA(非完全末梢区域)等,限制 LSA(链路状态通告)的传播。
解释说明:
ospf进行选举,选为DR的路由器(具体怎么选举可以不必深入探究)就是骨干区域(可以有很多个路由器), 但是一个ospf系统只有一个骨干区域,非骨干区域必须要有至少一个路由器连接骨干区域,另外那个连接着骨干和非骨干的路由器配置的时候需要宣告两个区域的网段。

OSPF实验

二,实验目的:

实现全网互通,相比于RIP具有收敛快、无环路、支持大型网络等特点

三,实验拓扑图:

四,实验需求:

1.拓扑图中有三个区域,区域0为骨干区域,其他为非骨干区域。lo表示路由器的回环地址(一个虚拟的接口 相比于接口更稳定)。
2.配置每个路由器的IP地址(具体怎么划分更便捷看其他文章)
3.了解OSPF的配置以及区分network

五,实验步骤

步骤一:配置路由器的每个IP地址以及回环地址
R4:其余四个路由器也是一样的
python 复制代码
[R4]INT g0/0
[R4-GigabitEthernet0/0]ip add 10.1.14.4 24
[R4-GigabitEthernet0/0]int lo0 ///回环地址
[R4-LoopBack0]ip add 4.4.4.4 255.255.255.255
[R4-LoopBack0]quit
步骤二:配置OSPF

R4:

python 复制代码
[R4]ospf 1 router-id 4.4.4.4 
##启用OSPF进程,指定路由器ID
[R4-ospf-1]area 1
##进入区域
[R4-ospf-1-area-0.0.0.1]network 10.1.14.0 0.0.0.255
[R4-ospf-1-area-0.0.0.1]network 4.4.4.4 0.0.0.0
##宣告区域内的网段
[R4-ospf-1-area-0.0.0.1]%Jul 10 10:17:34:458 2025 R4 OSPF/5/OSPF_NBR_CHG: OSPF 1 Neighbor 10.1.14.1(GigabitEthernet0/0) changed from LOADING to FULL.
[R4-ospf-1-area-0.0.0.1]quit
R1:值得注意的是R1和R3跨两个区域所以要配置两个区域(区域0和区域1)每个区域不同的网段
python 复制代码
[R1]ospf 1 router-id 1.1.1.1 
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]network 10.1.14.0 0.0.0.255
R2:每个回环地址也需要宣告
python 复制代码
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.1.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

R3:

python 复制代码
[R3]osPF 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.1.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]QUIT
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 10.1.35.0 0.0.0.255

R5:

python 复制代码
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 2
[R5-ospf-1-area-0.0.0.2]network 5.5.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.2]network 10.1.35.0 0.0.0.255
步骤三:验证
通过R4去PingR5的IP地址
python 复制代码
[R4]ping 10.1.35.5
Ping 10.1.35.5 (10.1.35.5): 56 data bytes, press CTRL+C to break
56 bytes from 10.1.35.5: icmp_seq=0 ttl=252 time=2.000 ms
56 bytes from 10.1.35.5: icmp_seq=1 ttl=252 time=2.000 ms
56 bytes from 10.1.35.5: icmp_seq=2 ttl=252 time=2.000 ms
56 bytes from 10.1.35.5: icmp_seq=3 ttl=252 time=2.000 ms
56 bytes from 10.1.35.5: icmp_seq=4 ttl=252 time=2.000 ms

--- Ping statistics for 10.1.35.5 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms
相关推荐
cg.family1 分钟前
K8S:scale 与 delete pod 核心区别
运维·docker·容器
开开心心_Every4 分钟前
黄金价格软件国内外价格实时监控超方便
运维·服务器·游戏·智能手机·pdf·lua·perl
Initialize293086 分钟前
systemd 服务起不来?五步排查法
运维
LMT_Lanmantech7 分钟前
HyperWorks许可:almutil显示Unit满了,数据到底准不准?
运维·服务器·算法
system_error_x8 分钟前
服务器的替代方案:从物理机到云原生的全面对比
运维·服务器·云原生
努力进修15 分钟前
多源异构数据库同步难题:DDL 结构变更自动化解决方案
运维·数据库·自动化
白帽攻防录19 分钟前
SRC 挖洞:QUIC 协议栈双 RCE,HTTP/3 的新攻击面怎么挖
网络·网络协议·http·网络安全·http/3
墨云安全22 分钟前
AI 漏洞挖掘平台怎么评估?2026 年技术架构与选型要点
网络·人工智能·网络安全·架构·渗透测试
云票24 分钟前
从技术视角看AI采购:多智能体、流程重设计与自动化的落地边界
运维·人工智能·自动化
wei_shuo31 分钟前
极空间部署1Panel实战:应用商店装AList、Docker管理与远程访问
运维·docker·容器