Protocolo RIPV1 Y RIPV2

Protocolo RIPV1 Y RIPV2

RIP es un protocolo de routing de vector distancia muy extendido en todo el Mundo por su simplicidad en comparación a otros protocolos como podrían ser OSPF, IS-IS o BGP. RIP se trata de un protocolo abierto a diferencia de otros protocolos de routing como por ejemplo IGRP y EIGRP propietarios de Cisco Systems o VNN propietario de Lucent Technologies.

RIP está basado en el algoritmo de Bellman Ford y busca su camino óptimo mediante el conteo de saltos, considerando que cada router atravesado para llegar a su destino es un salto.

RIP, al contar únicamente saltos, como cualquier protocolo de vector distancia no tiene en cuenta datos tales como por ejemplo ancho de banda o congestión del enlace.

RIPv1

Protocolo simple que funciona bien en una red pequeña que no vaya a crecer mucho.

Envía actualizaciones cada 30 segundos que contienen la tabla de routing completa.

Las siguientes características son de RIPv1 y de cualquier protocolo de vector distancia:

·        Cuenta al infinito: Al crearse un bucle RIP permite que el datagrama siga vagando hasta que llegue al infinito (en este caso infinito=16 saltos).

·        Horizonte Dividido: El proceso de routing no anunciará rutas por el mismo interfaz que por el que las ha recibido.

·        Horizonte Dividido con Inversa Envenenada: El proceso de routing no anunciará rutas por el mismo interfaz que por el que las ha recibido, pero en el caso de que la red en cuestión haya caído sí se anunciará por el interfaz pero con un coste inaccesible (en RIPv1 será 16).

·        Holddown: Después de ver que una ruta es inaccesible se marca como tal y se espera tres actualizaciones antes de borrarla de la tabla de routing.

·        Actualizaciones por disparo (Triggered Updates): Tan pronto como se detecta que una red no es accesible se lanza una actualización en la cual se indica que la red es inaccesible.

·        Balanceo de Carga: Si es posible enrutar la información por varios caminos con el mismo coste se balanceará el tráfico siguiente la técnica de round-robin.

El problema de RIP se encuentra en los tiempos de convergencia, que son muy elevados para redes grandes, aunque RIP nunca se penso para redes grandes, sino todo lo contrario.

En Junio de 1988, C. Hedrick publicó el RFC 1058 correspondiente a RIP versión 1, y lo encabezó de la siguiente manera:

``This RFC describes an existing protocol for exchanging routing information among gateways and other hosts. It is intended to be used as a basis for developing gateway software for use in the Internet community. Distribution of this memo is unlimited.''

El protocolo RIPv1, al igual que sus antecesores propietarios es un protocolo de routing que fue diseñado para funcionar como protocolo vector distancia. RIPv1 fue diseñado para funcionar en redes pequeñas de pasarela interior5. RIPv1 está basado según el autor del RFC en la versión 4.3 de la distribución de UNIX de Berkeley.

En cuanto al protocolo tenemos que tener en cuenta las tres limitaciones que C. Hedrick describe en la página 3 del RFC 1058:

El protocolo no permite más de quince saltos, es decir, los dos routers más alejados de la red no pueden distar más de 15 saltos, si esto ocurriera no sería posible utilizar RIP en esta red.

Problema del ``conteo a infinito''. Este problema puede surgir en situaciones atípicas en las cuales se puedan producir bucles, ya que estos bucles pueden producir retardos e incluso congestión en redes en las cuales el ancho de banda sea limitado. El autor del RFC 1058 también comenta que en la realidad esto sólo puede ser un problema en redes lentas, pero el problema existe.

El protocolo utiliza métricas fijas para comparar rutas alternativas, lo cual implica que este protocolo no es adecuado para escoger rutas que dependan de parámetros a tiempo real como por ejemplo retardos o carga del enlace.

Además de los problemas que cita el autor del protocolo tenemos que tener en cuenta que el protocolo RIPv1 es un protocolo classful6, con lo que existe el problema de la discontinuidad de redes. El problema de la discontinuidad de redes se produce en el momento que tenemos una red dividida en varias subredes y no pueden ser sumarizadas en una misma ruta, ya que físicamente cada una de las subredes está ubicada en un lugar que depende de un interfaz distinto una subred de la otra. Pero claro, en la época en la que se escribió este RFC, que era en 1988 estos problemas no estaban contemplados y con el tiempo se detectó este problema, esta es una de las razones de la existencia de RIPv2. convergencia, que

son muy elevados para redes grandes, aunque RIP nunca se penso para redes grandes, sino todo lo contrario.

 

Tabla de routing de RIP

Si continuamos la lectura detallada del RFC1058, podemos ver que el autor nos dice que la base de datos de routing de cada uno de los hosts de la red que están utilizando el protocolo de routing RIP tiene los siguientes campos:

 

  1. ·        Dirección de destino
  2. ·        Siguiente salto
  3. ·        Interfaz de salida del router
  4. ·        Métrica
  5. ·        Temporizador

Para obtener esta tabla, el protocolo de routing RIP utiliza el siguiente procedimiento para mantener actualizada la tabla de routing de cada uno de los nodos o routers de la red:

1.     Mantener una tabla con una entrada por cada posible destino en la red. La entrada debe contener la distancia D al destino, y el siguiente salto S del router a esa red. Conceptualmente también debería de existir una entrada para el router mismo con métrica 0, pero esta entrada no existirá.

2.     Periódicamente se enviará una actualización de la tabla a cada uno de los vecinos del router mediante la dirección de broadcast. Esta actualización contendrá toda la tabla de routing.

3.     Cuando llegue una actualización desde un vecino S, se añadirá el coste asociado a la red de S, y el resultado será la distancia D'. Se comparará la distancia D' y si es menor que el valor actual de D a esa red entonces se sustituirá D por D'.

El protocolo de routing RIP como ya hemos dicho mantiene una tabla de routing, como cualquier protocolo de routing, seguidamente pasamos a comentar cada uno de los campos de la tabla.

 

Dirección de destino

La dirección de destino en la tabla de routing de RIP será la red de destino, es decir, la red final a la que deseamos acceder, esta red en la versión 1 del protocolo RIP tendrá que ser obligatoriamente clasfull, es decir tendrá que tener en cuenta la clase, es decir, no se permite el subneting en RIP versión 1, por ejemplo si la red de destino es la 192.168.4.0, sabemos que al ser RIP classful la red de destino tiene 256 direcciones, de las cuales 254 son útiles, una vez descontada la dirección de red y la dirección de broadcast, ya que la red 192.168.4.0 es de clase C, es decir que los 24 primeros bits de la dirección IP identifican la red y los 8 últimos identifican los hosts de dentro de la red.

 

Siguiente salto

El siguiente salto lo definimos como el siguiente router por el que nuestro paquete va a pasar para llegar a su destino, este siguiente salto será necesariamente un router vecino del router origen.

Interfaz de salida del router

Entendemos por interfaz de salida del router al interfaz al cual está conectado su siguiente salto.

Métrica

La métrica utilizada por RIP como ya hemos comentado consiste en el conteo de saltos, como métrica se considera cada salto como una única unidad, independientemente de otros factores como tipo de interfaz o congestión de la línea. La métrica total consiste en el total de saltos desde el router origen hasta el router destino, con la limitación que 16 saltos se considera destino inaccesible, esto limita el tamaño máximo de la red.

Temporizador

El temporizador nos indica el tiempo transcurrido desde que se ha recibido la última actualización de esa ruta. RIP utiliza dos tiempos importantes, el tiempo de actualización que se estable en 30 segundos, el tiempo de desactivación que se establece en 180 segundos y el tiempo de borrado se establece en 300 segundos.

El tiempo de actualización se considera al tiempo máximo a transcurrir entre el envío de los mensajes de actualización de los vecinos.

El tiempo de desactivación se considera al tiempo máximo que puede esperar un router sin recibir actualizaciones de vecino, una vez pasado este tiempo, el vecino que no ha enviado la actualización se considera que ha caído y con lo cual el router no está activo en la red, se establece la métrica a valor 16, es decir destino inalcanzable.

RIPv2

Diez años después de que se publicara la versión 1 de RIP se publicó la versión 2, por G.Malkin de la compañía Bay Networks en Noviembre de 1998 en el RFC 2453.

RIPv2 establece una serie de mejoras muy importantes con su antecesor que son las siguientes:

  • Autenticación para la transmisión de información de RIP entre vecinos.
  • Utilización de mascaras de red, con lo que ya es posible utilizar VLSM7.
  • Utilización de máscaras de red en la elección del siguiente salto, lo cual nos puede permitir la utilización de arquitecturas de red discontinuas.
  • Envío de actualizaciones de tablas de RIP mediante la dirección de multicast 224.0.0.9.
  • Inclusión de RIPv2 en los bloques de información de gestión (MIB8).

Por supuesto además de estas mejoras RIPv2 nos permite la redistribución de rutas externas aprendidas por otros protocolos de routing.

Pero RIPv2 aunque haya tenido una serie de mejoras muy importantes desde la versión 1 del protocolo sigue teniendo una serie de carencias muy importantes como:

  • Limitación en el tamaño máximo de la red. Con RIPv2 sigue existiendo la limitación de 15 saltos como tamaño máximo de la red, lo cual implica que no nos permite la utilización de RIPv2 en redes de un tamaño más grande.
  • Conteo a infinito, RIPv2 sigue sin solucionar el problema del conteo hasta el infinito si se forman bucles, aunque existen técnicas externas al protocolo como pueden ser la inversa envenenada y el horizonte dividido, técnicas brevemente descritas por William Stallings en su libro ``Comunicaciones y Redes de Computadoras'', las cuales consisten básicamente en no anunciar una ruta por el interfaz por el que se ha recibido en algún momento.
  • Métricas estáticas que pueden ser cambiadas por el administrador de la red, pero que no nos dan ninguna información del estado de la red.
  • RIPv2 sólo permite al igual que su antecesor una ruta por cada destino, lo cual implica la imposibilidad de realizar balanceos de carga por ejemplo, lo que redunda en una pobre y poco óptima utilización de los enlaces.
  • RIPv2 es un protocolo que al igual que su antecesor genera muchísimo tráfico al enviar toda la tabla de routing en cada actualización, con la carga de tráfico que ello conlleva.

 

El tiempo de borrado implica que una vez transcurrido ese tiempo todas las rutas de ese router supuestamente caído son eliminadas de la tabla de routing.

IGRP

Interior Gateway Routing Protocol es un protocolo propietario de Cisco Systems creado a mediadios de los 80s.

Supera las limitaciones de RIPv1, incluyendo:

·        Actualizaciones incrementales.

·        Métrica más eficiente y compleja.

·        No tiene limitación del diámetro de la red de 16 saltos

 

Características de IGRP

·        Actualizaciones Periódicas: Cada 90 segundos por defecto, RIP era cada 30. La actualización es un sumario de las rutas, sólo se intercambia con los routers vecinos.

·        Actualizaciones por Broadcast: Las actualizaciones se envían por broadcast. Protocolos posteriores como RIPv2 ya utilizaban multicast.

·        Actualizaciones completas de routing: Además de las actualizaciones por disparo IGRP cada 90 segundos realiza una sincronización con los vecinos de toda la tabla de routing enviando las cabeceras.

·        Conteo al Infinito: Como los demás protocolos de routing de vector distancia IGRP utiliza un conteo al infinito para evitar bucles.

·        Horizonte Dividido: IGRP utiliza Horizonte Dividido como ayuda para prevenir los bucles de la red.

·        Actualizaciones de Disparo con Ruta Envenenada: IGRP envía las actualizaciones tan rápido como puede para minimizar el tiempo de convergencia, si una ruta no es valida entonces envía su actualización.

·        Balanceo de Carga en Caminos Iguales: Hasta 4 por defecto. Lo utiliza para mejorar la carga de los enlaces.

·        Rutas por Defecto: Acepta como candidato al router del borde de la red.

·        Algoritmo de Routing Bellman Ford: Uitiliza una métrica compuesta y la varianza para modificar los parámetros del balanceo de carga.

Diferencias de IGRP con RIPv1

IGRP tiene una métrica compuesta por ancho de banda, retardo, carga, fiabilidad y MTU, aunque en la configuración por defecto sólo utilice ancho de banda y retardo.

IGRP tiene un máximo de saltos de 100 configurable hasta 255. Esto vale sólo para el conteo al infinito, no para la métrica.

Las actualizaciones en IGRP son cada 90 segundos en vez de cada 30 en RIPv1.

Permite el balanceo de carga entre enlaces con coste no igual.

IGRP utiliza una estructura del paquete más eficiente.

Los Sistemas Autónomos se utilizan para poder ejecutar varios procesos de IGRP, esto permite escalar la red.

RIPv2 puede publicar máscaras de subred (VLSM) y usa una dirección de multicast (224.0.0.9) para enviar las actualizaciones de las rutas.

RIPv1 no publica las máscaras de subred y envía las actualizaciones por broadcast (255.255.255.255).

RIPv2 es compatible para atrás con RIPv1.

Tabla de Diferencias y Similitudes



Comentarios

Entradas populares de este blog

PROTOCOLOS: (IP, SSH, TELNET, SMTP, POP DNS, DHCP, HTTP, FTP, ARP, ICMP, TCP, UDP, NAT)

COMANDOS CON SUS PARAMETROS DE USOS (GETMAC, PING, NSLOOKUP, NETSTAT, IPCONFIG, TRACERT, PATHPING Y NETSH)