找回密码
 立即注册
首页 业界区 业界 通俗易懂深入浅出OSPF-LSA类型讲解

通俗易懂深入浅出OSPF-LSA类型讲解

宛蛲 3 天前
你是否了解过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)和接口信息(如接口状态、成本、邻居)。
1.png

这里所说的自身是从OSPF角度说的,而不是设备角度。
即,没有宣告的接口,不会产生LSA。
如下所示,宣告了loopback接口, Router LSA中包含了loopback接口的信息。
  1. [H3C-R1]interface LoopBack 0
  2. [H3C-R1-LoopBack0]ip add 10.20.1.1 32
  3. [H3C-R1-LoopBack0]quit
  4. [H3C-R1]ospf 1
  5. [H3C-R1-ospf-1]ar 0
  6. [H3C-R1-ospf-1-area-0.0.0.0]network 10.20.1.1 0.0.0.0
  7. [H3C-R1-ospf-1-area-0.0.0.0]dis this
  8. #
  9. area 0.0.0.0
  10.   network 10.20.1.1 0.0.0.0
  11. #
  12. return
  13. [H3C-R1]dis ospf ls
  14. [H3C-R1]dis ospf lsdb
  15.          OSPF Process 1 with Router ID 10.20.1.1
  16.                  Link State Database
  17.                          Area: 0.0.0.0
  18. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  19. Router    10.20.1.1       10.20.1.1       10   36    80000002  0
  20. [H3C-R1]
复制代码
下面我们尝试宣告一个接口,查看Router LSA中是否包含该接口的信息。
似乎并没有包含GigabitEthernet0/1接口的信息,依然只有loopback接口的信息。
  1. [H3C-R1]interface g 0/1
  2. [H3C-R1-GigabitEthernet0/1]ip add 10.20.2.1 30
  3. [H3C-R1-GigabitEthernet0/1]quit
  4. [H3C-R1]ospf 1
  5. [H3C-R1-ospf-1]ar 0
  6. [H3C-R1-ospf-1-area-0.0.0.0]net 10.20.2.1 0.0.0.3
  7. [H3C-R1-ospf-1-area-0.0.0.0]dis this
  8. #
  9. area 0.0.0.0
  10.   network 10.20.1.1 0.0.0.0
  11.   network 10.20.2.0 0.0.0.3
  12. #
  13. return
  14. [H3C-R1]dis ospf lsdb
  15.          OSPF Process 1 with Router ID 10.20.1.1
  16.                  Link State Database
  17.                          Area: 0.0.0.0
  18. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  19. Router    10.20.1.1       10.20.1.1       160  36    80000002  0
复制代码
我们查看一下OSPF接口状态。我们看到接口GigabitEthernet0/1的OSPF状态是Down。这是因为我们没有配置对端设备。
准确的说,我在模拟器中目前只有一台设备,没有对端设备。
  1. [H3C-R1]dis ospf interface
  2.          OSPF Process 1 with Router ID 10.20.1.1
  3.                  Interfaces
  4. Area: 0.0.0.0
  5. IP Address      Type      State    Cost  Pri   DR              BDR
  6. 10.20.2.1       Broadcast Down     1     1     0.0.0.0         0.0.0.0
  7. 10.20.1.1       PTP       Loopback 0     1     0.0.0.0         0.0.0.0
复制代码
下面我们将对端接口也配置IP地址并宣告,查看Router LSA中是否包含该接口的信息。
2.png

在R2上配置IP,并宣告接口。我们看看R1的Router LSA中是否包含该接口的信息。
  1. [H3C-R1]dis ospf lsdb
  2.          OSPF Process 1 with Router ID 10.20.1.1
  3.                  Link State Database
  4.                          Area: 0.0.0.0
  5. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  6. Router    10.20.1.2       10.20.1.2       67   48    80000006  0
  7. Router    10.20.1.1       10.20.1.1       66   48    80000006  0
  8. Network   10.20.2.1       10.20.1.1       65   32    80000002  0
  9. [H3C-R1]
复制代码
我们看到,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看作是一个从点到面不断扩展的过程。
3.png

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过程也类似。
  1. [H3C-R1-GigabitEthernet0/1]ospf net
  2. [H3C-R1-GigabitEthernet0/1]ospf network-type p2p
  3. [H3C-R1]dis ospf lsdb
  4.          OSPF Process 1 with Router ID 10.20.1.1
  5.                  Link State Database
  6.                          Area: 0.0.0.0
  7. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  8. Router    10.20.1.2       10.20.1.2       123  60    8000000D  0
  9. Router    10.20.1.1       10.20.1.1       122  60    8000000C  0
复制代码
可以看到,R1接收到了R2的Router LSA,且仅有Router LSA,没有Network LSA。
在R2上,拥有和R1相同的LSDB。
再深入一点

再增加一个R3,且与R2使用默认的Broadcast互联。
4.png

在为R2,R3配置完成后,我们看看R1上的LSDB变化。
  1. [H3C-R1]dis ospf lsdb
  2.          OSPF Process 1 with Router ID 10.20.1.1
  3.                  Link State Database
  4.                          Area: 0.0.0.0
  5. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  6. Router    10.20.1.3       10.20.1.3       56   48    80000007  0
  7. Router    10.20.1.2       10.20.1.2       55   72    80000011  0
  8. Router    10.20.1.1       10.20.1.1       1106 60    8000000C  0
  9. Network   10.20.2.6       10.20.1.3       50   32    80000002  0
  10. [H3C-R1]
复制代码
可以看到,在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接口状态。
  1. [H3C-R2]dis ospf interface
  2.          OSPF Process 1 with Router ID 10.20.1.2
  3.                  Interfaces
  4. Area: 0.0.0.0
  5. IP Address      Type      State    Cost  Pri   DR              BDR
  6. 10.20.2.5       Broadcast BDR      1     1     10.20.2.6       10.20.2.5
  7. 10.20.2.2       PTP       P-2-P    1     1     0.0.0.0         0.0.0.0
  8. 10.20.1.2       PTP       Loopback 0     1     0.0.0.0         0.0.0.0
  9. [H3C-R2]
复制代码
R3的OSPF接口状态。
  1. [H3C-R3]dis ospf interface
  2.          OSPF Process 1 with Router ID 10.20.1.3
  3.                  Interfaces
  4. Area: 0.0.0.0
  5. IP Address      Type      State    Cost  Pri   DR              BDR
  6. 10.20.2.6       Broadcast DR       1     1     10.20.2.6       10.20.2.5
  7. 10.20.1.3       PTP       Loopback 0     1     0.0.0.0         0.0.0.0
  8. [H3C-R3]
复制代码
正是因为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域。
5.png

图中R4,R6并不是ABR,是命名失误。R1,R3才是ABR。
配置过程与前面的相似。看一下各设备上的LSDB内都有什么类型的LSA。
可以看到,R1作为Area 1的ABR,Area 1的LSDB中,存在Router LSA、Network LSA、Network Summary LSA三种LSA类型。
  1. [H3C-R1]dis ospf lsdb
  2.          OSPF Process 1 with Router ID 10.20.1.1
  3.                  Link State Database
  4.                          Area: 0.0.0.0
  5. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  6. Router    10.20.1.3       10.20.1.3       138  48    80000005  0
  7. Router    10.20.1.2       10.20.1.2       140  72    80000007  0
  8. Router    10.20.1.1       10.20.1.1       1139 60    80000004  0
  9. Network   10.20.2.6       10.20.1.3       138  32    80000003  0
  10. Sum-Net   10.20.3.4       10.20.1.1       977  28    80000001  2
  11. Sum-Net   10.20.3.0       10.20.1.1       1118 28    80000001  1
  12. Sum-Net   10.20.1.5       10.20.1.1       892  28    80000001  2
  13. Sum-Net   10.20.1.4       10.20.1.1       977  28    80000001  1
  14.                          Area: 0.0.0.1
  15. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  16. Router    10.20.1.5       10.20.1.5       902  48    80000006  0
  17. Router    10.20.1.4       10.20.1.4       901  60    80000009  0
  18. Router    10.20.1.1       10.20.1.1       983  36    80000005  0
  19. Network   10.20.3.5       10.20.1.4       899  32    80000002  0
  20. Network   10.20.3.1       10.20.1.1       977  32    80000002  0
  21. Sum-Net   10.20.2.4       10.20.1.1       1118 28    80000001  2
  22. Sum-Net   10.20.2.0       10.20.1.1       1118 28    80000001  1
  23. Sum-Net   10.20.1.1       10.20.1.1       1118 28    80000001  0
  24. Sum-Net   10.20.1.3       10.20.1.1       1118 28    80000001  2
  25. Sum-Net   10.20.1.2       10.20.1.1       1118 28    80000001  1
  26. [H3C-R1]
复制代码

  • 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即可。
6.png

Aear1-R4和R5的LSDB是什么样的呢?无需查看,肯定和R1中区域1的LSDB是一样的。
例如下面是R4的LSDB,和R1的区域1的LSDB是一样的。
  1. dis ospf lsdb
  2.          OSPF Process 1 with Router ID 10.20.1.4
  3.                  Link State Database
  4.                          Area: 0.0.0.1
  5. Type      LinkState ID    AdvRouter       Age  Len   Sequence  Metric
  6. Router    10.20.1.5       10.20.1.5       1388 48    80000007  0
  7. Router    10.20.1.4       10.20.1.4       1388 60    8000000A  0
  8. Router    10.20.1.1       10.20.1.1       1472 36    80000006  0
  9. Network   10.20.3.5       10.20.1.4       1388 32    80000003  0
  10. Network   10.20.3.1       10.20.1.1       1468 32    80000003  0
  11. Sum-Net   10.20.2.4       10.20.1.1       1608 28    80000002  2
  12. Sum-Net   10.20.2.0       10.20.1.1       1608 28    80000002  1
  13. Sum-Net   10.20.1.1       10.20.1.1       1608 28    80000002  0
  14. Sum-Net   10.20.1.3       10.20.1.1       1608 28    80000002  2
  15. Sum-Net   10.20.1.2       10.20.1.1       1608 28    80000002  1
复制代码
区域间的路由传递

下面我们把Area 2也加入到OSPF域中。看看LSDB中都有什么类型的LSA。
拓扑如下所示。
7.png

图中R4,R6并不是ABR,是命名失误。R1,R3才是ABR。
R1作为Area 1的ABR,看看有什么类型的LSA。
8.png

可以看到:

  • R1的区域0的LSDB中,除了原来的LSA,又新增了4条与Area 3的域间TYPE3 LSA。
  • R1的区域1的LSDB中,除了原来的LSA,又新增了4条与Area 3的域间TYPE3 LSA。
那Area 3的LSDB中会有哪些LSA呢?对于下面的结果,想必你也能猜到。
9.png

三个区域的LSA通告示意图如下。
10.png

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 描述了一个或多个网络的集合。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册