OSPF:Open Shortest path First  :开方式最短路径优先

一、基础知识:

1、使用范围:IGP

2、协议算法特点:链路状态型路由协议,SPF算法

3、协议是否传递网络掩码:是

4、协议封装:基于TCP封装,协议号为89

二、OSPF特点:

1、OSPF是一种典型的链路状态型路由协议

2、传递的信息称作:LSA,LSA链路通告,包含路由信息和拓扑信息

  路由LSA:描述本路由器上的接口路由信息

  拓扑LSA:描述路由器之间的连接状态

3、更新方式:触发更新+30min的链路状态更新

4、更新地址:组播和单播更新地址

     组播地址:224.0.0.5----所有运行OSPF的路由器都会接收这个组播组

          224.0.0.6----多有的DR路由器才会运行的

5、支持路由认证

6、支持手工汇总

  OSPF是LS型路由协议,既传递路由又传递拓扑,手工汇总只能汇总路由信息,不能汇总拓扑信息

7、支持区域划分

三、OSPF区域

   基于接口或链路划分

1、区域划分的意义:

   (1)、减少LSA数量

   (2)、减少LSA传播范围

2、区域划分是基于接口或链路的

3 、区域设计原则:

  1)OSPF网络中必须存在且唯一的骨干区域

  2)若存在非骨干区域,非骨干区域必须与骨干区域直接相连

    骨干路由器:所有接口都在area 0里

    非骨干路由器:所有接口都在非area 0里

    ABR:区域边界路由器,能够产生3类LSA的路由器(属于area 0 和非area 0的路由器)

    ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器(OSPF网络和非OSPF网络网络的边界路由器,必须通过重发布在路由器上做路由引入才算ASBR)

四、OSPF消息数据包:

1、邻居与邻接 :

  邻居:双方互相知道彼此的存在,但并没有交换LSA

  邻接:在邻居关系建立之后才会共享LSA,在共享了LSA之后,邻接关系才会建立

2、hello:周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)

    目的:建立并维持OSPF邻居关系(邻居关系建立之后充当保活包功能)

3、DBD:数据库描述包,特点:隐性确认,看序列号,在对方互相发的包中,序列号变相同后代表隐性确认

  1)主从选举DBD:比较双方的router-id,大的一方为主(master),小的一方为从(slave),主要用于LSA的交互

  2)携带LSA头部信息的DBD

4、LSR:链路状态请求,按照DBD报文中的未知LSA头部进行请求

5、LSU:链路状态更新,携带LSA信息

6、LSACK确认:链路状态确认

五、OSPF邻居状态机制:--LS型协议特有的

down、init、attempt、two-way、exstart、exchange、loading、full

1、init:初始化状态,一旦开始发送hello报文,进入初始化状态

2、two-way:双向通信状态(邻居状态),接收到包含自己router-id的对方hello报文

  邻居关系建立的条件: 

    1.router-id 必须不同

    2.area ID 相同

    3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据

    4.hello时间,dead时间

    5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)

    6.MA网络中,网络掩码必须一致

    7.必须同时使用单播或组播更新

    8.更新源检测(双方的IP地址必须在同一网段

  DR选举: 

    邻居状态下(two-way):条件匹配-->邻居成为邻接关系的条件(目的:消除重复更新)

       MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)

    DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)

           2.比较各自的router-id,越大越优

    DR选举了之后,其他所有人只是个DR建立邻接,把信息都交给DR,然后再由DR分别交给其他人

    注意:1.DR抢占是关闭的

          2.DR是一个接口概念

          3.优先级范围0-255,数字为0代表不参与选举

          4.先选举BDR ,再升级为DR

       (DR、BDR的选举是在一个时间范围内,超过这个时间范围优先级再高也不能成为DR),时间:waiting time,在华为中,waiting time=dead time(40s)

3、exstart:预启动状态,一旦开始发送主从DBD,则进入预启动状态

4、exchange:预交换,(发送类hello的DBD选主从)主从选举完成,则发送携带LSA头信息的DBD,进入预交换,会发数据包,但没有LSU

5、loading:加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习

6、full:邻接状态,双方LSA同步(双方LSA全部学习)  

六、补充:

1、为什么RIP不需要router-id,OSPF需要?

  因为OSPF是LS型协议,需要router-id,因为收集到路由、拓扑信息需要构建逻辑拓扑,则需要将OSPF中的每个路由器标记出来,用路由器的唯一性标识-router-id来

2、以太网线----->MA

    可以通过修改接口网络类型将MA改为P-to-P

   串线------>点到点

3、广域网:PPP、HDLC   ------> 不选DR

      FR(帧中继)、ATM  ------> 选DR

  路由器物理接口类型:是一个默认的、最原始的状态---->选DR或不选DR,但OSPF的网络类型是独立的,因为不同的物理接口,可以修改它的网络类型