OSPF(Open Shortest Path First,开放式最短路径优先)为内部网关协议(Interior Gateway Protocol ,简称IGP)
OSPF路由选择及其关系密切的协议IS-IS都被广泛用于因特网的AS(Autonomous System,AS)内部路由选择。OSPF是一种链路状态协议,它使用洪泛链路状态信息和Dijkstra最低开销路径算法。使用OSPF,一台路由器构建了一幅关于整个自治系统的完整拓扑图(即一幅图)。于是,每台路由器在本地运行Dijkstra的最短路径算法,以确定一个以自身为根节点到所有子网的最短路径树。各条链路开销是由网络管理员配置的,管理员也许会选择将所有链路开销设为1,因而实现了最少跳数路由选择,或者可能会选择将链路权值按与链路容量成反比来设置,从而不鼓励流量使用低带宽链路。OSPF不强制使用设置链路权值的策略(那是网络管理员的任务),而是提供了一种机制(协议),为给定链路权值集合确定最低开销路径的路由选择。
使用OSPF时,路由器向自治系统内所有其他路由器广播路由选择信息,而不仅仅是向其相邻路由器广播。每当一条链路的状态发生变化时(如开销的变化或连接/中断状态的变化),路由器就会广播链路状态信息。即使链路状态未发生变化,它也要周期性地(至少每隔30 min 一次)广播链路状态。OSPF通告包含在OSPF报文中,该OSPF报文直接由IP承载,对OSPF其上层协议的值为89。因此OSPF协议必须自己实现诸如可靠报文传输、链路状态广播等功能。OSPF协议还要检查链路正在运行(通过向相连的邻居发送HELLO报文),并允许OSPF路由器获得相邻路由器的网络范围链路状态的数据库。
OSPF主要具有以下优势:
- 与路由信息协议(Routing Information Protocol,简称RIP)等距离矢量路由协议相比,OSPF 更适合为大型异构互联网络提供服务。 当网络拓扑发生变化时,OSPF 可以在短时间内重新计算路由。
- 支持在单个AS中的层次结构。一个OSPF自治系统能够层次化地配置多个区域。每个区域都运行自己的OSPF链路状态路由选择算法,区域内的每台路由器都向该区域内的所有其他路由器广播其链路状态。在每个区域内,一台或多台区域边界路由器负责为流向该区域以外的分组提供路由选择。最后,在AS中只有一个OSPF区域配置成主干区域。主干区域的主要作用是为该AS中其他区域之间的流量提供路由选择。该主干总是包含本AS中的所有区域边界路由器,并且可能还包含了一些非边界路由器。在AS中的区域间的路由选择要求分组先路由到一个区域边界路由器(区域内路由选择),然后通过主干路由到位于目的区域的区域边界路由器,进而再路由到最终目的地。
- 多条相同开销的路径。当到达某目的地的多条路径具有相同的开销时,OSPF允许使用多条路径(即当存在多条相等开销的路径时,无须仅选择单一的路径来承载所有的流量)。