报文类型

HELLO:建立领居,保活和断开

DD:数据库描述报文(LSA头部信息)

LSR:LSA请求报文

LSU:LSA更新报文

LSACK:LSA确定报文

DR与BDR

DR:指定路由器

BDR:备份指定路由器

(指的都是接口,不是路由器)

选举制:先比优先级,再比router-id

终身制:非抢占式

OSPF路由器7大状态

dwon:发送HELLO报文

init:已经接受到别人的HELLO报文,但是报文中没有自己的router-id,则转为init

two-way:收到别人的HELLO报文,发现有自己的router-id

Exstart:交互第一个DD报文,确定主从关系

Exchange:交换数据库描述信息

Loading:数据库同步

Full:完全邻接状态

LSA总结

1类LSA——Router-LSA

名字ID:取自生产这个LSA设备的router-id

通告路由器:生产这个LSA的router-id

特点:每一个运行OSPF的设备,都会在其所属区域上生产一条1类LSA,用来描述自身信息

传递范围:区域内传播

作用

  • 用来计算域内路由

  • 描述自身信息:

  1. 拓扑信息:我是哪台,我的邻居是哪个,我用哪个接口连接的

  2. 网段信息:接口IP地址,接口IP地址掩码

2类LSA——Network-LSA

名字ID:取自DR接口的IP地址

通告路由器:DR所在路由器的router-id

传递范围:区域内传播

作用:辅助1类 LSA,计算域内路由

  1. 补全DR所在网段的掩码信息

  2. 补全DR所在网段的拓扑信息:描述了DR网段下所有与DR建立邻接关系的OSPF路由器

3类LSA——Network-Summary-LSA

通告路由器:ABR的router-id

特点:3类LSA在传播过程中,没经过一个ABR设备,LSA的通告就会发生1次变化(所以不是同一个LSA报文)

传递范围:区域内

作用:计算域间路由,实现区域间互通

备注:ABR设备会把由1类和2类LSA计算出的域内路由,变成3类LSA,在相邻区域泛洪

4类LSA——ASBR-Summary-LSA

名字ID:取自ASBR的router-id

通告路由器:ABR的router-id

特点

  1. 第一个4类LSA是由和ASBR在同一个区域的ABR产出的

  2. 后续的4类LSA是本区域的ABR产生的

  3. 4类LSA在传播过程中,每经过一个ABR设备,LSA的通告路由器就发生一次变化

传递范围:区域内传播

作用

  1. 辅助5类LSA计算外部路由

  2. 通告ASBR的router-id

5类LSA——AS-External-LSA

名字ID:取自引入外部路由网段的名字

通告路由器:ASBR的router-id

传递范围:整个OSPF网络

作用

  1. 通告外部路由,计算外部路由

  2. 5类LSA可以传播到ospf网络的任何设备,在传播过程中,不做任何改变(特殊区域除外)

  3. 5类LSA不属于任何区域

7类LSA—— NSSA-LSA

名字ID:取自引入外部路由网段的名字

通告路由器:NSSA区域的ASBR的router-id

特点

  1. 7类LSA不会跨区域传播

  2. 所以其他区域的设备无法学习7类的LSA,无法计算去往外部的路由

  3. 所以NSSA区域的ABR设备会把这个7类变成5类LSA,在其他区泛洪

传递范围:仅仅在NSSA区域

作用:计算外部路由

特殊区域

stub——末梢区域

作用

  1. 保护一个区域不受外部链路不稳定的影响——区域稳定不受震荡

  2. 缩减数据库规模——减少LSA

  3. 缩减路由表规模——减少路由条目

实现

  1. 不学习4、5类

  2. 只学习1、2、3类

出现问题:不学习4、5类怎么计算外部路由

解决方案:区域ABR设备会自动生产一条默认的3类LSA,3类LSA计算出一条默认路由

特点

  1. 不学习4、5类路由,也不引入外部路由

  2. 骨干区域不能设置

totally stub——完全末梢区域

作用

  1. 保护一个区域不受外部链路不稳定的影响——区域稳定不受震荡

  2. 保护一个区域不受区域间链路不稳定的影响

  3. 缩减数据库规模——减少LSA

  4. 缩减路由表规模——减少路由条目

实现

  1. 不学习3、4、5类

  2. 只学习1、2类

出现问题

  1. 不学习4、5类怎么计算外部路由

  2. 不学习3类怎么计算域间路由

解决方案:区域ABR设备会自动生产一条默认的3类LSA,3类LSA计算出一条默认路由

特点

  1. 不学习3、4、5类路由,也不引入外部路由

  2. 骨干区域不能设置


相比于Stub区域,NSSA区域能够将自治系统外部路由引入并传播到整个OSPF自治系统中,同时又不会学习来自OSPF网络其它区域的路由


NSSA——不那么stub的区域

作用

  1. 保护一个区域不受外部链路不稳定的影响——区域稳定不受震荡

  2. 缩减数据库规模——减少LSA

  3. 缩减路由表规模——减少路由条目

  4. 可以引入外部路由

实现

  1. 不学习4、5类

  2. 只学习1、2、3、7类

出现问题:不学习4、5类怎么计算外部路由

解决方案:区域ABR设备会自动生产出一条默认的7类LSA,7类默认LSA计算出一条默认的路由

特点

  1. 不学习4、5类路由,也可以通过7类LSA引入外部路由

  2. 骨干区域不能设置

totally NSSA——完全NSSA区域

作用

  1. 保护一个区域不受外部链路不稳定的影响——区域稳定不受震荡

  2. 保护一个区域不受区域间链路不稳定的影响

  3. 缩减数据库规模——减少LSA

  4. 缩减路由表规模——减少路由条目

  5. 可以引入外部路由

实现

  1. 不学习3、4、5类

  2. 只学习1、2、7类

出现问题

  1. 不学习4、5类怎么计算外部路由

  2. 不学习3类怎么计算域间路由

解决方案:区域ABR设备会自动生产出一条默认的3类LSA和一条默认的7类LSA,3类默认LSA计算出一条默认的路由

特点

  1. 不学习3、4、5类路由,也可以通过7类LSA引入外部路由

  2. 骨干区域不能设置

LSA在各区域中传播的支持情况

OSPF路由聚合

路由聚合是指ABR可以将具有相同前缀的路由信息聚合到一起,只发布一条路由到其它区域。

区域间通过路由聚合,可以减少路由信息,从而减小路由表的规模,提高设备的性能。

OSPF有两种路由聚合方式:

  • ABR聚合
    ABR向其它区域发送路由信息时,以网段为单位生成Type3 LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段聚合成一个网段。这样ABR只发送一条聚合后的LSA,所有属于命令指定的聚合网段范围的LSA将不会再被单独发送出去。

  • ASBR聚合
    配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type5 LSA进行聚合。当配置了NSSA区域时,还要对引入的聚合地址范围内的Type7 LSA进行聚合。

如果本地设备既是ASBR又是ABR,则对由Type7 LSA转化成的Type5 LSA进行聚合处理。