
Q:OSPF的介质类型、链路类型及网络类型分别指什么,三者之间有什么关系?
A:
OSPF的介质类型、链路类型及网络类型的说明如下。
介质类型(media type):物理链路类型,应该包括GigabitEthernet、Ethernet等物理链路。
OSPF链路类型(link type,LSA中):LSA中的link type是按照RFC2328协议规定填写的,根据的是ospf network-type,具体规定如下:
− 对于点对点网络,link type是Point-to-Point。
− 连接到传输网络,link type是transit。
− 连接到一个Stub网络,link type 是stub。
− 连接到虚链路,link type是Virtual。
OSPF网络类型(network type):OSPF network type屏蔽了不同物理介质的差异,可以按照用户需要配置对应的网络类型。
目前OSPF可以配置4种网络类型,包括P2P、Broadcast、NBMA和P2MP。
三者之间的关系:介质类型决定了OSPF默认的network type类型,OSPF network type类型决定LSA种4 link type类型。
LSA type 1 Router
是每个路由器都通告的信息,通告自身连接的网络信息(接口信息)及链路类型,通过dis ospf lsdb route originate-route 10.2.2.2 查看 RouterID 为10.2.2.2


上述Link ID 用于描述的是设备接口的信息,Link Count 是描述接口的个数 ,Link Type 是描述链路类型 其中 TransNet 表示连接到一个传输网络,StubNet 表示连接的末梢网络(这里是OSPF 对环回接口的特殊描述,DATA 是子网掩码,尽管实际上的掩码255.255.255.0,另外度量值缺省为0)
LSA Type 2 Network
类型2 是多路访问网络中DR 泛洪的LSA ,如此一来,它将在所连接的区域 内泛洪一
Type-2 LSA ,在该 LSA 中将包含区域内所有路由器的 Router-ID (这个网络内的所有路由器),另外该 LSA还会描述这个 MA 网络的掩码: 255.255.255.0,如果 不存在MA 网络则没有LSA TYPE-2的通告。如果是串行链路则没有网络LSA通告。
R2的LSDB中第二种LSA类型是Network-LSA。也就是Type2 LSA,中文名网络LSA。


有了类型1 和类型2 的LSA 可以勾建出网络的拓扑;可以解决区域内的路由计算。
LSA Type 3 Summary LSA 路由汇总
前两类 LSA 解决了区域内路由计算的问题,那么 域间路由的计算呢? 当一OSPF 网络中存在多个区域时,单凭Type-l Type-2 LSA 仅能解决单个区域内的路由计算问题,但是区域之间的路由传递目前依然有待解决,因为 Type-l Type-2 LSA 只能在始发区域内泛洪,无法被泛洪到区域之外。 Type-3 LSA 也就是网络汇总 LSA ( Network Summary LSA) ,这里的” 汇总” ,其实理解为”归纳”更为贴切,它和路由汇总是完全不同的概念。实际上就是将区域内部的Type1 Type2的信息收集起来以路由子网的形式扩散出去,这就是Summay的含义。
即Network-summary-LSA,也叫Type3 LSA,中文名网络汇总LSA。
Type-3 LSA 是由 ABR 产生的,用于解决区域之间的路由传递问题。由于 ABR 同时连接着非骨干区域以及Area0 ,因此它分别为这些区域维护着 LSDB 并且计算出到达直连区域的区域内部路由,它向某个区域注入 Type-3 LSA ,以便向该区域通告到达其他区域的区域间路由。
执行 display ospf lsdb summary 命令,可以查看 LSDB 中的 Type-3 LSA:

在Network-summary-LSA中,Link-State ID字段代表该LSA所描述的网络的网络地址。从LSA的信息中可以看出,该LSA由R2发布(10.2.2.2),可以到达192.168.12.0,掩码为255.255.255.0的网络;代价为1。
在R2路由器查看接受的通告,由于R2是ABR 所以可以查看到区域间的通告信息,区域0 收到了192.168.34.0/24、192.168.12.0/24 的子网信息;区域1 收到了192.168.23.0/24、192.168.34.0/24 的子网信息。

Area0和Area1中,同样是到达192.168.34.0的网络,但通告路由器却是不同的,这是什么原因呢?原来如果ABR收到来自同区域其它ABR传来的Type 3 LSA后,会重新生成新的Type3 LSA(Advertising Router改为自己),然后继续在整个OSPF系统内扩散。
LSA TYPE 4 ASBR
看当外部路由被引入 OSPF 域后, OSPF 如何实现路由计算?
ASBR 将域外的路由(例如 RIP 路由、静态路由等)引入 OSPF OSPF使用 Type-5 LSA 描述这些外部路由, Type-5 LSA 够在整个 OSPF 域内泛洪(除了些特殊的区域),这样所有的路由器都能知晓这些到达外部的路由,但是光获知到达外部网络的路由还是不够的,还需要知道引入这些外部路由的 ASBR 的所在。
与ASBR 同属一个区域路由器能够通过区域内泛洪的Type-l ,Type-2 LSA 计算出到达 ASBR 的路由,然而这两种 LSA 只能在本区域内泛洪,那么其他区域的路由器如何知道到达该 ASBR的路径?这就需要用到Type-4 LSA 了。Type-4 LSA 被称为 ASBR 汇总 LSA (ASBR Summary LSA) ,由ABR产生,实际上是一条到达 ASBR 的主机路由。Type-4LSA 的格式与 Type-3 LSA 是一致的。在 Type-4 LSA 中,“链路状态 ID” 字段的值是 ASBR Router-ID ,而且”网络掩码”字段的值为全0 ,另外,”度量值”字段填写的是该 ABR自己到达 ASBR Cost 值.
当ASBR 通过import-route 命令导入外部路由时,就会产生Type-5 LSA 描述这些外部路由。

这里LS ID 就是ASBR 路由器,度量值Metric 42是ABR 到达ASBR的Cost 值 。
TYPE 5 LSA ASE (AS External LSA)
此种LSA是描述到AS外部的路由,由自治系统边界路由器ASBR发布,在整个AS中泛洪(除了STUB区域和NSSA区域)
使用 display ospf lsdb ase 命令能够查看到网络中泛洪的Type-5 LSA:


转发地址 (Forwarding Address. FA): 当FAYL 0 .0.0 .0 时,则到达该外部网段
的流 会被发往引入这条外部路由的 ASBR .而如果 FA 不为 0.0.0 .0 ,则流量会被发往
这个转发地址。 FA 这一概念的引入,使得 OSPF 在某些特殊的场景中得以规避次优路径
问题。
TYPE-7 LSA NSSA
Type-7LSA 也就是非完全末梢区域外部 LSA (Not-So-Stubby Area Extemal LSA) 。这
是一种特殊的 LSA,也是用于描述 OSPF 外部路由,并且其报文格式与巧type-5 LSA 一致,
但是它的泛洪范围却是有严格限制的一一它只能够在 NSSA (Not-So-Stubby Area,非完全
末梢区域)内泛洪,并且不能进入AreaO 。
而 ABR为了让 NSSA 内的路由器能通过骨干区域访问被过滤掉的type-5 LSA 所描述的外部路由,会向 NSSA 中发布 一条默认路由(使用Type-7 LSA 描述)。另 一方面, NSSA 允许本区域中的路由器引入少 量外部路由,这些外部路由被引入后将使用Type-7 LSA 描述,而且Type-7LSA 只能够在该 NSSA 内泛洪,不允许被注入Area0, NSSA ABR 会负责将 NSSA
内泛洪的 Type-7 LSA 转换成 Type-5 LSA ,使得这些外部路由能够在 OSPF 域内传播。
使用 display ospf lsdb nssa 命令可以查看到在Areal 中泛洪的Type-7 LSA.

将Area2配置为NSSA区域,查看R4(ASBR)上

在R3上查看

NSSA区域允许引入外部路由,但外部路由信息的NSSA LSA只能在本区域泛洪,那外部路由如何能传递给整个自治域呢?
大家可以看下R3的LSDB即图20,在“AS External Database”中,有一条Tpye5的AS-external-LSA,目标网络是10.44.44.44,通告路由器是R3,这是因为Type7 LSA在ABR(R3)上转换成Type5 LSA,并且泛洪到骨干区直至整个自治域中。这样就将外部路由引入到了除NSSA区域的其他区域。
在R1查看 nssa lsa

总结 LSA

Stub 区域
STUB区域是一些特定的区域,STUB区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。
STUB区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常来说,STUB区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。
为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给STUB区域中的其他非ABR路由器。
配置STUB区域时需要注意下列几点:
- 骨干区域不能配置成STUB区域。
- 如果要将一个区域配置成STUB区域,则该区域中的所有路由器都要配置STUB区域属性。
- STUB区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。
- 虚连接不能穿过STUB区域。
NSSA区域
NSSA(Not-So-Stubby Area)区域是OSPF特殊的区域类型。NSSA区域与STUB区域有许多相似的地方,两者都不传播来自OSPF网络其它区域的外部路由。差别在于STUB区域是不能引入外部路由,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中。
当区域配置为NSSA区域后,为保证到自治系统外的路由可达,NSSA区域的ABR将生成一条缺省路由,并发布给NSSA区域中的其他路由器。
NSSA区域允许本区域ASBR(指定为ASBR)引入的外部路由在该区域内传播,但不允许其他区域引入的外部路由在本区域内传播。
配置NSSA区域时需要注意下列几点:
- 骨干区域不能配置成NSSA区域。
- 如果要将一个区域配置成NSSA区域,则该区域中的所有路由器都要配置NSSA区域属性。
- 虚连接不能穿过NSSA区域。