OSPF路由器之间交换链路状态公告(LSA)信息。OSPF的LSA中包含连接的接口、使用的Metric及其他变量信息。 LSAs 被路由器接收用于维护它们的 RIB(路由表)。 OSPF路由器收集链接状态信息并使用SPF算法来计算到各节点的最短路径。LSA也有几种不同功能的报文,在这里简单地介绍一下:
LSA TYPE 1:router LSA由每台路由器为所属的区域产生的LSA,描述本区域路由器链路到该区域的状态和代价。一个边界路由器可能产生多个LSA TYPE1。 LSA TYPE 2:network LSA由DR产生,含有连接某个区域路由器的所有链路状态和代价信息。只有DR可以监测该信息。 LSA TYPE 3:summary LSA由ABR产生,含有ABR与本地内部路由器连接信息,可以描述本区域到主干区域的链路信息。它通常汇总缺省路由而不是传送汇总的OSPF信息给其他网络。 LSA TYPE 4:Summary LSA由ABR产生,由主干区域发送到其他ABR, 含有ASBR的链路信息,与LSA TYPE 3的区别在于TYPE 4描述到OSPF网络的外部路由,而TYPE 3则描述区域内路由。 LSA TYPE 5:AS External LSA由ASBR产生,含有关于自治域外的链路信息。除了存根区域和完全存根区域,LSA TYPE 5在整个网络中发送。 LSA TYPE 6:multicast OSPF LSA,MOSF可以让路由器利用链路状态数据库的信息构造用于多播报文的多播发布树。 LSA TYPE 7:Not-So-Stubby LSA由ASBR产生的关于NSSA的信息。LSA TYPE 7可以转换为LSA TYPE 5。
OSPF的五种包:
1、Hello包 ——只在状态init、状态exstart发送
功能:用于建立和维持邻居关系 (每10s相互发送Hello包,若40s内没有发送,则邻居关系删除)
重要字段:路由器的router-id
路由器接口的area-id (必须一致)
路由器接口的IP地址和掩码
路由器接口的认证,hello时间间隔,死亡时间间隔(必须一致)
neighbor字段
STUB标识(末节标识)(必须一致)
功能:(链路状态数据库描述)报文,描述本地路由器保存的LSDB(链路状态数据库); 用于对OSPF的网络拓扑进行描述
功能:用于请求对方的路由信息,向邻居请求本地没有的LSA;
功能:用于存储和传递路由信息 向邻居发送其请求或更新的LSA;
功能:用于对LSU等包进行可靠确认,收到邻居发送的LSA后发送的确认报文。
OSPF建立邻居过程的7个状态机:
down——>init——>two-way——>exstart——>exchange——>loading——>full
1.down //双方还没有进行任何交互
2.init //此状态只交互hello包,没有同步任何路由信息
3.two-way //达到状态two-way,建立邻居关系(形成邻居关系后要进行DR/BDR选举)
4.exstart // 进行主从关系选举,为了确定谁在exchange状态先发送DBD包
5.exchange //通过交互DBD包,建立各自的拓扑表
6.loading //请求对方路由信息,此状态交互LSR包、LSU包、LSACK包
7.full //建立邻接关系 达到LSDB的同步