4.7.4 OSPF协议

在IGP协议类中,OSPF是IETF最推崇的协议,它采用SPF算法计算最短路由,并且公开了各种规范,成为一个开放标准。

 

OSPF具有以下特点:

OSPF包含服务类型路由。管理员可以设置某个目的站的多条路由,分别对应一种服务类型优先级。

OSPF提供负载均衡功能。如果管理员对于某个目的站规定了若干条费用相同的路由,OSPF会把通信量均匀地分配给这几条路由。

为了容许网点上的网络扩展并易于管理,OSPF允许网点把网络和路由器划分为若干成为区域的子集。每个区域是自包含的,并对其他区域隐蔽其拓扑结构。

OSPF协议规定,路由器之间交换的任何信息都可以鉴别。OSPF支持各种鉴别机制,而且允许各个区域之间的鉴别机制互不相同。

OSPF支持特定于主机的路由、子网路由和特定于网络的路由。在大型互联网中会需要这三类路由。

为适应可多点接入的网络(如以太网),OSPF扩展了SPF算法,让每个多点接入网拥有一个指定网关。这样能够尽可能利用硬件广播链路状态报文。

为获得最大的灵活性,OSPF允许管理员描述一个从物理连接中舍弃细节而抽象出来的虚拟网络拓扑结构。

OSPF允许路由器之间交换从其他网点得到的路由信息。

 

下面讨论OSPF的报文格式。首先来看OSPF的报文首部,它由24个八位组构成 ,如下图所示:

版本字段指出协议的版本号。目前有OSPFv1、OSPFv2和OSPFv3。

类型字段指出报文类型,具体定义如下图

源路由IP地址字段给出了发送方的地址。

区域标识符字段给出了32比特的区域标识号。

鉴别类型字段指定所采用的鉴别机制。目前0表示不加鉴别,1表示使用口令进行鉴别。

 

接下来讨论OSPF的不同报文的作用:

OSPF的HELLO报文用于周期性地测试邻站的可达性或建立新的可达性;

OSPF数据库描述报文用于路由器初始化网络拓扑数据库;

OSPF链路状态请求报文用于路由器在与邻站交换了数据库描述报文之后,向邻站请求更新信息;

OSPF链路状态更新报文用于广播链路状态。