1、down状态:路由器不与其他任何路由器交换任何ospf信息

2、init状态:    接收方路由器已经收到对端路由器的hello包,但是并没有从hello包看到自己的信息,此时通信是单向的

3、two-way状态:从收到的hello包中发现了自己的route-id,说明此事已经彼此发送hello包了

4、一旦路由器进入two-way状态,他们就被认定为邻居,此时就要进行选举进程了,选出指定路由器(DR),备份指定路由器(BDR)

5、具有最高优先级的ospf路由器成为网段中的DR,如果优先级相同,如果优先级相同,具有最高路由器ID的路由器会称为DR,默认所有路由器优先级都为1,优先级范围(0-255);选举出DR和BDR形成邻接关系,但是其他路由器之间还是处于邻居关系,就是说是处于two-way状态

6、选举DR和BDR后,路由器继续生成hello包以保持通信,这就是所谓的exstrart状态,该状态下ospf路由器准备共享链路状态信息

7、exstrart状态:DR和BDR与网段上其他路由器形成邻接关系,随后在每一个邻接关系中,具有最高路由器ID的路由器成为主路由器,注意,DR不必是交换过程中的主路由器,邻接关系中剩下的路由器为从路由器。

8、exchang状态:主路由器首先开始和从路由器共享链路状态信息,就是说主路由器发送DBD包,如果说链路状态数据库比喻成一本书,那么DBD就相当于是这本书的目录,通过DBD包,可以发现自己所没有的信息。DBD包中包含链路状态类型,通告路由器的ID,通告链路的成本以及链路的序列号。

9、loading状态:通过BDB包从路由器所没有的信息,从路由器会发送链路状态请求包给主路由器(LSR包),随后主路由器会向从路由器发送带有链路详细信息的链路状态更新包(LSU),从路由器将该信息合并到它本地链路状态数据库中,从路由器会回应一个LSACK包给主路由器。

10、full状态:此时lsdb已经一致了。每台ospf路由器可以独立计算出路由表

11、路由表计算:根据lsdb,以自己为根,应用lsdb为原材料,采用spf算法独立计算出最优而且没有环路的树,放入路由表。