OSPF路由协议(上)
OSPF 概述
OSPF(Open Shortest Path First)是一种基于链路状态的动态路由协议,属于IGP(内部网关协议),采用Dijkstra算法计算最短路径树。它支持VLSM(可变长子网掩码)和快速收敛,适用于中大型网络。
OSPF 工作原理
- 链路状态通告(LSA):路由器通过LSA广播自身链路状态信息,形成统一的链路状态数据库(LSDB)。
- 区域划分:通过划分区域(Area)减少路由更新流量,骨干区域(Area 0)必须连通其他非骨干区域。
- 邻居关系:通过Hello报文建立邻居关系,最终形成邻接关系以同步LSDB。
OSPF 配置示例
以Cisco设备为例,基本配置如下:
router ospf 1network 192.168.1.0 0.0.0.255 area 0network 10.0.0.0 0.255.255.255 area 1
router ospf 1
启用OSPF进程,进程ID为1。network
命令指定参与OSPF的接口及所属区域。
OSPF 路由类型
- 区域内路由(Intra-Area):同一区域内的路由。
- 区域间路由(Inter-Area):通过ABR(区域边界路由器)在不同区域间传递的路由。
- 外部路由(Type 1/Type 2):通过ASBR(自治系统边界路由器)引入的外部路由,Type 1考虑内部开销,Type 2仅考虑外部开销。
OSPF 优化与排错
- DR/BDR选举:在广播多路访问网络中选举指定路由器(DR)和备份指定路由器(BDR),减少邻接关系数量。
- 认证配置:启用MD5或明文认证提升安全性:
interface GigabitEthernet0/0ip ospf authentication message-digestip ospf message-digest-key 1 md5 YOUR_KEY
- 排错命令:
show ip ospf neighbor
查看邻居状态。show ip ospf database
检查LSDB完整性。
维持邻居关系(点对点)
• 邻居之间通过交换Hello报文,确认邻居是否工作正常
• 如果在一定的时间间隔内,收不到邻居发来的Hello报文,就认为邻居已经失效,从邻居表中删除。
DR/BDR的选举(广播多路访问)
• 采用DR/BDR建立邻接关系,可以降低需要维护的邻接关系数量
• OSPF协议包具备超时重传机制
• OSPF协议包具备序列号,对重复包不做处理
• 在广播和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路由域:运行OSPF路由协议的网络。
• OSPF区域:OSPF是一种支持划分多区域的协议。
– Area ID:32位,用数字或IP地址表示。