El protocolo Ethernet Ring Protection Switching (ERPS), también conocido como G.8032, es un protocolo de protección/redundancia para redes en anillo desarrollado por la Unión Internacional de Telecomunicaciones (ITU). Es un protocolo que opera en la capa de enlace de datos y ha sido diseñado para anillos Ethernet. ERPS previene tormentas de broadcast causadas por bucles de datos en un anillo y hace posible el recuperar rápidamente la comunicación entre los nodos en caso de que se desconecte un enlace en el anillo Ethernet.
El protocolo Spanning Tree Protocol STP) es otra técnica utilizada para resolver el problema de los bucles en la capa 2. Tanto STP como sus evoluciones (RSTP y MSTP) ofrecen tiempos de convergencia superiores y eso es lo que hace que ERPS sea tan interesante. ERPS ofrece una velocidad de convergencia de menos de 50 ms, mucho más rápido que el de STP, RSTP y MSTP.
Algunos conceptos previos que son necesarios para entender este protocolo:
- Estados del anillo: Un anillo puede estar en distintos estados
- Idle: Todos los enlaces y dispositivos del anillo están operativos
- Protection/Protected: Un enlace del anillo no está operativo o se muestra como desconectado.
- Pending: El enlace que previamente no estaba operativo se ha recuperado y se está esperando un tiempo determinado para volver a desactivar el enlace RPL.
- Mensajes o Paquetes R-APS: Estos mensajes sirven para informar a todos los nodos de la red en anillo del estado de todos los enlaces y de los posibles cambios. Existen varios tipos de mensajes distintos:
- Signal Fail (SF): Cuando un enlace de un nodo falle, este mismo nodo enviará un paquete SF al resto para notificar el fallo del enlace.
- No Request (NR): Cuando el link que falló se reestablece y vuelve a estar operativo, el nodo enviará un paquete NR para notificar al nodo RPL-Owner.
- RPL Blocked (NR, RB): Cuanto todos los nodos en un anillo ERPS funcionan correctamente, el nodo RPL Owner enviará estos paquetes de forma periódica.
- Flush: En una topología con varios anillos , cuando se da un cambio en un sub-anillo, los nodos adyacentes envían paquetes flush para notificar al resto de anillos.
- Ring Protection Link (RPL): En un anillo Ethernet (ya sea un anillo simple o un sub-anillo Ethernet) tiene solo un RPL. Por defecto en anillo Ethernet con el protocolo ERPS habilitado, el RPL está bloqueado y no reenvía paquetes de datos para evitar bucles. En el caso de que falle otro enlace, el RPL se activará para que siga existiendo comunicación. En un extremo de este anillo estará el puerto RPL Onwer y en el otro estará el puerto RPL-Neighbour.
- RPL Owner Port: Este puerto es el responsable de bloquear el tráfico a través del enlace RPL para evitar bucles. Un anillo ERPS tiene solo un RPL Owner Port. Cuando el nodo en el que se ha configurado el RPL Owner Port recibe una PDU de RAPS que indica un fallo de un enlace o nodo en un anillo ERPS, el nodo desbloquea el RPL Owner Port para que el RPL quede activo. Luego, el RPL Owner Port enviará y recibirá tráfico para garantizar la comunicación. Si se solventase la incidencia con el enlace o dispositivo que falló, entonces se volverá a bloquear el RPL a través del RPL Owner Port.
- RPL Owner Node: Nodo en el cual uno de sus puertos actúa de RPL Owner Port.
- Timers ERPS:
- Holdoff Timer: Es utilizado para minimizar que se den cambios de forma excesivamente frecuente en un anillo ERPS debido a que un enlace funcione de forma intermitente. ERPS solo ejecuta un cambio en la topología si un enlace falla durante el periodo de tiempo indicado por este timer.
- Guard Timer: Es utilizado para prevenir que un dispositivo reciba mensajes R-APS expirados o no actualizados. Cuando se detecta que el enlace ha sido restablecido comienza este timer y durante este periodo se descartan todos los paquetes R-APS excepto los Flush.
- Wait to Restore (WTR) Timer: Es efectivo solo para el nodo RPL Owner. Cuando este nodo detecta que se ha solucionado un fallo, realiza el cambio en la topología (bloquea el RPL Owner Port) solo si el periodo indicado en este Timer se agota. Si durante este periodo el enlace vuelve a fallar, se cancela el temporizador y no se cambia la topología.
Para este ejemplo se va a realizar una red en anillo con un switch Reyee RG-NBS3100-8GT2SFP-P-V2 que soporta el protocolo ERPS y 2 switches NIS3100-8GT4SFP-HP Nuestra recomendación en el caso de crear una red en anillo es utilizar dispositivos del mismo fabricante en caso de utilizar protocolo ERPS. Esto simplificará la configuración y mejorará los tiempos de convergencia.
La topología es la siguiente:
En este ejemplo utilizamos las siguientes Vlanes :
Vlan Datos -------- Vlan 1
Vlan de Control de ERPS -------- Vlan 10
Se crean las Vlanes en los 3 switches y los puertos que los comunican entre ellos se configuran en puerto Trunk utilizando como nativa la Vlan1 y permitiendo ambas Vlanes ( Vlan1 y Vlan10) ( esta configuración es la misma en los 3 switches)
Configuración de ERPS en switch RG-NBS3100-8GT2SFP-P-V2 ( Switch Cabecera ) :
Configuración de ERPS en switch RG-NIS3100-8GT4SFP-HP ( NODO_1) :
Configuración de ERPS en switch RG-NIS3100-8GT4SFP-HP ( NODO_2) :
Después de realizar esta configuración cerramos el anillo entre el puerto 10 del Nodo_2 y el puerto 10 del Switch Cabecera y comprobamos que funciona correctamente ya que no perdemos ningún ping entre los switches.
- Se recomienda hacer la configuración en el orden siguiente: switch cabecera y después cada uno de los switches de campo consecutivos al cabecera ( ya que si se configura un switch intermedio antes se perdería la conexión a el )
- Ahora se deberá cerrar el anillo y esperar 2 minutos para que quede estable y el anillo pase al estado Idle. Una vez esperado este tiempo debería ya quedar correctamente configurado y puede probarse la redundancia.