文章目录
- LSA——链路状态通告
- 一、LSA固定头部
- 二、六类LSA报文
LSA——链路状态通告
一、LSA固定头部
Type | Age | Do not age flag | Link state id | ADV | Seq |
LSA的类型 | 表明LSA的产生时间 | LSA永不老化标志位 | 不同的LSA的类型有不同的涵义 | Advertising Router,指明通告该LSA的设备router id | 序列号,表明路由器产生LSA的顺序 |
OSPFv3:除了上面几类LSA,还会有8类、9类LSA。
Do not age flag 为 1时:LSA不会周期更新,而是需要设置LSA永不老化,以维持LSA的有效性,用于按需链路中。
Seq:最小值为0X80000001,最大值为0X7FFFFFFF。序列号第一个bit,若为0,则代表是正值;若为1,则代表是负值。
当始发路由器每产生一个;LSA实例时,序列号增加1,且序列号越大LSA越新。
怎么判断LSA的新旧?
字段 | 判断方法 |
sequence number | 值越大越新 |
checksum | 值越大越新 |
age | 若age=3600s,则将该LSA删除;若age≠3600s,则看两类LSA的age的差值:age间的差值<900s,则认为两条LSA相同而丢弃后来的LSA;age间的差值>=900s,age越小越新 |
二、六类LSA报文
LSA type | type name | function |
1类 | Router-LSA | 携带区域内的信息 |
2类 | Network-LSA | 携带区域内的信息 |
3类 | Summary-LSA | 携带区域间的信息(ABR) |
4类 | ASBR-summary-LSA | 携带区域间的信息(ASBR) |
5类 | AS-external | 携带AS外部路由信息 |
7类 | NSSA-LSA | 携带AS外部路由信息 |
一、 1类LSA——Router LSA(区域内的LSA)
作用:描述本设备的接口网络类型、接口的IP地址、该接口建立的对端设备的信息、到达对端邻居的开销值。
生成者(ADV):每台启用了OSPF的设备都会产生;
传播范围:只能在区域内传播;
防环:使用SPF进行防环;
Link state id:产生该LSA的route id;
flag:
①V=1,则代表该设备建立了Vlink的邻居;
②E=1,则代表该设备为ASBR设备(有做外部路由引入到OSPF中);
③B=1,代表该设备为ABR设备;
Router LSA链路类型对比分析:
Link Type | Link ID | Link Data |
Transit | DR的接口地址 | 本端的接口IP |
Stub | 网络号 | 掩码 |
P2P | 对端的RID | 本端的接口IP |
Vritual link | 对端的RID | 本端的接口IP |
例子:
站在AR1 LSDB来看的:
<Huawei>dis ospf lsdb router
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 204
Len : 36
Options : E
seq# : 80000004
chksum : 0x34f0
Link count: 1
* Link ID: 10.1.1.1
Data : 10.1.1.2
Link Type: TransNet
Metric : 1
Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 192
Len : 36
Options : E
seq# : 80000006
chksum : 0x6ebd
Link count: 1
* Link ID: 10.1.1.1
Data : 10.1.1.1
Link Type: TransNet
Metric : 1
二、2类LSA(区域内的LSA)
作用:描述MA网络,配合1类LSA共同描述区域内的拓扑信息
生成者(ADV):DR生成,DR的router id;
传播范围:只能在区域内传播;
Link state ID:DR的IP地址;
Net mask:DR所在网段的掩码;
Attached router:与DR相连的设备的router id;(拓扑信息)
防环:使用SPF进行防环;
MA网络是什么?
MA,multiple access,包含广播型、NBMA型的网络
例子:
站在AR1 LSDB来看的:
<Huawei>dis ospf lsdb network
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Network
Ls id : 10.1.1.1
Adv rtr : 1.1.1.1
Ls age : 265
Len : 32
Options : E
seq# : 80000003
chksum : 0x42f8
Net mask : 255.255.255.0
Priority : Low
Attached Router 1.1.1.1
Attached Router 2.2.2.2
三、3类LSA(区域间的LSA)
作用:描述其他区域的路由信息,路由信息包含了路由前缀、掩码、去往该路由的开销;
生成者(ADV):ABR生成
该区域有几个网段就会生成几条3类LSA,3类LSA不是凭空产生,是由1类LSA里面的stubnet的链路类型产生以及2类LSA中的link state ID和掩码一起生成;
Link state ID:路由的前缀;
Netmask:该路由的掩码;
metric:ABR设备到达该网段的开销;
特点:3类LSA每经过一个ABR设备,会将3类LSA中的ADV变为经过的ABR设备的router id,并且会重新计算开销;
鉴于3类LSA没有拓扑信息容易出现环路,有相应的防环措施,如下:
(1)ABR设备收到其他非骨干区域传递过来的3类LSA,执行接收(同步LSDB)不计算LSA(防环);
(2)非骨干区域必须围绕骨干区域(区域0)进行建立;问题1:当路由器收到了LSA1和LSA2,路由器是如何来识别这两个LSA是否是同一个LSA的==?
答:LSA头部有三个字段来标识一条LSA,分别是: type 、Link State ID 、Advertising Router,如果以上三个字段的值都相同,路由器便会认为这两LSA是同一个LSA;问题2:如果两个LSA相同,路由器应该接收哪个LSA?
答:LSA头中,有三个字段来判断一条LSA的新旧:1、age,老化时间;2、Sequence Number,也即LSA序列号;3、Checksum校验和问题3:路由器LSA是怎么样选举出来的?
答:选举的三个要素:1、序列号大的优先;2、校验和大的优先;3、比较老化时间。a.如果一条LSA为3600秒(即最大age时间),那就选择该LSA。
b.如果两个LSA的age时间之差大于15分钟,age时间小的优先。
c.如果两个LSA的age时间之差在15分钟之内,说明这两个LSA相同,随意选择一个即可。
OSPF的区域设计原则
(1)非骨干区域必须围绕骨干区域(区域0)进行建立;
(2)骨干区域不能被分割;
(3)两个区域或以上必须存在骨干区域(为了有ABR设备执行1、2类转3类的操作);
不规范的区域设计解决措施——vlink
实现:通过建立vlink实现延长区域0的范围;vlink是属于区域0;
vlink建立的注意事项:
(1)建立vlink的设备要同处于一个相连的非骨干区域中;
(2)vlink指的是对方的router id;
vlink只是一个临时的修补方案,不建议长期使用:
(1)加大非骨干区域设备的负担;
(1)加大非骨干区域设备的负担;
(2)加大非骨干区域链路的负担;
(3)虚连接不稳定;
vlink配置:
ospf 1 router-id 10.1.1.1
area 0.0.0.1
vlink-peer 10.1.2.2
检查:
dis ospf vlink
四、4类LSA
作用:当需要访问外部路由的设备发现本设备和ASBR不在同一个区域,所以不能实现外部路由的访问,4类LSA就可以帮助该设备找到ASBR;描述ABR到达ASBR的开销;
生成者:ABR,ABR的router id;
Link state ID:ASBR的router id;
metric:ABR设备到达ASBR的开销;
五、5类LSA(外部路由LSA)
作用:描述引入的外部路由的前缀、掩码、开销;
特点:引入多少条外部路由,就会生成多少条5类LSA;
产生者(ADV):ASBR(区域边界路由器)
Link state ID:引入的外部路由的前缀;
netmask:外部路由的掩码;
External type:开销类型;
(1)E1:既有OSPF内部的开销,也有OSPF外部的开销,外部开销也默认为1;
(2)E2:只显示OSPF外部的开销,默认为1;(默认类型为E2)
假如现在运行了OSPF的路由器,收到了两条5类LSA:
(1)若有E1也有E2,比较开销类型,E1>E2;
(2)若两条LSA开销类型都为E1,则比较开销总值,越小越好;
(3)若两条LSA开销类型都为E2,则比较外部开销,越小越好,如果外部开销一致,则内部开销;
例子:
站在AR1 LSDB来看的:
<Huawei>dis ospf lsdb ase
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Type : External
Ls id : 10.0.2.0
Adv rtr : 2.2.2.2
Ls age : 629
Len : 36
Options : E
seq# : 80000001
chksum : 0x2a92
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
#因为引入的是direct直连路由,所以10.1.1.0网段也包含进来了
Type : External
Ls id : 10.1.1.0
Adv rtr : 2.2.2.2
Ls age : 629
Len : 36
Options : E
seq# : 80000001
chksum : 0x2993
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 1
Priority : Low
六、Forwarding address:转发地址=
作用:可以防止次优路径;
生成条件:
(1)连接外部路由的接口必须是MA网络类型;
(2)连接外部路由的接口不能被静默的;
(3)连接外部路由的接口需要宣告进OSPF中;
不满足生成条件时,FA则用0.0.0.0填充;
1、tag:标签,可用于路由控制;
2、OSPF计算开销的:cost=参考带宽(100M)/实际带宽,得出来的值小于1,以1计算;
七、LSA更新方式
(1)有携带拓扑信息:1、2类LSA更新时,需要把整个新的LSA发送出来进行更新;
(2)只携带路由信息:3、4、5、7类LSA更新时,直接将无效的LSA的age=3600S以后泛洪,让其他设备对该LSA进行老化;
八、OSPF节省设备资源的操作——4种特殊区域的创建
(1)stub(末节区域):过滤OSPF的4、5类LSA,需要访问外部路由时,通过ABR设备下发的0.0.0.0缺省路由(3类LSA)实现;
(2)totally stub(完全末节区域):过滤OSPF的3、4、5类LSA,需要访问其他区域的路由和外部路由时,通过ABR设备下发的0.0.0.0缺省路由(3类LSA)实现;
(3)NSSA(no so stub area):过滤OSPF的4、5类LSA,NSSA区域的设备引入的外部路由在区域内则变为7类LSA,如果需要访问其他区域的设备引入的外部路由,通过ABR设备下发的0.0.0.0缺省路由(7类LSA)实现;如果其他区域需要访问NSSA区域的设备所引入的外部路由,通过ABR设备(router id大)将NSSA区域引入的7类LSA转换成5类LSA实现;
(4)totally NSSA:过滤OSPF的3、4、5类LSA,如果需要访问其他区域或者其他区域的设备引入的外部路由,通过ABR设备下发的0.0.0.0缺省路由(7类LSA)实现;
九、路由汇总:
(1)区域间的路由汇总:
在ABR设备上进行实现,如果汇总以后不通告相当于将路由过滤;
配置:
ospf 1 router-id 2.2.2.2
area 0.0.0.1
abr-summary 172.16.0.0 255.255.0.0
(2)外部路由的汇总:
在ASBR设备上汇总,也可以在7转5的ABR设备上做汇总;
配置:
ospf 1 router-id 3.3.3.3
asbr-summary 100.1.1.0 255.255.255.0