开放式最短路径优先协议(OSPF)是基于开放标准的链路状态路由选择协议。OSPF是内部网关路由协议(IGP)。IGP用于在单一自治系统内决策路由(自治系统是指执行统一路由决策的一组网络设备的组合)。
外部网关路由协议(EGP)用于在多个自治系统之间执行路由。
OSPF适合于大型网络环境:OSPF是一种链路状态型的路由协议,不会产生环路问题;OSPF将自治系统分割成多个小的区域,OSPF的路由器只在区域内部学习完整的链路状态信息。
Router ID;是在OSPF区域内唯一标识一台路由器的IP地址。得到ID方法:
#首先路由器选取它所有Loopback接口上数值最高的IP地址;
#若没配置Loopback接口的IP地址,就在所有物理端口中选取一个数值最高的IP地
址作为Router ID
OSPF的工作过程:
#邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器
#链路状态数据库(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)。