Capítulo 3. Enrutamiento dinámico Redes de Ordenadores 5º Ingeniero de Telecomunicación 1 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 2 Índice 1 Enrutamiento estático vs. dinámico 2 Métricas 3 Sistemas autónomos o dominios de enrutamiento 4 RIP 4.1 Algoritmo de vector distancia 4.2 RIPv1 4.3 Problemática de protocolos vector distancia y soluciones aportadas por RIPv1 4.4 RIPv2 5 OSPF 5.1 Algoritmo de estado de enlace 5.2 Áreas OSPF 5.3 Tipos de redes OSPF 5.4 Paquetes OSPF 5.5 Distribución de LSAs 5.6 Otras características de OSPF 6 Comparativa de algoritmos vector distancia – estado de enlace 7 BGP 7.1 Algoritmo de vector camino 7.2 Paquetes BGP 8 Coexistencia de protocolos de enrutamiento 1 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 3 Parte 1 1 Enrutamiento estático vs. dinámico 2 Métricas 3 Sistemas autónomos o dominios de enrutamiento 4 RIP 4.1 Algoritmo de vector distancia 4.2 RIPv1 4.3 Problemática de protocolos vector distancia y soluciones aportadas por RIPv1 4.4 RIPv2 5 OSPF 5.1 Algoritmo de estado de enlace 5.2 Áreas OSPF 5.3 Tipos de redes OSPF 5.4 Paquetes OSPF 5.5 Distribución de LSAs 5.6 Otras características de OSPF 6 Comparativa de algoritmos vector distancia – estado de enlace 7 BGP 7.1 Algoritmo de vector camino 7.2 Paquetes BGP 8 Coexistencia de protocolos de enrutamiento REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 4 Introducción IP ofrece un servicio de datagramas, en cada salto se decide cómo reenviar el paquete. El router es el elemento encargado del reenvío del paquete. La tabla de rutas se puede especificar de forma: Necesita de una tabla de rutas para elegir el mejor camino de cada paquete a su destino. Estática: el administrador de red conoce la topología de red y establece los caminos para todos los posibles destinos. Dinámica: los propios routers han de ser capaces de descubrir la topología de red y una vez obtenida toda la información escoger los caminos de menor coste para todos los posibles destinos. 2 procesos asociados a protocolos de enrutamiento dinámico: Obtención de información completa de la topología de red. Cálculo de las rutas óptimas a partir de la información de topología de red. 2 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 5 1 Enrutamiento estático vs. dinámico Ruta: camino acíclico compuesto por enlaces entre routers para llegar a un destino. Enrutamiento estático: Configuración manual de las tablas de rutas para todos los posibles destinos o mediante rutas por defecto. Enrutamiento dinámico: Protocolo entre routers para intercambio de información de enrutamiento sin intervención manual. Ventajas: Escalable. Adaptable. Desventajas: Complejidad. Pérdida del control directo en el establecimiento de rutas (métrica). REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 6 Enrutamiento estático vs. dinámico Requerimientos para un protocolo de enrutamiento dinámico Robusto Escalable Eficiente Sin inestabilidades. Minimizar el tiempo de convergencia. Minimizar el número/periodicidad de mensajes intercambiados. Óptimo Caminos de menor coste. Balanceo de carga en su caso. 3 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 7 Diferentes alternativas Centralizado vs. Distribuido Encaminamiento fuente vs. salto a salto Encaminamiento fuente pone todo el camino en la cabecera del paquete en el origen. Puede ser más robusto pero difícil de escalar. Único camino vs. múltiples caminos Centralizado es más simple pero no escala. Mantener un camino o varios por cada red destino. Adaptativo vs. no adaptativo Según se calculen las rutas basándose en condiciones actuales de la red como utilización o retardo. REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 8 2 Métrica Métrica: coste asignado al paso de datagramas a través de determinada red. Métrica total de una ruta: suma de las métricas de las redes que conforman esa ruta. Tipos de métrica: Número de saltos: considera todas las redes de igual coste y equivalente a 1 salto. Ejemplo: RIP Coste fijado por el administrador: según el parámetro que interese de capacidad (1/BW), retardo (t), etc. se puede asignar diferente métrica a cada red. Ejemplo: OSPF Políticas fijadas por el administrador: definen qué red elegir en cada momento según ciertos criterios o preferencias. Ejemplo: BGP 4 REDES DE ORDENADORES Área de Ingeniería Telemática 9 Capítulo 3: Enrutamiento dinámico 3 Sistemas autónomos o dominios de enrutamiento Imposibilidad de correr un único protocolo de enrutamiento dinámico para actualizar las tablas de rutas de todos los routers de Internet global. Internet se divide en dominios de enrutamiento o sistemas autónomos (Autonomous Systems, AS). Un AS estará formado por un conjunto de redes y routers controlados por una única autoridad administrativa. Cada AS posee un identificador (16 bits originariamente, ahora migrado a 32 bits) único asignado por el ICANN. Un ISP (Internet Service Provider) puede tener asignados uno o más ASs. Los AS se organizan de forma jerárquica para minimizar el número de entradas en las tablas de rutas. Tier-1 Tier-2 Tier-3 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 10 Jerarquía de sistemas autónomos Tier-1: Internet backbone networks Redes de tránsito más arriba en la jerarquía. Número reducido de ASs de este tipo debido a las altas exigencias tecnológicas requeridas (9 ASs en 2007) Conexión completamente mallada entre ellos. Necesidad de acuerdos entre todos (peering agreement) sin coste económico. No compran derechos de tránsito a otros proveedores. Tienen rutas a todas las redes: elevado número de entradas en las tablas de rutas (> 160K). No ruta por defecto. Redes críticas para el funcionamiento de Internet. Tier-2: proveedores nacionales y regionales Compran derechos de tránsito a proveedores Tier-1. Pueden llegar a acuerdos (peering agreement) con proveedores Tier-2. 5 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 11 Jerarquía de sistemas autónomos Tier-3: proveedores locales y de acceso Compran derechos de tránsito a proveedores Tier-2. Pueden llegar a acuerdos (peering agreement) con proveedores Tier-3. Los ISPs se interconectan vía: POP (Point of Presence): puntos privados de interconexión. NAP (Network Access Point) o IXP (Internet eXchange Point): puntos públicos de interconexión, gestionados por un tercero. Habitual entre Tier-1. Distribuidos por todo el mundo. Habitual de Tier-2/Tier-3 para interconexión con otros Tier-3, Tier-2 y Tier-1. Ventajas del peering: Reducir coste económico Reducir retardo REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 12 Jerarquía de sistemas autónomos Ejemplos ISPs Tier-1: Sprint MCI, AT&T, Level3, etc. Todas menos una de EEUU. Tier-2: Telefónica, British Telecom, France Telecom Tier-3: ONO, RedIris Tier-1 AS Tier-1 AS Tier-1 AS Tier-2 AS Tier-2 AS Tier-2 AS Tier-3 AS Tier-3 AS Tier-3 AS NAP NAP Tier-3 AS Tier-3 AS Tier-2 AS Tier-3 AS Tier-3 AS 6 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 13 Sistemas autónomos AS1 AS2 AS1 Core routers AS2 ISP routers AS3 AS1 AS del mismo nivel: intercambian información de enrutamiento AS de distinto nivel: el AS superior anuncia rutas del inferior hacia el core y le reenvía el tráfico El administrador de un AS es libre para elegir el protocolo de enrutamiento que quiera correr dentro de su AS. Para comunicarse con otros AS deberá ponerse de acuerdo en el protocolo. REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 14 Sistemas autónomos 7 REDES DE ORDENADORES Área de Ingeniería Telemática 15 Capítulo 3: Enrutamiento dinámico Sistemas autónomos, número Rediris - AS766 Telefonica Data - AS3352 Telefónica Empresas -AS10429 Telefónica - AS12956 ONO - AS12457 (*) http://bgp.potaroo.net/bgprpts/rva-index.html REDES DE ORDENADORES Área de Ingeniería Telemática 16 Capítulo 3: Enrutamiento dinámico Sistemas autónomos, longitud media Aunque el nº de ASs crezca, no crece la longitud de los caminos por ASs, por lo que indicará que también crece el grado de conectividad entre los mismos. (*) http://bgp.potaroo.net/bgprpts/rva-index.html 8 REDES DE ORDENADORES Área de Ingeniería Telemática 17 Capítulo 3: Enrutamiento dinámico Sistemas autónomos, interconexión http://www.caida.org/ REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 18 Tipos de protocolos de enrutamiento IGP (Intradomain Gateway Protocol): se limitan a intercambiar información de enrutamiento dentro de un AS. Simplicidad. Cálculo rápido y eficiente de rutas. Mala escalabilidad. Ejemplos: RIP, Routing Information Protocol (DV) OSPF, Open Shortest Path First (LS) IS-IS: Intermediate System to Intermediate System (LS, estandarizado OSI) IGRP, Interior Gateway Routing Protocol (DV, propietario Cisco) EGRP, Enhanced IGRP (DV, propietario Cisco) PNNI, Private Network-to-Network Interface (LS) 9 REDES DE ORDENADORES Área de Ingeniería Telemática 19 Capítulo 3: Enrutamiento dinámico Tipos de protocolos de enrutamiento EGP (Exterior Gateway Protocol): proveen intercambio de información de enrutamiento entre AS. Cálculos más costosos. Escalabilidad (agregado de rutas). Habilidad para aplicar políticas. Ejemplos: BGP, Border Gateway Protocol (PV) EGP IGP IGP IGP REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 20 Historia de protocolos de enrutamiento En la ARPANET inicial el enrutamiento era estático. Conforme ARPANET fue creciendo el enrutamiento pasó a ser dinámico pero con todos los routers compartiendo el mismo protocolo. Conforme Internet se fue convirtiendo en la “red de redes” el enrutamiento se separó en interior o exterior a los dominios. Cada AS podía elegir el IGP que quisiera. Un único EGP (llamado EGP) se usaba entre los AS’s. Hoy RIPv2 y OSPFv2 son los protocolos IGP más usados. IS-IS es otro protocolo IGP que se suele encontrar. BGPv4 es el protocolo estándar para EGP. 10 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 4 RIP RIPv1 RFC1058, RIPv2 RFC2453 Routing Information Protocol. Protocolo IGP: su dominio es un Sistema Autónomo. Disemina información mediante el algoritmo de vector distancias (Distance Vector, DV). Cálculo de tabla de rutas mediante el algoritmo de Bellman-Ford. Encapsulado por encima de UDP. 21 Puerto 520. RIPv1, direccionamiento classful. RIPv2, direccionamiento classless. REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 22 4.1 Algoritmo de Vector Distancia Cada router comparte periódicamente su conocimiento de Internet (o del AS completo) con sus vecinos. Características clave: 1. Comparte el conocimiento sobre todo el AS completo (redes y routers), independientemente de lo poco que conozca. 2. Comparte sólo con los vecinos Conexión directa. 3. Comparte a intervalos regulares (Ej: RIP 30 sg). 4. Métrica: número de saltos. Directamente conectado=0 o 1 (según el convenio). Conocimiento = tabla de rutas Cada router debe conservar una tabla de rutas con una entrada por cada destino de la red del que tenga conocimiento de su existencia. Cada entrada tendrá al menos los siguientes campos: 11 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 23 Algoritmo de Vector Distancia Cada router periódicamente mandará la tabla de rutas a sus vecinos en un mensaje con sólo los campos: Dirección de red destino. Contador de saltos: la distancia más corta para alcanzar ese destino en número de saltos. Siguiente salto: dirección IP del router al que se debe entregar el paquete para llegar al destino. Dirección de red destino........ vector de direcciones Contador de saltos................. distancia El siguiente salto no lo manda porque el router que envía el mensaje será el nuevo siguiente salto. REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 24 Algoritmo de Vector Distancia Proceso: 1. Inicialización de la tabla de rutas Cuando un router se añade a la red sólo va a conocer las redes a los que está directamente conectado y les colocará: contador de saltos 0 (convenio directamente conectado con 0 saltos, pero puede cambiar). siguiente salto vacío. 2. Envío de su tabla de rutas periódicamente Dir. red destino Contador saltos 3. Actualización de tabla de rutas Cuando un router recibe un mensaje de actualización de un router vecino se aplica el algoritmo de Bellman-Ford para quedarse con las rutas de menor número de saltos. 12 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 25 4.1.1 Bellman-Ford 1. Añadir un salto en el contador de saltos para cada destino anunciado en el mensaje. 2. Repetir los siguientes pasos para cada destino anunciado: 2.1 Si el destino no se encuentra en la tabla de rutas del router se añade como nueva entrada colocando como siguiente salto la dirección IP del router origen de este mensaje. 2.2 Si no (el destino se encuentra en la tabla de rutas), 2.2.1 Si el campo siguiente salto es el mismo que el que se tiene en la tabla de rutas, reemplaza la entrada existente con la anunciada. 2.2.2 Si no, Si el contador de saltos anunciado es menor que el existente en la tabla, reemplaza la entrada existente con la anunciada poniendo como siguiente salto el router origen de este mensaje. Si una entrada no se actualiza en un tiempo (Ej: en RIP 180 sg) se marca automáticamente como inalcanzable (Ej: en RIP contador de saltos=16 equivale a ). Si una red directamente conectada cae se marca como inalcanzable. REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 26 Ejemplo 1 DV+Bellman-Ford 13 REDES DE ORDENADORES Área de Ingeniería Telemática 27 Capítulo 3: Enrutamiento dinámico Ejemplo 2 DV+Bellman-Ford 0 Red A 1 0 1 Red B R1 0 Red C R2 1 Red D R3 Estado inicial Red destino Sig.salto A B - Contador 0 0 Red destino Sig.salto B C - R1 manda mensaje a su vecino R2 [refresco periódico] Red destino Sig.salto Contador Red destino A B - 0 0 A B C Sig.salto R11 - Contador 0 0 Red destino Sig.salto C D - Contador 0 0 Contador 1 0 0 Red destino Sig.salto C D - Contador 0 0 Contador 1 0 0 Red destino Sig.salto A R21 B R21 C D - Contador 2 1 0 0 R2 manda mensaje a sus vecinos [refresco periódico] Red destino Sig.salto A B C R20 Contador 0 0 1 REDES DE ORDENADORES Área de Ingeniería Telemática Red destino Sig.salto A R11 B C - 28 Capítulo 3: Enrutamiento dinámico Ejemplo 2 DV+Bellman-Ford 0 Red A 1 0 Red B R1 1 0 Red C R2 1 R3 Red D Tablas de rutas finales en situación estable Red destino Sig.salto A B C R20 D R20 Contador 0 0 1 2 Red destino Sig.salto A R11 B C D R30 Contador 1 0 0 1 Red destino Sig.salto A R21 B R21 C D - Contador 2 1 0 0 14 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 29 Bellman-Ford Algoritmo Centralizado (1) Nomenclatura s = nodo origen w(i,j) = coste del enlace (en el caso de RIP sería siempre 1) h = máximo número de enlaces en el camino Lh(n) = coste del camino de menor coste del nodo s al nodo n con el requeriiento de no más de h enlaces. paso 1 [Inicialización] w(i,i)=0 w(i,j)= si ambos nodos no están directamente conectados w(i,j)>0 si ambos nodos están directamente conectados L0(n) = , para todo n s Lh(s) = 0, para todo h paso 2 [Actualización] Para cada sucesivo h 0 Para cada n ≠ s, calcular: Lh+1(n)=minj[Lh(j)+w(j,n)] Conectar n con el nodo predecesor j que da min Eliminar las demas conexíones de n con diferentes predecesores formadas en interaciones anteriores El camino de s a n termina con el enlace de j a n REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 30 Bellman-Ford Algoritmo Centralizado (2) 15 REDES DE ORDENADORES Área de Ingeniería Telemática 31 Capítulo 3: Enrutamiento dinámico Bellman-Ford Algoritmo Centralizado (3) h Lh(2) Path Lh(3) Path Lh(4) Path Lh(5) Path Lh(6) 0 - - - - - 1 2 1-2 5 1-3 1 1-4 - - Path 2 2 1-2 4 1-4-3 1 1-4 2 1-4-5 10 1-3-6 3 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6 4 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6 Desde el nodo N1 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 32 Resumen Enrutamiento dinámico Caracteriza las rutas con una métrica, escogiendo para un destino siempre la ruta de menor métrica. División jerárquica del enrutamiento: Sistemas Autónomos IGP EGP RIP Protocolo IGP. Disemina información mediante el algoritmo de vector distancias (Distance Vector, DV). Comparte el conocimiento sobre todo el AS completo pero sólo con los routers vecinos. Comparte periódicamente. Métrica: número de saltos. Cálculo de tabla de rutas mediante el algoritmo de Bellman-Ford. Encapsulado por encima de UDP (puerto 520). 16 REDES DE ORDENADORES Área de Ingeniería Telemática Capítulo 3: Enrutamiento dinámico 33 Bibliografía [Forouzan] [Perlman] Capítulo 13, sección 13.2 Capítulo 12, sección 12.1 Capítulo 14, sección 14.2 [Comer] Capítulo 14, sección 14.8 Capítulo 16, secciones 16.2-16.3 17