Enrutamiento Emilio Hernández Carlos Figueira
Introducción Una vez más: cuál es la diferencia entre enrutamiento y reenvío? (routing( vs forwarding) Por qué no podemos configurar las tablas en los enrutadores y ya? Enrutamiento IP Propagación de información sobre rutas, para actualizar las tablas de enrutamiento
Enrutamiento estático vs dinámico Enrutamiento estático Fácil de entender Fácil de configurar para redes pequeñas Enrutamiento dinámico Esencial para redes grandes Potencialmente más difícil de configurar (p.e. OSPF)
Técnicas de Enrutamiento Cuando hablemos de enrutamiento nos referimos a enrutamiento dinámico Hay dos técnicas básicas de enrutamiento Protocolos de Vector de Distancia: los enrutadores intercambian con sus vecinos información sobre cómo llegar a todos los destinos Por ejemplo, RIP: Routing Information Protocol Protocolos de Estado de Enlaces: los enrutadores intercambian con todos los enrutadores la información sobre sus enlaces. Por ejemplo, OSPF: Open Shortest Path First
Enrutamiento dinámico Cómo optimizar el intercambio de información? Agrupamiento de IPs Mantener/Intercambiar mínima información, p.e. [destino, próximo salto, costo] Enrutadores activos y pasivos Subdividir el conjunto de enrutadores Cada grupo intercambia información internamente y uno (s) de ellos, representando al grupo, se comunica(n) con representante(s) de otro grupo Inevitable en presencia de dominios de administración autónomos
Sistemas Autónomos También referidos como Dominios de Administración o simplemente Dominios Conjunto de enrutadores/redes administradas por una autoridad Ejemplo: una universidad, una compañía grande, un proveedor de servicio doméstico. Uno o más enrutadores son designados para comunicarse con enrutadores de otros sistemas autónomos
Intercambio de información entre enrutadores Protocolos de Enrutamiento Internos (IGP, Intra AS) Los enrutadores dentro de un Sistema Autónomo (AS) intercambian información utilizando protocolos internos (IGP). Ejemplos: RIP y OSPF Un Sistema Autónomo puede tener múltiples IGPs (por ejemplo, tener RIP en un sector y OSPF en otro) Protocolos de Enrutamiento Externos (EGP, Inter AS) La información de enrutamiento entre Sistemas Autónomos se intercambia utilizando un protocolo externo (EGP), por ejemplo, BGP
Sistemas Autónomos a C C.b b A d A.a a b A.c c B.a a B c b Capa de red Capa de enlace Capa física
Enrutamiento Intra AS e Inter AS a Host h1 C C.b b A d A.a A b Enrutamiento Inter AS entre A y B A.c c B.a a B c b Host h2 Enrutamiento Intra AS dentro del SA B Enrutamiento Intra AS dentro del SA A
Jerarquía de SA en Internet Enrutadores de borde Inter AS Enrutadores Intra AS
Cuánto cuesta una ruta? Métricas de enrutamiento Número de saltos Retraso Caudal (throughput) Costo administrativo A veces nos conformamos con que exista una ruta (por ejemplo Inter SA)
Políticas: Inter SA: el administrador desea controlar qué paquetes pasan por su red y quién los envía Intra SA: administración interna, no hacen falta políticas especiales Escala: El enrutamiento jerárquico reduce el tamaño de las tablas y reduce tráfico de actualización de las mismas Desempeño: Qué diferencias hay entre enrutamiento Intra SA e Inter SA? Inter SA: la política es más importante Intra SA: nos podemos concentrar en desempeño
Protocolos de Vector de Distancia
Protocolos de Vector de Distancia Realizan el cómputo en forma distribuida Calcula el mejor camino a cada red de destino por separado Usualmente intenta reducir el número de saltos para alcanzar una red de destino En cada paso del algoritmo, cada enrutador tiene, para cada red de destino, cuál sería el próximo salto y el costo asociado a esa alternativa. Los enrutadores, entonces, notifican a sus vecinos, la información que tienen Al recibir la información de sus vecinos, suman los costos correspondientes a los enlaces por los que la recibieron Ahora, cada enrutador actualiza la información para llegar a cada destino (próximo salto y costo) El proceso se repite periódicamente
Algoritmo de vector de distancias Incluido originalmente en la versión de Unix BSD en 1982, como el comando routed Métrica de distancia # de saltos (max = 15 saltos) Por qué? Vectores de distancia: se intercambian cada 30 segundos a través de un Response Message Cada mensaje: se intercambian rutas de hasta 25 destinos RIP (Routing Information Protocol) Casi plug and play
Qué hace RIP? Los enrutadores RIP aumentan el costo con un peso asignado al enlace (típicamente 1) Cada 30 segundos, los enrutadores RIP difunden su información a los vecinos Cuando un enrutador RIP recibe una actualización de su vecino X, calcula las distancias a través de X Si la ruta para un destino Y a través de X es mejor que la que tiene, se actualiza el próximo salto para ir a Y, que será X, con el nuevo costo asociado
Un ejemplo de propagación en RIP 192.2.4/24 A 192.5.2/24 B 192.5.6/24 192.3.7/24 C E aggregated to 192.2/16 aggregated to 192.5/16 D 192.2.2/24 F 192.2.3/24 192.1.3/24 G aggregated to 192.1/16 H 192.1.1/24 I 192.1.4/24 Propagación de la ruta hacia 192.1.4/24 en cada nodo cuando se agrega a la red. Cada columna corresponde a un enrutador; el valor mostrado es la entrada de la tabla para esa ruta en ese enrutador Time A B C D E F G H I T1 1 T2 2,I 2,I 1 T3 3,G 3,G 2,I 2,I 1 T4 4,C 4,C 3,G 3,G 4,D 4,D 2,I 2,I 1
Cuenta a infinito Ejemplo de propagación cuando la interfaz desde el enrutador I a la red 192.1.4/24 se cae; se incrementa el costo hasta infinito! Tiempo A B C D E F G H I T1 4,C 4,C 3,G 3,G 4,D 4,D 2,I 2,I T2 4,C 4,C 3,G 3,G 4,D 4,D 3,H 3,G 3,G T3 4,C 4,C 4,G 4,G 4,D 4,D 4,H 4,G 4,G T4 5,C 5,C 5,G 5,G 5,D 5,D 5,H 5,G 5,G T5 6,C 6,C 6,G 6,G 6,D 6,D 6,H 6,G 6,G T6 7,C 7,C 7,G 7,G 7,D 7,D 7,H 7,G 7,G T7 T13 T14 15,C 15,C 15,G 15,G 15,D 15,H 15,H 15,G 15,G T15 Tiempo de convergencia largo!
RIP: falla y recuperación de enlace Si no se escucha nada después de 180 segundos, el enlace al vecino se declara caído Se invalidan las rutas a través de ese vecino Se envían mensajes a los otros vecinos A su vez, los vecinos envían mensajes a sus vecinos (si las tablas cambiaron) La información sobre el enlace caído se propaga por la red Se da envenenamiento reverso para prevenir lazos de ping pong (distancia infinita = 16 saltos)
Algunas mejoras: RIP Versión 2 Introduce CIDR (Classless Inter Domain Routing) Introduce autenticación de mensajes con MD5 Las actualizaciones se realizan usando la dirección de multicast 224.0.0.9, en lugar de hacer una difusión en la LAN como hacía la versión 1