Diferencias entre Enrutamiento Estático y Dinámico Enrutamiento Estático Enrutamiento Dinámico Genera carga administrativa y consume tiempo del administrador de red en redes grandes. El administrador debe configurar el enrutamiento en cada router de la red. No genera mucha carga administrativa porque los routers aprenden a enrutarse de los demás routers de la red. El router no comparte su tabla de enrutamiento con los routers vecinos. El router comparte su tabla de enrutamiento con los routers vecinos. Los routers no tienen capacidad de reacción ante un fallo en la red. Los routers tienen capacidad de reacción ante un fallo en la red. Diferencias entre Protocolo VectorDistancia y Protocolo Estado de Enlace Protocolo Vector-Distancia Protocolo Estado de Enlace Consume menos memoria y capacidad de procesamiento del router que el protocolo estado de enlace. Consume más memoria y capacidad de procesamiento del router que el protocolo vector-distancia. Las actualizaciones de las tablas de enrutamiento se hacen periódicamente, o cuando cambia la topología de la red. Las actualizaciones de las tablas de enrutamiento son desencadenadas por eventos. Los routers envían toda su tabla de enrutamiento a los routers vecinos. Los routers envían solo los cambios de sus tablas de enrutamiento a los routers vecinos. La convergencia de la red depende del período con que se actualizan las tablas de enrutamiento. La convergencia de la red es más rápida, dado que ante un cambio, éste se anuncia inmediatamente. Encaminamiento (o enrutamiento, ruteo) es la función de buscar un camino entre todos los posibles en una red de paquetes cuyas topologías poseen una gran conectividad. Dado que se trata de encontrar la mejor ruta posible, lo primero será definir qué se entiende por mejor ruta y en consecuencia cuál es la métrica que se debe utilizar para medirla. Parámetros Puede ser por ejemplo de saltos necesarios para ir de un nodo a otro. Aunque ésta no se trata de una métrica óptima ya que supone “1” para todos los enlaces, es sencilla y suele ofrecer buenos resultados. Otro tipo es la medición del retardo de tránsito entre nodos vecinos, en la que la métrica se expresa en unidades de tiempo y sus valores no son constantes sino que dependen del tráfico de la red. Mejor Ruta Entendemos por mejor ruta aquella que cumple las siguientes condiciones: Consigue mantener acotado el retardo entre pares de nodos de la red. Consigue ofrecer altas cadencias efectivas independientemente del retardo medio de tránsito Permite ofrecer el menor costo. El criterio más sencillo es elegir el camino más corto, es decir la ruta que pasa por el menor número de nodos. Una generalización de este criterio es el de “coste mínimo”. Encaminamiento en redes de circuitos virtuales y de datagramas Cuando la red de conmutación de paquetes funciona en modo circuito virtual, generalmente la función de encaminamiento establece una ruta que no cambia durante el tiempo de vida de ese circuito virtual. En este caso el encaminamiento se decide por sesión. Una red que funciona en modo datagrama no tiene el compromiso de garantizar la entrega ordenada de los paquetes, por lo que los nodos pueden cambiar el criterio de encaminamiento para cada paquete que ha de mandar. Cualquier cambio en la topología de la red tiene fácil solución en cuanto a encaminamiento se refiere, una vez que el algoritmo correspondiente haya descubierto el nuevo camino óptimo. Clasificación de los métodos de encaminamiento Los algoritmos de encaminamiento pueden agruparse en: Determinísticos o estáticos No tienen en cuenta el estado de la subred al tomar las decisiones de encaminamiento. Las tablas de encaminamiento de los nodos se configuran de forma manual y permanecen inalterables hasta que no se vuelve a actuar sobre ellas. Por tanto, la adaptación en tiempo real a los cambios de las condiciones de la red es nula. El cálculo de la ruta óptima es también off-line por lo que no importa ni la complejidad del algoritmo ni el tiempo requerido para su convergencia. Ej: algoritmo de Dijkstra. Estos algoritmos son rígidos, rápidos y de diseño simple, sin embargo son los que peores decisiones toman en general... Adaptativos o dinámicos Pueden hacer más tolerantes a cambios en la subred tales como variaciones en el tráfico, incremento del retardo o fallas en la topología. El encaminamiento dinámico o adaptativo se puede clasificar a su vez en tres categorías, dependiendo de donde se tomen las decisiones y del origen de la información intercambiada: Adaptativo centralizado. Todos los nodos de la red son iguales excepto un nodo central que es quien recoge la información de control y los datos de los demás nodos para calcular con ellos la tabla de encaminamiento. Este método tiene el inconveniente de que consume abundantes recursos de la propia red. Adaptativo distribuido. Este tipo de encaminamiento se caracteriza porque el algoritmo correspondiente se ejecuta por igual en todos los nodos de la subred. Cada nodo recalcula continuamente la tabla de encaminamiento a partir de dicha información y de la que contiene en su propia base de datos. A este tipo pertenecen dos de los más utilizados en Internet que son los algoritmos por vector de distancias y los de estado de enlace. Adaptativo aislado. Se caracterizan por la sencillez del método que utilizan para adaptarse al estado cambiante de la red. Su respuesta a los cambios de tráfico o de topología se obtiene a partir de la información propia y local de cada nodo. Un caso típico es el encaminamiento “por inundación” cuyo mecanismo consiste en reenviar cada paquete recibido con destino a otros nodos, por todos los enlaces excepto por el que llegó. Tipos de Información Encaminamiento de control Decisión Adaptación de encaminamiento a los cambios Determinísticos ESTÁTICOS CUASIESTÁTICOS NO OFF-LINE NO NO OFF-LINE REDUCIDA Adaptativos CENTRALIZADO DISTRIBUIDO AISLADO NODO CENTRAL NODO CENTRAL SI ENTRE NODOS CADA NODO SI NO SI CADA NODO Encaminamiento adaptativo con algoritmos distribuidos El encaminamiento mediante algoritmos distribuidos constituye el prototipo de modelo de encaminamiento adaptativo. Los algoritmos se ejecutan en los nodos de la red con los últimos datos que han recibido sobre su estado y convergen rápidamente optimizando sus nuevas rutas. El resultado es que las tablas de encaminamiento se adaptan automáticamente a los cambios de la red y a las sobrecargas de tráfico. A cambio, los algoritmos tienen una mayor complejidad. Existen dos tipos principales de algoritmos de encaminamiento adaptativo distribuido. Algoritmos por “vector de distancias” Artículo principal: Vector de distancias. Estos métodos utilizan el algoritmo de Bellman-Ford. Busca la ruta de menor coste por el método de búsqueda indirecta El vector de distancias asociado al nodo de una red, es un paquete de control que contiene la distancia a los nodos de la red conocidos hasta el momento. Cada nodo envía a sus vecinos las distancias que conoce a través de este paquete. Los nodos vecinos examinan esta información y la comparan con la que ya tienen, actualizando su tabla de encaminamiento. Ejemplos de protocolos por vector de distancias: RIP (versión 1 y 2), IGRP. Algoritmos de “estado de enlace” Artículo principal: Estado de enlace. Este tipo de encaminamiento se basa en que cada nodo llegue a conocer la topología de la red y los costes (retardos) asociados a los enlaces, para que a partir de estos datos, pueda obtener el árbol y la tabla de encaminamiento tras aplicar el algoritmo de coste mínimo (algoritmo de Dijkstra) al grafo de la red Los protocolos estado de enlace incluyen OSPF e IS-IS. Protocolos de encaminamiento y sistemas autónomos Artículo principal: Sistema Autónomo. En Internet, un sistema autónomo (AS) se trata de un conjunto de redes IP y routers que se encuentran bajo el control de una misma entidad (en ocasiones varias) y que poseen una política de encaminamiento similar a Internet. Dependiendo de la relación de un router con un sistema autónomo (AS), encontramos diferentes clasificaciones de protocolos: 1. Protocolos de encaminamiento Ad hoc. Se encuentran en aquellas redes que tienen poca o ninguna infraestructura. 2. IGPs (Interior Gateway Protocols). Intercambian información de encaminamiento dentro de un único sistema autónomo. Los ejemplos más comunes son: IGRP (Interior Gateway Routing Protocol). La diferencia con la RIP es la metrica de enrutamiento EIGRP (Enhanced Interior Gateway Routing Protocol). Es un protocolo de enrutamiento vector-distancia y estado de enlace OSPF (Open Shortest Path First). Enrutamiento jerárquico de pasarela interior RIPv2T (Routing Information Protocol). No soporta conceptos de sistemas autonomos IS-IS (Intermediate System to Intermediate System). Protocolo de intercambio enrutador de sistema intermedio a sistema intermedio 3. EGPs (Exterior Gateway Protocol). Intercambian rutas entre diferentes sistemas autónomos. Encontramos: EGP. Utilizado para conectar la red de backbones de la Antigua Internet. BGP (Border Gateway Protocol). La actual versión, BGPv4 data de 1995.1 RIP El origen del RIP fue el protocolo de Xerox, el GWINFO. Una versión posterior, fue conocida como routed, distribuida con Berkeley Standard Distribution (BSD) Unix en 1982. RIP evolucionó como un protocolo de enrutamiento de Internet, y otros protocolos propietarios utilizan versiones modificadas de RIP. El protocolo Apple Talk Routing Table Maintenance Protocol (RTMP) y el Banyan VINES Routing Table Protocol (RTP), por ejemplo, están los dos basados en una versión del protocolo de encaminamiento RIP. La última mejora hecha al RIP es la especificación RIP 2, que permite incluir más información en los paquetes RIP y provee un mecanismo de autenticación muy simple. Versiones de RIP En la actualidad existen tres versiones diferentes de RIP, las cuales son: RIPv1 La definición original, recogida en el RFC 1058, es un protocolo de ruteo con clase, es decir no soporta máscaras de largo variable (VLSM) ni direccionamiento sin clase (CIDR). Esto hace que todas las redes tengan el mismo tamaño, lo que es poco eficiente. Tampoco incluye ningún mecanismo de autentificación de los mensajes haciéndola vulnerable a ataques. Utiliza UDP para enviar sus mensajes a través del puerto 520. RIPv2 Debido a las limitaciones de la versión 1, se desarrolla RIPv2 en 1993 y se estandariza finalmente en 1998. Esta versión soporta subredes, permitiendo así CIDR y VLSM. Para tener retrocompatibilidad, se mantuvo la limitación de 15 saltos. Se agregó una característica de "interruptor de compatibilidad" para permitir ajustes de interoperabilidad más precisos. Soporta autenticación utilizando uno de los siguientes mecanismos: no autentificación, autentificación mediante contraseña, autentificación mediante contraseña codificada mediante MD5 (desarrollado por Ronald Rivest en 1997). Su especificación está recogida en los RFC 1723 y RFC 4822. RIPv2 es el estándar de Internet STD56 (que corresponde al RFC 2453). RIPng RIP de siguiente generación (en inglés next generation) tiene soporte para IPv6. Su especificación está recogida en el RFC 2080. Sus principales diferencias con RIPv2 son: Soporte para redes IPv6. RIPv2 permite agregar etiquetas arbitrarias a los routers, RIPng no lo permite. Mientras que RIPv2 soporta la autenticación de actualizaciones de RIPv1, RIPng no lo hace. Los routers IPv6, en ese tiempo, se suponía que usaban IPSec. RIpv2 codifica el siguiente salto en cada entrada de ruta, RIPng requiere codificiación especifica del siguiente salto para un set de entradas de ruta. RIPng usa el puerto UDP 520 para enviar actualizaciones,1 usando el grupo multicast FF02::9. La distancia administrativa (grado de conocimiento y confiabilidad) máxima es de 120 (RIP2) en los equipos Cisco. Ventajas e Inconvenientes Ventajas de RIP RIP es más fácil de configurar (comparativamente a otros protocolos). Es un protocolo abierto (admite versiones derivadas aunque no necesariamente compatibles). Es soportado por la mayoría de los fabricantes. Desventajas de RIP Su principal desventaja consiste en que para determinar la mejor métrica, únicamente toma en cuenta el número de saltos, descartando otros criterios (Ancho de Banda, congestión, carga, retardo, fiabilidad, etc.). RIP tampoco está diseñado para resolver cualquier posible problema de enrutamiento. El RFC 1720 (STD 1) describe estas limitaciones técnicas de RIP como graves y el IETF está evaluando candidatos para reemplazarlo, dentro de los cuales OSPF es el favorito. Este cambio está dificultado por la amplia expansión de RIP y necesidad de acuerdos adecuados. Modo de Operación El valor de (AD) de RIP es de 120, por ello tiene menor prioridad sobre los demás protocolos de encaminamiento. Cuando RIP se inicia, envía un mensaje a cada uno de sus vecinos (en el puerto bien conocido 520) pidiendo una copia de la tabla de encaminamiento del vecino. Este mensaje es una solicitud (el campo "command" se pone a 1) con "address family" a 0 y "metric" a 16. Los "routers" vecinos devuelven una copia de sus tablas de encaminamiento. Cuando RIP está en modo activo envía toda o parte de su tabla de encaminamiento a todos los vecinos por broadcast y/o con enlaces punto a punto. Esto se hace cada 30 segundos. La tabla de encaminamiento se envía como respuesta ("command" vale 2, aunque no haya habido petición). Cuando RIP descubre que una métrica ha cambiado, la difunde por broadcast a los demás "routers". Cuando RIP recibe una respuesta, el mensaje se valida y la tabla local se actualiza si es necesario (Para mejorar el rendimiento y la fiabilidad, RIP especifica que una vez que un "router"(o host) ha aprendido una ruta de otro, debe guardarla hasta que conozca una mejor (de coste estrictamente menor). Esto evita que los "routers" oscilen entre dos o más rutas de igual coste). Cuando RIP recibe una petición, distinta de la solicitud de su tabla, se devuelve como respuesta la métrica para cada entrada de dicha petición fijada al valor de la tabla local de encaminamiento. Si no existe ruta en la tabla local, se pone a 16. Las rutas que RIP aprende de otros "routers" expiran a menos que se vuelvan a difundir en 180 segundos(6 ciclos de broadcast). Cuando una ruta expira, su métrica se pone a infinito, la invalidación de la ruta se difunde a los vecinos, y 60 segundos más tarde, se borra de la tabla. Mensajes RIP Tipos de mensajes RIP Los mensajes RIP pueden ser de dos tipos: Petición: Enviados por algún encaminador recientemente iniciado que solicita información de los encaminadores vecinos. Respuesta: mensajes con la actualización de las tablas de encaminamiento. Existen tres tipos: Mensajes ordinarios: Se envían cada 30 segundos. Para indicar que el enlace y la ruta siguen activos. Se envía la tabla de encaminado completa. Mensajes enviados como respuesta a mensajes de petición. Mensajes enviados cuando cambia algún coste. Se envía toda la tabla de encaminado. Formato de los mensajes RIP Los mensajes tienen una cabecera que incluye el tipo de mensaje y la versión del protocolo RIP, y un máximo de 25 entradas RIP de 20 bytes. Las entradas en RIPv1 contienen la dirección IP de la red de destino y la métrica. Las entradas en RIPv2 contienen la dirección IP de la red de destino, su máscara, el siguiente encaminador y la métrica. La autentificación utiliza la primera entrada RIP.