La Capa de Red Dr. Ivan Olmos 1 La Capa de Red Orientada a llevar los paquetes desde el origen hasta el destino Aquí, se debe conocer perfectamente el esquema de la subred para escoger la mejor ruta Además, se debe considerar el tráfico, para que en el caso de que sea necesario, cambiar la ruta de los datagramas Dr. Ivan Olmos 2 La Capa de Red Esta capa se debe de encargar de manejar las diferencias que pudieran existir entre la red de origen y la de destino La capa de red debe ofrecer una interfaz bien definida a la capa de transporte, en la cual, los servicios proporcionados deben ser: Independientes de la tecnología de la subred La capa de transporte debe estar aislada de la cantidad, tipo y topologías de las subredes presentes Las direcciones de la capa de transporte debe tener un orden uniforme Dr. Ivan Olmos 3 La Capa de Red La capa de red se puede diseñar: Orientada a la conexión Sin conexión Los partidarios del servicio sin conexión involucra a la comunidad de Internet Por otro lado, los partidarios del servicio con conexión son las compañías telefónicas Dr. Ivan Olmos 4 Conexión vs. Sin Conexión Ambos enfoques actualmente tienen su representante operativo: Internet: sin conexión ATM: con conexión Internet se ha propagado debido a la gran flexibilidad que ofrece ATM actualmente es el esquema de alta velocidad dominante, aunque de alto costo Dr. Ivan Olmos 5 Conexión vs. Sin conexión En el esquema orientado a la conexión, se establecen circuitos virtuales (los paquetes siguen la misma ruta marcada por el primero de ellos) En el esquema sin conexión, los paquetes enviados se conocen como datagramas (no se determinan rutas por adelantado, esto es, dos datagramas pueden seguir rutas distintas a su destino) Dr. Ivan Olmos 6 Conexión vs. Sin conexión Generalmente las subredes de datagramas son más robustas y se adaptan mejor a fallas y congestionamiento Dr. Ivan Olmos 7 Algoritmos de Enrutamiento Dr. Ivan Olmos 8 Algoritmos de Enrutamiento Es aquella parte del software (de la capa de red) que se encarga de decidir la línea de salida por la que se transmitirá un paquete de entrada En una subred de datagramas, ésta decisión se realiza en cada enrutador para cada paquete de entrada En una subred de circuitos virtuales, la decisión se toma al momento de establecer el camino del circuito (enrutamiento de sesión) Dr. Ivan Olmos 9 Algoritmos de Enrutamiento Deben ofrecer propiedades como: Corrección Sencillez Robustez Estabilidad Equitatividad Optimalidad Dr. Ivan Olmos 10 Algoritmos de Enrutamiento Se clasifican en dos grupos: Algoritmos no adaptables: se calcula las rutas de flujo desde un principio, las cuales se cargan en los enrutadores Algoritmos adaptables: modifican las rutas de acuerdo a la topología presente en un instante de tiempo dado, así como consideran el tráfico. Dichos algoritmos varían de acuerdo a la forma de obtención de su información así como la métrica en la cual se basen (distancia, número de escalas, tiempo de tránsito..) Dr. Ivan Olmos 11 Algoritmos de Enrutamiento Para encontrar las rutas más “optimas”, los algoritmos de enrutamiento hacen uso del principio de optimación, que dice: Si un enrutador K se encuentra en la ruta óptima del enrutador I al enrutador J, entonces la trayectoria óptima de K a J se encuentra en la misma ruta Dr. Ivan Olmos 12 Enrutamiento por Trayectoria Corta Al manejarse el término “enrutamiento por trayectoria más corta”, se debe de definir la métrica bajo la cual se trabaja: Métrica basada en escalas Métrica basada en distancia Métrica basada en el retado de encolamiento Métrica basada en el tráfico medio Métrica basada en el ancho de banda Métrica basada en el costo de comunicación... Dr. Ivan Olmos 13 Algoritmo de Dijkstra Para todo x ∈ T | x ≠ A hacer: 1. L[x] = ∞, C[x] = ∅ • L[A] = 0, C[A] = A Sea v = A, T = T – {A} Si v = Z, finalizar (camino mínimo de A a Z: C[v] con longitud L[v]) Para cada vértice x adyacente a v | x ∈ T hacer: 2. 3. 4. 5. L[x] = min {L[x], L[v] + W(v,x)} Si L[v] + W(v, x) < L[x] hacer: • • C[x] = C[v] ∪ {x} Dr. Ivan Olmos 14 Algoritmo de Dijkstra Hacer: 6. • • 7. v = min {L[x] | x ∈ T} T = T – {v} Regresar a paso 4 Dr. Ivan Olmos 15 Camino más corto por Inundación Cada paquete de entrada se envía por todas las salidas disponibles, excepto la de entrada Problema: generación de un gran flujo de datos Solución: Limitar el número de saltos de un paquete, incluyendo una variable que lleve el conteo Control de cada enrutador sobre los paquetes que a enviado. Para evitar que la lista crezca demasiado, con una variable se puede establecer hasta que paquete ya se procesó Dr. Ivan Olmos 16 Enrutamiento basado en el Flujo Basado en los siguientes conceptos: En algunas redes, la tasa media de flujo para cada par de nodos es estable y predecible Si se conoce la capacidad y el flujo promedio, es posible calcular el retardo promedio por medio de la teoría de colas De los retardos promedio de todas las líneas, se obtiene el retardo medio para un paquete de la subred completa ponderado por el flujo Dr. Ivan Olmos 17 Enrutamiento basado en el Flujo Para usar la técnica, se debe conocer: La topología de la subred La matriz de trafico Fij (de un enrutador i a un enrutador j cualquiera) La matriz de capacidad Cij de cada enlace Un algoritmo de enrutamiento El algoritmo de enrutamiento a usar sirve para determinar las rutas que se usarán para cada enlace Dr. Ivan Olmos 18 Enrutamiento Dinámico Dr. Ivan Olmos 19 Enrutamiento Dinámico En la práctica, los enrutamientos dinámicos son los usados actualmente Existen dos algoritmos muy empleados Enrutamiento por vector de distancia Enrutamiento por estado de enlace Dr. Ivan Olmos 20 Enrutamiento por Vector de Distancia Cada enrutador mantendrá una tabla en la cual se da la mejor distancia conocida a cada destino, así como la línea a usar para llegar ahí Los enrutadores intercambian sus tablas con sus vecinos inmediatos, con lo cual mantienen actualizadas sus tablas Las entradas en la tabla comprenden la línea de salida al destino así como la estimación del tiempo o distancia a ese destino (la métrica puede variar) Dr. Ivan Olmos 21 Enrutamiento por Vector de Distancia Nuevo retardo estimado B A F C G E I J K D H L A A I H K A B C D E F G H I J K L 0 24 20 21 8 A 12 36 31 28 20 A 25 18 19 36 28 I 40 27 8 24 20 H 14 7 30 22 17 I 23 20 19 40 30 I 18 31 6 31 18 H 17 20 0 19 12 H 21 0 14 22 10 I 9 11 7 10 0 - 24 22 22 0 6 K 29 33 9 9 15 K 8 10 Retardo del nodo J al nodo x: 12 6 Línea Nuevo tabla de enrutamiento Enrutamiento por Estado de Enlace Basado en los siguientes conceptos: Descubrir a sus vecinos y conocer sus direcciones de red Medir el retardo o costo para cada uno de sus vecinos Construir un paquete que indique lo que acaba de aprender Enviar el paquete a todos los demás enrutadores Calcular la trayectoria más corta a todos los demás enrutadores Dr. Ivan Olmos 23 Enrutamiento por Estado de Enlace Para conocer quienes son sus vecinos de un nodo X, se envía un paquete por cada línea punto a punto que tenga acceso El enrutador vecino, al recibir dicho mensaje, genera una respuesta indicando quién es Un problema que se puede presentar es cuando dos o más enrutadores están conectados por medio de una LAN y no por medio de un enlace punto a punto Dr. Ivan Olmos 24 Enrutamiento por Estado de Enlace B A B C D E F Sec. Sec. Sec. Sec. Sec. Sec. Edad Edad Edad Edad Edad Edad B 4 A 4 B 2 C 3 A 5 B 6 E 5 C 2 D 3 F 7 C 1 D 7 F 6 E 1 F 8 E 8 C 2 4 3 D A 1 5 E 6 8 7 F Dr. Ivan Olmos 25 Enrutamiento por Estado de Enlace Una vez que cada enrutador tenga sus paquetes construidos, falta distribuirlos La distribución es un proceso delicado, ya que puede inducir a inconsistencias, máquinas inalcanzables, ciclos, etc. En primera instancia, se puede usar inundación Dr. Ivan Olmos 26 Enrutamiento por Estado de Enlace Para mantener controlada la inundación, cada paquete mantiene un número de secuencia, el cual se incrementa en uno al enviarse por un enrutador Los enrutadores llevan la secuencia de cada par (enrutador origen, secuencia), para evitar reenviar aquellos que ya han sido procesados Dr. Ivan Olmos 27 Enrutamiento por Estado de Enlace Una vez que un enrutador tiene todos los paquetes completos de todos los enrutadores, puede construir el grafo de la subred Con la información anterior, puede ejecutar el algoritmo de Dijkstra para localizar las rutas más óptimas Dr. Ivan Olmos 28 Enrutamiento Jerárquico Las subredes generalmente son grandes, por lo que mantener tablas en un enrutador correspondientes al resto de los mismos puede llegar a ser inapropiado Para evitar este problema, se ha optado por el enrutamiento jerárquico, en el cual, los enrutadores solo conocen la forma de enrutar paquetes dentro de cierta región (de enrutadores), pero no conocen como hacerlo fuera de ella Dr. Ivan Olmos 29 Enrutamiento Jerárquico TABLA COMPLETA PARA 1A 1B 2A 2B 1A 2C 1C 2D 3A 4A 3B 5A 4B 4C DESTINOS 5B 5E 5C 5D 1B 1B 1 1C 1C 1 2A 1B 2 2B 1B 3 1A - - 2C 1B 3 1B 1B 1 2D 1B 4 1C 1C 1 3A 1C 3 2 1B 2 3B 1C 2 3 1C 2 4A 1C 3 4 1C 3 4B 1C 4 5 1C 4 4C 1C 4 5A 1C 4 5B 1C 5 5C 1B 5 5D 1C 6 5E 1C 5 TABLA JERARQUICA PARA 1A Enrutamiento para Máquinas Móviles En la actualidad, con el advenimiento de los sistemas portátiles, surge la necesidad de mantenerlos comunicados Básicamente, podemos identificar dos tipos de usuarios móviles: Usuarios migratorios, los cuales se mueven de un lugar a otro, haciendo uso de la red solo cuando se conectan a una red local Usuarios errantes, los cuales hacen su cómputo en movimiento, manteniendo la conexión en todo momento Dr. Ivan Olmos 31 Enrutamiento para Máquinas Móviles En el enrutamiento para máquinas móviles, se presupone que tienen una localidad base Una de las formas de enrutar paquetes a usuarios móviles es enviar los paquetes a su localidad base y ésta, se encargue de enviar la información al host móvil, en donde quiera que se encuentre Dr. Ivan Olmos 32 Enrutamiento para Máquinas Móviles Las localidades mantendrán dos tipos de centinelas: Agentes foráneos, que llevan el registro de todos los usuarios que visitan el área Agentes de base, que llevan el registro de todos los usuarios móviles cuya base está en el área, pero que actualmente están visitando otra área Dr. Ivan Olmos 33 Enrutamiento para Máquinas Móviles Normalmente, cuando un sistema visita una localidad, se realiza un proceso de registro como el siguiente: Los agentes foráneos regularmente verifican si ha ingresado un visitante por medio de un mensaje; si no es así, el visitante puede difundir un paquete con el objetivo de hacer notar su presencia Dr. Ivan Olmos 34 Enrutamiento para Máquinas Móviles El host móvil se registra con el agente foráneo, dando su dirección base y su dirección de enlace de datos actual, así como cierta información de seguridad El agente foráneo localiza al agente base del host móvil, mandando la dirección de red del agente foráneo, así como la información de seguridad (autenticación) Dr. Ivan Olmos 35 Enrutamiento para Máquinas Móviles El agente de base del host móvil verifica la autenticidad del mensaje con respecto al usuario móvil Si supera la condición anterior, el agente foráneo recibe el reconocimiento del agente de base. Acto seguido, el agente foráneo registra al usuario móvil y le hace de su conocimiento el hecho Dr. Ivan Olmos 36 Algoritmos de Control de Congestionamiento Dr. Ivan Olmos 37 Control de Congestionamiento El congestionamiento se presenta cuando existen demasiados paquetes en la subred Estos se pueden originar por varias causas: Si varios paquetes de varias líneas de entrada de un enrutador desean salir por una sola línea La velocidad de las CPU’s de los enrutadores Líneas con poco ancho de banda (modernización de solo un segmento de la subred) Dr. Ivan Olmos 38 Control de Congestionamiento Las técnicas de control de congestionamiento suelen confundirse con el control de flujo En el control de flujo, se implementan algoritmos para evitar que un emisor rápido sature a un emisor lento En contraparte, el control de congestionamiento busca que la subred sea capaz de transportar el tráfico ofrecido La confusión se origina debido a que algunos algoritmos de congestionamiento mandan mensajes pidiendo bajar la velocidad de trans. Dr. Ivan Olmos 39 Control de Congestionamiento De manera conceptual, los algoritmos de control de congestionamiento se dividen en dos grupos: Los de ciclo abierto, los cuales tratan de evitar el problema con un buen diseño Los de ciclo cerrado, los cuales tratan de resolver el problema una vez que se ha dado Dr. Ivan Olmos 40 Métodos de Ciclo Abierto Dr. Ivan Olmos 41 Conformación de Tráfico La naturaleza del flujo en una red no es constante, generalmente se presenta por ráfagas Si fuera constante, sería fácilmente predecible y, por ende, se evitarían los congestionamientos Una forma de atacar el problema es obligar a la transmisión de los paquetes a una tasa predecible, como en las redes ATM A dicha forma de trabajo se conoce como conformación de tráfico Dr. Ivan Olmos 42 Conformación de Tráfico La conformación de tráfico se puede aplicar de manera natural a las subredes de circuitos, aunque también se puede adaptar a las subredes de datagramas Normalmente se verifica que se cumpla con la tasa promedio prometida Para ello, se deben analizar los alcances de los elementos de interconexión que se usen en la subred (p.e., la velocidad de los ruteadores) Dr. Ivan Olmos 43 Algoritmo de Cubeta con Goteo A los enrutadores se les ve de manera similar: Cada enrutador tiene una capacidad para almacenar marcos Estos marcos son despachados con cierta velocidad de salida Si la velocidad de entrada de marcos es mayor que la salida, eventualmente se saturará la memoria del enrutador, provocando que pierda marcos Dr. Ivan Olmos 44 Métodos de Ciclo Cerrado Dr. Ivan Olmos 45 Control de Congestionamiento en Redes de Circuito Virtual Una vez que se ha detectado un congestionamiento en una subred de circuito virtual, se debe actuar para evitar que empeore Una forma es restringir la apertura de nuevos circuitos, técnica conocida como control de admisión Dr. Ivan Olmos 46 Control de Admisión La idea es simple: si se ha detectado un congestionamiento, no se establecen circuitos virtuales nuevos hasta que haya desaparecido el problema También se puede optar por establecer cuidadosamente nuevos circuitos, pero por rutas no congestionadas Dr. Ivan Olmos 47 Paquetes de Estrangulamiento Otra forma de manejar los congestionamientos es por medio de paquetes de estrangulamiento (aplicable tanto a subredes de circuito virtual como de datagramas) La idea consiste en verificar, por medio de una variable, el flujo en un enlace Dr. Ivan Olmos 48 Paquetes de Estrangulamiento El host de origen, al recibir el paquete de estrangulamiento, debe reducir su velocidad en un determinado porcentaje El host, una vez que haya reducido su velocidad, esperará un tiempo aleatorio (durante el cual hará caso omiso de nuevos paquetes de estrangulamiento), para posteriormente verificar si hay más paquetes de estrangulamiento Si los hay, reduce aún más su velocidad. Si no los hay, vuelve a la velocidad normal Dr. Ivan Olmos 49 Paquetes de Estrangulamiento Notemos que este enfoque no se bloquea totalmente a un emisor, simplemente se le obliga a reducir la velocidad de transferencia Sin embargo, se corre el riesgo que algunos emisores hagan caso omiso de dicho mensaje Dr. Ivan Olmos 50 Paquetes de Estrangulamiento por Escala Un problema que tienen los paquetes de estrangulamiento es el hecho de que solo van a surtir efecto hasta que hayan llegado al host origen Notemos que mientras se propaga dicho paquete, continuará generándose la misma cantidad de flujo Dr. Ivan Olmos 51 Paquetes de Estrangulamiento por Escala Una forma alternativa es que, cada vez que el paquete de estrangulamiento visite un nodo, este reduzca su velocidad de manera inmediata Este enfoque obliga a destinar más memoria al flujo (ya que del lado del emisor se sigue manteniendo la velocidad de transferencia); sin embargo, del lado del receptor, se disminuye de manera más rápida la carga Dr. Ivan Olmos 52 Desprendimiento de Carga Si a pesar de recurrir a todas las artimañas disponibles, no se puede controlar el congestionamiento, los enrutadores pueden recurrir al “desprendimiento de carga” Esta técnica consiste en tirar o eliminar aquellos paquetes que los enrutadores ya no pueden manejar Dr. Ivan Olmos 53