开放式最短路径优先协议(OSPF)是基于开放标准的链路状态路由选择协议。OSPF是内部网关路由协议(IGP)。IGP用于在单一自治系统内决策路由(自治系统是指执行统一路由决策的一组网络设备的组合)。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

EGP)用于在多个自治系统之间执行路由。

OSPF适合于大型网络环境:OSPF是一种链路状态型的路由协议,不会产生环路问题;OSPF将自治系统分割成多个小的区域,OSPF的路由器只在区域内部学习完整的链路状态信息。

;是在OSPF区域内唯一标识一台路由器的IP地址。得到ID方法:

首先路由器选取它所有Loopback接口上数值最高的IP地址;

若没配置Loopback接口的IP地址,就在所有物理端口中选取一个数值最高的IP地

Router ID

OSPF的工作过程:

使用OSPF路由协议的路由器需要保存3张表

#邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器

#链路状态数据库(LSBD):列出网路中其他路由器的信息,显示全网拓扑。

#路由器:列出通过SPF算法计算出的到达每个相连网络的最佳路径

邻接关系的建立

路由器A------------------------------------------------------路由器B

#路由器A发送一个Hello报文(字段为空)

#B收到Hello报文,为A创建一个邻居数据结构,并将A设置为初始状态。B发送Hello报文给A

#A收到B的报文看到自己的路由器ID时,A为B创建一个邻居数据结构把B设置为ExStart状态,路由器A产生一个空的数据库描述报文。

#B收到A的报文,把A设置为ExStart状态,回应一个数据库描述报文。

#A把B转换为ExChange状态。A产生数据库描述报文(含LSA报头)

#B收到后,把它的邻居状态转换为ExChange状态,发送一个数据库描述报文。

#A收到后,发送一个包含相同序列号的确认报文,双方不停的发,直到最后一个LSA

#然后A变为Loading

#B收到最后一个数据库描述报文时就把A的状态转换为完全邻接状态(Full)

建立邻接关系需要满足的条件

#Area-id:属于同网段,同一个区,同一子网。

#验证:同一区域的路由器必须交换相同的验证密码才能成为邻居。

#Hello Interval和Dead Interval:这些时间间隔相同。

#Stub区域标记:可以在Hello报文中通过协商Stub区域的标记来成为邻居。

OSPF的网络接口类型

#点到点网络(point-to-point):连接单独的一对路由器。报文目的地址是224.0.0.5

#广播多址网络(Broadcast):选取指定路由DR和备份指定路由BDR

#非广播多址网络(NBMA)没有广播能力,选取DR和BDR

#点到多点网络(point-to multipoint)。