HSRP, VRRP y GLBP

HSRP – Host Standby Routing Protocol

Lo primero que hay que decir de HSRP es que es un protocolo propietario de Cisco, así que si vuestros routers o switches no son Cisco, os podéis saltar este protocolo porque sólo funcionará en Cisco.

HSRP que viene definido en la RFC 2281 (https://www.ietf.org/rfc/rfc2281.txt) funciona asignando los routers a un grupo de redundancia, un grupo HSRP, y seleccionando un router como primario o activo, otro como secundario o standby y todos los demás quedarán en estado listen.

Es decir, podemos tener un grupo con 10 equipos, pero sólo habrá cada vez uno activo y otro en standby, el resto se quedarán escuando, no participarán en la redundancia.

El router activo será el que tenga una IP flotante o virtual que será el gateway, esa IP la definiremos en todos los routers del grupo, pero solo estará activa en el router activo.

Los routers elegirán el activo y el standby basandose en prioridades y se comunicarán entre sí utilizando el puerto 1985 sobre UDP en la dirección de Multicast 224.0.0.2.

Tened en cuenta que el número de grupos de HSRP que se permiten dependen del equipo, hay equipos que soportan los 255 que permiten los 8 bits de identificación de grupo HSRP y otros equipos solo permiten 16 grupos, esto tendréis que mirarlo en la documentación de cada equipo concreto.

¿Cómo se eligen los routers principales en cada grupo de HSRP?

Se eligen gracias a la prioridad que definimos con el comando

standby  priority

En este comando hemso definido la prioridad y claro, como es una prioridad el que tenga la prioridad más alta será el elegido como primario y el siguiente como standby, si no definimos la prioridad esta se tomará en función de la IP del interfaz.

El router activo será el gateway

HSRP tiene unos estados por los que van pasando los routers para cada grupo, son unos estados que recuerdan de alguna manera a los de STP:

  • Disabled – Desactivado
  • Init – Se inicia
  • Listen – Escuchamos
  • Speak – HablamosStandby – Identifica que el interfaz es el del router standby
  • Active – Identifica que el interfaz es el del router activo

Además los routers tienen que saber si en algún momento se ha caído el activo y por tanto la IP debe de pasar al router de standby y hay que volver a seleccionar el activo y el standby de nuevo.

Para saber si el router activo ha caído utizaremos mensajes de hello que por defecto se envían cada 3 segundos y en el momento de pasar el temporizador de holdtime, que por defecto son 3 hellos, se produce el cambio de standby por activo.

Por supuesto estos temporizadores son modificables y se pueden ajustar a nuestras necesidades, pero es muy importante tener en cuenta que los temporizadores deben ser los mismos en todos los routers del mismo grupo, muy importante.

Hay que tener en cuenta que si tenemos un router con más prioridad porque queremos que sea el activo, si esta cae el activo será el router de standby, pero una vez que se recupere el router principal no volverá a ser router activo, es decir, puede haber routers con mayor prioridad en la red que no sean el router activo, para solucionar esto existe el preemtion, es decir, tenemos que añadir a la configuración la palabra preempt

standby  preempt

Además HSRP tiene una característica que es muy chula, es el tracking. El tracking lo que hace es mirar el estado de otros interfaces para conmutar, esto permite que podamos bajar la prioridad de un router en el momento el que caiga otro interfaz, y nos va a permitir mejorar muchísimo la red.

Por ejemplo, si tenemos dos routers con dos salidas a internet y un grupo HSRP en la LAN, si se cae un interfaz WAN en algún router podríamos con tracking hacer que la prioridad del HSRP de ese router en la LAN bajara de forma que el tráfico empezaría a salir por el router que tiene la conexión WAN activa.

Por supuesto podemos habilitar autenticación entre los miembros del grupo HSRP con una contraseña, clave, hash, etc. por seguridad.

Y ¿cómo ofrecemos el balanceo?

Realmente para ofrecer un balanceo con HSRP lo que hacemos es definir dos grupos y ofrecer a la mitad de la red un gateway y otro a la otra mitad de la red, de forma que si fallara algún grupo todo el tráfico iría por el mismo router, pero mientras la mitad de la red iría por un router y la otra mitad por el otro router. Esto obviamente no es una característica de HSRP, sino una de las posibilidades que tenemos.

VRRP – Virtual Router Redundancy Protocol

VRRP a diferencia de HSRP es un protocolo abierto que puede utilizar cualquier fabricante de equipos, de hecho, es el protocolo estándar en todos los equipos no cisco.

VRRP viene definido en la RFC 2338 (https://www.ietf.org/rfc/rfc2338.txt) y al y como os contaré en un momento es un protocolo extremadamente similar a HSRP, de hecho es perfectamente sustituible en la inmensa mayoría de los casos.

VRRP nos ofrece una IP flotante virtual como gateway que va a estar siempre en el router master, lo que en HSRP se conoce como activo, el resto de routers serán backup, todos ellos, recordad que en HSRP sólo tenemos un router standby y aquí lo son todos excepto el master que es el que tiene la mayor prioridad.

Una diferencia está en los mensajes hello, que en HSRP se enviaban por defecto cada 3 segundos y en VRRP cada segundo.

Pero la diferencia fundamental de VRRP con HSRP estriba en que VRRP por defecto hay preemption, con lo que nos asegurammos que nunca va a haber otro router con mayor prioridad en el grupo que no sea master. Obviamente se puede deshabilitar esta característica con

no vrrp  preempt

Y por último comentar que VRRP no dispone de tracking, esa característica tan útil de HSRP y aquí tenemos que apoyarnos en otras posibildiades.

Pero lo más importante es que VRRP es un protocolo abierto, así que podemos utilizarlo en cualquier equipo, sea Cisco o no, por ejemplo en Mikrotik podemos crear interfaces VRRP y configurar a partir de ahí.

GLBP – Gateway Load Balancing Protocol

Este es un protocolo propietario de Cisco, como HSRP, pero tiene algo que le hace único del todo y por eso lo comento aquí, aunque su uso esté limitado únicamente a equipos Cisco.

GLBP permite añadir balanceo sin tener que crear varios grupos, algo que en HSRP o en VRRP solucionamos creando varios grupos, que está bien, pero no deja de ser una maniobra un poco extraña.

GLBP soluciona el balanceo respondiendo a los clientes con MACs diferentes, de forma que cuando los equipos instalan en su tabla de ARP la IP del gateway, pero la MAC que le toque, así cuando envíen el tráfico lo van a hacer a la MAC que GLBP le haya asignado.