OSPF这个协议的名字是”开放最短路径优先”.

    OSPF最主要的特征就是使用分布式的链路状态协议.和RIP协议相比,OSPF的三个要点和RIP的都不一样

  •     向本自治系统中所有路由器发送信息.这里使用的方法是洪泛法.
  •     发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息.所谓”链路状态”就是说明本路由器都和那些路由器相邻,以及该链路的”度量”.OSPF将这个”度量”用来表示费用,距离,时延,宽带,等等.这些由网络管理人员决定.
  •     只有当链路状态发生变化时,路由器才会向所有路由器用洪泛法发送此信息.而不像RIP那样,不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息

    由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最总都能建立一个链路状态数据库,这个数据库实际上就是全网的网络拓扑结构图.而RIP却不知道去全网的拓扑结构(只有到了下一跳路由器,才能知道再下一跳应当怎样走)

    OSPF的链路状态数据库能较快地进行更新.即OSPF的更新过程收敛得比RIP更快.


    为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域.每一个区域都有一个32位的区域标识符.

    划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量.

    在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况

    OSPF使用层次结构的区域划分

  • 在上层的区域叫做主干区域.主干区域的作用是用来连通其他在下层的区域.
  • 从其他区域来的信息都由区域边界路由器继续概括.每一个区域至少应当有一个区域边界路由器.
  • 在主干区域内的路由器叫做主干路由器
  • 在主干区域内还要有一个路由器专门和本自治系统外的其他自治系统交换路由信息.这样的路由器叫做自治系统边界路由器

    OSPF不用UDP而是直接用IP数据报传送.


    OSPF还具有下列的一些特点

  • 如果到同一个目的网络有多条相同代价的路径,那么可以讲通信量分配给这几条路径.这叫做多路径间的负载平衡
  • 所有在OSPF路由器之间交换的分组都具有鉴别的功能,因而保证了仅在可信赖的路由器之间交换链路状态信息.
  • OSPF支持可变长长度的子网划分和无分类的编址CIDR
  • 由于网络中的链路状态可能经常发生变化,因此OSPF让每一个链路状态都带上一个32位的序号,序号越大状态就越新.OSPF还规定链路状态序号增长的速率不得超过每5秒钟一次

    OSPF共有以下五种分组类型:

  • 问候分组,用来发现和维持邻站的可达性.
  • 数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
  • 链路状态请求分组,请对方请求发送某些链路状态项目的详细信息
  • 链路状态更新分组,用洪泛法对全网更新链路状态.
  • 链路状态确认分组,对链路更新分组的确认.

    OSPF规定,每两个相邻路由器每隔10秒要交换一次问候分组.这样就能知道哪些邻站是可达的.若有40秒钟没有收到某个相邻路由器发来的问候分组,则可认为该相邻路由器是不可达的,应立即修改链路状态数据库,并重新计算路由表.

    其他的四种分组都是用来进行链路状态数据库的同步.所谓同步就是指不同路由器的链路状态数据库的内容是一样的.两个同步的路由器叫做”完全邻接的”路由器.

    OSPF让一个路由器用数据库描述分组和相邻路由器交换本数据库中已有的链路状态摘要信息.经过与相邻路由器交换数据库描述分组后,路由器就使用链路状态请求分组,向对方请求发送自己所缺少的某些链路状态项目的详细信息.


    OSPF使用的是可靠的洪泛法,即收到更新分组后要发送确认(收到重复的更新分组只需要发送一次确认)

    若N个路由器连接在一个以太网上,则每个路由器要向其他(N-1)个路由器发送链路状态信息,因而共有N(N-1)个链路状态要在这个以太网上传递.OSPF对这种多点接入的局域网采用了指定的路由器的方法,使得广播的信息量大大减少.