ospf状态机与对应报文

Ospf-type类型:
Type==1:hello报文
Type==2:DD报文
Type==3:LSR报文
Type==4:LSU报文
Type==5:LSACK报文

报文类型hello报文详解:
Hello报文用于发现及维护邻居关系,间隔是十秒发送一次,deadinterval是四十秒,意思是四十秒内如果没能收到邻居发来的hello报文,则认为邻居不存在,老化时间为deadinterval的3倍
ospf状态机与对应报文
注意:hello报文的间隔可改动,相对应的deadinterval的时间也为它的4倍
双方交换hello报文形成邻居后的状态为2way
Hello时间事实上会有偏差值

报文类型DD报文详解:
1、在ospf进程开始之初,DD报文的首要作用是用选举master和slave
这个时候的状态是Exstart
这个时候路由器之间会发送初始的***和M/S位为1,各自认为自己是DR
默认选举在没有设接口优先级时,以router ID大者为master
双方各自发送第一次DD报文,第三次由salve发送,并以master的初始***作为确 认,表示***的router是master
相互的第一次发送
Router:B:
ospf状态机与对应报文

RouterA:
ospf状态机与对应报文

router A发送 确定master/slave关系:

ospf状态机与对应报文

注意点:事实上在ospf路由器中,先启动的ospf进程的,就会是master,除非之后重启 ospf进程

2、确认主从后,此时进入ospf的EXchange状态,这个时候的DD报文用于交换LSDB目录 摘要
router A 发送摘要描述:
ospf状态机与对应报文

报文类型LSR、LSU详解:
在EXchane状态下router B接收到LSDB的目录摘要中发现自身没有的这一条LSA,此时便使用LSR报文请求获取
ospf状态机与对应报文
对端的routerA收到LSR报文后,将请求的LSA详细信息,以LSU报文发送
ospf状态机与对应报文
router B 收到LSU,回复LSACK,全面达成邻居邻接关系。

注意点:LSR只包含LSA的头部信息,LSU包含LSA的所有详细信息
状态变化过程
router B LSR----> router A //routerB状态:loading
router A LSU----> router B //router B状态: full
router B LSACK----> router A //router A状态:full

总结:
Down状态:
发送hello报文发现邻居
Int状态:
对端发送的hello报文邻居列表有自己
2-way状态:
建立起邻居关系
EXstart状态:
通过DD报文选举master/slave主从关系
EXchange状态:
通过DD报文交换链路数据库摘要
Loading状态:
通过LSR报文请求详细的LSA信息
Full状态:
通过LSU报文回复详细的LSA信息
对端回复LSACK报文确认信息

转载于:https://blog.51cto.com/9780356/2162745