OSPF 是一种基于链路状态的动态路由协议,每台OSPF路由器都会成生相关的LSA,并将这些LSA 通告出去。路由器收到 LSA 后,会将它们存放在链路状态数据库 LSDB 中。
这是实验拓扑图,下面是基本配置:
R1:
sys
sysname R1
int loop 0
ip add 81.1.1.1 32
int loop 1
ip add 1.1.1.1 24
int g0/0/0
ip add 192.168.12.1 24
q
R2:
sys
sysname R2
int loop 0
ip add 82.2.2.2 32
int g0/0/1
ip add 192.168.12.2 24
int g0/0/0
ip add 192.168.235.2 24
q
R3:
sys
sysname R3
int loop 0
ip add 83.3.3.3 32
int s0/0/0
ip add 192.168.34.3 24
int g0/0/0
ip add 192.168.235.3 24
q
R4:
sys
sysname R4
int loop 0
ip add 84.4.4.4 32
int loop 1
ip add 4.4.4.4 24
int s0/0/0
ip add 192.168.34.4 24
q
R5:
sys
sysname R5
int loop 0
ip add 85.5.5.5 32
int g0/0/0
ip add 192.168.235.5 24
q
Type1-Router-LSA:
1、域内路由,仅在本区域传递,不会穿越ABR。
2、每台路由器都会产生。
3、包含本路由器的直连的邻居,以及直连网络的信息
R3 R4 在 area 2 运行 OSPF 协议,2 类LSA 只在 R1 R2 之间有, R3 R4 之间没有 DR BDR ,所以没有 2 类LSA 。
R3:
ospf router-id 3.3.3.3
area 2
network 83.3.3.3 0.0.0.0
network 192.168.34.3 0.0.0.0
q
R4:
ospf router-id 4.4.4.4
area 2
network 84.4.4.4 0.0.0.0
network 192.168.34.4 0.0.0.0
q
在 R4 上查看 display ospf lsdb router 3.3.3.3
Type2-Network-LSA:
1、仅在本区域传递
2、只有MA网络才会产生LSA2,由DR发出。
3、标识出本MA网中有哪些路由器以及本网的掩码信息
R1 R2 在area 1 运行 OSPF 协议
R1:
ospf router-id 1.1.1.1
area 1
network 81.1.1.1 0.0.0.0
network 192.168.12.1 0.0.0.0
q
R2:
ospf router-id 2.2.2.2
area 1
network 82.2.2.2 0.0.0.0
network 192.168.12.2 0.0.0.0
q
在R1 R2 之间,R2 是DR
查看 R4 中没有 2 类LSA
Type-3 Network-summary-LSA:
1、域间路由,能泛洪到整个AS。
2、由ABR发出,穿越一个ABR,其ADV Router就会变成此ABR的 Router-id.
3、包含本区域中的所有路由信息,包括网络号和掩码
在area 0 中配置 R2 R3 R5 的 OSPF 协议,R2 R5 修改接口优先级,使R5 成为 DR,R2 成为 BDR。
R2:
ospf
area 0
network 192.168.235.2 0.0.0.0
int g0/0/0
ospf dr-priority 50
R3:
ospf
area 0
network 192.168.235.3 0.0.0.0
R5:
ospf router-id 5.5.5.5
area 0
network 85.5.5.5 0.0.0.0
network 192.168.235.5 0.0.0.0
int g0/0/0
ospf dr-priority 100
R1 查看 display ospf lsdb summary 84.4.4.4
在R1 上看到的 AdvRouter: 为 2.2.2.2 ,在R5 上看到的为 3.3.3.3
Type-5 AS-external-LSA:
1、域外路由,不属于某个区域,OSPF域内传播(除特殊区域)
2、ASBR产生,泛洪到整个AS,不会改变ADV Router。
3、包含域外的路由,描述到AS外部的路由
R1 将环回口引入到OSPF 进程 , 这样才会有外部路由,做一个 route-policy 精确匹配环回口
如果不做精确引入,既有 1.1.1.1 也会有 81.1.1.1。
R1:
acl 2000
rule permit source 1.1.1.0 0.0.0.255
route-policy 10 permit node 10
if-match acl 2000
ospf
import-route direct route-policy 10
在R5 上查看 dis ospf lsdb ase 1.1.1.0
Type-4 ASBR-summary-LSA
1、ABR 产生,描述到ASBR的路由,OSPF域内传播(除特殊区域)
2、把ASBR的Router-id传播到其他区域,让其他区域的路由器得知ASBR的位置。
3、穿越一个ABR,其ADV Router就会变成此ABR的Router-id.
4、在ASBR直连的区域内,不会产生4类的LSA,因为ASBR会发出一类的LSA,其中会指明自己 是ASBR
查看R5的lsdb中的asbr
6 类的 LSA 为 组播 LSA
Type-7-NSSA LSA:
由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
R3 R4 所在的 area 2 配置为 特殊的 NSSA 区域
R3:
ospf
area 2
nssa
R4:
ospf
area 2
nssa
外部路由引入
acl 2000
rule permit source 4.4.4.0 0.0.0.255
route-policy 10 permit node 10
if-match acl 2000
ospf
import-route direct route-policy 10
查看 7 类LSA,只会出现在 area 2 的 NSSA 区域,不会泛洪到其他区域
External LSA 4 类 和 5 类 不允许进入 NSSA 区域,R4上没有 1.1.1.0
LSA 中各字段的描述:
Type:
显示信息中,Type表示了 LSA 的类型,这里表示的是 Router LSA.不同类型的LSA的作用和泛洪范围是不相同的。Router LSA 描述了路由器的直连链路或接口,泛洪范围为所在区域的内部,以使本区域的其他路由器了解其直连链路或接口的状态信息。
Ls id:
对于Router LSA ,Ls id 就是产生该Router LSA的路由器的Router-ID。
Adv rtr:
Adv rtr 描述了 LSA是由哪台路由产生的。对于Router LSA来讲,Adv rtr就是产生该Router LSA的路由器的Router-ID。
Ls age:
Ls age 是指LSA的老化时间,用来表示LSA已经存活了多长时间,最大值为 3600s 。
当一台路由器产生一条LSA的时候,路由器会将LSA 的老化时间设置为0. LSA 在产生之后,无论是停留在路由器的LSDB内,还是在传递过程之中,老化时间都会不断增加。为了防止因LSA的过期而造成路由回馈,路由器会每隔 30min 泛洪自己产生的LSA。
Seq#:
每一条 LSA 都会维护一个Seq#(序列号),产生这条LSA的路由器都默认会以 30分钟的周期泛洪这条LSA,每次泛洪时,序列号就加1.LSA 的序列号越大,表明这条LSA 越新。
Chksum:
Chksum(检验和)用来检验LSA的完整性。所有的LSA 都保存在路由器的LSDB中,每 5min 会计算一次。如果路由器收到了同一条LSA,且序列号相同,则会比较它们的检验和,校验和越大就被认为相应的LSA越新。