3. RIP (Routing Information Protocol)

El Routing Information Protocol es uno de los motores de enrutamiento más antiguos aún presentes en redes pequeñas. Su sencillez, basada en intercambiar tablas completas cada 30 segundos y en contar saltos, lo convirtió en la opción predeterminada de muchos routers domésticos y dispositivos SOHO durante décadas.

A lo largo de este tema revisamos su origen, el algoritmo de vector distancia que lo impulsa, el significado de su métrica limitada a 15 saltos, los mecanismos de actualización periódica, la lista de ventajas y desventajas, y las diferencias prácticas entre la versión 1 y la versión 2.

3.1 Un protocolo veterano pero vigente

RIP se formalizó por primera vez en la RFC 1058 (1988) y más tarde se actualizó en la RFC 2453. Surgió como una adaptación del algoritmo de vector distancia utilizado en ARPANET y quedó incluido en los sistemas operativos BSD, lo que favoreció su difusión temprana.

Aunque hoy existen alternativas más rápidas, RIP sigue presente en laboratorios académicos, routers de entrada y escenarios donde la simplicidad es prioritaria frente a la escala. Conocerlo ayuda a comprender la evolución de los protocolos modernos y a diagnosticar entornos heredados.

3.2 Algoritmo basado en vector distancia

RIP utiliza el algoritmo de Bellman-Ford. Cada router mantiene una tabla con todos los destinos conocidos y la distancia a cada uno medida en saltos. Periódicamente envía la tabla completa a sus vecinos. Cuando recibe la tabla de otro router, suma 1 a cada distancia anunciada y compara con su propia información. Si la nueva distancia es menor, actualiza la entrada y establece como siguiente salto al vecino que envió el anuncio.

Resumen del flujo:

  1. Router A anuncia su tabla completa cada 30 segundos.
  2. Router B recibe la tabla, incrementa los valores y compara con la suya.
  3. Si encuentra rutas más cortas, cambia su tabla y marcará a A como next-hop.

La siguiente tabla ilustra cómo un router elige la mejor ruta usando únicamente el conteo de saltos:

Destino Distancia actual (saltos) Distancia vía vecino C Decisión
192.168.10.0/24 2 3 Se mantiene la ruta actual.
192.168.20.0/24 4 2 Se reemplaza por la ruta vía C.
10.0.30.0/24 No existe 5 Se agrega como nueva entrada.

Para reforzar el concepto, este ejemplo en Python simula una actualización de vector distancia con tres routers y solo la métrica de saltos:

import copy

def actualizar(tabla_local, anuncio_vecino, nombre_vecino):
    nueva = copy.deepcopy(tabla_local)
    for destino, distancia in anuncio_vecino.items():
        costo = distancia + 1
        if destino not in nueva or costo < nueva[destino]["saltos"]:
            nueva[destino] = {"saltos": costo, "siguiente": nombre_vecino}
    return nueva

tabla_router_a = {
    "192.168.10.0/24": {"saltos": 1, "siguiente": "Directo"},
    "192.168.20.0/24": {"saltos": 3, "siguiente": "B"}
}

anuncio_router_c = {
    "192.168.20.0/24": 1,
    "10.0.30.0/24": 4
}

tabla_actualizada = actualizar(tabla_router_a, anuncio_router_c, "C")
for destino, info in tabla_actualizada.items():
    print(destino, info)

La función replica el comportamiento de un router RIP: compara cada destino del vecino y actualiza cuando encuentra una ruta más corta en saltos.

3.3 Métrica: número de saltos con máximo 15

La métrica de RIP es el conteo de saltos (hop count). Cada enlace agrega una unidad al costo total y cualquier ruta con más de 15 saltos se considera inalcanzable (métrica 16). Esto simplifica los cálculos pero limita el tamaño de la red.

Este límite evita que los paquetes giren indefinidamente ante un bucle y permite detectar rápidamente rutas rotas. Sin embargo, descarta la posibilidad de usar RIP en topologías extensas, como backbones con docenas de routers.

Saltos Estado Acción del router
0 Red conectada directamente Entrada creada automáticamente.
1-15 Ruta válida Puede ser preferida según el valor más bajo.
16 Inalcanzable Se elimina o marca para purga.

Además del límite de saltos, RIP utiliza temporizadores para mantener coherencia: timeout (180 segundos), garbage collection (120 segundos) y hold-down (180 segundos). Estos valores determinan cuándo una ruta se considera caducada y cómo se evita reinsertarla antes de tiempo.

3.4 Intercambio periódico de tablas

RIP envía actualizaciones completas cada 30 segundos. Este comportamiento facilita la configuración, pero genera tráfico adicional comparado con protocolos que solo anuncian cambios. Para mitigar bucles y convergencia lenta se utilizan mecanismos como:

  • Split horizon: no se anuncian rutas de vuelta por la interfaz por la que fueron aprendidas.
  • Triggered updates: se envían anuncios inmediatos ante cambios significativos, sin esperar al temporizador regular.
  • Poison reverse: se publican rutas con métrica 16 hacia el vecino que las anunció para indicar que son inválidas.

En un entorno Windows, es posible observar las rutas aprendidas y los protocolos asociados mediante PowerShell:

Get-NetRoute -AddressFamily IPv4 |
  Where-Object { $_.Protocol -eq 'RIP' } |
  Format-Table DestinationPrefix, NextHop, RouteMetric -AutoSize

El resultado permite verificar si los routers están enviando actualizaciones periódicas y si los prefijos se mantienen dentro del rango de saltos esperado.

3.5 Ventajas y desventajas

Evaluar RIP implica ponderar operacionalidad contra escala. La siguiente tabla resume sus puntos fuertes y débiles:

Criterio Ventajas Desventajas
Implementación Configuración muy simple, disponible en casi cualquier router. Escasa flexibilidad para políticas avanzadas.
Recursos Bajo consumo de CPU y memoria. Actualizaciones periódicas pueden saturar enlaces lentos.
Escalabilidad Adecuado para topologías pequeñas y estables. Límite de 15 saltos y convergencia lenta en redes grandes.
Seguridad Versiones actuales permiten autenticación. Sin cifrado nativo; susceptible a anuncios falsos si no se controla.

Por estas razones, RIP suele emplearse para redes de laboratorio, campus pequeños o como protocolo de respaldo donde se privilegia la previsibilidad.

3.6 Versiones: RIP v1 y RIP v2

RIP evolucionó en dos ediciones principales. La versión 1, descrita en la RFC 1058, trabaja únicamente con redes de clase natural (Classful) y no admite información de máscara variable. La versión 2 introduce mejoras que lo hacen más adaptable a redes modernas.

Característica RIP v1 RIP v2
VLSM/CIDR No soportado. Admite máscara por entrada.
Transporte Mensajes multicast a 255.255.255.255. Multicast a 224.0.0.9, reduciendo broadcasts.
Autenticación No disponible. Soporta autenticación simple o MD5.
Información adicional Solo red y métrica. Incluye next-hop explícito y etiquetas de ruta.

En dispositivos actuales se recomienda habilitar únicamente RIP v2 para aprovechar CIDR y reducir el tráfico de broadcast. RIPng, definido en la RFC 2080, extiende el protocolo a IPv6 con ajustes similares.

RIP cumple con los objetivos fundamentales del enrutamiento en redes pequeñas: descubre rutas, las distribuye de forma automática y ofrece un comportamiento predecible. Sin embargo, sus limitaciones de convergencia y de métricas lo dejan en desventaja frente a OSPF o EIGRP en entornos modernos. El siguiente tema analizará cómo OSPF supera estas restricciones mediante algoritmos de estado de enlace.