(1)OSPF邻居关系中断的特点
不像EIGRP那样触发发送Goodbye message,BGP的NOTIFICATION message
OSPF中邻居一般无法通过某个消息显性地中断邻居关系,通过Inactivity Timer用于防止单边邻居关系的产生
在OSPF虚链路中,一旦建立邻居关系,就不再周期性发送Hello,邻居关系永不超时,因此需要额外机制检测虚链路一端的中断
(2)虚链路中断检测
当虚链路的一端中断时,该设备将会向传输区域发送Router-LSA,其中的flag V将被复位(关于flag V的意义可以回顾Router-LSA消息结构)
当虚链路对端收到扩散的Router-LSA后,检测到V bit被复位,即认为虚链路中断,本地立即断开虚链路邻接关系,发送Router-LSA,其中的flag V同样被复位
(3)案例
如上图所示,当R3处的虚链路中断时,由于此时R3已经不是ABR,R3无法在Area 0发送Router-LSA以删除Link
R3此时发送Area 1的Router-LSA,其中v bit置0。R2收到该LSA后,立即中断虚链路邻接关系,发送Area1 Router-LSA,v bit置0;发送Area 0 Router-LSA,删除其中的Link:Virtual-link
注意:
R2不是Area 2 LSA的起源设备,是无权清除这些LSA的。因此虽然R3此时在Area 0看来不可达了,其通告的LSA依然遗留在Area 0各设备的LSDB中(也就是说,无论虚链路从哪里中断,r3原来通告的有关Area2的LSA是不能通过R2清除的,只能等待超时)
如果R2中断虚链路,R2由于此时依然是一台ABR,R2将发送Area 0 Router-LSA,删除Link:Virtual-link;R2还将发送Area 1Router-LSA,将v bit复位,中断虚链路邻接关系