一.基本概念

OSPF(openning shortest path protocol)协议称为开放式最短路径协议,它是基于迪杰斯特拉算法生成最短路径的,因此没有环路的问题,是一种链路状态路由协议。

二.OSPF报文格式

OSPF协议的五大报文 ospf协议报文有哪些类型_OSPF协议的五大报文


OSPF协议的五大报文 ospf协议报文有哪些类型_网络_02

三.OSPF五种类型的数据包

这五种数据包对应OSPF数据包种的type字段的值。

1.hello包——周期10s

编号为1的数据包

功能:用于发现,和维持邻接关系,以及DR/BDR的选举(2way)

Hello包在邻居关系之间扮演着keeplive的角色

40秒如果没有收到对方的hello报文,则把对方拉黑

OSPF协议的五大报文 ospf协议报文有哪些类型_OSPF_03


OSPF协议的五大报文 ospf协议报文有哪些类型_网络_04


OSPF协议的五大报文 ospf协议报文有哪些类型_链路_05


2.链路状态数据库描述数据包——DBD

编号为2的数据包。

DBD报文分为两个阶段,首先路由器发送DBD报文(不携带LSDB,带route-id 和序列号)选出主从路由器,然后再发送带LSDB的DBD报文。

功能:1.选举交换链路状态数据库过程中的主从关系

      2.确定交换链路状态数据库过程中的初始序列号
  
      3.交换所有的LSA数据包头部

3.链路状态请求数据包——LSR

编号为3

用于请求在DBD交换过程中发现的本路由器没有的或者过时了的LSA细节

4.链路状态更新数据包——LSU

编号为4
  
用于更新请求的LSA包细节

5.链路状态确认数据包——LSAack

编号为5
用于确认LSU

(4)OSPF的七种状态机

1.down 初始状态,没有从邻居接受任何信息。

2.init 互相发送hello报文,如果路由器A发送报文给B,B收到后发现没有自己的router-id,这时候B就会回复一个hello包。

3.two-way 当A收到这个包后发现有自己的router-id,于是邻居关系便建立好了,此时,根据router-id,会选举出BDR和DR,优先级为0表示不参与选举。如果优先级相同,ip地址大的优先。另外注意的是:DR和BDR不一定是router-id最大的,因为如果DR和BDR一旦选举好了,新加进来更大的优先级不会参与选举,这是为了维持OSPF的稳定。
注:选举DR和DBR知识点

1.什么情况下会选举DR和DBR:MA网络(multiple-access)  

(1) BMA(brodcast multiple-access )---当链路层协议为Ethernet,FDDI时,OSPF缺省默认网络类型为广播型

(2) NBMA(no-broadcast multiple-access)---当链路层协议为帧中继,ATM或者X.25时,OSPF默认为NBMA网络。此时OSPF的邻居需要网络管理员手工指定。在该类型的网络中,以单播的方式发送协议报文。

2.DR 指定路由器,虽然说是指定路由器,但是是选举出来的

  BDR 备份指定路由器

  Drother:既不是DR也不是BDR

3.DR选举的原则(选举出来后即为稳定状态)

 1.接口优先级(大):默认为1,范围为0-255.

 2.router-id(大)

 3.如果接口优先级设置为0,则不参与选举,只能称为DRother

4.DR/BDR之间为full状态的邻接关系

  DRother和所有的DR/BDR之间为full状态的邻接关系

  DRother和DRother之间的关系为two-way的关系。

4.exstart 当DR和DBR选举完了后,进入了exstart,路由器开始发送DBD报文,做两件事,第一件,根据router-id确定主从关系,这一个master是可以抢占的,如果后来加入的router-id更加大,就会抢占称为master,这跟DR和BDR是不一样的。

5.exchange 第二件:当主从关系确定好了后,maser会率先发送自己的DBD报文,里边携带了它的链路状态数据库,然后另外一个路由器也会发送自己的DBD报文。

6.lading 加载DBD,发送LSR,更新LSU,交换缺少的LSA报文,完成LSDB的同步。

7.full 同步完成后,建立邻接关系。

(5)划分多区域

一个OSPF的AS中的网络拓扑是十分庞大的,SPF的反复计算,庞大的路由表和拓扑表会用掉大量的路由器资源,降调路由器的运行效率。

当划分了区域后,路由器只需要计算本区域内的路由表和拓扑表就行了,并不需要了解整个网络的拓扑,降低了SPF算法的开销。

OSPF区域的种类:

1.标准区域:标准区域可以接受任何路由汇总信息和链路更新信息。

2.主干区域:主干区域一般设置为area0,其他区域通过主干区域交换信息,每一个区域都会设置区域边界路由器。

3.存根区域:不接受本地自治系统外的路由信息,对自治系统以外的目标采用默认路由0.0.0.0。

4.完全存根区域:不接受自治系统以外的路由信息,也不接受自治系统内其他区域的路由汇总信息,发送区域外的报文使用默认路由0.0.0.0。

5.不完全存根区域:类似存根区域,但是允许接受类型7的链路状态公告发送的外部路由信息。

(6)OSPF的优势

1.收敛速度快

2.无环路

3.划分区域

4.范围大

5.支持验证:支持基于接口的报文认证,以保证报文交互和路由计算机的安全性。