OSPF(内部网关协议)
一、基本概念:
OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP)。与RIP相对,OSPF是链路状态路有协议,而RIP是距离向量路由协议。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。
链路状态:
OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)”,独立地计算出到达任意目的地的路由。
1、各大区域
标准区域:
一个标准区域可以接收链路更新信息和路由总结。
主干区域(传递区域):
主干区域是连接各个区域的中心实体。主干区域始终是“区域0”,所有其他的区域都要连接到这个区域上交换路由信息。主干区域拥有标准区域的所有性质。
存根区域(stub Area)
存根区域是不接受自治系统以外的路由信息的区域。如果需要自治系统以外的路由,它使用默认路由0.0.0.0。
完全存根区域:
它不接受外部自治系统的路由以及自治系统内其他区域的路由总结。需要发送到区域外的报文则使用默认路由:0.0.0.0。
不完全存根区域(NSAA):
它类似于存根区域,但是允许接收以LSA Type 7发送的外部路由信息,并且要把LSA Type 7转换成LSA Type 5。
2、 OSPF中的四种路由器

  1. 内部路由器:所有端口在同一区域的路由器,维护一个链路状态数据库
  2. 主干路由器:具有连接主干区域端口的路由器。
  3. 区域边界路由器(ABR):具有连接多区域端口的路由器,一般作为一个区域的出口。ABR为每一个所连接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负责将这些信息发送到各个区域。
  4. 自治域系统边界路由器(ASBR):至少拥有一个连接外部自治域网络(如非OSPF的网络)端口的路由器,负责将非OSPF网络信息传入OSPF网络。

二、ospf的特殊区域

Stub区域
1、ospf的Stub区域不接受五类LSA,也就不存在四类LSA。之所以设置Stub区域,是因为有些路由器性差,不能接受大量的LSA,为了减少负载,过滤掉四类和五类LSA,但是过滤掉五类和四类LSA会导致一个区域无法访问外部路由,为了解决这一情况,ospf提出了通过abr下放一条默认路由到Stub区域这一概念,解决Stub区域不能访问外部路由的问题
2、当一个区域被配置成Stub区域后,它就不接受外部五类和四类LSA,在lsdb中看不到五类和四类的LSA,在路由表中会增加一条默认路由以到达外部路由。直接进入区域,输入 stub 即可配置成stub区域。此时可以发现lsdb中不存在五类和四类lsdb,但是多了一条默认路由的三类LSA
3、完全stub区域:不接受三类、四类以及五类LSA,在abr上进入相应区域输入 stub no-summary 即可,因为三类LSA是有abr产生的,所以只要在ABR上进入配置就可以了,此时可以发现lsdb中只存在一条默认的三类LSA
3、NSSA区域:不同于Stub区域,NSSA区域虽然不接受四类和五类LSA,但是区域可引入外部路由,存在ASBR,能将外部路由发送给其他区域,其实引入的路由会以七类LSA的形式通告出去七类LSA的头部字段信息如下图所示:

七类LSA头部字段与五类LSA头部字段基本相似,只是type字段不一样,七类LSA只能在NSSA区域内进行防洪,而五类LSA可以在所有区域内防洪,为了让其他区域也能学习到NSSA区域引入的外部路由,必须在ABR上进行七类LSA到五类LSA的转化,此时,该台ABR设备产生了五类LSA,成为了一台ASBR设备。同样,为了让NSSA区域也能学习到其他区域的路由,ABR必须下放一条默认路由,与Stub区域不同,ABR下放到NSSA区域的LSA为七类.
完全NSSA区域:不接收三类四类五类LSA,在abr上进行相应区域输入 NSSA no-summary 即可。此时可以发现LSDB中只存在一条默认的三类LSA