OSPF的五种报文和七种状态机

描述

一、OSPF的五种报文

类型 报文名称 报文描述
1 hello 发现、建立、周期保活邻居、邻接关系
2 DD(Database Description,数据库描述) LSDB中LSA的头部信息(并非完整的LSA信息),也就是本地的数据库的目录(摘要)
3 LSR(Link State Request,链路状态请求) 基于对端发送的DD报文中的未知信息(未知的LSA)向OSPF邻居进行查询
4 LSU (Link State Update,链路状态更新) 用于答复对端的LSR,携带各种的LSA。
5 LSAck (Link State Acknowledgment,链路状态确认) 对从LSU中获取到的LSA进行确认

OSPF的报文头部(24byte):

状态机

Hello报文:

状态机

DD报文:

状态机

LSR报文:

状态机

LSU报文:

状态机

LSAck报文:

状态机

二、OSPF的七种状态机:

状态机名称 状态机描述
Down(失效) 该状态还没有进行hello包的收发,一旦进行hello的收发,则进入下一状态
Init(初始化) 接收到的hello包中并不存在本地的route-id,但是会将发送该hello包的邻居置为init状态,此时双方并没有建立双向通信,随着双方互相收发hello包,于是才会进入下一状态
2-way(双向通信) 接收到的hello包中存在本地的route-id,则双方就会进入2-way双向通信状态。该状态也是OSPF最稳定的状态之一,它标志着邻居关系的建立,同时也是邻接关系建立的基础
Exstart(预启动) 使用类似hello的DD报文进行主从关系(Master/Slave)选举,route-id数值大为主,优先进入下一状态。此时的DD报文是空的。
Exchange(准交换) 使用真正的DD报文进行数据库目录的共享
Loading (加载) 使用LSR、LSU、LSAck去获取未知的LSA信息(LSDB同步)
Full(全毗邻) 邻接关系建立的标志,此时不再进行LSDB的同步

三、OSPF的工作过程

224.0.0.5:指的是所有OSPF路由器所使用的组播地址;
224.0.0.6:指的是所有OSPF DR路由器所使用的组播地址。

(1)在启动宣告配置之后,OSPF路由器会使用组播224.0.0.5进行OSPF hello包的收发;若接收到的hello包中存在本地的route-id,则建立邻居关系,生成邻居表

之后基于表中所有的邻居进行条件的匹配,匹配失败则将维持邻居关系,仅hello包周期保活即可;

(2)匹配成功者之间可以建立邻接关系;邻居间使用DD数据包进行数据库目录的比对;之后使用LSR查询目录中未知的LSA信息,对端使用LSU来携带传递LSA,最终需要LSAck进行接收确认;

当本地收集到区域内所有设备的LSA信息后,生成LSDB—链路状态数据库表

(3)本地基于LSDB启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内;

  
      审核编辑:彭静

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分