ERPS
学习链接,作者讲的很细
以太网多环保护技术。
v1和v2两个版本,v2完全兼容v1。
作用:
有效防止广播风暴的产生,实现流量的快速迁移
收敛速度满足电信级的要求,提高网络的可靠性
名词解释:
- ERPS环:配置了相同的控制VLAN且互连的二层设备,是ERPS协议的基本单位。
- ERPS环分为主环和子环。主环封闭,子环非封闭。(v2支持子环的配置)
- 节点:加入ERPS环的二层设备被称为节点。每个节点不能多于两个端口加入同一个ERPS环。
- 端口角色:主要有RPL owner端口、RPL neighbour端口和普通端口三种类型(v2支持neighbour端口)
- RPL owner端口:一个ERPS环只有一个,由用户配置决定。阻塞owner来防环。
- RPL neighbour端口:与RPL owner端口直接相连的端口。(与owner端口一起阻塞)
- 普通端口:负责监测自己直连的ERPS协议的链路状态,并把链路状态的变化消息及时通知其他端口。
- 端口状态:Forwarding、Discarding
- Forwarding:端口既转发用户流量又接收/发送ERPS协议报文。
- Discarding:端口仅能发送和接收ERPS协议报文。
- 控制VLAN:每个ERPS环必须配置。端口加入已经配置控制VLAN的ERPS环后,自动加入控制VLAN。(不同的ERPS环不能使用相同ID的控制VLAN)
- 数据VLAN:传递用户数据报文。
- 定时器:Guard Timer定时器、WTR Timer定时器、Holdoff Timer定时器和WTB Timer定时器。
- Guard Timer定时器:链路故障或故障恢复或执行清除操作后,启动定时器,防止收到过期的NR RAPS报文。定时器超时后还能收到NR RAPS报文,端口进入Forwarding状态。默认2s。
- WTR Timer定时器:为了防止立即阻塞RPL owner端口而引起网络震荡,owner端口收到NR RAPS报文后,启动定时器。未超时前收到其他端口的SF RAPS报文,则关闭WTR Timer定时器。若没有收到,阻塞RPL owner端口,发送NRRB RAPS报文。其他端口收到该报文后,再将端口状态设置为Forwarding状态。
- Holdoff Timer定时器:服务器故障后,用户希望能有一段时间恢复服务器故障。当网络发生故障后,不会立即上报ERPS,开启Holdoff Timer,超时故障仍未恢复才会上报。
- WTB Timer定时器:清除端口的手工切换状态时,owner端口启用WTB Timer定时器,因为ERPS环内可能存在多个手工切换阻塞节点,只有当定时器超时后,清除操作才起作用,这样可以防止立即阻塞RPL owner端口而引起阻塞点震荡。不支持配置,默认7s。
- ERPS环的状态:
- Idle:当前阻塞点在RPL owner端口
- Protection:表示链路故障或设备故障
- Pending:表示ERPS环协商的过渡状态,例如正在将阻塞点回切到RPL owner端口
- ForcedSwitch:表示通过强制切换方式对加入ERPS环的端口进行阻塞
- ManualSwitch:表示通过人工切换方式对加入ERPS环的端口进行阻塞
- 默认情况下ERPS处于回切模式,v1版本只支持回切模式,v2版本两种模式都支持。
- 阻塞点切换方式
- 强制切换和手工切换 (阻塞点手工切换是v2的功能,在v1不支持。)
- 清除操作
- 子环RAPS报文传输方式:
- v2版本支持相交环组网,子环RAPS报文传输方式为虚通道VC和非虚通道NVC
- 虚通道:子环的RAPS协议报文会通过相交节点在主环内运行。
- 非虚通道:子环的RAPS协议报文会在相交节点上终结,子环的阻塞端口仅阻塞数据流量,不阻塞子环的RAPS协议报文。
- 默认情况下,传输方式为非虚通道方式
- ERPS协议报文只有一种,RAPS PDU报文,格式如下:
字段解释:
R-APS Specific Information各子字段含义:
ERPS单环基本原理
链路正常(idle状态):
- 防止环路产生,ERPS首先阻塞RPL owner端口,配置了RPL neighbour端口的话也同样被阻塞。
- ERPS环上的RPL owner端口以5s为时间间隔向环中其他节点发送NRRB RAPS报文,表示环路一切正常。
链路故障(protection):
- SwitchD和SwitchE之间的链路故障,ERPS开启保护倒换机制,将故障链路的两端端口阻塞,刷新自己的FDB表项。
- SwitchD和SwitchE向外发送携带本地端口链路故障消息的SF RAPS报文,连续发送3个相同的RAPS报文,然后以5s的间隔持续稳定发送。
- 其他设备收到之后,刷新自己的FDB表项,SwitchB和SwitchC开启owner和neighbor端口,刷新自己的FDB表项。
链路恢复(pending)(回切模式才会切换,非回切模式保持不变)
- SwitchD和SwitchE之间的链路恢复后,为了防止收到过期的RAPS协议报文,启动Guard Timer定时器,启动时间内不接受其他RAPS报文,同时发送NR RAPS报文。
- 当owner端口所在节点收到NR RAPS报文,开启WTR Timer定时器,超时阻塞owner端口,同时发送NRRB RAPS报文。
- SwitchD和SwitchE收到NRRB RAPS报文,原先阻塞端口放开,停止发送NR RAPS协议报文并且完成FDB表项的刷新。其他设备收到SwitchC发送的NRRB RAPS协议报文后,也完成FDB表项的刷新。
保护倒换机制
强制切换:
- SwitchE与SwitchD相连的端口被强制阻塞后,刷新自己的FDB表项。
- SwitchE向外连续发送三个FS RAPS报文,然后以5s的间隔持续稳定发送FS RAPS报文。
- 其他设备收到SwitchE发送的FS RAPS报文,刷新自己的FDB表项,SwitchC和SwitchB收到FS RAPS报文后,放开owner和neighbor端口,刷新自己的FDB表项。
清除:当在SwitchE设备上执行清除操作后,被强制阻塞的端口会发送NR RAPS报文给环上其他端口。
- 回切模式下,owner端口在收到NR RAPS报文启动WTB Timer,超时后强制切换的操作就会被清除。owner被重新阻塞,强制阻塞的端口重新放开。未超时前,在owner端口所在设备上执行清除操作会立刻执行。
- 非回切模式下又希望owner重新被阻塞,可以在owner端口所在设备上执行清除操作。
手工切换:类似强制切换,区别在于环的状态不是Idle或者Pending时,手工切换操作将不发挥作用。
单环多实例原理
为了提高链路利用率,ERPS支持多实例,在一个物理环路上配置两个逻辑ERPS环路。一个物理环路上有两个阻塞端口,每个阻塞端口分别检测物理环路的完整性,相应的阻塞,彼此互不影响。属于不同VLAN的数据流量就可以通过不同的路径传输,从而实现流量的负载分担和链路备份,最大化利用了链路资源。
多环原理
链路正常:
ERPS环组成有主环和子环1和子环2。
- 为防止环路产生,ERPS环分别阻塞自己的RPL owner端口。
- 主环的RPL owner端口以5s为时间间隔向主环其他节点发送NRRB RAPS报文。同样,子环的RPL owner端口也以5s为时间间隔向自己环中其他节点发送NRRB RAPS报文。每个环的报文只在自己环传,不会进入主环。
链路故障:
- SwitchD和SwitchG检测到链路故障,将故障链路上的端口阻塞,并刷新本设备的FDB表项。
- SwitchG在子环2内部发送携带本地端口链路故障的消息SF RAPS报文。
- SwitchG放开owner端口,刷新自己的FDB表项。
- 和主环相交节点Switch C收到该RAPS报文后,刷新自己的FDB表项,SwitchC和SwitchD在感知到这个网络拓扑变化后,会在主环内发送Event报文,通告子环2的网络拓扑发生变化。
- 其他主环节点收到Event报文后,会刷新自己的FDB表项。
链路恢复
回切模式:owner端口所在设备会重新阻塞RPL链路上的流量,故障链路重新被用来完成报文的传送。
非回切模式:阻塞链路还保持在原来的故障链路上,不会重新切回到RPL上。
- 当SwitchD和SwitchG之间的链路恢复后,SwitchD和SwitchG为了防止收到过期的RAPS协议报文,启动Guard Timer,在该定时器超时前不接收其他RAPS协议报文。同时SwitchD和SwitchG会在子环2内部发送NR RAPS报文。
- RPL owner端口所在设备启动WTR Timer。WTR Timer超时后,SwitchG会阻塞RPL owner端口,放开故障恢复链路的端口,同时向外发送NRRB RAPS报文。
- SwitchD收到SwitchG发送的NRRB协议报文后,将自己设备上原来阻塞的端口放开,停止发送NR RAPS报文并且完成FDB表项的刷新。
- 相交节点SwitchC和SwitchD完成自身的FDB表项刷新以后,会在主环内发送Event报文,通告子环2的拓扑变化情况。
- 其他主环节点收到Event报文后,会刷新自己的FDB表项。