一、OSPF简介
OSPF是一种用于IP网络的链路状态路由协议,它能够高效地计算网络中的最短路径,并支持多路径负载均衡。在OSPF中,每个路由器都会维护一份全网的拓扑图,并通过这些信息计算出到达目的地的最佳路径。
二、OSPF报文类型
- Hello报文:用于建立、维护和撤销邻居关系。
- Database Description(DBD)报文:包含数据库摘要信息,用于确定邻居间的数据库差异。
- Link State Request(LSR)报文:请求数据库中缺失的链路状态信息。
- Link State Update(LSU)报文:传递链路状态信息。
- Link State Acknowledgment(LSAck)报文:确认收到LSA。
三、OSPF状态
- Down状态:路由器未开启OSPF。
- Init状态:发送第一个Hello报文,仅包含自己的Router ID。
- Two-way状态:接收到第一个完整的Hello报文,包含双方的Router ID。
- Exstart状态:交换第一个DBD报文,确定主从关系,确保传输可靠性。
- Exchange状态:开始交换数据库信息,发送完整的DBD报文。
- Loading状态:数据库同步。
- Full状态:完全邻接。
四、OSPF路由角色
- Backbone Area路由器:至少有一个接口属于骨干区域。
- Area Border Router(ABR):连接骨干区域和非骨干区域。
- AS Boundary Router(ASBR):连接内部网络和外部网络的路由器。
五、OSPF区域
- Backbone Area:Area ID为0。
- Non-Backbone Area:Area ID非0。
- 特殊区域:
- Stub区域:隔离四类和五类LSA,也不能引入外部路由。
- Totally Stub区域:隔离四类、五类和三类LSA,也不能宣告外部路由。
- Not So Stubby Area(NSSA):隔离四类和五类LSA,可以引入外部路由。
- Totally NSSA区域:隔离四类、五类和三类LSA,可以宣告外部路由。
六、DR和BDR
- Designated Router(DR):区域内所有设备和DR、BDR建立Full连接,其他设备与DR同步数据库。
- Backup Designated Router(BDR):作为DR的备份,可快速顶替DR。
七、OSPFv2和OSPFv3的LSA类型
-
OSPFv2 LSA:
- 一类LSA:Router LSA,由路由器产生,描述路由器连接的拓扑信息。
- 二类LSA:Network LSA,由DR产生,描述网段信息。
- 三类LSA:Network Summary LSA,由ABR产生,描述去往区域间网段的路由。
- 四类LSA:ASBR Summary LSA,由ABR产生,描述去往ASBR的路由。
- 五类LSA:External LSA,由ASBR宣告,通告外部路由。
- 七类LSA:NSSA LSA,由ABR产生,描述去往其他区域的外部路由。
-
OSPFv3 LSA:
- 一类和二类LSA:仅描述拓扑信息,不描述网段信息。
- 三类LSA:Inter-Area-Prefix LSA,类似于v2的三类LSA。
- 四类LSA:Inter-Area-Router LSA,类似于v2的ASBR LSA。
- 五类LSA:AS-External LSA
,类似于v2的External LSA。
- 六类LSA:Opaque-LSA,用于传输特殊类型的信息。
- 七类LSA:Link LSA,由链路中的路由器产生,用于描述链路信息。
- 八类LSA:Intra-Area-Prefix LSA,描述区域内的网段信息。
八、OSPF无法建立邻接的原因
- Router ID相同。
- 同链路Area ID不同。
- 同链路不同掩码。
- Hello时间不相同。
- 网段内DR优先级全部为0。
- 认证不匹配。
- MTU值不一致(默认:OSPF不开启MTU检查)。
九、结语
通过本文,我们了解了OSPF路由协议的工作原理、报文类型、状态、路由角色、区域类型以及LSA类型。掌握这些知识对于网络工程师来说至关重要。希望这些信息能帮助大家更好地理解和部署OSPF协议。如有疑问,欢迎在评论区留言交流。谢谢阅读!