LSA的新旧判断:
1.seq,值越大越优先
2.chksum,值越大越优先
3.age,本地的LSA age和收到的LSA age作比较
如果差值<=900s,认为age一致,保留本地的:我本地有一条LSA是100 你给的是400 差值小于900则我认为是一样的
如果差值>900s,认为age不一致,优选age小的
主要用于LSA的刷新:1800s刷新,3600s老化
LSA谁产生,谁刷新(维护),谁撤销:比如R1我删除了一个1.1.1.1的环回口,则认为我没有这条1.1.1.1的路由了我要告知到其他的路由器我没有这条路由了
1类LSA更新、撤销:
1.更新:设备上增加了新的路由 AR设备会通告到每个邻居,在邻居的接口或者自己的出接口上抓包查看明细
2.撤销:更新式的撤销
因为1类LSA包含的拓扑和路由信息,如果路由信息发生了变动,相当于拓扑信息发生了变动。
在1类LSA撤销时,会增加seq的值,变为一条新的LSA(不携带需要撤销的内容)
新旧LSA是没有任何关系的 ,序列号不一样或者校验和不一样都是不同的LSA,只有序列号校验核一样,只要时间值改变才认为是原来的LSA做更新改变
更改的是路由,OSPF更新认为是拓扑的变化,我不认为是路由更改,我认为是拓扑改变,我把1类LSA做一个更新式的撤销,发一条新的LSA,这条LSA里面我可以增加信息也可以删掉信息,但我是一条新的,完整的LSA
2类LSA更新、撤销
1.更新
2.撤销
1.非DR设备失效,DR执行的2类LSA撤销 2.DR设备失效,重启后变为非DR设备,该设备会撤销原来通告的2类LSA
seq、chksum与原来通告的2类LSA 一致,age 变为3600s
DR失效,对应着2类LSA如何处理?
1.在拓扑正常时,R3作为DR通告2类LSA
原DR通告的2类LSA
2.R3失效,R2成为新的DR,但是R1和R2的LSDB种会存在两条2类LSA
1.一条2类LSA时原DR(R3)通告的
2.一条2类LSA时新DR(R2)通告的
[R2]dis ospf lsdb //断开前的ospf数据库OSPF Process 1 with Router ID 10.2.2.2Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 10.3.3.3 10.3.3.3 378 36 80000008 1Router 10.2.2.2 10.2.2.2 18 36 8000000A 1Router 10.1.1.1 10.1.1.1 380 36 80000008 1Network 10.1.123.3 10.3.3.3 379 36 80000002 0[R2]dis ospf lsdb //断开后的ospf数据库OSPF Process 1 with Router ID 10.2.2.2Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 10.3.3.3 10.3.3.3 426 36 80000008 1Router 10.2.2.2 10.2.2.2 27 36 8000000C 1Router 10.1.1.1 10.1.1.1 28 36 8000000D 1Network 10.1.123.3 10.3.3.3 427 36 80000002 0Network 10.1.123.2 10.2.2.2 27 32 80000001 0[R2]dis ospf lsdb OSPF Process 1 with Router ID 10.2.2.2Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 10.3.3.3 10.3.3.3 1 36 8000000A 1Router 10.2.2.2 10.2.2.2 5 36 8000000F 1Router 10.1.1.1 10.1.1.1 1 36 80000010 1Network 10.1.123.2 10.2.2.2 5 36 80000004 0
/*将R2重新接入后,之前的Network 10.1.123.3 10.3.3.3 427 36 80000002 0这条数据会被接入的R2更新掉*/
3.R3回复,和R2家里邻接关系,同步LSDB
R3收到原DR通告的2类LSA,就会执行撤销的动作
发布2类LSA,seq、chksum与原DR通告的2类LSA相同,age变为3600s
撤销的2类LSA