La capa de red (Parte 2 de 3) Redes de Computadoras Enrutamiento 1 Enrutamiento z La función principal de la capa de red es enrutar paquetes de una fuente a un destino. z Enrutar paquetes en una misma red física (enrutamiento directo) es fácil – z El emisor encapsula el paquete en un marco y lo envía al destino (uso de ARP). El enrutamiento indirecto involucra varios enrutadores cooperando para entregar los paquetes. Protocolos de enrutamiento z z z ¿Cómo se establecen las tablas? ¿Cómo son mantenidas y actualizadas? ¿Cómo se descubre la mejor opción para el siguiente salto? Estos son algunos de los aspectos que abordan los protocolos de enrutamiento 2 Protocolos de enrutamiento Aspectos de un esquema simple: z Estudiar diagramas de la red y encontrar los mejores caminos. Escoger el siguiente salto siguiendo estos caminos. z Armar las tablas manualmente. z Actualizar las tablas manualmente. Enrutamiento estático Razonable solo en redes pequeñas. Protocolos de enrutamiento Se necesita automatizar: z z El intercambio de información entre enrutadores sobre el estado actual de la red. Recalcular el mejor siguiente salto conforme ocurren cambios. Enrutamiento dinámico 3 Protocolos de enrutamiento Otros aspectos requeridos: z z z z Debe responder rápido a cambios en la red. Debe calcular rutas óptimas. Debe escalar bien conforme crezca la red. Debe minimizar el uso de recursos de cómputo y de transmisión. Protocolos de enrutamiento Principios de diseño: z Optimalidad – z Simplicidad y bajo overhead – z Buen desempeño en situaciones adversas Rápida convergencia – z Implementar toda la funcionalidad de la manera mas simple Robustez y estabilidad – z Escoger la mejor ruta, según las métricas (Re)calcular rápidamente las rutas óptimas Flexibilidad – Adaptarse adecuadamente a situaciones en la red 4 Protocolos de enrutamiento Los algoritmos usan diferentes métricas para decidir cual ruta es mejor: z Una muy simple es el número de saltos de extremo a extremo. z También pueden asignarse pesos a cada salto – – z Un salto por enlace de fibra puede tener peso de 1 Uno a través de enlace a 56K puede tener peso 10 Métricas mas sofisticadas pueden incluir ancho de banda, retardos, tamaño de MTU, confiabilidad, carga actual, costo monetario. Algoritmos de enrutamiento z Los algoritmos de estado de enlace (link state o SPF) envían información a los nodos en la red; pero cada nodo envía solo información sobre sus enlaces. z Los de vector-distancia (vector-distance o BellmanFord ) envían toda la tabla, pero solo a sus vecinos. z Los algoritmos de estado de enlace escalan mejor pero son mas caros (CPU, memoria). 5 Estado de enlace z Una subred (a) y sus paquetes de estado de enlace Vector-distancia z Una subred (a) e información de vector distancia para j sus vecinos 6 Protocolos de enrutamiento z Al interior de una organización se utiliza un protocolo del tipo IGP (Interior Gateway Protocol). – z Ejemplos: RIP, IGRP, EIGRP, OSPF. Entre varias organizaciones se usa un protocolo tipo EGP (Exterior Gateway Protocol). – Ejemplos: BGP, IDRP, IS-IS. Algoritmos de enrutamiento z Cada organización puede usar un IGP diferente. z Un mismo Gx puede usar dos protocolos diferentes: uno para el interior de la organización y otro para el exterior. 7 RIP z z RIP (Routing Information Protocol) es uno de los IGPs mas populares. Inició su distribución con la implementación TCP/IP de Berkeley – – – z se hizo estándar de facto. No precisamente el de mayor mérito técnico. RFC 1058, 1388, 1723, 2453 (RIPv2) Usa un algoritmo de vector-distancia – – A cada salto se le asigna un costo. La métrica total es la suma de los costos de los saltos. RIP z RIP es un protocolo simple con varias limitaciones: – – – La métrica máxima para un camino es de 15. Tras una disrupción en la red, es lento en encontrar rutas óptimas; los paquetes pueden andar ciclados temporalmente. No puede responder a cambios en retardos o cargas en los enlaces. 8 RIP z Un enrutador RIP envía información a sus vecinos cada 30 segundos. z El enviar información sobre rutas se llama anuncio de rutas (route advertisement). z Si los vecinos están en la LAN entonces se hace broadcast. RIP z Ejemplo de anuncio de ruta: 9 RIP z Con RIP la mejor ruta entre los nodos i,j es aquella donde la distancia es menor. – – – – Se inicia la tabla con las rutas conocidas. Cada que un vecino manda información se recalculan las rutas. Una distancia de 16 o mas significa que la red no puede alcanzarse. Notar que RIP usa informacion solo de sus vecinos para calcular rutas a destinos de mas de un salto. Algoritmo RIP 1. 2. 3. 4. Configurar la distancia a cada nodo k adyacente en variables llamadas d(i,k). D(m,n) es la distancia total entre los nodos m y n. Inicialmente se llenan D(i,k) = d(i,k) y las demás distancias se marcan como inalcanzables. Cuando el vecino k envía un D(k,j) se calcula la distancia a j a través de k. Si no hay entrada para j, se escribe D(i,j) y k se marca como el siguiente salto hacia j. Si actualmente se enruta hacia j a través de k y este envía una actualización entonces se hace D(i,j) = d(i,k) + D(k,j). Si la nueva D(i,j) es mayor que 15, entonces j debe marcarse como inalcanzable. 10 Ineficiencias en RIP z z z z z A normalmente llega a B en 4 saltos. Descubre que ya no puede llegar a través de X. Cambia su tráfico hacia Y (éste no sabe del problema) Después Y se entera que no puede llegar a B. A cambia su tráfico hacia Z. Problema de convergencia Split horizon y poisoned reverse z z z z z A normalmente llega a N mediante D. El enlace entre D y N se cae. D busca una ruta alternativa. Recibe un anuncio de A informando que sabe como llegar a N. Se forma un ciclo. 11 Split horizon y poisoned reverse z Con split horizon el nodo A no anuncia en M que conoce una ruta hacia N. – z De todas formas los nodos en M tienen que salir a través de D. Puede agregarse la técnica poisoned reverse: – A incluye a N en sus anuncios dentro de M, pero marca N inalcanzable mediante A. Arquitectura de Internet z z z La estructura de Internet es jerárquica. Cada organización (llamada también Sistema Autónomo, AS) es administrada independientemente. Las dorsales conectan las AS. 12 Arquitectura de Internet z Las autoridades de un AS pueden escoger no enrutar por otro AS aunque estén conectados. z La autoridad que otorga números en Internet asigna números para AS en alto nivel. z Los gateways representando los AS pasan estos números en sus intercambios. Ruta por varios AS traceroute to manolette.imag.fr (129.88.34.201), 30 hops max, 40 byte packets 1 pelicano-gw.cicese.mx (158.97.23.254) 1.960 ms 1.635 ms 2.209 ms 2 cerbero (158.97.7.254) 3.441 ms * 1.597 ms 3 cicese-i2.cicese.mx (158.97.2.1) 2.893 ms 2.181 ms 2.277 ms 4 200.23.60.110 (200.23.60.110) 5.815 ms 3.694 ms 4.732 ms 5 200.23.60.249 (200.23.60.249) 10.284 ms 10.227 ms 9.623 ms 6 scrm-losa.abilene.ucaid.edu (198.32.8.17) 28.398 ms 17.592 ms 22.880 ms 7 dnvr-snva.abilene.ucaid.edu (198.32.8.2) 42.463 ms 42.026 ms 41.868 ms 8 kscy-dnvr.abilene.ucaid.edu (198.32.8.14) 53.428 ms 52.936 ms 52.723 ms 9 ipls-kscy.abilene.ucaid.edu (198.32.8.6) 73.628 ms 83.175 ms 61.693 ms 10 clev-ipls.abilene.ucaid.edu (198.32.8.26) 68.699 ms 74.137 ms 75.886 ms 11 nycm-clev.abilene.ucaid.edu (198.32.8.30) 80.964 ms 83.132 ms 94.456 ms 12 abilene-gtren.de2.de.geant.net (62.40.103.253) 161.951 ms 161.676 ms 161.382 ms 13 de2-1.de1.de.geant.net (62.40.96.129) 162.207 ms 161.241 ms 161.321 ms 14 de.fr1.fr.geant.net (62.40.96.50) 170.576 ms 172.120 ms 169.974 ms 15 renater-gw.fr1.fr.geant.net (62.40.103.54) 170.370 ms 170.050 ms 171.586 ms 16 grenoble.cssi.renater.fr (195.220.98.38) 188.830 ms 179.090 ms 179.084 ms 17 tigre-grenoble.cssi.renater.fr (195.220.98.58) 184.493 ms 179.464 ms 178.456 ms 18 r-campus.grenet.fr (193.54.184.45) 180.782 ms 184.563 ms 180.909 ms 19 r-imag.grenet.fr (193.54.185.123) 179.241 ms 180.407 ms 179.979 ms 20 manolette.imag.fr (129.88.34.201) 179.249 ms 178.417 ms 180.514 ms 13 Exterior Gateway Protocol z z Dos gateways son vecinos exteriores si están en diferentes AS y vecinos interiores si están en el mismo AS. Los gateways exteriores usan EGP para anunciar alcanzabilidad a la dorsal. Exterior Gateway Protocol EGP tiene tres características: 1. Un mecanismo de adquisición de vecinos para acordar intercambiar información con otros. 2. Los gateways prueban contínuamente si sus vecinos están respondiendo. 3. Los vecinos intercambian periódicamente mensajes de actualización de rutas. 14 Restricciones de EGP z Los gateways anuncian solamente redes dentro de su AS. z EGP no interpreta las métricas de distancia que aparecen en los anuncios. – z O sea, los gateways pueden decir: “mi AS provee la ruta para esta red” y no “mi AS provee una ruta de alto costo a esta red”. Entonces no es realmente un algoritmo de enrutamiento sino de alcanzabilidad. Restricciones de EGP z EGP está muy basado en la arquitectura jerárquica inicial de (ARPA) Internet. z Nuevos protocolos cubren sus deficiencias (e.g. BGP, IDRP). z Internet se descentraliza cada vez mas y necesita otros protocolos que reflejen esto. 15 Enrutamiento exterior Una breve historia: (Ver http://www.silkroad.com/papers/html/pba/n1.html) z A inicios de los 80s, la ARPANET empezó a crecer desmesuradamente – – – Se tuvo que adoptar un modelo de agrupamiento jerárquico Se publicó un esquema jerárquico de enrutamiento en el RFC 827, llamado Exterior Gateway Protocol Se indicó que EGP tenía muchas limitaciones y que era una solución temporal Enrutamiento exterior Advertencias sobre EGP: “...Exterior Gateway Protocol does not in itself constitute a network routing algorithm ... is NOT intended to provide information which could be used as input to a completely general area or hierarchical routing algorithm. It is intended for a set of autonomous systems which are connected in a tree, with no cycles. It does not enable the passing of sufficient information to prevent routing loops if cycles in the topology do exist.” - RFC 827, October 1982 16 Enrutamiento exterior z Se creó un nuevo esquema para subsanar las limitaciones de EGP – – – El Border Gateway Protocol (BGP) fue propuesto en el RFC 1105 BGP refleja mejor la naturaleza distribuída, de malla, que presenta Internet Se incorporaron políticas (policy-based routing) “an inter-autonomous system routing protocol ... routing loops may be pruned and policy decisions at an AS level may be enforced.” - RFC 1105, June 1989 Enrutamiento exterior z EGP fue reemplazado por BGP – – – Eventualmente evolucionó hasta BGP-4 (ver los RFC 1771, 1772) BGP permite enrutamiento basado en políticas, pero éstas se definen manualmente en archivos de configuración por los administradores, no son manejadas por el protocolo Se definió entonces la arquitectura Inter-Domain Policy Routing y se incorporó a BGP-4 17