单邻居单向链路监测机制
下面分为两种情况介绍单邻居的单向链路检测过程。
DLDP使能前链路就是单通的情况
如图4-4所示,连接两台设备的光纤交叉连接(连接接口的两条线分别表示光纤的Tx线和Rx线)。
DLDP使能后,处于Up状态的四个接口都进入Active状态,并向外发送带RSY标记的Advertisement报文通告自己的存在并请求邻居的信息。下面以Interface1为例,介绍一下单向链路的检测过程:
Interface1收到Interface4发来的带RSY标记的Advertisement报文,就认为发现了新邻居,为该邻居启动Echo等待定时器和建立表项,同时启动此表项的老化定时器。随后,Interface1将进入Probe状态,向外发送Probe报文探测Interface4的存在。
由于Interface4不能收到Interface1的Probe报文,因此也不能回复Echo报文给Interface1,Interface1上的Echo等待定时器超时后,接口进入Disable(单通)状态。
其他几个接口的检测过程与Interface1相同,最后四个接口都会进入Disable状态。
DLDP使能后链路由双通变为单通的情况
如图4-5所示,设备之间通过光纤相连(图中的两条线分别表示光纤的Tx线和Rx线)。
在Tx线和Rx线都正常的情况下,双通邻居的确立过程如下:
DLDP使能后,处于Up状态的接口Interface1进入Active状态,向外发送带RSY标记的Advertisement报文通告自己的存在并请求邻居的信息。
Interface2收到带RSY标记的Advertisement报文,就认为发现了新邻居,为该邻居启动Echo等待定时器和建立表项,同时启动此表项的老化定时器。此时,接口将进入Probe状态,向外发送Probe报文。
Interface1收到Probe报文后,建立该邻居表项,并进入Probe状态向对端回复Echo报文。
Interface2收到Echo报文后,由于本机上已经存在该邻居表项,并且报文中携带的邻居信息和本机保存的信息相同,就将该邻居标志为双通。Interface2的DLDP状态由Probe切换为Advertisement,并定时向外发送普通Advertisement报文。在Advertisement状态下,每次收到已知邻居发来的报文,都会重置该邻居的老化定时器的值。
DLDP使能后,接口Interface2发送报文、以及在Interface1上建立邻居的过程与步骤1~步骤4类似。
最后,Interface1和Interface2均认为对方为自己的双通邻居并处于Advertisement状态。
Interface1和Interface2双通后,如果Interface2的Rx线突然发生故障(如图4-6所示),无法收到信号,Interface2将进入Inactive状态,不再收发任何报文。但是Interface2的Tx线还能发送信号,Interface1能收到信号,因此Interface1此时还是Up状态。Interface1在邻居老化定时器超时前收不到邻居Interface2发送的DLDP报文,根据配置的工作模式不同,后续的单向链路的检测过程有所不同:
在普通模式下,Interface1在邻居老化定时器超时后,将删除该邻居表项,进入Active状态,同时发送一个带RSY标记的Advertisement报文以请求邻居信息。Interface1处于Active状态5秒后将进入Advertisement状态并一直处于该状态,没有邻居。Interface2一直处于Inactive状态。在这种情况下,普通模式无法检测出单通。
在加强模式下,Interface1在邻居老化定时器超时后,将启用加强定时器和Echo等待定时器,并向邻居发送Probe报文。由于Interface1的Tx线已经断了,等到Echo等待定时器超时,Interface1仍收不到邻居Interface2应答本端的Echo报文,Interface1则进入Disable(单通)状态,发送Disable报文通知对端本端已处于单通状态。同时,Interface1将删除该邻居表项,并启动恢复探测定时器,以检测链路是否恢复。在此过程中,Interface2一直处于Inactive状态。
在加强模式下,接口Interface2已经物理Down,但对端却不能检测到此变化。为了避免Interface1需要在邻居老化定时器超时后才能察觉到与Interface2连接异常,DLDP设置了快速Link Down通知机制。当物理层检测到接口Interface2物理Down时,将向Interface1发送Link Down报文,Interface1收到Link Down报文,直接进入Disable状态。
快速Link Down通知机制只有在加强模式下才会启用,在普通模式不会启用。