{"id":1834,"date":"2025-12-18T09:00:00","date_gmt":"2025-12-18T12:00:00","guid":{"rendered":"https:\/\/www.nerdadas.com\/blog\/?p=1834"},"modified":"2025-12-16T12:19:49","modified_gmt":"2025-12-16T15:19:49","slug":"erps-ethernet-ring-protection-switching-alta-disponibilidad-en-anillos-ethernet","status":"publish","type":"post","link":"https:\/\/www.nerdadas.com\/blog\/erps-ethernet-ring-protection-switching-alta-disponibilidad-en-anillos-ethernet\/","title":{"rendered":"ERPS (Ethernet Ring Protection Switching): Alta disponibilidad en anillos Ethernet"},"content":{"rendered":"\n<p>Seguro en alg\u00fan momento de tu vida TI oiste hablar de Anilos de fibra \u00f3ptica (o similar con enlaces de m\u00faltiples caracter\u00edsticas) y pensaste: \u00abNecesito esto en mi red\u00bb y probablemente tengas raz\u00f3n.<\/p>\n\n\n\n<p>La cuesti\u00f3n principal es: <strong>C\u00f3mo implementarlo?<\/strong><\/p>\n\n\n\n<p>No, <strong>no usas STP (<\/strong>Spanning tree, aunque si lo intentas funciona). Si ten\u00e9s Switches Cisco probablemente pienses en <strong>SLA<\/strong> y no estar\u00edas errado; pero profesionalmente existe un protocolo para este prop\u00f3sito: <strong>ERPS<\/strong>.<\/p>\n\n\n\n<p>Las redes Ethernet nacieron en topolog\u00edas simples, pero con la expansi\u00f3n de los servicios <strong>Metro Ethernet<\/strong> y la necesidad de <strong>alta disponibilidad<\/strong>, se hizo evidente que los protocolos cl\u00e1sicos como <strong>STP\/RSTP<\/strong> no eran lo suficientemente r\u00e1pidos ni eficientes. Ah\u00ed es donde entra en juego <strong>ERPS (Ethernet Ring Protection Switching)<\/strong>, un protocolo dise\u00f1ado espec\u00edficamente para topolog\u00edas en <strong>anillo<\/strong> que logra conmutaciones de respaldo en menos de <strong>50 ms<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De d\u00f3nde sali\u00f3?<\/h2>\n\n\n\n<p>El protocolo fue estandarizado en la <strong>ITU-T (International Telecommunication Union \u2013 Telecommunication Standardization Sector)<\/strong> bajo la norma <strong>G.8032<\/strong>, publicada en <strong>2008<\/strong>. <\/p>\n\n\n\n<p>Principalmente fue pensado para dar respuesta a los operadores de <strong>redes de transporte Metro Ethernet<\/strong>(o <strong>MAN<\/strong>), que necesitaban una alternativa m\u00e1s r\u00e1pida que Spanning Tree Protocol (STP) y que puedan escalar. (Si trabajaste con STP sabr\u00e1s a lo que me refiero en lentitud). Hoy en d\u00eda se usa en redes OT principalmente pero est\u00e1 disponible para cualquier tipo de redes.<\/p>\n\n\n\n<p>Su desarrollo estuvo impulsado por el <strong><a href=\"https:\/\/www.mplify.net\/\" data-type=\"link\" data-id=\"https:\/\/www.mplify.net\/\">Metro Ethernet Forum (MEF)<\/a><\/strong> y grandes fabricantes como <strong>Cisco, Huawei, Alcatel-Lucent y ZTE<\/strong>, que lo adoptaron en sus equipos de tipo <strong>Carrier Ethernet<\/strong>.<\/p>\n\n\n\n<p>El est\u00e1ndar fue actualizado varias veces, incluyendo <strong>G.8032 Amendment 1 (2010)<\/strong> que permiti\u00f3 soporte de m\u00faltiples anillos y sub-anillos. El estandar fue creciendo y hoy en d\u00eda lo adoptan en algunos segmentos de equipos casi todas las marcas. (Segmentos robustos principalmente)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo funciona ERPS?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Concepto b\u00e1sico<\/h3>\n\n\n\n<p>El funcionamiento es muy simple. Funciona en <strong>anillos Ethernet<\/strong>.<\/p>\n\n\n\n<p>Un nodo se designa como <strong>Ring Owner (RO)<\/strong>, que decide qu\u00e9 enlace se mantiene bloqueado en condiciones normales para evitar bucles. <\/p>\n\n\n\n<p>Se utiliza una <strong>VLAN de control<\/strong> (dedicada a ERPS) para intercambiar mensajes de estado.<\/p>\n\n\n\n<p>Cuando se detecta una falla en el anillo, el enlace bloqueado se abre autom\u00e1ticamente y el tr\u00e1fico sigue fluyendo por el camino alternativo. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Caracter\u00edsticas principales<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tiempo de recuperaci\u00f3n &lt; 50 ms<\/strong>, similar a los protocolos de protecci\u00f3n de nivel \u00f3ptico (SDH\/SONET). Creo que es la raz\u00f3n fundamental para aplicarlo.<\/li>\n\n\n\n<li><strong>Soporta m\u00faltiples anillos<\/strong> (ejemplo: anillo principal y sub-anillos).<\/li>\n\n\n\n<li><strong>Escalable y simple<\/strong>: no necesita c\u00e1lculos complejos de \u00e1rbol como STP, no va a pasar de estados ni contar bpdus.<\/li>\n\n\n\n<li><strong>Est\u00e1ndar abierto<\/strong> (ITU-T), por lo que puede interoperar entre distintos fabricantes.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 estandares?<\/h2>\n\n\n\n<p><strong>ITU-T G.8032 (2008)<\/strong>: norma original de ERPS.(El original)<\/p>\n\n\n\n<p><strong>G.8032 Amd 1 (2010)<\/strong>: soporte para m\u00faltiples rings y mejor resiliencia.<\/p>\n\n\n\n<p><strong>MEF (Metro Ethernet Forum)<\/strong>: promueve ERPS dentro de redes Carrier Ethernet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comparaci\u00f3n<\/h2>\n\n\n\n<p>Las preguntas que me hice cuando conoc\u00ed este protocolo fueron todas en comparativa con lo que conoc\u00eda, los diferentes sabores de STP.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>STP (802.1D)<\/strong>: 30-50 segundos de convergencia.<\/li>\n\n\n\n<li><strong>RSTP (802.1w)<\/strong>: 1-10 segundos.<\/li>\n\n\n\n<li><strong>MSTP (802.1s)<\/strong>: m\u00e1s flexible, pero lento en anillos.<\/li>\n\n\n\n<li><strong>ERPS (G.8032)<\/strong>: &lt; 50 ms, ideal para ISP, grandes empresas, anillos confiables!!!.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">STP no sirve?<\/h2>\n\n\n\n<p>Claro que sirve pero no fue dise\u00f1ado para esto. La ventaja principal de ERPS sobre STP es la velocidad de convergencia. 50ms es muy r\u00e1pido y ni rstp llega jam\u00e1s a esos valores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conceptos b\u00e1sicos de ERPS<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"> R-APS PDUs<\/h3>\n\n\n\n<p>Son <strong>mensajes de control<\/strong> que intercambian los nodos para indicar el estado de los enlaces (normal, fallo, comando manual, etc.). <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RPL \u2013 Ring Protection Link<\/h3>\n\n\n\n<p>Es <strong>un enlace dedicado dentro del anillo que normalmente est\u00e1 bloqueado<\/strong> para evitar bucles. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Roles de puertos y nodos<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>RPL Owner (propietario del RPL):<\/strong> bloquea\/desbloquea el RPL.<\/li>\n\n\n\n<li><strong>RPL Neighbor (vecino del RPL):<\/strong> el nodo conectado al otro extremo del RPL.<\/li>\n\n\n\n<li><strong>Ordinary Ports:<\/strong> puertos normales del anillo.<br \/>Estos roles permiten coordinar el tr\u00e1fico y los cambios de estado cuando ocurre un fallo. <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/12\/nterconnected-multi-ring-network-model-of-ERP.png\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"463\" src=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/12\/nterconnected-multi-ring-network-model-of-ERP.png\" alt=\"\" class=\"wp-image-1865\" srcset=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/12\/nterconnected-multi-ring-network-model-of-ERP.png 754w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/12\/nterconnected-multi-ring-network-model-of-ERP-300x184.png 300w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Los estados<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Estado normal (Idle)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>RPL est\u00e1 bloqueado<\/strong> para evitar bucles.<\/li>\n\n\n\n<li>Todos los dem\u00e1s enlaces est\u00e1n <strong>abiertos y transportan tr\u00e1fico<\/strong>.<\/li>\n\n\n\n<li>El propietario del RPL env\u00eda peri\u00f3dicamente mensajes <strong>R-APS (NR)<\/strong> para informar el estado normal.(muy similar a muchos protocolos de ruteos) <\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Estado de protecci\u00f3n (si ocurre un fallo)<\/h3>\n\n\n\n<p>Cuando <strong>se cae un enlace no RPL<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Los nodos adyacentes al fallo detectan la falla y env\u00edan mensajes <strong>R-APS (SF)<\/strong>.<\/li>\n\n\n\n<li>Esos nodos bloquean sus puertos hacia el enlace que fall\u00f3.<\/li>\n\n\n\n<li><strong>El propietario del RPL desbloquea el RPL<\/strong> para que el tr\u00e1fico pueda rodear el anillo por el enlace alternativo.<br \/>El ring queda <strong>sin interrupciones visibles para los usuarios<\/strong>, aunque hubo un fallo interno. <\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Restauraci\u00f3n (cuando el enlace vuelve)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Los nodos detectan que el enlace fallado volvi\u00f3.<\/li>\n\n\n\n<li>Env\u00edan mensajes <strong>R-APS (NR)<\/strong> para indicar que no hay fallos.<\/li>\n\n\n\n<li>El propietario del RPL vuelve a <strong>bloquear el RPL<\/strong> y se restablece el estado normal.<\/li>\n\n\n\n<li>El anillo sigue funcionando con un \u00fanico enlace bloqueado para evitar bucles. <\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Versiones del protocolo<\/h2>\n\n\n\n<p><strong>ERPSv1<\/strong><br \/>Soporta <strong>un solo anillo<\/strong>.<\/p>\n\n\n\n<p><strong>ERPSv2<\/strong><br \/>Soporta <strong>m\u00faltiples anillos e interconexiones<\/strong><br \/>Mecanismos adicionales:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Notificaci\u00f3n de cambios de topolog\u00eda<\/li>\n\n\n\n<li>Modo revertive\/non-revertive (decide si vuelve autom\u00e1ticamente o no tras fallos)<\/li>\n\n\n\n<li>R-APS extendidos para m\u00faltiples zonas<br \/>Compatible hacia atr\u00e1s con v1. <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusiones<\/h2>\n\n\n\n<p>En la pr\u00e1ctica la mayor\u00eda de las personas usan RSTP o SLA y funcionan muy pero muy bien en redes de datos normales. El problema surge cuando la red corre aplicaciones o protocolos que necesitan ese \u00abextra\u00bb de velocidad para activar los enlaces de failover. Por esta raz\u00f3n ERPS, se ha hecho tan popular en redes OT donde el tiempo de convergencia es fundamental.<\/p>\n\n\n\n<p>Trat\u00e9 de armar alg\u00fan laboratorio pero la funcionalidad no estaba disponible en ninguna de las im\u00e1genes de Routers\/firewalls\/switches que ten\u00eda emuladas. Voy a seguir buscando y volver\u00e9 con novedades(Espero).<\/p>\n\n\n\n<p>Y si podes probarlo y darme tu feedback ser\u00e1 bienvenido!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seguro en alg\u00fan momento de tu vida TI oiste hablar de Anilos de fibra \u00f3ptica (o similar con enlaces de m\u00faltiples caracter\u00edsticas) y pensaste: \u00abNecesito esto en mi red\u00bb y probablemente tengas raz\u00f3n. La cuesti\u00f3n principal es: C\u00f3mo implementarlo? No, no usas STP (Spanning tree, aunque si lo intentas funciona). Si ten\u00e9s Switches Cisco probablemente [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1864,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1243,1223,1,17,776,804],"tags":[1417,1263,1418,1413,1414,1421,1264,10,37,242,1416,1329,569,1415,1419,138],"class_list":["post-1834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-montando-tu-red-corporativa-de-0","category-redes","category-sin-categoria","category-tecnologia","category-textos","category-ti","tag-alta","tag-alta-disponibilidad","tag-disponibilidad","tag-erps","tag-ethernet","tag-fibra","tag-ha","tag-jeremias-palazzesi","tag-linux","tag-network","tag-protection","tag-protocol","tag-redes","tag-ring","tag-rstp","tag-trabajo"],"_links":{"self":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts\/1834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/comments?post=1834"}],"version-history":[{"count":5,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts\/1834\/revisions"}],"predecessor-version":[{"id":1867,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts\/1834\/revisions\/1867"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/media\/1864"}],"wp:attachment":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/media?parent=1834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/categories?post=1834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/tags?post=1834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}