El Protocolo de Información de Enrutamiento ( RIP ) es uno de los protocolos de enrutamiento de vector distancia más antiguos que utiliza el número de saltos como métrica de enrutamiento . RIP evita los bucles de enrutamiento al limitar el número de saltos permitidos en una ruta desde el origen hasta el destino. El número máximo de saltos permitidos para RIP es 15, lo que limita el tamaño de las redes que este protocolo puede soportar.
RIP implementa los mecanismos de horizonte dividido , envenenamiento de rutas y retención para evitar que se propague información de enrutamiento incorrecta.
En RIPv1, los enrutadores transmiten actualizaciones de 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 crecieron, se hizo evidente que podía producirse un pico de tráfico masivo 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 el protocolo de enrutamiento preferido , ya que su tiempo de convergencia y escalabilidad son inferiores a los de EIGRP , OSPF o IS-IS . Sin embargo, es fácil de configurar, puesto que, a diferencia de otros protocolos, RIP no requiere parámetros.
RIP utiliza el Protocolo de Datagramas de Usuario (UDP) como protocolo de transporte y se le asigna el número de puerto reservado 520. [ 1 ]
Desarrollo del enrutamiento de vectores de distancia
Basándose en los algoritmos de Bellman-Ford y Ford-Fulkerson , los protocolos de enrutamiento de vector 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 RIP XNS, a su vez, se convirtió en la base de los primeros protocolos de enrutamiento, como el RIP IPX de Novell , el Protocolo de Mantenimiento de Tablas de Enrutamiento (RTMP) de AppleTalk y el RIP IP. La distribución de software Berkeley de 1982 del sistema operativo UNIX implementó RIP en el demonio routed . La versión 4.2BSD resultó popular y se convirtió en la base de las versiones posteriores de UNIX, que implementaron RIP en el demonio routed o gated . En última instancia, RIP se había implementado ampliamente [ 2 ] antes de que el estándar, escrito por Charles Hedrick, fuera aprobado como RIPv1 en 1988. [ 3 ]
El recuento de saltos RIP
La métrica de enrutamiento utilizada por RIP cuenta el número de enrutadores que deben atravesarse para alcanzar una red IP de destino. Un recuento de saltos de 0 indica una red conectada directamente al enrutador. 16 saltos indican una red inaccesible, según el límite de saltos de RIP. [ 4 ]
Versiones
Existen tres versiones estandarizadas del Protocolo de Información de Enrutamiento: RIPv1 y RIPv2 para IPv4 , y RIPng para IPv6 .
Versión RIP 1
La especificación original de RIP se publicó en 1988. [ 3 ] Al iniciarse, y cada 30 segundos a partir de entonces, un enrutador con implementación RIPv1 difunde a 255.255.255.255 un 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 alcanzable, el número de saltos y el siguiente salto, es decir, la dirección IP de la interfaz del enrutador desde la que se envió la respuesta RIPv1. A medida que el enrutador solicitante recibe actualizaciones de diferentes enrutadores vecinos, solo actualizará las redes alcanzables en su tabla de enrutamiento, si recibe información sobre una red alcanzable 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 número de saltos menor. Por lo tanto, un enrutador RIPv1 en la mayoría de los casos solo tendrá una entrada para una red alcanzable, la que tenga el número de saltos más bajo. Si un enrutador recibe información de dos enrutadores vecinos diferentes de que la misma red es accesible con el mismo número de saltos, pero a través de dos rutas diferentes, la red se ingresará en la tabla de enrutamiento dos veces con enrutadores de siguiente salto diferentes. El enrutador con RIPv1 habilitado realizará entonces lo que se conoce como balanceo de carga de igual costo para paquetes IP. [ 4 ]
Los enrutadores compatibles con 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. [ 4 ] El protocolo RIPv1 agrega una pequeña variable de tiempo aleatoria al tiempo de actualización para evitar que las tablas de enrutamiento se sincronicen en una LAN. [ 5 ] Se pensaba que, como resultado de la inicialización aleatoria, las actualizaciones de enrutamiento se dispersarían en el tiempo, pero esto no fue cierto 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. [ 6 ]
RIPv1 se puede configurar en modo silencioso, de modo que un enrutador solicita y procesa las tablas de enrutamiento vecinas, y mantiene actualizada su tabla de enrutamiento y el número de saltos para las redes accesibles, pero no envía innecesariamente su propia tabla de enrutamiento a la red. El modo silencioso se implementa comúnmente en los hosts. [ 7 ]
RIPv1 utiliza enrutamiento por clases . Las actualizaciones periódicas de enrutamiento no incluyen información de subred , ya que carece de soporte para máscaras de subred de longitud variable (VLSM). Esta limitación imposibilita tener subredes de distinto tamaño dentro de la misma clase de red . En otras palabras, todas las subredes de una clase de red deben tener el mismo tamaño. Además, no admite la autenticación de enrutadores, lo que hace que RIP sea vulnerable a diversos ataques.
Versión RIP 2
Debido a las deficiencias de la especificación RIP original, la versión 2 de RIP (RIPv2) se desarrolló en 1993, [ 4 ] se publicó en 1994, [ 8 ] y se declaró como Estándar de Internet 56 en 1998. [ 9 ] Incluía la capacidad de transportar información de subred, lo que permitía el enrutamiento entre dominios sin clases (CIDR). Para mantener la compatibilidad con versiones anteriores , se mantuvo el límite de 15 saltos. RIPv2 cuenta con mecanismos para interoperar completamente con la especificación anterior si todos los campos de protocolo " Debe ser cero" en los mensajes RIPv1 se especifican correctamente. Además, una función de conmutación de compatibilidad [ 9 ] permite ajustes de interoperabilidad precisos.
Para evitar una carga innecesaria en los hosts que no participan en el enrutamiento, RIPv2 envía por multidifusión toda la tabla de enrutamiento a todos los enrutadores adyacentes en la dirección 224.0.0.9 , a diferencia de RIPv1, que utiliza difusión . El direccionamiento unicast aún está permitido para aplicaciones especiales.
La autenticación ( MD5 ) para RIP se introdujo en 1997. [ 10 ] [ 11 ]
En la versión 2 de RIP también se añadieron etiquetas de ruta. 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 dar soporte a IPv6 , el protocolo de Internet de próxima generación . [ 12 ] Las principales diferencias entre RIPv2 y RIPng son:
- Compatibilidad con redes IPv6.
- Si bien RIPv2 admite la autenticación de actualizaciones de RIPv1, RIPng no lo hace. En aquel entonces, se suponía que los enrutadores IPv6 debían usar IPsec para la autenticación.
- RIPv2 codifica el siguiente salto en cada entrada de ruta, mientras que 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 usando 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 datagrama UDP. [ 4 ]
Mensajes RIPv1
RIP definió dos tipos de mensajes:
- Mensaje de solicitud
- Solicitar a un enrutador vecino habilitado para RIPv1 que envíe su tabla de enrutamiento.
- Mensaje de respuesta
- Contiene la tabla de enrutamiento de un enrutador.
Temporizadores
El protocolo de información de enrutamiento utiliza los siguientes temporizadores como parte de su funcionamiento: [ 13 ]
- Temporizador de actualización
- Controla el intervalo entre dos mensajes de respuesta gratuitos. Por defecto, el valor es de 30 segundos. El mensaje de respuesta se transmite a todas las interfaces habilitadas para RIP. [ 13 ]
- Temporizador no válido
- El temporizador de inválido especifica cuánto tiempo puede permanecer una entrada de enrutamiento en la tabla de enrutamiento sin actualizarse. También se le conoce como temporizador de expiración. Por defecto, el valor es de 180 segundos. Una vez transcurrido el tiempo del temporizador, el número de saltos de la entrada de enrutamiento se establecerá en 16, marcando el destino como inaccesible. [ 13 ]
- Temporizador de descarga
- El temporizador de vaciado controla el tiempo entre la invalidación o el marcado de la ruta como inaccesible y la eliminación de la entrada de la tabla de enrutamiento. Por defecto, el valor es de 240 segundos. Esto supone 60 segundos más que el temporizador de invalidez. Por lo tanto, durante 60 segundos el enrutador anunciará esta ruta inaccesible a todos sus vecinos. Este temporizador debe configurarse con un valor superior al del temporizador de invalidez. [ 13 ]
- Temporizador de retención
- El temporizador de retención se inicia por entrada de ruta cuando el número de saltos cambia de un valor menor a uno mayor. Esto permite que la ruta se estabilice. Durante este tiempo, no se puede actualizar dicha entrada de ruta. Esto no forma parte de la RFC 1058. Se trata de una implementación de Cisco . El valor predeterminado de este temporizador es de 180 segundos. [ 13 ]
Limitaciones
- El número de saltos no puede exceder de 15, o las rutas se descartarán.
- Las máscaras de subred de longitud variable no son compatibles con la versión 1 de RIP (que está obsoleta).
- RIP tiene convergencia lenta y problemas de conteo hasta el infinito . [ 14 ]
Implementaciones
- Cisco IOS , software utilizado en routers Cisco (compatible con las versiones 1, 2 y RIPng).
- Software Cisco NX-OS utilizado en conmutadores de centro de datos Cisco Nexus (solo admite RIPv2 [ 15 ] )
- Software Junos utilizado en routers, switches y firewalls de Juniper (compatible con RIPv1 y RIPv2).
- Enrutamiento y acceso remoto, una característica de Windows Server , incluye compatibilidad con RIP.
- Quagga , un conjunto de software de enrutamiento de código abierto y gratuito basado en GNU Zebra.
- BIRD , un conjunto de software de enrutamiento gratuito y de código abierto.
- Zeroshell , un conjunto de software de enrutamiento gratuito y de código abierto.
- Una implementación de RIP introducida por primera vez en 4.2BSD , routed, sobrevive en varios de sus descendientes, incluidos FreeBSD [ 16 ] y NetBSD . [ 17 ]
- OpenBSD introdujo una nueva implementación, ripd, en la versión 4.1 [ 18 ] y retiró routed en la versión 4.4.
- Los routers Netgear suelen ofrecer dos implementaciones de RIPv2; [ 19 ] estas se denominan 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 routers de la red sean compatibles con RIPv2 y multidifusión, mientras que RIP_2B envía paquetes RIPv2 mediante difusión de subred, lo que lo hace más compatible con routers que no admiten multidifusión, incluidos los routers RIPv1.
- Los routers ADSL/VDSL Huawei HG633 admiten enrutamiento pasivo y activo con RIP v1 y v2 tanto en la LAN como en la WAN.
Protocolos similares
El protocolo propietario de Cisco , Interior Gateway Routing Protocol (IGRP), era un protocolo algo más capaz que RIP. Pertenece a la misma familia básica de protocolos de enrutamiento de vector distancia .
Cisco ha dejado de dar soporte y distribuir IGRP en su software de routers. Fue reemplazado por el Protocolo de Enrutamiento de Puerta de Enlace Interior Mejorado (EIGRP), un diseño completamente nuevo. Si bien EIGRP sigue utilizando un modelo de vector distancia, solo se relaciona con IGRP en el uso de la misma métrica de enrutamiento compuesta. Tanto IGRP como EIGRP calculaban una única métrica compuesta para cada ruta, a partir de una fórmula de cinco variables: ancho de banda , retardo , fiabilidad , carga y MTU ; aunque en los routers Cisco, por defecto, solo se utilizan el ancho de banda y el retardo en este cálculo.
Véase también
Referencias
- ↑ "Registro de nombres de servicio y números de puerto de protocolo de transporte" . www.iana.org . Autoridad de Números Asignados de Internet (IANA). pág. 10. Consultado el 25 de febrero de 2022 .
- ↑ Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition . ciscopress.com. p. 169. ISBN 9781587052026.
- 1 2 C. Hedrick (junio de 1988). Protocolo de información de enrutamiento . Grupo de trabajo de redes. doi : 10.17487/RFC1058 . RFC 1058 .Histórico. Actualizado por RFC 1388 y 1723 .
- 1 2 3 4 5 Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volumen I, Segunda edición . ciscopress.com. pág. 170. ISBN 9781587052026.
- ↑ Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition . ciscopress.com. p. 171. ISBN 9781587052026.
- ↑ La sincronización de mensajes de enrutamiento periódicos , S. Floyd y V. Jacobson, abril de 1994
- ↑ Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition . ciscopress.com. p. 175. ISBN 9781587052026.
- ↑ G. Malkin (noviembre de 1994). RIP Versión 2 - Conduciendo información adicional . Grupo de trabajo de redes. doi : 10.17487/RFC1723 . RFC 1723 .Obsoleto. Obsoleto por RFC 2453. Obsoleto RFC 1388. Actualiza RFC 1058 .
- 1 2 G. Malkin (noviembre de 1998). RIP Versión 2. Grupo de trabajo de redes. doi : 10.17487/RFC2453 . STD 53. RFC 2453 .Estándar de Internet 53. Deja obsoletos los RFC 1723 y 1388. Actualizado por el RFC 4822 .
- ↑ F. Baker ; R. Atkinson (enero de 1997). Autenticación MD5 de RIP-2 . Grupo de trabajo de redes. doi : 10.17487/RFC2082 . RFC 2082 .Obsoleto. Obsoleto según RFC 4822 .
- ↑ R. Atkinson; M. Fanto (febrero de 2007). Autenticación criptográfica RIPv2 . Grupo de trabajo de redes. doi : 10.17487/RFC4822 . RFC 4822 .Estándar propuesto. Sustituye a RFC 2082. Actualiza RFC 2453 .
- ↑ G. Malkin; R. Minnear (enero de 1997). RIPng para IPv6 . Grupo de trabajo de redes. doi : 10.17487/RFC2080 . RFC 2080 .Norma propuesta.
- 1 2 3 4 5 Balchunas, Aaron. "Protocolo de información de enrutamiento (RIP v1.03)" (PDF) . routeralley.com. Archivado (PDF) del original el 10 de octubre de 2022. Recuperado el 25 de abril de 2014 .
- ↑ C. Hendrik (junio de 1988). "RFC 1058 Sección 2.2" . Protocolo de información de enrutamiento . The Internet Society. doi : 10.17487/RFC1058 .
- ↑ "Guía de configuración de enrutamiento unicast de Cisco Nexus serie 9000 NX-OS, versión 6.x - Configuración de RIP [ conmutadores Cisco Nexus serie 9000 ] " .
- ↑ "routed, rdisc – demonio de enrutamiento RIP de red y descubrimiento de enrutadores" . Páginas del manual de FreeBSD .
- ↑ "routed, rdisc – demonio de enrutamiento RIP de red y descubrimiento de enrutadores" . Páginas del manual de NetBSD .
- ↑ "ripd – Daemon del Protocolo de Información de Enrutamiento" . Páginas del manual de OpenBSD .
- ↑ "¿Cómo cambio la configuración TCP/IP de la LAN en mi router Nighthawk?" . Páginas de soporte de Netgear .
Lecturas adicionales
- Malkin, Gary Scott (2000). RIP: Un protocolo de enrutamiento intradominio . Addison-Wesley Longman. ISBN 0-201-43320-6.
- Edward A. Taft, Protocolo de información de puerta de enlace (revisado) (Xerox Parc, Palo Alto, mayo de 1979)
- Estándar de integración de sistemas Xerox - Protocolos de transporte de Internet (Xerox, Stamford, 1981)
- Estándares de Internet
- Protocolos de Internet
- Protocolos de enrutamiento