开放式最短路径优先
網際網絡協定 / 维基百科,自由的 encyclopedia
开放式最短路径优先(英语:Open Shortest Path First,缩写为 OSPF)是广泛使用的一种路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。
OSPF是一种基于IP协议的路由协议。它是大中型网络上使用较为广泛的IGP协议。OSPF是对链路状态路由协议(英语:Link-state routing protocol)的一种实现,运作于自治系统内部。OSPF分为OSPFv2和OSPFv3两个版本:OSPFv2定义于RFC 2328(1998),支持IPv4网络;而OSPFv3定义于RFC 5340(2008),支持IPv6网络。
它采用戴克斯特拉算法来计算最短路径树。它使用“开销(Cost)”作为路由度量。链路状态数据库(LSDB)用来保存当前网络拓扑结构,路由器上属于同一区域的链路状态数据库是相同的(属于多个区域的路由器会为每个区域维护一份链路状态数据库)。
OSPF提出了“区域(Area)”的概念,一个网络可以由单一区域或者多个区域组成。其中,一个特别的区域被称为骨干区域(Backbone Area),该区域是整个OSPF网络的核心区域,并且所有其他的区域都与之直接连接。所有的内部路由都通过骨干区域传递到其他非骨干区域。所有的区域都必须直接连接到骨干区域,如果不能建立直接连接,那么可以通过虚链路(virtual link)和骨干区域建立虚拟连接。
同一个广播域(Broadcast Domain)的路由器或者一个点对点(Point To Point)连接的两端的路由器,在发现彼此的时候,建立邻接(Adjacencies)[注 1]。多路访问网络以及非广播多路访问网络的路由器会选举指定路由器(Designated Router, DR)和备份指定路由器(Backup Designated Router, BDR),DR和BDR作为网络的中心负责路由器之间的信息交换从而降低了网络中的信息流量。OSPF协议同时使用单播(Unicast)和群播(Multicast)来发送Hello包和链路状态更新(Link State Updates),使用的群播地址为224.0.0.5和224.0.0.6。与RIP和BGP不同的是,OSPF协议不使用TCP或者UDP协议而是直接承载在IP协议之上,IP协议号为89。