深入了解 OSPF 的 LSA 会对以后的网络故障排错有很大帮助,这里只介绍常见的 LSA 集中类型。
每个 LSA 类型头部中都有 3 个字段来唯一的标识一个 LSA:类型、链路状态 ID、通告路由器。其中 还包括其他 3 个字段来唯一地识别一个 LSA 的最新实例:老化时间、序列号、校验和。
∙ 老化时间(Age):是指自从发出 LSA 后所经历的时间,以秒为单位。不管是 LSA 驻留在链路 状态数据库内,或是在从每一个路由器接口转发出时,老化时间都会增加。
∙ 序列号(Sequence Number):当 LSA 有新的报文产生时,这个序列号就会加 1。路由器通过 比对序列号来识别最新的 LSA 报文信息。序列号越大即越新。
∙ 校验和(Checksum):这是一个除了 Age 字段之外,关于 LSA 的全部信息的校验和。因为如 果包含了 Age 字段,那么这个校验和将会随着老化时间的增大而每次都需要进行重新计算。
∙ 类型(Type):即 LSA 类型。1.路由器 LSA 2.网络 LSA 3.网络汇总 LSA 4.ASBR 汇总
LSA 5.AS 外部 LSA 7.NSSA 外部 LSA
∙ 链路状态 ID(Link State ID):用来指定 LSA 所描述的部分 OSPF 域。根据 LSA 类型的不同 该字段也会有所不同。
∙ 通告路由器(Advertising Router):是指始发 LSA 的路由器的 ID。
学习 LSA 类型时,要注意每个 LSA 的 3 个特点,即;LSA 的传播范围、LSA 由谁通告、LSA 包含的 内容。以下对每类 LSA 进行阐述。
图 1:
实验基本配置:
================================= R4#sh run
!
interface Serial1/1
ip address 24.1.1.4 255.255.255.0 serial restart-delay 0
!
router ospf 110 router-id 4.4.4.4
log-adjacency-changes
network 24.1.1.4 0.0.0.0 area 1
================================= R2#sh run
!
interface Ethernet0/0
ip address 12.1.1.2 255.255.255.0 half-duplex
!
interface Serial1/1
ip address 24.1.1.2 255.255.255.0 serial restart-delay 0
!
router ospf 110 router-id 2.2.2.2
log-adjacency-changes
network 12.1.1.2 0.0.0.0 area 0 network 24.1.1.2 0.0.0.0 area 1
================================ R1#sh run
interface Ethernet0/0
ip address 12.1.1.1 255.255.255.0 half-duplex
!
interface Serial1/0
ip address 13.1.1.1 255.255.255.0 serial restart-delay 0
no fair-queue
!
router ospf 110 router-id 1.1.1.1
log-adjacency-changes
network 12.1.1.1 0.0.0.0 area 0 network 13.1.1.1 0.0.0.0 area 0
================================ R3#sh run
!
interface Serial1/0
ip address 13.1.1.3 255.255.255.0 serial restart-delay 0
no fair-queue
!
interface Serial1/1
ip address 35.1.1.3 255.255.255.0 serial restart-delay 0
!
router ospf 110 router-id 3.3.3.3
log-adjacency-changes
network 13.1.1.3 0.0.0.0 area 0 network 35.1.1.3 0.0.0.0 area 2
================================= R5#sh run
!
interface Loopback0
ip address 172.16.1.5 255.255.255.0
!
interface Serial1/1
ip address 35.1.1.5 255.255.255.0 serial restart-delay 0
!
router ospf 110 router-id 5.5.5.5
log-adjacency-changes
network 35.1.1.5 0.0.0.0 area 2
!
router rip
network 172.16.0.0
!
==================================
1 类 路由器 LSA
路由器 LSA 是由每一台路由器产生,且只在本区域内传递,不会穿越 ABR。它列出了一台路由 器的链路或接口包含本路由器的直连邻居,同时也列出这些接口的状态和每条链路信息。
LSA 传播范围:本域内传递,不穿越 ABR(边界路由器) LSA 通告路由器:本路由器的 Router ID
LSA 链路状态 ID:本路由器的 Router ID
LSA 包含的内容:本路由器的直连邻居,以及直连接口的信息
show ip ospf database router 查看 LSDB 中的 1 类 LSA 的详细信息
在该命令显示下,我们可以看到三种信息,分别是“Another neighbor”,“stub network”,“transit network”
R4# show ip ospf database router //查看 area 1 区域中 1 类 LSA 的详细信息,因为 1 类 LSA 的 特性,将在本区域内传递不穿越 ABR(图 1 中,R2 即为 ABR) 显示包含的内容包括本路由器直连邻居,端口信息。
OSPF Router with ID (4.4.4.4) (Process ID 110) Router Link States (Area 1)
Routing Bit Set on this LSA
LS age: 1724 //老化时间
Options: (No TOS-capability, DC)
LS Type: Router Links //1 类路由 LSA
Link State ID: 2.2.2.2 //R2 的链路状态 ID,以这台路由器的 Router ID 显示 Advertising Router: 2.2.2.2 //R2 的通告路由器,以这台路由器的 Router ID 显示 LS Seq Number: 80000003 //序列号,每次更新即加 1
Checksum: 0x66E4
Length: 48
Area Border Router //表明在该区域中的身份,ABR Number of Links: 2 //area 1 中存在 2 条链路信息
Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 4.4.4.4
(Link Data) Router Interface address: 24.1.1.2
Number of TOS metrics: 0
TOS 0 Metrics: // Metrics=,说明这条链路是串行链路
Link connected to: a Stub Network
(Link ID) Network/subnet number: 24.1.1.0 (Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics:
LS age: 1799
Options: (No TOS-capability, DC) LS Type: Router Links
Link State ID: 4.4.4.4
Advertising Router: 4.4.4.4
LS Seq Number: 80000005
Checksum: 0x9EA1
Length: 48
Number of Links: 2
Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 2.2.2.2
(Link Data) Router Interface address: 24.1.1.4
Number of TOS metrics: 0
TOS 0 Metrics:
Link connected to: a Stub Network
(Link ID) Network/subnet number: 24.1.1.0 (Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics:
“show ip ospf database router” 命令还可以这样用,
R4# show ip ospf database router 2.2.2.2 //只显示本区域中指定通告 ID 的 1 类 LSA 信息
OSPF 的 LSA 类型 ——连载二网络 LSA
图 1:
(基本配置见“OSPF 的 LSA 类型 ——连载一”)
”
2 类 网络 LSA
网络 LSA 是始发于指定路由器(DR)的。这些网络 LSA 将通告一个多路访问网络和与这个网络 相连的所有路由器(包括 BR)。像路由器 LSA 一样,网络 LSA 也只能在始发这条网络 LSA 的区域内进 行泛洪。
LSA 传播范围:本域(存在以太网络连接的域)内传递,不穿越 ABR(边界路由器) LSA 通告路由器:DR 的 Router ID
LSA 链路状态 ID:DR 的接口 IP
LSA 包含的内容:MA 网络中的路由器以及本网的掩码信息和 DR 路由器本身的 Router ID
show ip ospf database network 查看一条网络 LSA
R2#show ip ospf database network //显示本区域中的网络 LSA 信息
OSPF Router with ID (2.2.2.2) (Process ID 110) Net Link States (Area 0)
Routing Bit Set on this LSA LS age: 83
Options: (No TOS-capability, DC) LS Type: Network Links
Link State ID: 12.1.1.2 (address of Designated Router) //网络 LSA 规定由本区域中 DR 的
接口 IP 为链路状态 ID Advertising Router: 2.2.2.2 //由本区域中 DR 的 Router ID 为通告路由器 ID
LS Seq Number: 80000001
Checksum: 0x1204
Length: 32
Network Mask: /24 //本网的掩码信息
Attached Router: 2.2.2.2
Attached Router: 1.1.1.1
注:在图 1 的网络中,R1 和 R2 同在 area 0 区域,以 DR 的选举特性来看,R2 被推选为该区域中的 DR, 因为其 Router ID 比 R1 的要大,所以 R1 为 BDR。(DR 只在 MA 网络中选举)
2 类网络 LSA 传播时是不穿越不穿越 ABR 的,所以不会被传到 area 2 中的 R5 中,只传播到 R3,因为
R3 是 area 0 的 ABR。如下显示↓
R3# show ip ospf database network
OSPF Router with ID (3.3.3.3) (Process ID 110)
Net Link States (Area 0)
Routing Bit Set on this LSA LS age: 879
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
========================================= R5# show ip ospf database network
OSPF Router with ID (5.5.5.5) (Process ID 110)
OSPF 的 LSA 类型 ——连载三网络汇总 LSA
图 1:
(基本配置见“OSPF 的 LSA 类型 ——连载一”)
3 类 网络汇总 LSA
网络汇总 LSA 通告的是一个区域外部的网络(包括缺省路由),在区域间传递的 LSA,且只能 在单个区域中泛洪。一条 LSA 信息即是一条路由信息。
LSA 传播范围:域间路由,能泛洪到整个 AS 中,始发路由器除外。
LSA 通告路由器:ABR 的 Router ID(经过一个 ABR,就会改为这个 ABR 的 Router ID)
LSA 链路状态 ID:网络号
LSA 包含的内容:本区域中的路由信息,包括网络号和掩码
show ip ospf database summary 查看一条网络汇总 LSA R4# show ip ospf database summary
OSPF Router with ID (4.4.4.4) (Process ID 110) Summary Net Link States (Area 1)
Routing Bit Set on this LSA LS age: 1126
Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network)
Link State ID: 12.1.1.0 (summary Network Number) //传递进该区域的网络号作为链路状态
ID
Advertising Router: 2.2.2.2 // ABR 的 Router ID LS Seq Number: 80000004
Checksum: 0xF722
Length: 28
Network Mask: /24
TOS: 0 Metric: 10 // Metric=10,通往 12.1.1.0 网路走的是以太网络
Routing Bit Set on this LSA LS age: 1126
Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network)
Link State ID: 13.1.1.0 (summary Network Number)
Advertising Router: 2.2.2.2
LS Seq Number: 80000004
Checksum: 0x6D6B Length: 28
Network Mask: /24
TOS: 0 Metric: 74
Routing Bit Set on this LSA LS age: 1128
Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network)
Link State ID: 35.1.1.0 (summary Network Number) Advertising Router: 2.2.2.2
LS Seq Number: 80000002
Checksum: 0xD4AF Length: 28
Network Mask: /24
TOS: 0 Metric: 138
====================================== R4#sh 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
35.0.0.0/24 is subnetted, 1 subnets
O IA 35.1.1.0 [110/202] via 24.1.1.2, 01:02:28, Serial1/1
// O IA= OSPF inter area,24.1.1.2 说发往 35.1.1.0 的数据包全部转给我,因为我是 ABR。
3 类 LSA 学习区域间的路由,并将其泛洪到区域中的其他路由器。但不会在泛洪给始发给它的那台。
24.0.0.0/24 is subnetted, 1 subnets
C 24.1.1.0 is directly connected, Serial1/1
12.0.0.0/24 is subnetted, 1 subnets
O IA 12.1.1.0 [110/74] via 24.1.1.2, 01:02:34, Serial1/1
13.0.0.0/24 is subnetted, 1 subnets
O IA 13.1.1.0 [110/138] via 24.1.1.2, 01:02:24, Serial1/1
OSPF 的 LSA 类型 ——连载四 ASBR 汇总 LSA
图 1:
(基本配置见“OSPF 的 LSA 类型 ——连载一”)
4 类 ASBR 汇总 LSA
ASBR 汇总 LSA 通告的是一个区域外部的 ASBR 路由器,且只能在单个区域中泛洪。由外部路 由起源区域的 ABR 产生,泛洪到起源区域的整个 AS 中。
LSA 传播范围:泛洪到整个 AS 中,(把 ASBR 的 Router ID 传播到其他区域,让其他区域的 路由器得知 ASBR 的位置。)
LSA 通告路由器:ABR 的 Router ID(经过一个 ABR,就会改为这个 ABR 的 Router ID)
LSA 链路状态 ID:ASBR 的 Router ID
LSA 包含的内容:本区域中的路由信息,包括网络号和掩码
注意:在 ASBR 直连的区域内,不会产生 4 类的 LSA,因为 ASBR 会发出 1 类的 LSA,其中会指明自 己是 ASBR。
show ip os database asbr-summary 查看一条 ASBR 汇总 LSA
实验前必须先将 R5 连接的 172.16.1.0 网络重分发进 OSPF,因为此时 R3 还未能学到去往 172.16.1.0
网络的路由。
先看一下没有重分布之前,R3 上的路由信息(R5 一直都存在一条 172.16.1.0 的直连路由):
R3#sh 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
35.0.0.0/24 is subnetted, 1 subnets
C 35.1.1.0 is directly connected, Serial1/1
24.0.0.0/24 is subnetted, 1 subnets
O IA 24.1.1.0 [110/138] via 13.1.1.1, 01:33:17, Serial1/0
12.0.0.0/24 is subnetted, 1 subnets
O 12.1.1.0 [110/74] via 13.1.1.1, 01:33:17, Serial1/0
13.0.0.0/24 is subnetted, 1 subnets
C 13.1.1.0 is directly connected, Serial1/0
现在再把 R5 的 RIP 信息重分布进 OSPF:
R5(config)#router ospf 110
R5(config-router)#redistribute rip subnet
再一次观察一下 R3 上的路由信息:
R3#sh ip route
35.0.0.0/24 is subnetted, 1 subnets
C 35.1.1.0 is directly connected, Serial1/1
172.16.0.0/24 is subnetted, 1 subnets
O E2 172.16.1.0 [110/20] via 35.1.1.5, 00:00:02, Serial1/1
24.0.0.0/24 is subnetted, 1 subnets
O IA 24.1.1.0 [110/138] via 13.1.1.1, 00:00:02, Serial1/0
12.0.0.0/24 is subnetted, 1 subnets
O 12.1.1.0 [110/74] via 13.1.1.1, 01:37:09, Serial1/0
13.0.0.0/24 is subnetted, 1 subnets
C 13.1.1.0 is directly connected, Serial1/0
这时,OSPF 网络中的其他路由器也都学习到了 172.16.0.0 网络的路由了,且都是以 O E2 形式。 外部路由重分布进OSPF有两种类型
·重分布进OSPF的路由默认为E2,Cost=20,且传递过程中不改变COST。
·如果改为E1类型,则在传输过程中会累加每个入接口的cost值
如果有去往同一目标的多条路由重分布进OSPF,OSPF在选择外部路由的时候,遵循的原则是:
[1] O E1优于O E2 [2]在同样的情况下,Cost越小越优先 [3]在cost相同的情况下,选择到达ASBR最优的路径
我们现在到R4上查看一下,看R4上有没有这条LSA信息:
R4#show ip ospf database asbr-summary
OSPF Router with ID (4.4.4.4) (Process ID 110) Summary ASB Link States (Area 1)
Routing Bit Set on this LSA LS age: 1700
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(AS Boundary Router)
Link State ID: 5.5.5.5 (AS Boundary Router address) // ASBR(连接外部网络的路由器)的
Router ID
Advertising Router: 2.2.2.2 // ABR的Router ID
LS Seq Number: 80000001
Checksum: 0xC1D3
Length: 28
Network Mask: /0 //没有实际意义,被设置为0.0.0.0(《TCP/IP 路由第一卷》是 这么解释的,但为什么说没有实际意义,我还没搞清楚)
TOS: 0 Metric: 138
OSPF 的 LSA 类型 ——连载五自治系统外部的 LSA
图 1:
(基本配置见“OSPF 的 LSA 类型 ——连载一”)
5 类 自治系统外部的 LSA
自治系统外部的 LSA 是由 ASBR(图中为 R5)始发的,这些自治系统外部的 LSA 是用来通 告 OSPF 自治系统外部的目的网络的,这里也包括到达外部目的网络的缺省路由。自治系统外部 LSA 可以 泛洪到 OSPF 域中所有非末梢的区域中去。
LSA 传播范围:域外路由,不属于某个区域,一个 LSA 即是一条路由信息
LSA 通告路由器:ASBR 的 Router ID,通告路由器不会发生改变
LSA 链路状态 ID:网络号
LSA 包含的内容:将外部自治系统传递进来,包含着域外的路由信息
show ip os database external 查看一条自治系统外部的 LSA R4# show ip os database external
OSPF Router with ID (4.4.4.4) (Process ID 110) Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 845
Options: (No TOS-capability, DC) LS Type: AS External Link
Link State ID: 172.16.1.0 (External Network Number ) //OSPF 自治系统外部网络号
Advertising Router: 5.5.5.5 // ASBR 的 Router ID,通告路由器不会发生改变 (在 OSPF 区 域中的路由器都被通告的一样)
LS Seq Number: 80000002
Checksum: 0xBE0F Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path) //即 O E2
TOS: 0
Metric: 20
Forward Address: 0.0.0.0 //转发地址,是指到达所通告的目的地的数据包应该被转 发到的地址。如果转发地址为 0.0.0.0,那么数据包将被 转发到始发的 ASBR 上
External Route Tag: 0
如上所示,R4 仅仅通过 5 类 LSA 并不能正确转发数据包,因为它并不知道 ASBR 的路径怎么去,这时 4 类的网络汇总 LSA 就能辅助 5 类 LSA,使 R4 知道了去 ASBR 可以把数据包转发给 R2。4 类网络汇总 LSA 的作用即在此;把 ASBR 的 Router ID 传播到其他区域,让其他区域的路由器得知 ASBR 的位置。我们 回过头来看一下 R4 上的 4 类 LSA 信息:
R4#sh ip os da asbr-summary
OSPF Router with ID (4.4.4.4) (Process ID 110) Summary ASB Link States (Area 1)
Routing Bit Set on this LSA LS age: 629
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(AS Boundary Router)
Link State ID: 5.5.5.5 (AS Boundary Router address) Advertising Router: 2.2.2.2
LS Seq Number: 80000002
Checksum: 0xBFD4
Length: 28
Network Mask: /0
TOS: 0 Metric: 138
所以说,4 类 LSA 是辅助 5 类 LSA 一起实用的。
OSPF 的 LSA 类型 ——连载六
图 1:
(基本配置见“OSPF 的 LSA 类型 ——连载一”)
7 类 NSSA 外部 LSA
NSSA 外部的 LSA 是由一个 NSSA 区域内的 ASBR 路由器始发的。NSSA 外部的 LSA 仅仅 在始发他们的一个非纯末梢区域中进行泛洪。
LSA 传播范围:特殊的域外路由,只存在于 NSSA 区域中。 LSA 通告路由器:ASBR 的 Router ID(只在 NSSA 区域中) LSA 链路状态 ID:网络号
LSA 包含的内容:路由信息
注意:在这个类型中有一个需要留意的地方,在显示 NSSA 外部 LSA 信息中有一条“转发地址”——如 果网络是在一个 NSSA ASBR 路由器和邻接的自治系统之间是作为一条内部路由通告的,那么这个转发地
址就是指这个网络的下一跳地址。如果网络不是作为一条内部路由通告的,那么这个转发地址将是 NSSA
ASBR 路由器的路由器 ID。
show ip os database nssa-external 查看一条 NSS 外部 LSA
(实验验证部分稍后补上。。)