开放最短路径优先协议
出自 MBA智库百科(https://wiki.mbalib.com/)
开放最短路径优先协议(Open Shortest Path First, OSPF)
目录 |
什么是开放最短路径优先协议[1]
开放最短路径优先协议是内部网关协议,用于在同一个自治系统AS中的路由器之间发布路由信息。它是由IETF制定的一种基于链路状态的内部网关协议。
开放最短路径优先协议的特点[2]
(1)使用分布式的链路状态协议。
(2)路由器发送的信息是本路由器与哪些路由器相邻,以及链路状态(距离、时延、带宽等)信息。
(3)当链路状态发生变化时用洪泛法向所有路由器发送。
(4)所有的路由器最终都能建立一个链路状态数据库。
(5)为了能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的区域,一个区域内的路由器数不超过200个。
开放最短路径优先协议的基本原理[3]
开放最短路径优先协议是基于链路状态的分布式路由选择协议。它克服了RIP协议存在的一些缺点和局限,不受网络范围的限制(网络范围太大时,为了提高性能可以划分成若干网络区域),支持VLSM技术,并且提供服务类型选路、负载均衡等功能,能在不同网络之间同时使用多条路由,成为目前应用越来越普遍的内部网关协议。
与RIP协议不同的是,使用OSPF协议的路由器发送的消息不是路由表中的信息,而是两个路由器之间的链路状态信息,并把该信息广播给网络中所有的路由器。每个路由器再把所有的信息收集起来,形成整个网络的拓扑结构图,采用Dijkstra最短路径路由算法产生各自的路由表。所谓链路状态信息,指的是与该路由器相邻的网络和路由器信息以及将信息发送到这些网络和路由器所需的费用,这种费用可以是带宽、距离、时延或真正的费用等,如以108/带宽表示。为了确认哪些相邻站是可到达的,OSPF规定,每两个相邻路由器每隔10s交换一次Hello报文(短报文),若40s没有收到某个相邻路由器发来的Hello报文,则认为该路由器是不可达的,应立即修改链路状态数据库,并重新计算路由表。
由于链路状态的修改只包含路由器的链路报告,而不是整个路由表,因而开销小。而且路由器间链路状态信息的交流只在链路状态发生变化后才进行,OSPF信息不用UDP而是直接用IP数据报发送,并且数据报很短,减少了路由信息的通信量,避免数据报分片等带来的不便,所有这些都使OSPF比RIP效率更高,其使用配置也相对复杂一些。
1997年7月公布了最新版本OSPFv2(RFC 2178),进一步改善了0SPF的性能。目前几乎所有路由器厂商都支持OSPF,并开始在一些网络中取代旧的RIP协议。
开放最短路径优先协议的执行过程[2]
(1)路由器的初始化过程。每个路由器用数据库描述分组和相邻路由器交换本数据库中已有的链路状态摘要信息,路由器使用链路状态请求分组,向对方请求发送自己所缺少的某些链路状态项目的详细信息,通过一系列的分组交换,建立全网同步的链路数据库。
(2)网络运行过程。路由器的链路状态发生变化时,该路由器就要使用链路状态更新分组,用洪泛法向全网更新链路状态。每个路由器计算出以本路由器为根的最短路径树,并根据最短路径树更新路由表。