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
相关推荐
Madison-No79 分钟前
【Linux】文件操作&&重定向原理
android·linux·运维
hjhcos27 分钟前
【宝塔】局域网IP申请SSL证书,解决浏览器本地环境可以访问摄像头,发布环境不能访问摄像头的问题
网络协议·tcp/ip·ssl
idontknow23339 分钟前
DPDK学习笔记(1):二层转发应用例代码解析
c语言·网络·笔记·学习
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.1 小时前
Haproxy ACL实战:精准分流与访问控制
运维
RockHopper20251 小时前
解读数字化生产运行系统的裁决机制
运维·系统架构·智能制造·isa-95·isa-88
guizhoumen1 小时前
2026年建站系统推荐及选项指南
大数据·运维·人工智能
yingdonglan2 小时前
鸿蒙跨端Flutter学习——GridView高级功能
linux·运维·windows
2301_803554522 小时前
阻塞,非阻塞,同步,异步以及linux上的5种IO模型阻塞,非阻塞,信号驱动,异步,IO复用
java·服务器·网络
遇见火星2 小时前
在Linux中使用journalctl命令进行日志分析和管理详细教程
linux·运维·服务器·journalctl
JAVA+C语言2 小时前
多主机 TCP 通信
网络·windows·tcp/ip