什么是OSPF:
ospf全称(Open Shortest Path First,OSPF)开放式最短路径优先,是被最广泛使用的一种动态路由协议,是一种链路状态协议。且具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。
为什么用OSPF:
在OSPF出现前,网络上广泛使用RIP(Routing Information Protocol)作为内部网关协议。
由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。
OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:
由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接收并广泛使用。

OSPF(Open Shortest Path First)的中文名称为开放式最短路径优先协议,是一个内部网关协议(IGP),能够适用各种规模的网络环境,是典型的链路状态协议。用于在单一自治系统(AS)中决策路由, OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用于IPv4网络,OSPFv3用于IPv6网络。
OSPF路由协议通过向全网扩散本设备的链路状态信息,是网络中的每台设备最终同步一个具有全网链路状态的数据库(LSDB),然后路由器使用迪杰斯特拉(Dijkstra)提出的最短路径算法(SPF),以自己为根,计算到达其它网络的最短路径,最终生成路由表。
OSPF属于无类路由协议,支持VLSM(变长子网掩码)。OSPF是以组播的形式进行链路状态的通告的。
在大模型的网络环境中,OSPF支持区域的划分,将网络进行合理规划。划分区域是必须存在骨干区域。其它区域和骨干区域直接相连,或通过虚链路的方式连接。
配置IP地址
R1:
[H3C]sysn R1
[R1]int g0/0
[R1-GigabitEthernet0/0]ip add 10.1.12.1 24
[R1-GigabitEthernet0/0]int g0/1
[R1-GigabitEthernet0/1]quit
R2:
[H3C]sysn R2
[R2]int g0/0
[R2-GigabitEthernet0/0]ip add 10.1.12.2 24
[R2-GigabitEthernet0/0]int g0/1
[R2-GigabitEthernet0/1]ip add 10.1.23.2 24
[R2-GigabitEthernet0/1]quit
R3:
[H3C]sysn R3
[R3]int g0/0
[R3-GigabitEthernet0/0]ip add 10.1.23.3 24
[R3-GigabitEthernet0/0]int g0/1
[R3-GigabitEthernet0/1]ip add 10.1.35.3 24
[R3-GigabitEthernet0/1]quit
R4:
[H3C]sysn R4
[R4]int g0/0
[R4-GigabitEthernet0/0]ip add 10.1.14.4 24
[R4-GigabitEthernet0/0]quit
R5:
[H3C]sysn R5
[R5]int g0/0
[R5-GigabitEthernet0/0]ip add 10.1.35.5 24
[R5-GigabitEthernet0/0]quit
按照图示分区域配置 OSPF ,实现全网互通
分析:实现全网互通,意味着每台路由器都要宣告本地的所有直连网段,包括环回口所在的网段。要求 ABR 的环回口宣告进骨干区域,即区域 0,
同时,每台路由器手动配置各自环回口的 IP 地址作为 Router-id
步骤 1:在路由器上分别配置 OSPF,按区域宣告所有直连网段和环回口
[R1]interface loop
[R1]interface LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32 //配置环回口
[R1-LoopBack0]quit
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0 //进入区域0开始宣告网段
[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]network 10.1.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit //退出区域0
[R1-ospf-1]area 1 //进入区域1宣告网段
[R1-ospf-1-area-0.0.0.1]network 10.1.14.0 0.0.0.255
[R2]interface LoopBack 0
[R2-LoopBack0]ip add 2.2.2.2 32 //配置环回口
[R2-LoopBack0]quit
[R2-ospf-1]area 0 //进入区域0开始宣告网段
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32 //配置环回口
[R3-LoopBack0]quit
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0 //进入区域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
[R3-ospf-1-area-0.0.0.2]quit
[R4]int LoopBack 0
[R4-LoopBack0]ip add 4.4.4.4 32 //配置环回口
[R4-LoopBack0]quit
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 1 //进入区域1开始宣告网段
[R4-ospf-1-area-0.0.0.1]network 4.4.4.4 0.0.0.0
[R5]int LoopBack 0
[R5-LoopBack0]ip add 5.5.5.5 32 //配置环回口
[R5-LoopBack0]quit
[R5]ospf 1 router-id 4.4.4.4
[R5-ospf-1]area 2 //进入区域0开始宣告网段
[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
检查是否全网互通
思考:检查 OSPF 是否全网互通,一个是检查邻居关系表,看邻居关系是否正常;另一个是检查路由表,看是否学习到全网路由,这里只展示 R1 的检查结果
步骤 1:检查 R1 的邻居关系表

说明:可以看到,R1 分别和 R2 和 R4 建立了邻接关系,状态为 FULL,邻居关系正常
步骤 2:检查 R1 的路由表

说明:可以看到,R1 已经学习到了全网所有网段的路由信息