Protocolo de redundancia de dirección común (carp)

Definición: ¿Qué significa el Protocolo común de redundancia de direcciones (CARP)?

El Protocolo común de redundancia de direcciones (CARP) es un protocolo automático de conmutación por error y redundancia introducido por OpenBSD en octubre de 2003. CARP está diseñado para compartir una dirección IP común entre varios hosts en el mismo segmento de red para proporcionar redundancia de conmutación por error a múltiples servidores o hosts. Es una alternativa al Protocolo de redundancia de enrutador virtual (VRRP) del Grupo de trabajo de ingeniería de Internet (IETF) y al Protocolo de redundancia en espera en caliente (HSRP) de Cisco.

CARP está diseñado como una alternativa de código abierto y gratuito a VRRP que, según Cisco, tiene cierto parecido técnico con su HSRP patentado. CARP funciona permitiendo que un grupo de hosts en el mismo segmento de red comparta una dirección IP. Este grupo de hosts se denomina grupo de redundancia. Al grupo de redundancia se le asigna una dirección IP y un ID de host virtual común (VHID). El VHID permite a los miembros del grupo identificar a qué grupo de redundancia pertenecen. Dentro del grupo, un host se designa como host maestro y el resto como hosts de respaldo. El host maestro es el propietario de la dirección IP compartida. El host maestro responde a cualquier tráfico o solicitudes ARP dirigidas hacia él.

Techinfo explica el Protocolo común de redundancia de direcciones (CARP)

Cada host puede pertenecer a más de un grupo de redundancia a la vez a través de múltiples interfaces físicas. El host maestro envía anuncios CARP a los hosts de respaldo.

Estos anuncios CARP o paquetes CARP se componen de dos valores:

  • La base de anuncios (advbase) del host maestro: esto se puede configurar de forma independiente en cada host del grupo de redundancia. advbase puede contener valores entre 1 y 255.
  • El sesgo de publicidad (advskew): esto especifica cuánto sesgar la base de anuncios al enviar anuncios CARP a otros hosts. Sus valores oscilan entre 1 y 254.

Al manipular los valores advbase y advskew en cada host, se puede designar el host CARP maestro. Cuanto mayor sea el valor combinado de estos dos parámetros, menos preferido será ese host al elegir un maestro. En el caso de una falla en la llegada del paquete CARP después de un tiempo específico o de recibir un valor advbase más advskew más grande, un host de respaldo asume las funciones del host maestro.

CARP tiene capacidades limitadas para equilibrar la carga de las conexiones entrantes entre hosts en una red Ethernet. Para las operaciones de equilibrio de carga, se configuran varias interfaces CARP para la misma dirección IP, pero para diferentes VHID. Una vez que se recibe una solicitud ARP, el protocolo CARP utiliza una función hash contra la dirección IP de origen en la solicitud ARP para determinar a qué VHID debe pertenecer esta solicitud. Si la interfaz CARP correspondiente está en un estado maestro, la solicitud ARP recibirá una respuesta; de lo contrario, se ignorará.

Para evitar que un usuario malintencionado en el segmento de red falsifique los anuncios de CARP, cada grupo se puede configurar con una contraseña. Cada paquete CARP enviado al grupo está protegido por un código de autenticación de mensajes basado en hash del algoritmo hash seguro 1 (SHA1 HMAC). CARP admite direcciones de Protocolo de Internet versión 4 (IPV4) y Protocolo de Internet versión 6 (IPV6). CARP se puede utilizar en servidores del sistema de nombres de dominio (DNS), cortafuegos y otros servidores de filtrado de paquetes donde el cliente no necesita conocer y cambiar todas las direcciones IP en caso de una conmutación por error.