OSPF Open Shortest Path First.使用Dijkstra算法计算路由,快速收敛,层次化多区域结构设计
OSPF v2主要标准RFC1583和RFC2328
OSPF v3用于IPv6网络中RFC5340
邻居发现
OSPF通过Hello报文发现和维持邻居关系,邻居关系不等于邻接关系,只有达到two-way状态的路由器才算邻居关系(双向建立)。OSPF在所有启用OSPF的接口发送HELLO报文
在BM和点到点,hello报文10s发送一次,在NBMA和P2MP网络中30s发送一次
在BM、P2P和P2MP网络中OSPF通过组播HELLO包自动发现邻居,组播地址224.0.0.5;NBMA网络中,需手工指定邻居
在建立邻居关系使,路由器对HELLO报文中的参数进行检查比对
Hello/dead发送时间间隔
区域ID
区域类型 Option字段,其中E和N/P置位代表的含义不同
邻居关系建立的过程:
三步握手
Down init two-way
Down 状态:邻居的初始状态,邻居的Router ID还没有出现在OSPF邻居列表中
Init 状态:A收到邻居的Hello报文,active neighbor 字段没有自己的Router ID ,A中邻居状态为Init
邻接关系建立过程
OSPF路由器在双向邻居关系建立完成后,开始建立邻接关系,在BM和NBMA网络中,邻接关系发生在DR和BDR选举之后,其他网络类型,没有DR/BDR选举,邻居建立完成后即开始建立邻接关系
邻接关系是邻居路由器间为完成LSDB同步而发生的LSA交换过程,也是邻居路由器间初次通告LSA、快速同步的过程
它是LSA泛洪的一种方式,同步完成后,邻居之间最终是Full状态。
在广播和NBMA网络上DRother路由器彼此之间会一直保持在2-way的状态,而它们同DR/BDR间是FU