OSPF邻居建立过程
消息类型
hello报文:用于发现邻居和维持邻居;
DBD报文:链路状态数据库描述信息;
LSR报文:请求LSA;
LSU报文:向邻居发送LSA信息;可以包含一条或者多条;
ACK报文:确认收到LSU报文;
建立过程
Down :
路由器OSPF未启用;
Init :
路由器A发送hello报文来发现邻居,内容包含自己的router-id,路由器B收到hello报文,但是hello报文中没有发现自己的router-id,进入Init状态,也就是说对方还不知道自己;然后路由器B回复hello报文,包含自己的router-id,及自己发现的邻居路由器A;
Two-way :
路由器A收到hello报文,内容包含有自己的router-id,进入Two-way状态;
双方都进入Two-way状态后,表示双方已经可以正常通信;
若是广播网络,则会等待40s,用于等待路由器的hello报文充分交换,然后选择router-id最大的作为DR;
Ex-start :
Two-way确定邻居关系后,进入路由交换阶段;
路由器发送DBD报文(链路状态描述信息),来确定主从关系,由主路由器来主导路由信息交换过程;
该DBD报文不包含LSA信息,包含三个置位,L置位1表示选举未完成,M置位1表示这不是最后一条消息,MS置位1表示主节点;选举router-id大的为主节点;
Ex-Change :
主从关系确定后,进入Ex-Change状态,从节点先发送DBD报文给主节点,互相交换链路状态汇总信息,对比哪些信息是自己没有的;
Loading :
然后进入loading状态,正式交换链路状态信息,发送LSR报文,来请求自己需要的LSA信息,对方再回复LSU报文,包含自己需要的LSA信息;然后自己再回复ACK报文进行确认;
Full :
信息交换完成后,进入Full状态,完成OSPF邻居建立过程;
路由器定时发送hello报文来维持邻居关系