OSPF六类LSA与链路状态数据库

版权声明: https://blog.csdn.net/Breeze_CAT/article/details/79774524

OSPF六类LSA与链路状态数据库

OSPF使用LSA(链路状态通告)来在网络中的路由器之间交换网络拓扑信息。LSA详尽地描述了网络的拓扑,OSPF总共有LSA-1、LSA-2、LSA-3、LSA-4、LSA-5、LSA-7共6中LSA他们别别拥有不同的职能。

LSA-1 Router LSA

每一台运行OSPF的设备都会产生LSA-1,

  • 传播范围:只能在本区域传播,不能跨越ABR
  • 宣告者:每台路由器
  • 内容:路由和拓扑信息
  • 查看方法:show ip ospf database router

Link-id为Router-id,ADV为通告者
注意,在LSA-1中看不到掩码,掩码信息需要在LSA-2中查看。

LSA-2 Network LSA

只在多路访问MA网络中存在

  • 传播范围:只能在本区传播,不能跨越ABR
  • 宣告着:DR(通告一共有多少台路由器运行)
  • 内容:描述又拖少成员以及掩码信息
  • 查看方法:show ip ospf database network

Attached router是成员
我们用下面拓扑图来验证一下LSA-1和LSA-2:

这里写图片描述
配置代码如下:
在R1上配置:

R1>en
R1#conf t
R1(config)#int lo 0
R1(config-if)#ip add 1.1.1.1 255.255.255.255
R1(config-if)#no sh
R1(config-if)#int f0/0
R1(config-if)#ip add 12.1.1.1 255.255.255.0
R1(config-if)#no sh

R1(config)#router os 100
R1(config-router)#router-id 1.1.1.1
R1(config-router)#net 1.1.1.1 0.0.0.0 a 0
R1(config-router)#net 12.1.1.0 0.0.0.255 a 0
R1(config-router)#exi

在R2上配置:

R2>en
R2#conf t
R2(config)#int lo 0
R2(config-if)#ip add 2.2.2.2 255.255.255.255
R2(config-if)#no sh
R2(config-if)#int f0/0
R2(config-if)#ip add 12.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exi
R2(config)#int f0/1
R2(config-if)#ip add 23.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exi

R2(config)#router os 100
R2(config-router)#router-id 2.2.2.2
R2(config-router)#net 2.2.2.2 0.0.0.0 a 1
R2(config-router)#net 12.1.1.0 0.0.0.255 a 0
R2(config-router)#net 23.1.1.0 0.0.0.255 a 1
R2(config-router)#exi

在R3上配置:

R3>en
R3#conf t
R3(config)#int lo 0
R3(config-if)#ip add 3.3.3.3 255.255.255.255
R3(config-if)#no sh
R3(config-if)#int lo 0
R3(config-if)#int f0/1
R3(config-if)#ip add 23.1.1.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#exi

R3(config)#router os 100
R3(config-router)#router-id 3.3.3.3
R3(config-router)#net 3.3.3.3 0.0.0.0 a 1
R3(config-router)#net 23.1.1.0 0.0.0.255 a 1
R3(config-router)#exi

一个简单的OSPF系统,配置完毕之后我们来查看一下路由表,以R1为例:

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
O IA    2.2.2.2 [110/11] via 12.1.1.2, 00:11:19, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
O IA    3.3.3.3 [110/21] via 12.1.1.2, 00:10:33, FastEthernet0/0
     23.0.0.0/24 is subnetted, 1 subnets
O IA    23.1.1.0 [110/20] via 12.1.1.2, 00:11:19, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0

我们可以看见,标记O IA的为ospf其他区域路由,和我们宣告的一致,那么我们来查看一下LSA-1和LSA-2

R1#show ip ospf database 

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         816         0x80000003 0x0043A8 2
2.2.2.2         2.2.2.2         817         0x80000002 0x002ACD 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
12.1.1.2        2.2.2.2         817         0x80000001 0x001204

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
2.2.2.2         2.2.2.2         857         0x80000001 0x00FA31
3.3.3.3         2.2.2.2         766         0x80000001 0x0031EC
23.1.1.0        2.2.2.2         842         0x80000001 0x006EA3

可以看见第一个Router Link States就是LSA-1,在这里我们看到了这个区域的OSPF路由器的Link ID(就是路由器的Router-id)和宣告者(就是自己),查看具体LSA-1细节使用show ip ospf database router这条命令,由于条目太长这里就不演示了。
第二个Wet Link States就是LSA-2,在这里我们只看到了12.1.1.2这一条,因为LSA-2只在本区内传播,而宣告进区域0的只有R1自身的ip和R2的f0/0端口,所以我们只能看到一条12.1.1.2路由,在这里Link-id就是路由。查看LSA-2的具体细节使用如下命令:

R1#show ip ospf database n      
% Ambiguous command:  "show ip ospf database n"
R1#show ip ospf database n
R1#show ip ospf database ne
R1#show ip ospf database network 

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Net Link States (Area 0)

  Routing Bit Set on this LSA
  LS age: 1334
  Options: (No TOS-capability, DC)
  LS Type: Network Links
  Link State ID: 12.1.1.2 (address of Designated Router)
  Advertising Router: 2.2.2.2
  LS Seq Number: 80000001
  Checksum: 0x1204
  Length: 32
  Network Mask: /24
        Attached Router: 2.2.2.2
        Attached Router: 1.1.1.1

我们可以看到network mask掩码为/24(这在LSA-1中是看不到的),下面的Attached Router为参与这个区域的路由器的Router-id。

LSA-3 Summary LSA

汇总LSA,可通过操作拦截

  • 传播范围:整个OSPF域
  • 通告者:ABR(本区域边界路由器,可能发生改变)
  • 内容:域间路由,LSA-3穿越多个ABR时,通告者改变
  • 查看方法:show ip ospf database中的summary

Link-id为路由
我们将拓扑图稍微改一下:
这里写图片描述
我们将R3上加了三个环回口并宣告进ospf区域,配置在这里就不演示了,直接在R1查看路由表:

R1#show ip route 
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
O IA    2.2.2.2 [110/11] via 12.1.1.2, 00:00:06, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
O IA    3.3.3.3 [110/21] via 12.1.1.2, 00:00:06, FastEthernet0/0
     23.0.0.0/24 is subnetted, 1 subnets
O IA    23.1.1.0 [110/20] via 12.1.1.2, 00:00:06, FastEthernet0/0
     192.168.21.0/32 is subnetted, 1 subnets
O IA    192.168.21.1 [110/21] via 12.1.1.2, 00:00:06, FastEthernet0/0
     192.168.20.0/32 is subnetted, 1 subnets
O IA    192.168.20.1 [110/21] via 12.1.1.2, 00:00:08, FastEthernet0/0
     192.168.23.0/32 is subnetted, 1 subnets
O IA    192.168.23.1 [110/21] via 12.1.1.2, 00:00:09, FastEthernet0/0
     192.168.22.0/32 is subnetted, 1 subnets
O IA    192.168.22.1 [110/21] via 12.1.1.2, 00:00:10, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0

我们看见刚加的环回口已经进入了路由表,这时我们先来看一下链路状态数据库:

R1#show ip ospf database 

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         202         0x80000005 0x003FAA 2
2.2.2.2         2.2.2.2         811         0x80000003 0x0028CE 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
12.1.1.2        2.2.2.2         811         0x80000002 0x001005

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
2.2.2.2         2.2.2.2         811         0x80000002 0x00F832
3.3.3.3         2.2.2.2         811         0x80000002 0x002FED
23.1.1.0        2.2.2.2         811         0x80000002 0x006CA4
192.168.20.1    2.2.2.2         11          0x80000001 0x002388
192.168.21.1    2.2.2.2         11          0x80000001 0x001892
192.168.22.1    2.2.2.2         11          0x80000001 0x000D9C
192.168.23.1    2.2.2.2         11          0x80000001 0x0002A6

我们看见Summary Net Link States就是LSA-3这里我们可以看见所有不是Area 0中宣告的路由,宣告者均为R2也就是Area 0的ABR。接下来我们在R2上位192网段做一下汇总,之后再来查看路由表:

R1#show ip route         
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
O IA    2.2.2.2 [110/11] via 12.1.1.2, 00:05:54, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
O IA    3.3.3.3 [110/21] via 12.1.1.2, 00:05:54, FastEthernet0/0
     23.0.0.0/24 is subnetted, 1 subnets
O IA    23.1.1.0 [110/20] via 12.1.1.2, 00:05:54, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0
O IA 192.168.20.0/22 [110/21] via 12.1.1.2, 00:00:06, FastEthernet0/0

已经成功汇总,那么查看一下LSA-3变成了什么样子:

R1#show ip ospf database 

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         375         0x80000005 0x003FAA 2
2.2.2.2         2.2.2.2         984         0x80000003 0x0028CE 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
12.1.1.2        2.2.2.2         984         0x80000002 0x001005

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
2.2.2.2         2.2.2.2         984         0x80000002 0x00F832
3.3.3.3         2.2.2.2         984         0x80000002 0x002FED
23.1.1.0        2.2.2.2         984         0x80000002 0x006CA4
192.168.20.0    2.2.2.2         31          0x80000001 0x001E91

可见LSA-3是一个域间路由汇总的LSA,Link-id就是路由。宣告者就是本区域ABR。

LSA-4 Summary ASB LSA

告诉其他区域ASBR所在的位置,根据LSA-5而来

  • 传播范围:除ASBR所在区域外的整个OSPF区域
  • 宣告者:ABR(穿越多个ABR时改变)
  • 内容:ASBR的Router-id

ASBR会通过LSA-1通告自己的ABR自己是ASBR,所以ABR中没有LSA-4,出现重分发动作后,LSA-1自动改变

LSA-5 External LSA

外部LSA,不属于任何一个区域

  • 传播范围:整个OSPF域
  • 宣告者:ASBR(只有引入了外部路由并且重分发动作执行后才会成为ASBR,通告在穿过多个区域时一直不改变)
  • 内容:域外路由,在路由表中标记为OE2

LSA-4和LSA-5通常是一起出现的,LSA-5讲述的是外部路由,而LSA-4则是说ASBR的位置,所以是先有LSA-5再有LSA-4,我们将上面的拓扑稍微修改一下,将R3上的192网段从ospf中取消宣告(别忘了在R2上取消汇总),然后宣告进入rip之后对OSPF进行重分发,操作如下:

R3(config)#router os 100
R3(config-router)#no net 192.168.20.0 0.0.0.255 a 1         
R3(config-router)#no net 192.168.21.0 0.0.0.255 a 1
R3(config-router)#no net 192.168.22.0 0.0.0.255 a 1
R3(config-router)#no net 192.168.23.0 0.0.0.255 a 1
R3(config-router)#exi
R3(config)#router rip
R3(config-router)#v 2
R3(config-router)#no au
R3(config-router)#net 192.168.20.0
R3(config-router)#net 192.168.21.0
R3(config-router)#net 192.168.22.0
R3(config-router)#net 192.168.23.0
R3(config-router)#exi
R3(config)#router os 100
R3(config-router)#redistribute rip subnets 
R3(config-router)#exi
R2(config)#router os 100
R2(config-router)#no area 1 range 192.168.20.0 255.255.252.0

然后我们在R1查看路由表:

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
O IA    2.2.2.2 [110/11] via 12.1.1.2, 00:23:09, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
O IA    3.3.3.3 [110/21] via 12.1.1.2, 00:23:09, FastEthernet0/0
     23.0.0.0/24 is subnetted, 1 subnets
O IA    23.1.1.0 [110/20] via 12.1.1.2, 00:23:09, FastEthernet0/0
O E2 192.168.21.0/24 [110/20] via 12.1.1.2, 00:01:58, FastEthernet0/0
O E2 192.168.20.0/24 [110/20] via 12.1.1.2, 00:02:20, FastEthernet0/0
O E2 192.168.23.0/24 [110/20] via 12.1.1.2, 00:01:54, FastEthernet0/0
O E2 192.168.22.0/24 [110/20] via 12.1.1.2, 00:01:57, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, FastEthernet0/0

ok,我们发现O E2已经写入到路由表了,接下来我们查看一下链路状态数据库:

R1#show ip ospf database 

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         1461        0x80000005 0x003FAA 2
2.2.2.2         2.2.2.2         56          0x80000004 0x0026CF 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
12.1.1.2        2.2.2.2         56          0x80000003 0x000E06

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
2.2.2.2         2.2.2.2         56          0x80000003 0x00F633
3.3.3.3         2.2.2.2         56          0x80000003 0x002DEE
23.1.1.0        2.2.2.2         56          0x80000003 0x006AA5

                Summary ASB Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
3.3.3.3         2.2.2.2         621         0x80000001 0x001905

                Type-5 AS External Link States

Link ID         ADV Router      Age         Seq#       Checksum Tag
192.168.20.0    3.3.3.3         220         0x80000001 0x00FE18 0
192.168.21.0    3.3.3.3         201         0x80000001 0x00F322 0
192.168.22.0    3.3.3.3         199         0x80000001 0x00E82C 0
192.168.23.0    3.3.3.3         197         0x80000001 0x00DD36 0

我们看见,比之刚才,多了一个叫做Summary ASB Link States和一个Type-5 AS External LInk States的表,这两个分别是LSA-4和LSA-5,显然,LSA-4和LSA-5的内容和刚才介绍的一样,LSA-5讲述的是域外路由,Link-id就是路由,宣告者是ASBR也就是R3的Router-id。LSA-4讲述的是ASBR的Router-id,Link-id是ASBR的Router-id,宣告者就是ASBR所在区域的ABR的Router-id。

LSA-7 AS External LSA

与LSA-5只是称呼的不同,都是关于域外路由的

  • 传播范围:整个NSSA区域
  • 宣告者:ASBR(穿过多个区域时一直不改变)
  • 内容:域外路由

LSA-7只会出现在NSSA区域(关于NSSA区域请看我的另一篇文章:OSPF特殊区域
我们将上述拓扑图略作修改,将Area 1设置为NSSA区域。

这里写图片描述
在R2和R3上配置:

R2(config)#router os 100
R2(config-router)#area 1 nssa 
R3(config)#router os 100
R3(config-router)#area 1 nssa 

配置好之后我们在R2上查看链路状态数据库(注意是R2不是R1)

R2#show ip os database 

            OSPF Router with ID (2.2.2.2) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         60          0x80000006 0x003DAB 2
2.2.2.2         2.2.2.2         63          0x80000005 0x002AC8 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
12.1.1.2        2.2.2.2         569         0x80000003 0x000E06

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
2.2.2.2         2.2.2.2         569         0x80000003 0x00F633
3.3.3.3         2.2.2.2         43          0x80000001 0x0031EC
23.1.1.0        2.2.2.2         569         0x80000003 0x006AA5

                Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
2.2.2.2         2.2.2.2         48          0x80000008 0x00CCEC 2
3.3.3.3         3.3.3.3         51          0x80000015 0x00C3DC 2

                Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
23.1.1.3        3.3.3.3         51          0x80000005 0x004CA7

                Summary Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.1         2.2.2.2         67          0x80000006 0x0029F1
12.1.1.0        2.2.2.2         68          0x80000004 0x009D76

                Type-7 AS External Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Tag
192.168.20.0    3.3.3.3         59          0x80000001 0x0001FF 0
192.168.21.0    3.3.3.3         60          0x80000001 0x00F50A 0
192.168.22.0    3.3.3.3         60          0x80000001 0x00EA14 0
192.168.23.0    3.3.3.3         60          0x80000001 0x00DF1E 0

                Type-5 AS External Link States

Link ID         ADV Router      Age         Seq#       Checksum Tag
192.168.20.0    2.2.2.2         50          0x80000001 0x00B35B 0
192.168.21.0    2.2.2.2         52          0x80000001 0x00A865 0
192.168.22.0    2.2.2.2         52          0x80000001 0x009D6F 0
192.168.23.0    2.2.2.2         52          0x80000001 0x009279 0

我们可以看见,首先在Type-5 AS External Link States上方出现了一个Type-7 AS External Link States的Link-id完全一样但宣告者不同的LSA,这就是LSA-7,只有在NSSA去榆中的外部路由采用LSA-7来表示。注意这里LSA_5,宣告者由之前的R3变成了E2,在之前的那篇OSPF特殊区域中提到过,在NSSA区域和普通票哪个区域的ABR处(这张图中是R2)会进行一个叫做七转五的操作,而有能力发LSA-5的路由器才能称为ASBR。而因为NSSA区域过滤LSA-4和LSA-5所以这里看不见LSA-4(LSA-5是ABR进行的七转五得到的,而不是ASBR宣告的)。不出意外的话我们在R1上查看链路状态数据库也是只能看到LSA-5但却没有LSA-4并且LSA-5的宣告者也是R2(R1上是没有LSA-7的,如果不知道为什么说明还是不理解NSSA区域和LSA-5,LSA-7,七转五这些概念):

R1#show ip os d

            OSPF Router with ID (1.1.1.1) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         397         0x80000006 0x003DAB 2
2.2.2.2         2.2.2.2         402         0x80000005 0x002AC8 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
12.1.1.2        2.2.2.2         908         0x80000003 0x000E06

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
2.2.2.2         2.2.2.2         908         0x80000003 0x00F633
3.3.3.3         2.2.2.2         382         0x80000001 0x0031EC
23.1.1.0        2.2.2.2         908         0x80000003 0x006AA5

                Type-5 AS External Link States

Link ID         ADV Router      Age         Seq#       Checksum Tag
192.168.20.0    2.2.2.2         381         0x80000001 0x00B35B 0
192.168.21.0    2.2.2.2         383         0x80000001 0x00A865 0
192.168.22.0    2.2.2.2         383         0x80000001 0x009D6F 0
192.168.23.0    2.2.2.2         384         0x80000001 0x009279 0

ok和预测的一样,以上就是OSPF常见的六类LSA的讲解。

猜你喜欢

转载自blog.csdn.net/Breeze_CAT/article/details/79774524