OSPF状态机

1      OSPF邻居状态机

                         image.png                    

2      状态变化描述

Down

没有收到hello包

Init

收到了hello包,但包里邻居列表里没有包含自己的router   ID

Attemp

NBMA网络中手工配置邻居的情况下,路由器发送单播的hello给邻居且在dead interval超时之前还没有收到邻居的hello包。

2-way

收到了hello包,包里邻居列表里(Active   Neighbor字段)包含自己的router   ID,1-way Received表示2-way后只有一方收到hello包就转变为init状态,2-way   Received 表示init后双方都收到了hello包就转变为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以主接口网段建立邻居。)


猜你喜欢

转载自blog.51cto.com/xxy12345/2547386