介绍OSPF

开放最短路径优先 (OSPF) 协议是一种链路状态路由协议,旨在替代距离矢量路由协议 RIP。OSPF 是一种无类路由协议,它使用区域概念实现可扩展性。RFC 2328 将 OSPF 度量定义为一个独立的值,该值称为开销。 Cisco IOS 使用带宽作为 OSPF 开销度量。

OSPF背景

Internet 工程工作小组 (IETF) 的 OSPF 工作组于 1987 年着手开发 OSPF。当时,Internet 基本是由美国政府资助的学术研究网络。以下是发展历程:

OSPF消息封装:

OSPF 消息的数据部分封装在数据包内。此数据字段可能包含五种 OSPF 数据包类型之一。

无论每个 OSPF 数据包的类型如何,都具有 OSPF 数据包报头。随后,OSPF 数据包报头和数据包类型特定的数据被封装到 IP 数据包中。在该 IP 数据包报头中,协议字段被设为 89 以代表 OSPF,目的地址则被设为以下两个组播地址之一:224.0.0.5 或 224.0.0.6。如果 OSPF 数据包被封装在以太网帧内,则目的 MAC 地址也是一个组播地址:01-00-5E-00-00-05 或 01-00-5E-00-00-06。

OSPF数据包类型:

我们介绍了链路状态数据包 (LSP)。OSPF的 LSP 有五种类型。每种数据包在 OSPF 路由过程中发挥各自的作用:

1. Hello — Hello 数据包用于与其它 OSPF 路由器建立和维持相邻关系。Hello 协议将在下一主题中详细讨论。

2. DBD — DBD(数据库说明) 数据包包含发送方路由器的链路状态数据库的简略列表,接收方路由器使用本数据包与其本地链路状态数据库对比。

3. LSR — 随后,接收方路由器可以通过发送链路状态请求 (LSR) 数据包来请求 DBD 中任何条目的有关详细信息。

4. LSU — 链路状态更新 (LSU) 数据包用于回复 LSR 和通告新信息。LSU 包含七种类型的链路状态通告 (LSA)。LSU 和 LSA 将在下一主题中简略讨论。

5. LSAck - 路由器收到 LSU 后,会发送一个链路状态确认 (LSAck) 数据包来确认接收到了 LSU。