OSPF协议中的11种LSA类型详解
OSPF协议中的11种LSA类型详解
OSPF(开放最短路径优先)是一种链路状态路由协议,用于在IP网络中计算最佳路由。在OSPF网络中,路由器通过交换链路状态通告(LSA)来构建网络拓扑图。本文将详细介绍OSPF协议中的11种LSA类型,包括它们的用途、功能以及在网络中的传播方式。
在上一篇文章中,我们解释了链路状态更新(LSU)数据包的目的,并分析了包含在LSU数据包中的链路状态通告(LSA)信息。我们还看到了在OSPF网络中发现的最常见的LSA数据包。在这篇文章中,我们将深入分析所有11种OSPF LSA类型,使用网络拓扑图和示例来帮助理解每种LSA类型何时使用以及它们如何保持OSPF网络的更新。
LSA类型快速概述
在我们开始之前,让我们快速浏览一下我们将涵盖的不同类型的OSPF LSA数据包:
- LSA类型1:OSPF路由器LSA
- LSA类型2:OSPF网络LSA
- LSA类型3:OSPF汇总LSA
- LSA类型4:OSPF ASBR汇总LSA
- LSA类型5:OSPF ASBR外部LSA
- LSA类型6:OSPF组成员LSA
- LSA类型7:OSPF非纯区域(NSSA)外部LSA
- LSA类型8:OSPF外部属性LSA(OSPFv2)/链路本地LSA(OSPFv3)
- LSA类型9:OSPF链路范围不透明(OSPFv2)/区域内前缀LSA(OSPFv3)
- LSA类型10:OSPF区域范围不透明LSA
- LSA类型11:OSPF自治系统范围不透明LSA
LSA负载的大小根据LSA类型及其包含的信息而变化。下图清楚地显示了LSA如何包含在LSU中:
图1. OSPF LSU数据包中包含的LSA类型
如上所述,OSPF目前支持11种类型的LSA。每种LSA都在OSPF网络的特定边界内使用。OSPF概念,包括路由器角色,如指定路由器(DR)、区域边界路由器(ABR)、自治系统边界路由器(ASBR)、OSPF区域等,在我们的文章《OSPF基本概念——OSPF区域——路由器角色》中有深入分析。本文假设读者对基本的OSPF理论有很好的理解,并且熟悉OSPF概念。
LSA类型1——OSPF路由器LSA
LSA类型1(路由器LSA)数据包在同一个区域内的路由器之间发送,并且不会离开该区域。一个OSPF路由器使用LSA类型1数据包描述其自己的接口,同时也携带有关其邻居的信息到同一区域的相邻路由器。
图2. 同一区域内OSPF路由器之间交换的LSA类型1数据包
LSA类型2——OSPF网络LSA
LSA类型2(网络LSA)数据包由指定路由器(DR)生成,用于描述直接连接到其段的所有路由器。LSA类型2数据包在同一个区域的邻居之间泛洪,并且保留在该区域。
图3. OSPF DR和邻居路由器之间交换的LSA类型2数据包
LSA类型3——OSPF汇总LSA
LSA类型3(汇总LSA)数据包由区域边界路由器(ABR)生成,用于汇总其直接连接的区域,并使用汇总前缀(例如192.168.0.0/22)向其连接的其他区域的路由器通告跨区域的路由器信息。LSA类型3数据包在整个网络的多个区域中泛洪,有助于OSPF的可扩展性,使用汇总前缀。
图4. OSPF ABR路由器向区域0通告汇总路由192.168.2.0/24
查看上图,ABR路由器R2创建一个类型3汇总LSA并将其泛洪到区域0。类似地,ABR路由器R3创建一个类型3汇总LSA并将其泛洪到区域2。类型3汇总LSA在路由器路由表中显示为O IA条目。
LSA类型4——OSPF ASBR汇总LSA
LSA类型4(ASBR汇总LSA)数据包是用于通告自治系统边界路由器(ASBR)存在的LSA。在下面的例子中,当R2(ABR)从R1接收到LSA类型1数据包时,它将创建一个LSA类型4(汇总ASBR LSA)数据包,该数据包通告从区域1接收到的ASBR路由,并将其注入到区域0。
图5. 由R2 ABR和R3 ABR注入到区域0和2的LSA类型4数据包
虽然LSA类型4数据包由ABRs用于在它们的区域中通告ASBR路由,但它们不会由ASBR本身在其本地区域(区域1)中使用;ASBR使用LSA类型1来通知其邻居(在这种情况下为R2)在其网络中。
LSA类型5——OSPF ASBR外部LSA
LSA类型5(ASBR外部LSA)数据包由ASBR生成,用于将外部重分布路由通告到OSPF的自治系统(AS)。一个典型的LSA类型5示例是一个外部前缀,例如192.168.10.0/24或默认路由(互联网),如下所示:
图6. LSA类型5数据包向所有OSPF路由器通告默认路由
这个外部路由/前缀由ASBR(R1)重分布到OSPF网络中,并在其他OSPF路由器的路由表中显示为O E1或E2条目。
LSA类型6——OSPF组成员LSA
LSA类型6(组成员LSA)数据包是为多播OSPF(MOSPF)设计的,这是一种支持通过OSPF进行多播路由的协议。MOSPF不被Cisco支持,使用范围有限,预计很快将被弃用。
LSA类型7——OSPF非纯区域(NSSA)外部LSA
LSA类型7(NSSA外部LSA)数据包用于某些特殊区域类型,这些区域不允许外部重分布路由通过,因此阻止LSA类型5数据包通过它们泛洪。LSA类型7数据包作为LSA类型5数据包的掩码,允许它们通过这些特殊区域并到达能够将LSA类型7数据包转换回LSA类型5数据包的ABR。
图7. LSA类型7数据包通过NSSA传递并在ABR处转换为LSA类型5
在上面的例子中,ABR R2将LSA类型7转换为LSA类型5并将其泛洪到OSPF网络中。
LSA类型8——OSPF外部属性LSA(OSPFv2)/链路本地LSA(OSPFv3)
在OSPFv2(IPv4)中,LSA类型8数据包(外部属性LSA)用于在OSPF网络中传输BGP属性,同时BGP目的地通过LSA类型5数据包传达,然而,这个功能不被大多数路由器支持。在OSPFv3(IPv6)中,LSA类型8被重新定义为携带IPv6信息通过OSPF网络。
LSA类型9、10和11
通常,不透明LSA(LSA类型9、10和11)用于扩展OSPF的功能,允许协议携带OSPF不一定关心的信息。不透明LSA的实际应用是在MPLS流量工程中,它们用于通信接口参数,如最大带宽、未预留带宽等。以下是三种不透明LSA的简要分析。
LSA类型9——OSPF链路范围不透明(OSPFv2)/区域内前缀LSA(OSPFv3)
在OSPFv2(IPv4)中,LSA类型9定义为链路范围不透明LSA,用于携带OSPF信息。对于OSPFv3,它被重新定义为处理特殊区域类型(如Stub区域)的通信前缀。
LSA类型10——OSPF区域范围不透明LSA
LSA类型10数据包用于在其他区域路由器之间泛洪OSPF信息,即使这些路由器不处理此信息,以扩展OSPF的功能。这种LSA用于流量工程,以通告MPLS和其他协议。
LSA类型11——OSPF自治系统范围不透明LSA
LSA类型11数据包与LSA类型10数据包具有相同的目的,但不会泛洪到特殊区域类型(Stub区域)。
总结
在这篇文章中,我们分析了所有11种OSPF LSA数据包类型并解释了它们的目的。我们还分析了LSA数据包的结构,并使用网络拓扑图帮助说明LSA数据包如何在路由器和OSPF区域之间流动。对于更多高质量的OSPF文章,请访问我们的OSPF部分。