OSPF(开放式最短路径优先)是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部(AS)。采用戴克斯特拉算法(Dijkstra's algorithm)被用来计算最短路径树。“Cost”作为路由度量值。链路状态数据库(LSDB)用来保存当前网络拓扑结构,路由器上属于同一区域的链路状态数据库是相同的(属于多个区域的路由器会为每个区域维护一份链路状态数据库)。

OSPF提出了“区域(Area)”的概念,一个网络可以由单一区域或者多个区域组成。每个区域都存在一个骨干区域(Area0),该区域是整个OSPF网络的核心区域,并且所有其他的区域都与之直接连接。所有的内部路由都通过骨干区域传递到其他非骨干区域(也叫标准区域Area1,2,3……)。所有的区域都必须直接连接到骨干区域,如果不能创建直接连接,那么可以通过虚链路和骨干区域创建虚拟连接。区域分为骨干区域,非骨干区域(末梢区域,不完全末梢区域,完全末梢区域,完全非纯末梢区域)

同一个广播域的路由器或者一个点对点连接的两端的路由器,在发现彼此的时候,创建邻接。多路访问网络以及非广播多路访问网络的路由器会选举指定路由器(DR)和备份指定路由器(BDR),DR和BDR作为网络的中心负责路由器之间的信息交换从而降低了网络中的信息流量。OSPF协议同时使用单播和组播来发送Hello包和链路状态更新,使用的组播地址为224.0.0.5和224.0.0.6。与RIP和BGP不同的是,OSPF协议不使用TCP或者UDP协议而是承载在IP协议之上,IP协议号为89,工作在OSI模型的传输层。

OSPF的路由类型有四种

内部路由器:如果一台路由器上所有启用了OSPF的接口都在同一区域,那么这台路由器就是内部路由器。

骨干路由器:指至少有一个启用了OSPF的接口是和骨干区域(Area 0)相连的路由器。一台骨干路由器也可以同时是ABR或ASBR

区域边界路由器(ABR):指连接一个或者多个区域的路由器。区域边界路由器为每一个与之相连的区域维护一份链路状态数据库,因此区域边界路由器需要比内部路由器更多的内存资源和更高性能的处理器。

自治系统边界路由器(ASBR):把从其他路由协议(如BGP、EIGRP、其他进程号的OSPF等)学习到的路由以路由重分发的方式注入到OSPF进程中,从而使得整个OSPF域内的路由器都可以学习到这些路由(除了末梢区域内的路由器)。一台ASBR可以是OSPF域内非末梢区域的任何路由器,它可以是内部路由器、区域边界路由器、骨干路由器。