Protocolo de información de enrutamiento (RIP)
El Protocolo de información de enrutamiento (encaminamiento) o RIP por sus siglas de Routing Information Protocol es uno de los protocolos de enrutamiento de vector de distancia más antiguos que emplea el conteo de saltos como una métrica de enrutamiento. RIP evita los bucles de enrutamiento al implementar un límite en la cantidad de saltos permitidos en una ruta desde el origen hasta el destino. La mayor cantidad de saltos permitidos para RIP es 15, lo que limita el tamaño de las redes que RIP puede admitir.
RIP implementa el horizonte dividido, el envenenamiento de rutas y los mecanismos de retención para evitar que se propague información de enrutamiento incorrecta.
En los enrutadores RIPv1, transmiten actualizaciones con su tabla de enrutamiento cada 30 segundos. En las primeras implementaciones, las tablas de enrutamiento eran lo suficientemente pequeñas como para que el tráfico no fuera significativo. Sin embargo, a medida que las redes crecían en tamaño, se hizo evidente que podía haber una ráfaga masiva de tráfico cada 30 segundos, incluso si los enrutadores se habían inicializado en momentos aleatorios.
En la mayoría de los entornos de red, RIP no es la opción preferida de protocolo de enrutamiento, ya que su tiempo de convergencia y escalabilidad son deficientes en comparación con EIGRP, OSPF o IS-IS. Sin embargo, es fácil de configurar porque RIP no requiere ningún parámetro, a diferencia de otros protocolos.
RIP utiliza el Protocolo de datagramas de usuario (UDP) como protocolo de transporte y se le asigna el número de puerto reservado 520.
Desarrollo de enrutamiento por vector de distancia
Basados en el algoritmo de Bellman-Ford y el algoritmo de Ford-Fulkerson, los protocolos de enrutamiento por vector de distancia comenzaron a implementarse a partir de 1969 en redes de datos como ARPANET y CYCLADES. El predecesor de RIP fue el Protocolo de información de puerta de enlace (GWINFO), desarrollado por Xerox a mediados de la década de 1970 para enrutar su red experimental. Como parte del conjunto de protocolos Xerox Network Systems (XNS), GWINFO se transformó en el Protocolo de información de enrutamiento XNS. Este XNS RIP, a su vez, se convirtió en la base de los primeros protocolos de enrutamiento, como IPX RIP de Novell, Routing Table Maintenance Protocol (RTMP) de AppleTalk e IP RIP. Berkley Software Distribution de 1982 del sistema operativo UNIX implementó RIP en el enrutadodemonio. La versión 4.2BSD demostró ser popular y se convirtió en la base para las versiones posteriores de UNIX, que implementaron RIP en el demonio enrutado o cerrado. En última instancia, RIP se implementó ampliamente antes de que el estándar, escrito por Charles Hedrick, se aprobara como RIPv1 en 1988.
El conteo de saltos RIP
La métrica de enrutamiento utilizada por RIP cuenta la cantidad de enrutadores que se deben pasar para llegar a una red IP de destino. El conteo de saltos 0 denota una red que está directamente conectada al enrutador. 16 saltos indican una red inalcanzable, según el límite de saltos RIP.
Versiones
Existen tres versiones estandarizadas del Protocolo de información de enrutamiento: RIPv1 y RIPv2 para IPv4 y RIPng para IPv6.
RIP versión 1
La especificación original de RIP se publicó en 1988. Al iniciar, y cada 30 segundos a partir de entonces, un enrutador con implementación de RIPv1 transmite a 255.255.255.255un mensaje de solicitud a través de cada interfaz habilitada para RIPv1. Los enrutadores vecinos que reciben el mensaje de solicitud responden con un segmento RIPv1 que contiene su tabla de enrutamiento. El enrutador solicitante actualiza su propia tabla de enrutamiento, con la dirección de red IP accesible, el conteo de saltos y el siguiente salto, que es la dirección IP de la interfaz del enrutador desde la cual se envió la respuesta RIPv1. Como el enrutador solicitante recibe actualizaciones de diferentes enrutadores vecinos, solo actualizará las redes accesibles en su tabla de enrutamiento, si recibe información sobre una red accesible que aún no tiene en su tabla de enrutamiento o información de que una red que tiene en su tabla de enrutamiento es alcanzable con un conteo de saltos más bajo. Por lo tanto, un enrutador RIPv1 en la mayoría de los casos solo tendrá una entrada para una red accesible, la que tenga el número de saltos más bajo. Si un enrutador recibe información de dos enrutadores vecinos diferentes de que se puede acceder a la misma red con el mismo conteo de saltos pero a través de dos rutas diferentes, la red se ingresará en la tabla de enrutamiento dos veces con diferentes enrutadores de próximo salto. El enrutador habilitado para RIPv1 realizará lo que se conoce como balanceo de carga de igual costo para los paquetes IP.
Los enrutadores habilitados para RIPv1 no solo solicitan las tablas de enrutamiento de otros enrutadores cada 30 segundos, sino que también escuchan las solicitudes entrantes de los enrutadores vecinos y envían su propia tabla de enrutamiento a su vez. Por lo tanto, las tablas de enrutamiento RIPv1 se actualizan cada 25 a 35 segundos. El protocolo RIPv1 agrega una pequeña variable de tiempo aleatorio al tiempo de actualización para evitar que las tablas de enrutamiento se sincronicen en una LAN. Se pensó que, como resultado de la inicialización aleatoria, las actualizaciones de enrutamiento se distribuirían en el tiempo, pero esto no fue así en la práctica. Sally Floyd y Van Jacobson demostraron en 1994 que, sin una ligera aleatorización del temporizador de actualización, los temporizadores se sincronizaban con el tiempo.
RIPv1 se puede configurar en modo silencioso, de modo que un enrutador solicite y procese las tablas de enrutamiento vecinas, y mantenga actualizadas su tabla de enrutamiento y el número de saltos para las redes accesibles, pero no envíe innecesariamente su propia tabla de enrutamiento a la red. El modo silencioso se implementa comúnmente en los hosts.
RIPv1 utiliza enrutamiento con clase. Las actualizaciones de enrutamiento periódicas no llevan información de subred, ya que carecen de soporte para máscaras de subred de longitud variable (VLSM). Esta limitación hace que sea imposible tener subredes de diferentes tamaños dentro de la misma clase de red. En otras palabras, todas las subredes de una clase de red deben tener el mismo tamaño. Tampoco hay soporte para la autenticación del enrutador, lo que hace que RIP sea vulnerable a varios ataques.
RIP versión 2
Debido a las deficiencias de la especificación RIP original, RIP versión 2 (RIPv2) se desarrolló en 1993, se publicó en 1994 y se declaró Internet Standard 56 en 1998. Incluía la capacidad de transportar información de subred, por lo que admitía el enrutamiento entre dominios sin clases (CIDR). Para mantener la compatibilidad con versiones anteriores, se mantuvo el límite de 15 saltos. RIPv2 tiene funciones para interoperar completamente con la especificación anterior si todos los campos del protocolo Must Be Zero en los mensajes RIPv1 se especifican correctamente. Además, una función de cambio de compatibilidad permite ajustes de interoperabilidad detallados.
En un esfuerzo por evitar una carga innecesaria en los hosts que no participan en el enrutamiento, RIPv2 multidifunde la tabla de enrutamiento completa a todos los enrutadores adyacentes en la dirección 224.0.0.9, a diferencia de RIPv1, que usa la transmisión. El direccionamiento unicast aún se permite para aplicaciones especiales.
La autenticación (MD5) para RIP se introdujo en 1997.
Las etiquetas de ruta también se agregaron en la versión 2 de RIP. Esta funcionalidad permite distinguir entre las rutas aprendidas del protocolo RIP y las rutas aprendidas de otros protocolos.
RIPng
RIPng (RIP de próxima generación) es una extensión de RIPv2 para admitir IPv6, el Protocolo de Internet de próxima generación. Las principales diferencias entre RIPv2 y RIPng son:
- Soporte de redes IPv6.
- Si bien RIPv2 admite la autenticación de actualizaciones de RIPv1, RIPng no lo hace. En ese momento, se suponía que los enrutadores IPv6 usarían IPsec para la autenticación.
- RIPv2 codifica el siguiente salto en cada entrada de ruta, RIPng requiere una codificación específica del siguiente salto para un conjunto de entradas de ruta.
RIPng envía actualizaciones en el puerto UDP 521 mediante el grupo de multidifusión ff02::9.
Mensajes RIP entre enrutadores
Los mensajes RIP utilizan el Protocolo de datagramas de usuario en el puerto 520 y todos los mensajes RIP intercambiados entre enrutadores se encapsulan en un segmento UDP.
Mensajes RIPv1
RIP definió dos tipos de mensajes:Mensaje de solicitudSolicitar a un enrutador vecino habilitado para RIPv1 que envíe su tabla de enrutamiento.Mensaje de respuestaLleva la tabla de enrutamiento de un enrutador.
Temporizadores
El protocolo de información de enrutamiento utiliza los siguientes temporizadores como parte de su funcionamiento:Actualizar temporizadorControla el intervalo entre dos Mensajes de Respuesta gratuitos. Por defecto el valor es 30 segundos. El mensaje de respuesta se transmite a toda su interfaz habilitada para RIP.Temporizador no válidoEl temporizador no válido especifica cuánto tiempo puede estar una entrada de enrutamiento en la tabla de enrutamiento sin actualizarse. Esto también se denomina temporizador de caducidad. Por defecto, el valor es 180 segundos. Después de que expire el temporizador, el conteo de saltos de la entrada de enrutamiento se establecerá en 16, marcando el destino como inalcanzable.Temporizador de descargaEl temporizador de descarga controla el tiempo que transcurre entre la invalidación o la marcación de la ruta como inalcanzable y la eliminación de la entrada de la tabla de enrutamiento. Por defecto el valor es 240 segundos. Esto es 60 segundos más que el temporizador no válido. Entonces, durante 60 segundos, el enrutador anunciará esta ruta inalcanzable a todos sus vecinos. Este temporizador debe establecerse en un valor más alto que el temporizador no válido.Temporizador de esperaEl temporizador de espera se inicia por entrada de ruta, cuando el conteo de saltos cambia de un valor más bajo a un valor más alto. Esto permite que la ruta se estabilice. Durante este tiempo, no se puede realizar ninguna actualización en esa entrada de enrutamiento. Esto no es parte del RFC 1058. Esta es la implementación de Cisco. El valor predeterminado de este temporizador es de 180 segundos.
Limitaciones
- El conteo de saltos no puede exceder los 15, o las rutas se eliminarán.
- Las máscaras de subred de longitud variable no son compatibles con la versión 1 de RIP (que está obsoleta).
- RIP tiene problemas de convergencia lenta y cuenta hasta el infinito.
Implementaciones
- Cisco IOS, software utilizado en los enrutadores de Cisco (compatible con la versión 1, la versión 2 y RIPng)
- Software Cisco NX-OS utilizado en los switches del centro de datos Cisco Nexus (solo admite RIPv2)
- Software Junos utilizado en enrutadores, conmutadores y cortafuegos Juniper (compatible con RIPv1 y RIPv2)
- Enrutamiento y acceso remoto, una característica de Windows Server, contiene soporte RIP
- Quagga, un paquete de enrutamiento de software de código abierto gratuito basado en GNU Zebra
- BIRD, una suite de enrutamiento de software libre y de código abierto
- Zeroshell, un paquete de enrutamiento de software de código abierto gratuito
- Una implementación de RIP introducida por primera vez en 4.2BSD, enrutada, sobrevive en varios de sus descendientes, incluidos FreeBSD y NetBSD.
- OpenBSD introdujo una nueva implementación, ripd, en la versión 4.1 y retiró el enrutamiento en la versión 4.4.
- Los enrutadores Netgear comúnmente ofrecen una opción de dos implementaciones de RIPv2; estos están etiquetados como RIP_2M y RIP_2B. RIP_2M es la implementación estándar de RIPv2 que utiliza multidifusión, lo que requiere que todos los enrutadores de la red admitan RIPv2 y multidifusión, mientras que RIP_2B envía paquetes RIPv2 mediante la transmisión de subred, lo que lo hace más compatible con enrutadores que no admiten multidifusión, incluidos los enrutadores RIPv1.
- Los enrutadores Huawei HG633 ADSL/VDSL admiten enrutamiento pasivo y activo con RIP v1 y v2 en el lado LAN y WAN.
Protocolos similares
El Protocolo de enrutamiento de puerta de enlace interior (IGRP) patentado de Cisco era un protocolo algo más capaz que RIP. Pertenece a la misma familia básica de protocolos de enrutamiento por vector de distancia.
Cisco ha cesado el soporte y la distribución de IGRP en su software de enrutador. Fue reemplazado por el Protocolo de enrutamiento de puerta de enlace interior mejorado (EIGRP), que es un diseño completamente nuevo. Si bien EIGRP todavía usa un modelo de vector de distancia, se relaciona con IGRP solo en el uso de la misma métrica de enrutamiento compuesta. Tanto IGRP como EIGRP calcularon una sola métrica compuesta para cada ruta, a partir de una fórmula de cinco variables: ancho de banda, demora, confiabilidad, carga y MTU; aunque en los enrutadores Cisco, de forma predeterminada, solo se utilizan el ancho de banda y la demora en este cálculo.
Contenido relacionado
Jef raskin
Espacio de nombres
Mac OS