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.
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.
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:
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.
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.
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:
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.
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.
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.