LSA的报文头部:
LSA的报文头部是20个字节
一行32bit,4个字节
LSA Age定义:
在OSPF中,LSA Header 的第一个字段是LSA Age,该字段占16bits。始发者产生一个LSA时,LSA Age置0。在LSA泛洪过程中,每一跳LSA Age都会递增InfTransDelay。
Router LSA:
1、仅在本区域内传播不能穿越ABR
2、每台属于一个区域的路由器都会基于该区域通告一条1类LSA
3、一个区域内只发一个一类LSA,包含纯拓扑信息,包含所有宣告进此区域的直连链路、前缀、掩码、网络类型及度量值
为什么要LSA的新旧?
算路由
LS age LSA的老化时间
如果一个设备产生一个LSA,那么该LSA的LS age 就是0
每当该LSA从一个接口发送出去的时候LS age 都会加1(默认加一)
LSA在LSDB中,会一直变大
LS age一秒一秒增加,加到3600秒这个LSA就失效了
如果LSA到1800s的时候,触发一个定时器,刷新定时器(LSA的始发路由器)
再发一次该条LSA(比原来新)
LS age 就为0了
组部调定时器:240s,当一个设备要连续发多个LSA时,组部调定时器就要让其等待,240S的那个时候一起发送。
LS age的作用:就是看LSA的老化时间
LS Sequence number:
LSA的第一次发送序列号就是0x0000001,第二次发送0x0000002,一直到0x7FFFFFFF,每发一次序列号都会++,第一次发送到序列号最旧
LS checksum :
一个数值。用一个算法fletcher算法
OSPF每5分钟会对LSA进行校验
Fletcher每校验一次数值就会变大
如何判断LSA的新旧?
1.首先会比较两个LSA的序列号,序列号越大的越新
2.如果序列号一样,就比较校验合,校验和越大表示LSA越新
3.如果校验和一致,就比较LSA age 如果LSA age 的时间差小于 900秒,那么我们认为这两条LSA一样新,如果两条LSA的LSA age 相差大于15分钟,我们认为,LSA age小的更新。
options:
DC:按需链路
LS type:
0x01一类LSA
0x02二类LSA
0x03三类LSA
0x04四类LSA
0x05 五类LSA
0x07 七类LSA
Link State ID:
根据LSA type不同 ,Link State ID所表达的意思不一样
只有MA网络中才有2类LSA,才有DR。
ABR:连接area0和其他域的域间路由
Advertising Router :
生成该条LSA的router-id
LSA描述了路由器所连接的网络信息。
advertising router 是LSA的一个属性,里面应该填的是路由器的id,表示该LSA是由谁生成的。
比如,如果路由器的id是1.1.1.1,则它生成的LSA所携带的advertising router就会填入1.1.1.1
Length:
长度字段表示的是LSA总长度
总长度=头+内容