ospf协议

OSPF工作原理概述

OSPF(Open Shortest Path First)是一种链路状态路由协议,用于在IP网络中动态计算最优路径。它通过交换链路状态信息构建拓扑数据库,并使用Dijkstra算法计算最短路径树。

邻居发现与邻接关系建立

OSPF路由器通过发送Hello报文发现相邻路由器。Hello报文包含路由器ID、区域ID、Hello间隔和Dead间隔等信息。当两台路由器在共同网络中收到彼此的Hello报文并确认参数匹配后,形成邻居关系。

在广播或多播网络中,OSPF选举DR(指定路由器)和BDR(备份指定路由器)以减少邻接关系数量。DR和BDR与其他所有路由器建立邻接关系,非DR/BDR路由器之间保持邻居状态但不交换完整链路状态信息。

链路状态数据库同步

建立邻接关系的路由器通过交换链路状态通告(LSA)同步链路状态数据库(LSDB)。同步过程包括:

  • 数据库描述(DBD)报文交换:比较LSDB摘要信息
  • 链路状态请求(LSR)报文:请求缺失的LSA
  • 链路状态更新(LSU)报文:发送请求的LSA
  • 链路状态确认(LSAck)报文:确认LSA接收

使用wireshark抓包获取的各个报文

DBD

 

LSR

LSU

LSA

使用cisco完成ospf单区域实验

实验拓扑

第一步:配置各个接口IP地址

代码示例

Router>enable
Router#conf terminal
Router(config)#int f3/0
Router(config-if)#ip address 192.168.20.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#int f0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.252
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#int f1/0
Router(config-if)#ip address 192.168.1.9 255.255.255.252
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#int f2/0
Router(config-if)#ip address 192.168.2.9 255.255.255.248
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#int f4/0
Router(config-if)#ip address 192.168.21.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#int loopback 0   
Router(config-if)#ip address 192.168.0.1 255.255.255.255
Router(config-if)#no shutdown
Router(config-if)#exit

第二步:配置ospf

代码示例(配置如拓扑图中router1 ospf)

R1(config)#router ospf 1
R1(config-router)#router-id 192.168.0.1
R1(config-router)#network 192.168.0.1 0.0.0.0 area 0
R1(config-router)#network 192.168.20.0 0.0.0.255 area 0
R1(config-router)#network 192.168.21.0 0.0.0.255 area 0
R1(config-router)#network 192.168.1.0 0.0.0.3 area 0
R1(config-router)#network 192.168.1.4 0.0.0.3 area 0
R1(config-router)#network 192.168.1.8 0.0.0.3 area 0
R1(config-router)#network 192.168.2.8 0.0.0.7 area 0
R1(config-router)#passive-interface fastEthernet 3/0  ###为业务网段配置被动接口
R1(config-router)#passive-interface fastEthernet 4/0

各个网段连通性

查看ospf邻居

查看ospf LSDB

SPF计算与路由表生成

每台OSPF路由器使用Dijkstra算法计算最短路径树(SPF树)。算法步骤如下:

  1. 将本地路由器作为根节点加入树中
  2. 计算根节点到所有邻居节点的最短路径
  3. 选择代价最小的路径加入树中
  4. 重复计算直到所有节点都在树中

计算完成后,路由器根据SPF树生成路由表。路径代价基于接口带宽计算,公式为: 参考带宽(默认100Mbps)/接口带宽

LSA类型与扩散机制

OSPF定义了多种LSA类型:

  • Type 1(Router LSA):描述路由器链路
  • Type 2(Network LSA):描述多路访问网络
  • Type 3(Summary LSA):区域间路由
  • Type 4(ASBR Summary LSA):指向ASBR的路由
  • Type 5(AS External LSA):外部路由
  • Type 7(NSSA LSA):NSSA区域外部路由

LSA扩散遵循以下规则:

  • 在区域内泛洪Type 1和Type 2 LSA
  • ABR在区域间传播Type 3和Type 4 LSA
  • ASBR在整个OSPF域传播Type 5 LSA

区域设计与层次化结构

OSPF采用分区域设计实现层次化路由:

  • 骨干区域(Area 0):必须存在且连接所有其他区域
  • 常规区域:连接骨干区域的非骨干区域
  • 特殊区域(Stub、NSSA等):优化外部路由传播

区域边界路由器(ABR)连接多个区域,自治系统边界路由器(ASBR)连接OSPF域和其他路由域。区域划分减少LSA传播范围,提高协议扩展性。

 与其他 IGP 的对比

特性OSPFRIPIS-ISEIGRP
算法链路状态距离矢量链路状态混合算法
路由度量Cost(带宽相关)跳数(最大 15)Cost(默认 10)复合度量(带宽、延迟等)
收敛速度极快
VLSM 支持支持不支持支持支持
层次结构支持区域划分不支持支持区域和层级支持 AS 号划分
厂商支持开放标准开放标准开放标准Cisco 私有

总结

      OSPF(Open Shortest Path First)是基于链路状态算法的内部网关协议,用于自治系统内动态路由。其核心特点包括:采用Dijkstra算法计算最短路径,支持VLSM/CIDR,通过区域划分构建分层网络结构。协议通过Hello包发现邻居,选举DR/BDR减少LSA泛洪,使用组播地址224.0.0.5/6交换信息。 OSPF路由器分内部、ABR、ASBR和骨干路由器,区域类型包括骨干区、标准区、末梢区等。LSA是其核心数据单元,包含链路状态信息,分多种类型实现不同功能。工作时先建立邻居关系,再同步LSDB,通过泛洪更新拓扑,最终计算最优路由。 配置时需指定Router ID、启用进程并宣告直连网段。验证可通过display ospf peer brief等命令。相比RIP,OSPF收敛快、扩展性强,适合中大型网络,但配置维护较复杂。它是企业网络主流IGP,广泛应用于园区网、数据中心等场景。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值