通俗易懂深入浅出OSPF-LSA类型讲解
你是否了解过OSPF协议?是否为各种类型的LSA感到困惑?时常分不清它们的作用和传播范围?今天,我们就结合华三模拟器上的实践,深入浅出的来了解一下OSPF协议的LSA类型。OSPF(开放最短路径优先)协议。通过多种类型的LSA(链路状态通告)来描述网络拓扑和路由信息。每种LSA都有其特定的作用和明确的传播范围。以下是常见LSA类型的详细介绍及其作用范围。
常见OSPF LSA类型概览
LSA类型名称主要作用生成者传播(泛洪)范围Type 1路由器LSA (Router LSA)描述路由器的本地信息,最基本的LSA。每台OSPF路由器所在区域内部Type 2网络LSA (Network LSA)描述多路访问网络(如以太网)中,连接到该网段的所有路由器DR所在区域内部Type 3网络汇总LSA (Network Summary LSA)通告区域间的路由信息。ABR(区域边界路由器)整个自治系统内(特殊区域如Stub区域除外)Type 4ASBR汇总LSA (ASBR Summary LSA)通告ASBR的位置。ABR(区域边界路由器)整个自治系统内(特殊区域如Stub区域除外)Type 5AS外部LSA (AS External LSA)描述到达OSPF外部的路由ASBR(自治系统边界路由器)整个自治系统内(特殊区域如Stub区域、NSSA区域除外)Type 7NSSA外部LSA (NSSA External LSA)在NSSA(非纯末梢区域)中通告外部路由。NSSA区域内的ASBRNSSA区域内部(在ABR上可转换为Type5后继续传播)Type 9/10/11不透明LSA (Opaque LSA)用于OSPF的扩展功能支持扩展功能的路由器根据类型不同:链路本地(Type9)、本地区域(Type10)、自治系统内(Type11)Type1 LSA
即 Router LSA。
正如字面意思,它代表了一个Router(路由器)。
实际意义是,描述自身(Router id)及包含的所有接口。
通俗的理解,Router LSA就像一个路由器的“身份证”,它包含了路由器的基本信息(如Router id)和接口信息(如接口状态、成本、邻居)。
这里所说的自身是从OSPF角度说的,而不是设备角度。
即,没有宣告的接口,不会产生LSA。
如下所示,宣告了loopback接口, Router LSA中包含了loopback接口的信息。
interface LoopBack 0
ip add 10.20.1.1 32
quit
ospf 1
ar 0
network 10.20.1.1 0.0.0.0
dis this
#
area 0.0.0.0
network 10.20.1.1 0.0.0.0
#
return
dis ospf ls
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.1 10.20.1.1 10 36 800000020
下面我们尝试宣告一个接口,查看Router LSA中是否包含该接口的信息。
似乎并没有包含GigabitEthernet0/1接口的信息,依然只有loopback接口的信息。
interface g 0/1
ip add 10.20.2.1 30
quit
ospf 1
ar 0
net 10.20.2.1 0.0.0.3
dis this
#
area 0.0.0.0
network 10.20.1.1 0.0.0.0
network 10.20.2.0 0.0.0.3
#
return
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.1 10.20.1.1 16036 800000020我们查看一下OSPF接口状态。我们看到接口GigabitEthernet0/1的OSPF状态是Down。这是因为我们没有配置对端设备。
准确的说,我在模拟器中目前只有一台设备,没有对端设备。
dis ospf interface
OSPF Process 1 with Router ID 10.20.1.1
Interfaces
Area: 0.0.0.0
IP Address Type State CostPri DR BDR
10.20.2.1 Broadcast Down 1 1 0.0.0.0 0.0.0.0
10.20.1.1 PTP Loopback 0 1 0.0.0.0 0.0.0.0下面我们将对端接口也配置IP地址并宣告,查看Router LSA中是否包含该接口的信息。
在R2上配置IP,并宣告接口。我们看看R1的Router LSA中是否包含该接口的信息。
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.2 10.20.1.2 67 48 800000060
Router 10.20.1.1 10.20.1.1 66 48 800000060
Network 10.20.2.1 10.20.1.1 65 32 800000020
我们看到,R1接收到了R2 loopback接口(10.20.1.2)的Router LSA的信息。
但是R1宣告的接口GigabitEthernet0/1并不是Router LSA,而是Type2 LSA,即Network LSA。
下面我们来了解下Network LSA。
Type1 LSA小结
[*]Router LSA包含了Router自身的信息及所有接口的信息。
[*]Router LSA的Age字段表示该LSA的年龄,单位是秒。Age字段的值越小,表示该LSA越新。
[*]Router LSA的Metric字段表示该接口到目的网络的成本。
[*]Router LSA在OSPF中是一种单播LSA,只能在本地区域范围泛洪。
Type2 LSA(网络中的)
即 Network LSA。
正如字面意思,它代表了一个网络。如果我们把Router LSA看作是一个个的点,那么Network LSA就由多个点组成的网络。从Type1到Type2,以及到后面的Type3 LSA……,可以把OSPF的LSA看作是一个从点到面不断扩展的过程。
Network LSA,它由DR(Designated Router)生成,描述所在(MA多路访问)网络(如以太网)中所有邻接关系的路由器,包括DR本身。
这便解释了为什么在上节中,R1宣告的接口GigabitEthernet0/1不是Router LSA,而是Network LSA。因为R1的GigabitEthernet0/1默认是一个Broadcast接口。
正如我们看到的拓扑结构,R1和R2是点对点连接的,没有其他设备。所以它们之间并不需要DR,BDR选举,这完全可以避免,加快OSPF的收敛速度。
现在我们尝试将R1,R2的互联接口配置为Point-to-Point。看看是否还有Network LSA。
以R1为例,R2过程也类似。
ospf net
ospf network-type p2p
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.2 10.20.1.2 12360 8000000D0
Router 10.20.1.1 10.20.1.1 12260 8000000C0可以看到,R1接收到了R2的Router LSA,且仅有Router LSA,没有Network LSA。
在R2上,拥有和R1相同的LSDB。
再深入一点
再增加一个R3,且与R2使用默认的Broadcast互联。
在为R2,R3配置完成后,我们看看R1上的LSDB变化。
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.3 10.20.1.3 56 48 800000070
Router 10.20.1.2 10.20.1.2 55 72 800000110
Router 10.20.1.1 10.20.1.1 1106 60 8000000C0
Network 10.20.2.6 10.20.1.3 50 32 800000020
可以看到,在R1的LSDB中,多了一个Network LSA,它的LinkState ID是10.20.2.6,即R3的GigabitEthernet0/1接口的IP地址,宣告者AdvRouter是R310.20.1.3。
有一个细节,LinkState ID是R3的接口IP,为什么不是R2的接口IP呢?
R2的OSPF接口状态。
dis ospf interface
OSPF Process 1 with Router ID 10.20.1.2
Interfaces
Area: 0.0.0.0
IP Address Type State CostPri DR BDR
10.20.2.5 Broadcast BDR 1 1 10.20.2.6 10.20.2.5
10.20.2.2 PTP P-2-P 1 1 0.0.0.0 0.0.0.0
10.20.1.2 PTP Loopback 0 1 0.0.0.0 0.0.0.0
R3的OSPF接口状态。
dis ospf interface
OSPF Process 1 with Router ID 10.20.1.3
Interfaces
Area: 0.0.0.0
IP Address Type State CostPri DR BDR
10.20.2.6 Broadcast DR 1 1 10.20.2.6 10.20.2.5
10.20.1.3 PTP Loopback 0 1 0.0.0.0 0.0.0.0
正是因为R3的接口是DR,R2的接口是BDR,所以在R1看到的Network LSA的LinkState ID是R3的接口IP。
准确的说,你在本地网络内所有设备上看到的这条Network LSA的LinkState ID都是R3的接口IP。因为本地网络范围内,所有设备都有相同的LSDB。
Type2 LSA小结
[*]Network LSA包含了所在(MA)网络中所有邻接关系的路由器,包括DR本身。
[*]Network LSA只能在本地区域范围泛洪。
[*]在Point-to-Point网络中,没有Network LSA,只有Router LSA。
Type3 LSA(网络间的)
即 Network Summary LSA。
正如字面意思,它代表了一个网络的汇总。
它由区域边界路由器ABR(Area Border Router)生成,描述一个区域内的网络信息,并将该信息通告给其他区域。它会根据收到的Network LSA,生成Network Summary LSA,以减少区域内的LSA数量,提高OSPF的效率。
前面我们说,Type1相当于点,很多个点组使用Type2构成了面,如此我们便拓展出了一个网络。而Type3 LSA,就相当于把这个网络继续扩大,拓展,将Type1和2汇总一下,实现面与面之间的连接,即区域与区域之间的连接。
我们在之前的拓扑上,构建一个Area 1的OSPF域。
图中R4,R6并不是ABR,是命名失误。R1,R3才是ABR。
配置过程与前面的相似。看一下各设备上的LSDB内都有什么类型的LSA。
可以看到,R1作为Area 1的ABR,Area 1的LSDB中,存在Router LSA、Network LSA、Network Summary LSA三种LSA类型。
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.3 10.20.1.3 13848 800000050
Router 10.20.1.2 10.20.1.2 14072 800000070
Router 10.20.1.1 10.20.1.1 1139 60 800000040
Network 10.20.2.6 10.20.1.3 13832 800000030
Sum-Net 10.20.3.4 10.20.1.1 97728 800000012
Sum-Net 10.20.3.0 10.20.1.1 1118 28 800000011
Sum-Net 10.20.1.5 10.20.1.1 89228 800000012
Sum-Net 10.20.1.4 10.20.1.1 97728 800000011
Area: 0.0.0.1
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.5 10.20.1.5 90248 800000060
Router 10.20.1.4 10.20.1.4 90160 800000090
Router 10.20.1.1 10.20.1.1 98336 800000050
Network 10.20.3.5 10.20.1.4 89932 800000020
Network 10.20.3.1 10.20.1.1 97732 800000020
Sum-Net 10.20.2.4 10.20.1.1 1118 28 800000012
Sum-Net 10.20.2.0 10.20.1.1 1118 28 800000011
Sum-Net 10.20.1.1 10.20.1.1 1118 28 800000010
Sum-Net 10.20.1.3 10.20.1.1 1118 28 800000012
Sum-Net 10.20.1.2 10.20.1.1 1118 28 800000011
[*]Area 0.0.0.0 内,除了原来的TYPE1、TYPE2 LSA,还多了4条TYPE3 LSA,分别是Area 1中Aear1-R4,R5的loopback接口,Aear1-R4的2个互联接口。
[*]Area 0.0.0.1 内,包含了区域内3台路由器自身的TYPE1 LSA,R4上2个接口的TYPE2 LSA,同最初的Area 0一样,区域1作为一个网络(Network),它包含区域内所有路由器的信息TYPE1、TYPE2 LSA。
[*]Area 1中剩下的5条Sum-Net LSA,则是区域0和区域1之间的连接,分别是区域0的2个网络(Network)和3台路由器(Router)。
如下图所示,区域0中3个TYPE1,2个TYPE2 共计5条以TYPE3 LSA的形式通告给了区域1。
同样区域1中,3个TYPE1(包含R1),2个TYPE2 共计“5”条以TYPE3 LSA的形式通告给了区域0。那为什么区域0中只有4条Sum-Net LSA? 因为R1作为Area 1的ABR,没必要把自己通告自己了,所以只需要4条Sum-Net LSA即可。
Aear1-R4和R5的LSDB是什么样的呢?无需查看,肯定和R1中区域1的LSDB是一样的。
例如下面是R4的LSDB,和R1的区域1的LSDB是一样的。
dis ospf lsdb
OSPF Process 1 with Router ID 10.20.1.4
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter AgeLen SequenceMetric
Router 10.20.1.5 10.20.1.5 1388 48 800000070
Router 10.20.1.4 10.20.1.4 1388 60 8000000A0
Router 10.20.1.1 10.20.1.1 1472 36 800000060
Network 10.20.3.5 10.20.1.4 1388 32 800000030
Network 10.20.3.1 10.20.1.1 1468 32 800000030
Sum-Net 10.20.2.4 10.20.1.1 1608 28 800000022
Sum-Net 10.20.2.0 10.20.1.1 1608 28 800000021
Sum-Net 10.20.1.1 10.20.1.1 1608 28 800000020
Sum-Net 10.20.1.3 10.20.1.1 1608 28 800000022
Sum-Net 10.20.1.2 10.20.1.1 1608 28 800000021区域间的路由传递
下面我们把Area 2也加入到OSPF域中。看看LSDB中都有什么类型的LSA。
拓扑如下所示。
图中R4,R6并不是ABR,是命名失误。R1,R3才是ABR。
R1作为Area 1的ABR,看看有什么类型的LSA。
可以看到:
[*]R1的区域0的LSDB中,除了原来的LSA,又新增了4条与Area 3的域间TYPE3 LSA。
[*]R1的区域1的LSDB中,除了原来的LSA,又新增了4条与Area 3的域间TYPE3 LSA。
那Area 3的LSDB中会有哪些LSA呢?对于下面的结果,想必你也能猜到。
三个区域的LSA通告示意图如下。
Type3 LSA小结
[*]Network Summary LSA由ABR生成,描述一个区域内的网络信息,并将该信息通告给其他区域。
[*]Network Summary LSA对外代表的是本区域内的Type1,Type2 LSA。
[*]非0域的Network Summary LSA,需要通过0域来通告。(文中未体现,可通过实验验证)
[*]0域可以和任何域的Network Summary LSA互相通告。
思考这个网络
Type1 LSA就像是众多的点(Router),这些点通过Type2 LSA组成网(Network),TYPE3 LSA将这些网(Network)组成更大的网。
由此,我们使用这3种LSA,便可以组建出一个健壮性极高的大型网络。
关于这个网络存在什么问题吗?当网络更大时,会有什么问题?
[*]0域包含了所有区域的网络信息,未来LSDB会非常庞大。
[*]0域中的路由器需要处理来自所有区域的LSA,压力会非常大。
[*]非0域包含了其它所有域的Network Summary LSA,未来LSDB也会非常庞大。
[*]ABR需要处理两个域中的大量的LSA,压力会非常大。
[*]巨大的LSDB会增加路由计算的时间,导致路由收敛时间增加。
[*]全网任意一条路由的变动更新,都会被广播到全网所有区域,所有路由器。
[*]……
关于这些问题如何解决我们后续会继续探讨。
总结
[*]OSPF通过多种类型的LSA来描述网络拓扑和路由信息,每种LSA都有其特定的作用和传播范围。
[*]LSDB是OSPF路由选择的基础,它包含了所有区域的LSA,是OSPF路由选择的依据。
[*]OSPF通过LSDB来计算路由,路由选择算法是Dijkstra算法。
[*]OSPF的路由选择是基于LSDB的,LSDB的大小直接决定了路由选择的效率。
[*]TYPE1 ,2 LSA 是区域内的LSA,TYPE3 LSA 是区域间的LSA。
[*]TYPE1 LSA 描述了一个路由器,TYPE2 LSA 描述了一个网络。
[*]TYPE3 LSA 描述了一个或多个网络的集合。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]