ERPS单环基本原理
ERPS是一种专用于以太网链路层的标准环网协议,以ERPS环为基本单位。每台二层交换设备上只能有两个端口加入同一个ERPS环。
在ERPS环中,为了防止出现环路,可以启动破除环路机制,阻塞RPL owner端口,消除环路。当环网发生链路故障时,运行ERPS协议的设备可以迅速地放开阻塞端口,进行链路保护倒换,恢复环网上各节点间链路通信。
本节主要以示例的形式按照链路正常->链路故障->链路恢复的过程(包括保护倒换操作),介绍基本的单环组网下ERPS的实现原理。
链路正常
- 为防止环路产生,ERPS首先会阻塞RPL owner端口,如果配置了RPL neighbour端口,该端口同样会被阻塞,其他端口可以正常转发业务流量。
- ERPS环上的RPL owner端口以5s的时间间隔为周期向环中其他节点发送NRRB RAPS报文,表示ERPS环当前链路一切正常。
链路故障
如图12-9所示,当SwitchD和SwitchE之间的链路发生故障时,ERPS协议启动保护倒换机制,将故障链路的两端端口阻塞,然后放开RPL owner端口和RPL neighbour端口,这两个端口重新恢复用户流量的接收和发送,从而保证了流量不中断。具体处理过程如下:
- SwitchD和SwitchE检测到链路故障,将故障链路上的端口阻塞,并刷新本设备的FDB表项。
- 然后,SwitchD和SwitchE向外发送携带本地端口链路故障消息的SF RAPS报文,即一旦感知到链路故障,SwitchD和SwitchE会连续发送3个相同的RAPS报文,然后以5s的间隔持续稳定发送。
- 其他设备收到SwitchD和SwitchE发送的SF RAPS报文后,都刷新本设备的FDB表项。当SwitchC设备(RPL owner端口所在设备)收到该RAPS报文后,放开RPL owner端口,并刷新自己的FDB表项。同样,当SwitchB设备(RPL neighbour端口所在设备)收到RAPS报文后,放开RPL neighbour端口,并刷新自己的FDB表项。
链路恢复
链路恢复正常后,如果ERPS环配置的是回切模式,RPL owner端口所在设备会重新阻塞RPL链路上的流量,故障链路重新被用来完成用户流量的传送。如果ERPS环配置的是非回切模式,阻塞链路还保持在原来的故障链路上,不会重新切回到RPL上。以回切模式为例,具体恢复过程如下:
- 当SwitchD和SwitchE之间的链路恢复后,SwitchD和SwitchE为了防止收到过期的RAPS协议报文,分别启动Guard Timer定时器,在该定时器超时前不接收其他RAPS协议报文。同时SwitchD和SwitchE会向外发送NR RAPS报文。
- 当RPL owner端口所在设备(SwitchC)收到NR RAPS报文后,启动WTR Timer定时器。当该定时器超时后,RPL owner端口被阻塞,同时向外发送NRRB RAPS报文。
- 当SwitchD和SwitchE收到SwitchC发送的NRRB RAPS协议报文后,将自己设备上原来阻塞的端口放开,停止发送NR RAPS协议报文并且完成FDB表项的刷新。其他设备收到SwitchC发送的NRRB RAPS协议报文后,也完成FDB表项的刷新。
保护倒换
强制切换
如图12-10所示,当由SwitchA~SwitchE组成的环路上各设备通信正常时,在SwitchE设备与SwitchD相连的端口上执行强制切换将端口阻塞,RPL owner端口和RPL neighbour端口同样会被放开,这两个端口重新恢复用户流量的接收和发送,从而保证了流量不中断。具体处理过程如下:
- SwitchE与SwitchD相连的端口被强制阻塞后,刷新本设备的FDB表项。
- SwitchE向外发送FS RAPS报文,即一旦端口阻塞,SwitchE会连续发送3个相同的SF RAPS报文,然后以5s的间隔持续稳定发送SF RAPS报文。
- 其他设备收到SwitchE发送的FS RAPS报文后,都刷新本设备的FDB表项。当SwitchC设备(RPL owner端口所在设备)收到该RAPS报文后,放开RPL owner端口,并刷新自己的FDB表项。同样,当SwitchB设备(RPL neighbour端口所在设备)收到RAPS报文后,放开RPL neighbour端口,并刷新自己的FDB表项。
清除
当在SwitchE设备上执行清除操作后,被强制阻塞的端口会发送NR RAPS报文给环上其他端口。- 如果ERPS环配置的是回切模式,RPL owner端口在收到NR RAPS报文后会启动WTB Timer,在WTB定时器超时后,强制切换的操作会被清除。此时,RPL owner端口会被重新阻塞,被强制阻塞的端口会被放开。若在WTB Timer超时前,在SwitchC(RPL owner端口所在设备)上执行清除操作,RPL owner端口会马上被阻塞,被强制阻塞的端口被放开。
- 如果ERPS环配置的是非回切模式而又希望RPL owner端口被重新阻塞,可以在SwitchC(RPL owner端口所在设备)上执行清除操作。
手工切换
对ERPS环上端口执行手工切换阻塞操作的流程和强制切换类似,区别在于如果环的状态不是Idle或者Pending时,手工切换操作将不发挥作用。