LSA是什么?
LSA 全称全称链路状态通告;
一个LSA由LSA头部和链路状态组成;
LSA不是一种单独的报文,而是封装在OSPF报文中;
LSA是运行OSPF协议的路由器交互路由拓扑信息的。
LAS头部结构:
链路状态老化时间
指一条LSA的老化时间,即存在了多长时间。
当一条LSA被始发路由器产生时,该参数值被设定为0。之后,随着该LSA在网络中被洪泛,老化时间逐渐累加。
当一条LSA的老化时间为3600S时,则判断该条LSA失效,将被删除。
LSA的老化时间一般应该小于1800S,因为OSPF存在周期链路刷新机制。周期链路刷新机制是只有始发路由器可以执行的,而沿途其余设备执行的是触发更新机制。
在OSPF网络中,只有始发路由器可以修改或删除LSA信息。
链路状态ID
根据链路状态类型的不同,该参数的含义不同。
链路状态序列号
代表有序性,每发送一条LSA,则序号加1。也是用于判断LSA新旧关系的一种。
初始序列号:0x80000001
截止序列号:0x7FFFFFFF
序列号由负数开始增长,其中数值越大越优。
OSPF序列号刷新方式
当一条LSA序列号为0x7FFFFFFF时,始发路由器会将其老化时间设定为3600S,其他设备收到该LSA后,因为序列号最大,会无条件接受,此时又因为老化时间参数,会删除该条LSA。
而此时始发路由器会重新发送序列号为0x80000001的全新LSA信息,实现序列号的刷新机制。
判断LSA的新旧关系
拥有更高序列号的LSA被认为更新。
如果序列号相同,则拥有较大校验和的LSA被认为更新。
如果序列号与校验和均相同,则对比老化时间。
如果某条LSA的老化时间为3600S,则无条件选择该条LSA。
如果没有LSA老化时间为3600S,则对比两条LSA的老化时间差值,如果差值大于15min,则认为老化时间较小的为更新。如果差值小于15min,则两条LSA被认为相同。
确定唯一LSA(三元组)
LSA Type
Link State ID------------链路状态ID
Advertisting Router----通告路由器的Router-ID
LSA中存在3个参数用于LSA的新旧比较(3600s的LSA都是最优的):
OSPF中的6中LSA类型
LSA类型 | LS ID含义 | 通告者 | 传播范围 | 携带信息 | |
Type-1 | Router | Router ID | 区域内所有运行OSPF协议 | 所在者的区域内部 | 本地接口直连拓扑信息 |
Type-2 | Network | DR 接口IP | 每一个MA网络中DR | 所在者的单区域内 | 对MA网络拓扑信息的补充 |
Type-3 | Network-Summary | 描述的网段 | ABR设备,在通过下一个ABR设备时会被修改为新的ABR设备的RID | ABR相邻的单区域 | 域间路由信息 |
Type-4 | ASBR- Summary | ASBR Router ID | ASBR | 整个ospf区域 | ASBR的位置 |
Type-5 | AS-External | 描述的外部网络 | 与ASBR同区域的ABR设备,在通过下一个ABR设备时会被修改为新的ABR设备的RID(修改为新的ABSR设备) | 除去ASBR所在区域的所有ABR | 域外路由信息 |
Type-7 | NSSA | 域外路由的网络 | ASBR | NSSA区域 | 域外路由信息 |
1类LSA:Router LSA
标记位
V----代表发送该LSA的路由器是Vlink的一段端点。
E----代表发送该LSA的路由器是ASBR
B----代表发送该LSA的路由器是边界路由器。
链路数量
特指该LSA中Link的数量。
每一个link均包含链路ID、链路数据、链路类型、度量值。路由器使用一条Link或者多条link来共同描述一个接口信息。
链路类型
链路ID与链路数据随着链路类型的改变而改变。
Link Type | Link ID | LS Date |
p2p | 邻居的Router ID | 本地接口IP |
SbuNet | Stub网络号 | 子网掩码 |
TransNet | DR接口IP | 本地接口IP |
virtual | 虚连接邻居Router ID | 虚连接的本地接口IP |
2类LSA:Network LSA
功能:用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
特性:只会出现在MA网络,用于补充1类LSA(1.MA网络的掩码2.MA网络路由器的数量)
二类LSA必须由DR设备产生。
对于接入MA网络的OSPF设备而言,仅依靠一类LSA是无法正常补全网络拓扑结构,其中缺少两个信息:该MA网络的掩码信息以及有多少个节点连接在这个MA网络。
3类LSA:Network-Summary LSA
特性:在穿越不同区域时,由其他的ABR重新产生(ADV router 是变化的)
三类LSA中携带“网络地址”“网络掩码”“开销值”三个参数。
开销值:本地路由表中的路由项开销值等于三类LSA中的开销值加上通过一二类LSA计算出到达ABR设备的开销值之和。
当接收者收到一条三类LSA后,首先会根据本地的一、二类LSA进行验算,验算是否可以到达这条三类LSA的通告者(ABR),如果可以正常到达,则接收该LSA并生成相应路由信息;否则丢弃该LSA信息。
三类LSA在跨区域传递时,需要进行通告者的转换,实际上是重新编写了一条全新的LSA内容。
4类LSA:ASBR-Summary LSA(服务于5类)
作用:用于通告ASBR位置(除了ASBR所在区域外)
特性:在穿越不同区域时,由新的ABR重新产生。(与3类LSA一致)
四类LSA与三类LSA较为相似,但是不同,因为四类LSA通告的不是目标网段,而是ASBR的RID。
5类LSA:AS-External LSA
4类L为5类服务,没有5类LSA存在,就没有4类LSA.
所有传递路由信息的LSA都需要进行验算过程,寻找该LSA的通告者。而5类LSA是全区域传递,对于不与ASBR处于相同区域的设备而言,无法通过1类和2类LSA完成验算过程,需要引入额外的LSA信息----Type-4 LSA。
外部路由类型:5类LSA有两种类型(默认为类型2):
类型1 类型2的区别:类型2在整个OSPF传递过程中cost值不增加(默认)
类型1在整个OSPF传递过程中cost值增加
五类LSA主要传递域外路由信息,该LSA由ASBR产生,并且传播到整个OSPF网络(除了NSSA区域)。
FA---forwarding address转发地址
可以把转发地址就理解为重定向信息。
当FA==0.0.0.0时,则到达该外部网段的流量会被发往引入该外部路由的ASBR
此时cost=内部去往ASBR的cost+外部开销
当FA不等于0.0.0.0时,则到达该外部网段的流量会被发往FA字段。
此时cost=内部去往FA的cost+外部开销
即转发地址不为空的时候,则以转发地址加入路由表中
标记 Tag
用于给OSPF域外路由信息打上标签,从而对路由信息进行分组。根据组别使用路由策略对不同组播进行不同操作,华为设备默认为1.
7类LSA:NSSA LSA
NSSA区域拒绝学习四类和五类LSA信息。但是,该区域还需要将域外路由信息导入,因此,使用七类LSA的形式将域外路由信息传入OSPF网络。
7类LSA在离开NSSA区域后,需要转换为5类LSA在OSPF网络中传播。
路由撤销
1类LSA撤销
一条LSA包含多条路由信息,当删除了一条路由之后,就会通过1类LSA进行撤销
1类LSA撤销路由是通过更新的方式,即发送一条全新LSA 来撤销的(更新路由时不携带被撤销的那条路由)
即:通过序列号Seq+1,校验和chksum不变,老化时间age=0进行路由撤销
2类LSA撤销
MA网络中还存在两个以上节点,此时DR发送序列号+1,老化时间=0的LSA进行更新
MA网络中没有任何节点存活,此时DR发送序列号不变,老化时间=3600S的LSA清除全网信息
3类LSA撤销
3类LSA,一条LSA封装1个网段路由,不携带其它路由或链路状态信息
通过序列号Seq不变、校验和chksum不变,老化时间age=3600s进行路由撤销
Seq不变原因:
因为三类LSA的数量在网络中占据大量信息,而如果采用序列号增加,则代表始发路由器重新构造了一条LSA信息,该方式会极大的消耗设备资源。而对原本LSA信息进行修改的方式,可以减少始发路由器的资源消耗
5类和7类LSA撤销
序列号Seq不变,校验和chksum不变,老化时间age=3600s进行路由撤销。