大家好,我是小弗。我们都知道了,运行链路状态路由协议的路由器是交换链路状态信息。所有路由器都会生成自己直连接口状态的链路信息,并通告出去。路由器把在网络中收到的链路状态信息存入 LSDB(链路状态数据库),LSDB 是对整个网络拓扑结构和网段信息的汇总,同步完 LSDB 后,所有路由器对网络的认识是一样的。然后,所有路由器开始单独使用 SPF( Shortest Path First )算法进行计算,得到一棵无环的最短路径树,是以自己为根,到达全网络的路径,最后把产生的路由加载到路由表中。
LSA 简介
OSPF 是典型的链路状态路由协议,使用 LSA( Link State Advertisement ,链路状态通告)来装载和传输链路状态信息。LSA 需要描述邻接路由器信息、直连链路信息、跨区域信息等,所以定义了多种类型的 LSA 。
还有一些类型的 LSA 很少使用:
第六类 LSA :在 MOSPF 协议中使用的组播 LSA 。
第八类 LSA :在 OSPF 域内传播 BGP 属性时使用的外部属性 LSA 。
第九类 LSA :本地链路范围的透明 LSA 。
第十类 LSA :区域范围内的透明 LSA 。
第十一类 LSA :AS 范围内的透明 LSA 。
内部路由器( Internal Router ,IR ):所有接口都在同一个 OSPF 区域内的路由器。
区域边界路由器( Area Border Router ,ABR ):接入多个区域的路由器,并非所有接入多个区域的路由器都是 ABR 。它至少有一个接口在 Area0 中,同时还有其它接口在其它区域中。ABR 负责在区域之间传递路由信息,因此必须连接到 Area0 ,同时连接着其它区域。
骨干路由器( Backbone Router ,BR ):至少有一个接口接入 Area0 的路由器,那它就是一台骨干路由器,另外 ABR 也是骨干路由器。
AS 边界路由器( AS Boundary Router ,ASBR ):工作在 OSPF 自治系统( Autonomous System ,AS )边界的路由器。ASBR 将 OSPF 域外的路由引入到本域,外部路由在整个 OSPF 域内传递。并不是同时运行多种路由协议的路由器就一定是 ASBR ,ASBR 一定是将外部路由重分发到 OSPF ,或者执行了路由重分发操作的路由器。
LSA 头部
LSU 报文用于链路状态更新,这个报文包含一个或多个 LSA ,而且是完整的 LSA 。虽然 LSA 有多种类型,但是这些 LSA 使用相同的 LSA 头部。
LSA 头部一共 20 字节。
链路状态老化时间( Link-State Age ):表示 LSA 的老化时间,也就是说,LSA 存在了多长时间,单位是秒。路由器生成 LSA 时,这个值为 0 ,随着 LSA 在网络中传输,老化时间逐渐累加。当 LSA 存储到路由器的 LSDB 后,LSA 的老化时间也在递增,当到达 MaxAge(最大老化时间)时,这个 LSA 不在用于路由计算。
选项( Options ):每一比特位对应 OSPF 的某种特性。
链路状态类型( Link-State Type ):表示 LSA 的类型。OSPF 有多种类型的 LSA ,每个 LSA 类型都由对应的类型编号。
链路状态 ID( Link-State ID ):LSA 的标识。不同的 LSA 类型,字段的含义不同。
通告路由器( Advertising Router ):生成这条 LSA 的路由器的 Router-ID 。
链路状态序列号( Link-State Sequence Number ):表示这个 LSA 的序列号,用于判断 LSA 的新旧或重复。
链路状态校验和( Link-State Checksum ):校验和。
长度( Length ):LSA 的总字节长度。
每个 LSA 头部的 链路状态类型 、链路状态 ID 、通告路由器 这三个字段唯一标识一个 LSA 。如果出现三个字段都相同的多条 LSA ,还可以根据 链路状态老化时间 、链路状态序列号、校验和 字段来判断 LSA 的新旧。
LSA 详解
图中网络部署了 OSPF ,R1 、R2 、R3 都连接在一台二层交换机上,三台路由器的 G0/0 接口都激活了 OSPF ,并且都属于 Area0 。通过设置,R3 的 G0/0 接口成为 DR 。R1 的 G0/1 连接的网段和 R2 的 G0/1 连接网段也激活了 OSPF ,也属于 Area0 。R3 和 R4 使用 Serial1/0 接口连接,接口采用 PPP 封装,激活了 OSPF ,且属于 Area1 。R4 还连接着外部网络,连接的接口没激活 OSPF ,并将外部路由引入到了 OSPF 域。R1 的 Router-ID 是 1.1.1.1 ,R2 的 Router-ID 是 2.2.2.2 ,R3 的 Router-ID 是 3.3.3.3 ,R4 的 Router-ID 是 4.4.4.4 。
每种 LSA 都有各自的功能,Type-1 LSA( Router LSA ,路由器 LSA )和 Type-2 LSA( Network LSA ,网络 LSA )是描述的区域内的网络拓扑和 IP 网段信息,只能在区域内泛洪。有了这两种 LSA ,区域内的路由器就可以计算出区域内各个网段的路由,这些路由叫做区域内部路由。Type-3 LSA( Network Summary LSA ,网络汇总 LSA )用于描述一个区域内的路由信息,并在其它区域内传递。也就是说,这种 LSA 用来告诉其它区域到达生成 LSA 这个区域的路由,这些路由叫做区域间路由。Type-4 LSA( ASBR Summary LSA ,ASBR 汇总 LSA ),用于描述 ASBR 的 Router-ID 。它不会主动生成,触发条件是 ABR 收到一个 Type-5 LSA ,目的是让区域内的路由器知道如何到达 ASBR 。Type-5 LSA( AS External LSA ,AS 外部 LSA )用来描述 OSPF 域外的路由,它一旦生成,会在整个 OSPF 域内扩散。OSPF 域外的路由信息来源,通常是静态路由或其它路由协议的路由。
1、Type-1 LSA
每一台运行 OSPF 的路由器都会生成 Type-1 LSA ,这个 LSA 描述了路由器的直连接口状态和接口 Cost ,同一个区域的接口共用一个 Type-1 LSA 描述。当路由器的多个接口属于不同区域,就分别为每个区域单独生成一个 Type-1 LSA ,LSA 只描述各种区域的接口信息。
在 Type-1 LSA 中,LSA 头部的 链路状态类型 字段值为 1 ,链路状态 ID 字段值是生成 Type-1 LSA 的路由器的 Router-ID 。
V 位( Virtual Link Endpoint Bit &#x