1 OSPF邻居状态机网络
2 状态变化描述ide
Downspa |
没有收到hello包3d |
Initrouter |
收到了hello包,但包里邻居列表里没有包含本身的router IDblog |
Attemp接口 |
NBMA网络中手工配置邻居的状况下,路由器发送单播的hello给邻居且在dead interval超时以前尚未收到邻居的hello包。ip |
2-way路由 |
收到了hello包,包里邻居列表里(Active Neighbor字段)包含本身的router ID,1-way Received表示2-way后只有一方收到hello包就转变为init状态,2-way Received 表示init后双方都收到了hello包就转变为2-way。DR/BDR的选举是在2-way以后同步 |
ExStart |
信息交换初始状态,邻居间传空的DD报文(包含I(Initialize),M(More),MS(Master/Slave)位),肯定主从关系,肯定DD的初始序列号,比较接口的MTU(可选) |
ExChange |
开始交换DD报文,以ExStart的结果肯定主从关系,交换过程由Master一直发送DD报文(seq=y+n),Slave回应DD报文(seq=y+n),Slave回应时使用Master的序列号,任何一方只要还有未传送完的LSA头,就由Master产生DD报文并由Slave回应。至此邻居都知晓对方的LSA |
Loading |
信息加载状态,本地路由器向邻居路由器请求本地LSDB中没有的LSA,发送LSReq,收到LSReq的路由器会用包含完整的被请求的LSA的LSU回应,请求方收到后确认无误则发送LSAack |
Full |
彻底邻接状态,邻居路由器已完成同步过程 |
3 特殊状态变化说明
3.1 邻居停留在Attemp状态
只会出如今NBMA网络中,邻居是手工指定的。
表示路由器发送了hello给邻居,但没有收到邻居的回应:
l 多是Neighbor邻居配置错误
l NBMA中两端没法链接,好比ACL限制
3.2 邻居停留在Init状态
表示收到了邻居的hello包,但hello包里的邻居列表没有包含本身:
l 可能只在单边启用了验证(实验结果是两边都没有邻居列表)
l 单边有ACL阻止了对方的hello包
3.3 邻居保持在2-WAY状态
正常状况下,在MA网络中,DRother之间的邻居状态是2-WAY,DRother与DR和BDR之间造成FULL状态。由于DRother之间不须要交换LSA,都是与DR和BDR交换。
有一种状况非正常的2-way,就是MA中的接口DR优先级都设置为0,没有选择DR和BDR,致使处于2-way状态。
3.4 邻居保持在Exstart/Exchange状态
MTU不匹配,在进行LSDB同步时,因为MTU不匹配,一端拒收了另外一端发送的DD/LSU/LSRq报文。
3.5 P2P与MA邻居创建的不一样点
OSPF 在P2P链路上不检测链路两端IP是否在同一子网,不在同一子网IP也能够互通。
OSPF要求MA链路两端在同一子网上,所以若是两端IP不在统一子网邻居没法创建(有sub接口以两端主IP为准好比A段主IP10.1.1.1/24,sub ip 20.1.1.1/24,B端主IP 20.1.1.1/24,sub ip10.1.1.1/24,虽然链路能够互通,但OSPF没法创建邻居,由于OSPF以主接口网段创建邻居。)