HCIE的进阶之路-------OSPF LSA泛洪的工作原理有场景描述(同一区域)

热爱路由交换以及运维技术的交流可以加新群:532593532(非水友群)

欢迎各位大佬的加入

ospf同一区域的泛洪Flooding process(同步LSA)

遵从以下原则:

HCIE的进阶之路-------OSPF LSA泛洪的工作原理有场景描述(同一区域)_第1张图片

  1. 接收到了不存在的LSA,首先会先存下载,然后去泛洪给其他接口

  2. 接收到一条新的LSA,那么让新的LSA会代替老的LSA,然后把新的LSA泛洪给其他接口

  3. 收到了相同的LSA,会直接忽略掉

  4. 收到了比自己的老的LSA,会忽略对方发来的老的LSA,会把自己新的LSA发给它

  5. 收到了一条age时间大于3600s的(age>=3600s)LSA,会认为是这是在(无效)撤销路由,清空本地的这条LSA,然后在泛洪出去这条age时间大于3600的LSA

  6. 收到一份坏的LSA(比如checksum错误),那么本地会忽略它,并且把好的LSA(自己的LSA)发送给对方

 

在上面的图中如果突然把A路由器重启

问题1:X路由器的路由表中是否有A路由器上的10网段路由

答:X路由器会立刻感知到A路由不可达。那么会立刻在路由表中删除10网段路由(是非常快的收敛速度)

那么如何感知的呢?当A路由down掉,B和C路由器与A路由器的邻居关系会立刻down掉(因为10网段的路由下一跳是A路由器的接口ip),B与C会删除自己的路由表信息,并且产生一条LSA告知X路由器这边A的路由不可达了,X收到了LSA信息就知道路由不可达,直接删除自己的路由表信息,然后在产生一条LSA告知D路由器A路由不可达,D在删除自己的路由表信息。

问题2: X路由器LSDB中是否还有10网段的LSA呢

答:等老化时间,在3600s以后这条lsa才会消失。即使之前的A路由信息还存在LSDB中,那么路由重新计算时会发现不可达信息,也就根据LSDB画拓扑时不会把A的信息放在拓扑中,因为A节点已经没有了。

问题3:为啥不进行删除LSA,而是要等待老化时间3600s

答:是因为只有ADV的通告这有权利删除此条LSA,其他路由器没有权利删除(只有通告这本身具有删除的权限)

问题4:如果A路由器正常工作了

A路由器会产生一个10网段的LSA泛洪给B,C但是B,C还没到3600s把它删了,所以会比较新旧,通过(序列号,校验和,age时间)字段进行比较。

假设。B之前的10网段LSA的序列号为8002,A重启后自己产生的是8001,那么B收到了A发来的LSA,发现自己比它的新,那么就会忽略掉,然后把自己认为是新LSA发送给A路由器。因为自己没有使用A发来的LSA所以不能到达10网段。但是A收到B发来的认为是新的LSA,那么自己将重新产生一个LSA,假设为8010,然后在发送给B,B检查后发现A发来的更新则会更新自己的LSDB,然后把新LSA泛洪给X,这样X在去更新自己的LSDB,泛洪给D,D在更新自己的LSDB,这样就实现了LSDB的更新,路由也就可达了。

假设。B之前的10网段LSA的序列号为8002,A重启后自己添加一个20网段产生的是8001,B收到了A发来的LSA,发现它比自己的旧则。向它他送自己新的LSA,A收到了B发来的新的LSA,A会重新产生一个LSA发送给B。那么B比较如果发现A发来的序列号更大,表示更新,则更新自己的LSDB,泛洪给X路由器,X路由器也去比较LSA的新旧,发现发来的新就直接更新自己的LSDB,然后在把新的LSA泛洪给D,D在去检查发来的LSA的新旧,如果新旧更新自己的LSDB,这样LSDB也就更新了,路由也就可达了

 

场景二:     HCIE的进阶之路-------OSPF LSA泛洪的工作原理有场景描述(同一区域)_第2张图片

如果在A上添加一个10网段路由信息,那么其他B,C,X,D这些路由器是如何知道的呢?

解答:A会主动往外发送LSA以LSU报文的形式发送,这样B,C都会收到10网段的LSU信息,更新自己的LSDB,然后转发出去10网段的LSU报文给X。这样X就收到了两份LSU报文,如何区分B和C发来的LSU中携带的LSA是不是同一个LSA信息呢。则去比较三要素(type,LSID,adv)当X发现他们两个报文的 三要素相同之后那么,应该去比较LSU中LSA的新旧,那么通过比较SN序列号,以及checksum校验和,以及Age活跃时间等参数去比较,SN序列号是越大说明LSA越新,checksum也是越大越新,age时间分两种情况    如果两个报文的age时间差小于15min中认为是同一份,如果大于15分钟,会使用age时间小的(age越小表示越新),当X把认为是新的LSU中的LSA更新到自己的LSDB中,然后在向D发送LSU报文。这样D就可以更新自己的LSDB,然后自己计算路由,就这样就实现了路由的更新。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(HCIE笔记)