Tema 4: Redes de conmutación Introducción..................................................................................................................... 1 Redes de conmutación de circuitos ................................................................................. 2 Conmutación por división en el espacio ................................................................... 3 Conmutación por división en el tiempo .................................................................... 4 Conmutación de paquetes ............................................................................................... 5 Introducción ................................................................................................................ 5 Conmutación de paquetes: datagramas y circuitos virtuales................................. 6 Comparación de las técnicas de conmutación de circuitos y conmutación de paquetes ....................................................................................................................... 7 Encaminamiento ......................................................................................................... 8 Estrategias de encaminamiento............................................................................... 10 Encaminamiento estático........................................................................................ 10 Inundaciones........................................................................................................... 10 Encaminamiento aleatorio ...................................................................................... 10 Encaminamiento adaptable..................................................................................... 11 Introducción La transmisión de datos a larga distancia, se lleva a cabo a través de una red de nodos intermedios de conmutación; esto también se utiliza a veces, para el diseño de redes LAN y MAN conmutadas. Una característica de los nodos de conmutación es que el contenido de los datos no les incumbe, su objetivo es proporcionar el servicio de conmutación que traslade los datos de un nodo a otro, hasta alcanzar el destino final. Los dispositivos finales que desean comunicarse, se denominan estaciones. Las estaciones, pueden ser terminales, computadoras, teléfonos etc. Los dispositivos que facilitan la comunicación se denominan nodos. Los nodos se conectan entre sí mediante alguna topología formada por enlaces de transmisión. Cada estación se conecta a un nodo y a la colección de nodos se le llama red de comunicaciones. En las redes de comunicaciones conmutadas se establecen las siguientes consideraciones: 1. Algunos nodos se conectan a otros nodos. Su única tarea será la conmutación interna de los datos. De igual manera, otros nodos tienen además una o más estaciones conectadas; éstos últimos además de sus funciones de conmutación, se encargan de aceptar y repartir los datos desde y hacia las estaciones que tengan conectadas. 2. Los enlaces entre nodos están normalmente multiplexados, usando tanto multiplexación por división de frecuencias (FDM) como por división de tiempo (TDM) 3. Normalmente la red no está completamente conectada, no hay un enlace directo entre cada posible pareja de nodos, aunque sí más de un camino posible entre cada dos estaciones. Redes de conmutación de circuitos La comunicación utilizando conmutación de circuitos, implica la existencia de un camino dedicado entre dos estaciones. Este camino es una secuencia de enlaces conectados entre nodos de la red. En cada enlace físico, se dedica un canal lógico para cada conexión. La comunicación por circuitos conmutados implica tres fases: 1. Establecimiento del circuito. Antes de transmitir cualquier señal, se debe establecer un circuito extremo a extremo (estación a estación) 2. Transferencia de datos. Tras el establecimiento del circuito, la información se podrá transmitir desde la estación origen a la estación destino a través de la red. Dependiendo de la naturaleza de la red, los datos podrán ser tanto analógicos como digitales. Normalmente, la conexión es full dúplex. 3. Desconexión del circuito. Tras la fase de transferencia de datos, la conexión se finaliza. Para la desconexión del circuito, se deben propagar las señales correspondientes a los nodos con los que se estableció la conexión, para que éstos liberen los recursos utilizados. Como la conexión se establece antes de que la transmisión comience, se debe reservar la capacidad del canal requerido entre cada par de nodos, y cada nodo debe ser capaz de conmutar internamente para establecer la conexión solicitada. Los conmutadores deben ser lo suficientemente inteligentes como para realizar las reservas así como para elegir las rutas a través de la red. La conmutación de circuitos puede llegar a ser ineficiente, ya que la capacidad de canal se reserva durante toda la conexión, incluso en el caso de que no se transfieran datos. Antes de la transferencia de la señal, hay un retardo para llevar a cabo el establecimiento de la llamada; una vez establecido el circuito, la red es totalmente transparente a los usuarios. Durante la transferencia, la información se transmite a la razón de datos establecida, sin ningún retardo adicional, salvo el de propagación de la señal, pudiendo ser considerado en ocasiones despreciable el retardo introducido en cada nodo del camino. Ejemplos de redes de conmutación de circuitos son la red pública de telefonía, que es un conjunto de redes nacionales interconectadas, que ofrecen un servicio de telefonía a nivel internacional. Las centralitas privadas (PBX “private branch exchange”). Las redes privadas, que se utilizan para dar servicio a una única empresa, o a varias, para así conectar sus dependencias. A pesar de sus inconvenientes, la conmutación de circuitos es una elección interesante tanto para redes de área amplia como redes de área local. Como ejemplo, una red diseñada entorno a un único nodo de conmutación consta de un conjunto de estaciones conectadas a la unidad central de conmutación. La central de conmutación establecerá un camino dedicado entre cualquier par de dispositivos que quieran comunicarse. La parte central de todo sistema moderno es el conmutador digital. La función del conmutador digital es proporcionar un camino para la señal de una forma transparente entre los dispositivos que estén conectados. Es decir, los dispositivos conectados perciben como si existiera una conexión directa entre ellos. La conexión permite la transmisión full dúplex. El elemento de interfaz de red incluye las funciones y el hardware necesario para conectar los dispositivos digitales a la red. Las líneas principales a otros conmutadores digitales transportan las señales TDM y facilitan los enlaces para construir redes con varios nodos. La unidad de control realiza tres tareas: − Establece las conexiones. Generalmente se realiza bajo demanda. Para establecer la conexión, la unidad de control debe gestionar y confirmar la petición, determinar si el destino está desocupado y construir un camino a través del conmutador. − Mantenimiento de la conexión. La unidad de control debe mantener la conexión. Debido a que el conmutador digital utiliza una aproximación por división en el tiempo, este procedimiento puede necesitar un control continuo de los elementos de conmutación. − Deshacer la conexión. La unidad de control debe deshacer la conexión, tanto en respuesta a una solicitud generada por una de las partes, como por razones propias. Una red bloqueante, es en la que es posible el bloqueo, es decir, en la que puede ocurrir que no se pueda establecer una conexión (a pesar de estar el destino desocupado), por estar todos los posibles caminos ya utilizados. Una red no bloqueante permite que todas las estaciones se conecten simultáneamente (por parejas). Conmutación por división en el espacio En un conmutador por división en el espacio las rutas que se establecen son físicamente independientes. Cada conexión requiere el establecimiento de un camino físico a través del conmutador. El bloque básico de un conmutador de este tipo consiste en una matriz de conexiones o puertas semiconductoras o puntos de cruce que son habilitadas o deshabilitadas por la unidad de control del conmutador, ver Figura 1. Estos conmutadores tienen las siguientes limitaciones: Figura 1 Matriz básica de puntos de cruce (n entradas y n salidas) − El número de puntos de cruce crece con el cuadrado del número de estaciones conectadas. − La pérdida de un punto de cruce impide el establecimiento de la conexión entre los dispositivos cuyas líneas se interseccionan en ese punto. − Los puntos de cruce se utilizan de manera ineficiente, ya que aun estando todas las estaciones conectadas, solo se usan una pequeña fracción de los puntos de cruce. Para superar estas limitaciones, se emplean conmutadores con múltiples etapas. Esta configuración tiene una serie de ventajas sobre una matriz de una única etapa: − El número de puntos de cruce se reduce, aumentando la utilización de las líneas de cruce. − Hay más de un camino posible a través de la red para conectar los puntos finales, aumentando así la seguridad. Un conmutador multietapa necesita un sistema de control más complejo, los conmutadores multietapa pueden ser bloqueantes. La matriz de líneas de cruce en un conmutador de una sola etapa es no bloqueante, es decir, siempre habrá un camino disponible para conectar una entrada a una salida libre. Para conseguir conmutadores multietapa no bloqueantes se aumentan el número o el tamaño de los conmutadores, aunque así aumenta el coste. Conmutación por división en el tiempo La conmutación por división en el tiempo implica la partición de la cadena de bits de menor velocidad en fragmentos que compartirán una cadena de mayor velocidad con otras líneas de entrada. Los fragmentos se manipulan por lógica de control para encaminar los datos desde la entrada hasta la salida. Una de las técnicas más utilizadas de conmutación por división en el tiempo es la conmutación mediante bus TDM. Esta técnica se basa en la en la utilización de la multiplexación por división en el tiempo (TDM) síncrona. Técnica que permite que varias cadenas de bits de baja velocidad compartan una línea de alta velocidad. Se realiza un muestreo de las entradas por turnos. Las muestras se organizan en ranuras o subdivisiones temporales (canales) para formar la trama, que tendrá un número de ranuras igual al número de entradas. Una ranura puede ser un bit un byte o cualquier bloque de longitud constante. Como se conocen la fuente y el destino de los datos para cada ranura, no se necesitan bits de direccionamiento para cada ranura. Cada dispositivo se conecta al conmutador a través de una línea full dúplex. A cada línea de entrada se le asigna una ranura temporal. Durante la existencia de la ranura, la puerta de esa línea se habilita, permitiendo así que una ráfaga pequeña de datos se dirija hacia el bus. Mediante esa misma ranura, una de las otras puertas correspondientes a alguna línea de las líneas de salida se habilita. Los dispositivos conectados consiguen la operación full dúplex transmitiendo durante una ranura asignada y recibiendo durante otra. La ranura temporal debe ser igual al tiempo de transmisión de la entrada más el retardo de propagación desde la entrada a la salida a través del bus. Para mantener la duración de las sucesivas ranuras uniforme, se define la longitud de la misma como el tiempo de transmisión más el retardo de propagación de extremo a extremo en el bus. La razón de datos en el bus debe ser lo suficientemente alta como para que las ranuras completen el ciclo, y no perder información. La razón de datos real debe ser lo suficientemente alta como para tener en cuenta el tiempo invertido en la propagación. Para un conmutador bloqueante, no hay asignación fija de las líneas de entrada a las ranuras; la asignación se hace bajo demanda. La razón de datos en el bus dicta el número de conexiones que se pueden hacer en un momento dado. El esquema de conmutación TDM puede admitir líneas con diferentes razones de datos, asignando a cada línea, tantas ranuras como necesite para la velocidad del dispositivo. Por supuesto, sólo se pueden conectar líneas de la misma velocidad. Conmutación de paquetes Introducción En la conmutación de circuitos vista anteriormente, se ponen de manifiesto dos problemas: 1. En una conexión típica de datos, la línea está desocupada la mayor parte del tiempo. 2. Los dispositivos transmisor y receptor, deben transmitir a la misma velocidad. Estos problemas se resuelven en la conmutación de paquetes. En la conmutación de paquetes los datos se trocean en paquetes cortos (1000 octetos). Cada paquete además de datos incluye en una cabecera la información necesaria para alcanzar su destino en la red. En cada nodo, el paquete se recibe, se almacena temporalmente y se envía al siguiente nodo hasta alcanzar el destino. Frente a la conmutación de circuitos, la conmutación de paquetes presenta las siguientes ventajas: − La eficiencia de la línea es superior, ya que un mismo enlace puede ser compartido dinámicamente en el tiempo por varios paquetes. Los paquetes van formando una cola y se transmiten por la línea tan rápidamente como es posible. − Permite el intercambio de paquetes a diferentes velocidades, pues cada estación se conecta a su nodo con su propia velocidad. − Cuando aumenta el tráfico en la red se continúan aceptando las peticiones de conexión adicionales, si bien el retardo en la transmisión aumentará (en la conmutación de circuitos, sin embargo, se rechazan las peticiones adicionales) − Se puede hacer uso de prioridades. Cada nodo puede transmitir en primer lugar los paquetes de su cola que tienen mayor prioridad. Conmutación de paquetes: datagramas y circuitos virtuales Existen dos formas de tratar los paquetes que se transportan por la red: datagramas y circuitos virtuales. Datagramas: Cada paquete se gestiona de forma independiente, sin ninguna referencia a los paquetes precedentes. Es decir, cada paquete puede seguir un camino diferente por la red. De esta manera, no tienen por qué llegar al destino en el mismo orden en que se envían. Esta técnica resulta muy adecuada si sólo se desea enviar información que ocupe pocos paquetes. No existe la fase de establecimiento de llamada. Tiene mayor flexibilidad, frente a congestión en una zona de la red, los datagramas se enviarán siguiendo rutas alternativas. Si un nodo falla sólo se pierden los paquetes encaminados a través de él, no todos. Circuitos virtuales: Se fija una ruta previa al envío de algún paquete. En la fase de establecimiento de la conexión en nodo origen envía un paquete especial de control llamado Petición de Llamada (Call Request). Este paquete “abre” una línea de conexión entre el emisor y el receptor. Si el receptor acepta la conexión, éste envía un paquete de Llamada Aceptada (Call Accept), que pasará por la misma secuencia de nodos, en orden inverso. A partir de este momento el emisor y el receptor ya pueden intercambiar datos a través de la ruta establecida (circuito virtual). La finalización de la conexión se produce cuando una de las estaciones transmite un paquete Petición de Liberación (Clear Request) Cada estación puede disponer de más de un circuito virtual hacia otra u otras estaciones en un instante de tiempo. Cada nodo de la red puede estar involucrado en más de un circuito virtual, para lo cual dispondrá de una cola. La diferencia con la técnica de datagramas es que, con circuitos virtuales, el nodo no necesita tomar una decisión de encaminamiento para cada paquete, sino que ésta se realiza una sola vez para todos los paquetes que usan dicho circuito virtual. Para comunicaciones de largos periodos de duracíon esta técnica posee ciertas ventajas: − Los paquetes llegan en el orden correcto, ya que todos siguen la misma ruta. − La red puede ofrecer el servicio de control de errores. Es decir, si un nodo recibe un paquete con errores o no lo recibe, puede solicitar su reexpedición al nodo anterior en la ruta. − Los paquetes viajan más rápidamente al no ser necesaria una decisión de encaminamiento para cada paquete. Inconvenientes de la conmutación por circuitos virtuales: − La fase de establecimiento de llamada consume tiempo. − Menor flexibilidad: una vez aceptada la conexión, la ruta no se puede variar si se produce una congestión de la red en una zona de paso del circuito virtual. − Es menos segura: si un nodo participante en el circuito virtual falla, se pierden todos los paquetes gestionados por él. Tamaño del paquete Cada paquete contiene una cabecera con información de control. Si el tamaño del paquete es demasiado grande el tiempo de transmisión aumentará ya que cada nodo deberá esperar a recibir todo el paquete antes de poder reenviarlo al siguiente nodo. Si el paquete es demasiado pequeño también se producirá un incremento del retardo, pues habrá muchos paquetes con sus correspondientes cabeceras, aumentando los retardos de procesamiento y puesta en cola de los paquetes en cada nodo. Existe por tanto un compromiso entre ambos tamaños, haciendo que exista un tamaño del paquete óptimo (1000 octetos). Comparación de las técnicas de conmutación de circuitos y conmutación de paquetes En conmutación de circuitos existe retardo antes de que el mensaje pueda ser enviado. Primero se transmite una señal de petición de llamada para fijar una conexión con el destino. Si la estación destino no está ocupada devuelve una señal de aceptación, durante la petición existe un retardo en el procesamiento de la ruta por cada nodo. Tras el establecimiento de la conexión, el mensaje se envía como un único bloque, sin retardo en los nodos de conmutación. En la técnica de conmutación de paquetes mediante circuitos virtuales, un circuito virtual es solicitado mediante un paquete de petición de llamada, lo que provoca un retardo en cada nodo. El circuito virtual se acepta mediante un paquete de aceptación de llamada. La aceptación de llamada sufre retardo en los nodos aunque la ruta del circuito virtual esté fijada, ya que el paquete es puesto en cola en cada nodo y debe de esperar su turno. Una vez establecido el circuito virtual, el mensaje se transmite en paquetes, con retardos variables en cada nodo, que se incrementan con la carga. La técnica de conmutación de paquetes mediante datagramas no necesita establecimiento de conexión, pudiendo ser más rápida en mensajes cortos que mediante circuitos virtuales y que la conmutación de circuitos. Sin embargo, como la ruta de cada datagrama individual se decide de forma independiente, el procesamiento de cada datagrama en cada nodo puede ser superior al de los circuitos virtuales. La conmutación de circuitos ofrece una velocidad de transmisión constante y un servicio transparente una vez que la conexión ha sido establecida. En conmutación de paquetes aparecen retardos variables, de manera que los datos no se reciben de forma constante. Con la técnica de datagramas los datos se pueden recibir en un orden distinto al de envío. En la conmutación de circuitos, establecida la conexión los datos analógicos o digitales van desde el emisor al receptor. Para conmutación de paquetes, los datos analógicos deben ser convertidos a digital antes de su transmisión; además cada paquete incluye bits adicionales, como los de dirección de estación destino. Funcionamiento externo e interno En la interfaz entre estación y nodo, una red puede ofrecer tanto un servicio de circuito virtual como de datagrama. Internamente, la red puede funcionar también en los dos sistemas, no siendo necesario que coincidan el diseño interno con el externo: − Circuito virtual interno, circuito virtual externo: Cuando el usuario solicita un circuito virtual, se crea un camino dedicado a través de la red, siguiendo todos los paquetes la misma ruta. − Circuito virtual externo, datagrama interno: la red maneja separadamente cada paquete, de manera que los paquetes correspondientes a un mismo circuito virtual siguen caminos diferentes, aunque son enviados en orden secuencial. Si es necesario, la red almacena los paquetes para reenviarlos en el orden correcto. − Datagrama externo, datagrama interno: cada paquete se trata de forma independiente tanto desde el punto de vista del usuario como desde la red. − Datagrama externo, circuito virtual interno: el usuario externo no ve ninguna conexión, limitándose a enviar paquetes a lo largo del tiempo. La red establece una conexión lógica entre estaciones para el envío. Encaminamiento Los requisitos para la función de encaminamiento son: − Exactitud − Sencillez − Robustez. Capacidad de la red para enviar paquetes en caso de fallos y sobrecargas. − Estabilidad. Puede encontrarse contrapuesta a la robustez, ya que las reacciones súbitas a las sobrecargas de la red pueden provocar que algunos paquetes viajen en bucles. − Imparcialidad. Favorecer o desfavorecer la transmisión de paquetes entre estaciones cercanas. − Optimización. Puede competir con la imparcialidad, ya que un sistema óptimo posiblemente dará prioridad a los paquetes que se transmiten entre estaciones cercanas. − Eficiencia. Involucra un costo de procesamiento en cada nodo así como un coste en la transmisión. Dicho coste debe ser inferior a los beneficios obtenidos en robustez o imparcialidad. Criterios de funcionamiento: La selección de una ruta se basa generalmente en algún criterio de funcionamiento. El más utilizado es el camino de menor coste: Camino más corto: es el que pasa por el menor número de nodos, se minimiza el consumo de recursos de la red. Camino de menor costo: a cada enlace se le asigna un costo, que podría representar la capacidad de la línea, o el retardo en la cola asociada al enlace. Se elige el camino de costo menor entre cada par de nodos. Los algoritmos de mínimo costo básicos son Dijkstra y Bellman-Ford. Instante y lugar de decisión (Son independientes) − Instante de decisión. Cuando la operación interna de la red se basa en datagramas, se toma una decisión de encaminamiento para cada paquete. En cambio, en los circuitos virtuales internos, la decisión sólo se realiza cuando en el establecimiento del circuito virtual. En sistemas más complejos los circuitos virtuales internos pueden cambiar dinámicamente con el tiempo adaptándose a la situación actual de la red. − Lugar de decisión. Se refiere al nodo o nodos en la red responsables de las decisiones de encaminamiento. Destacan el distribuido, centralizado y en el origen. En el encaminamiento distribuido (el más utilizado), cada nodo tiene la responsabilidad de elegir una de sus líneas de salida para cada paquete de entrada. En el encaminamiento centralizado, la decisión se realiza en un nodo designado al respecto como centro de control de red. El principal peligro es que la caída de ese nodo provoca el bloqueo de la parte de la red controlada por él. En el encaminamiento en el origen, es la estación origen la que realmente decide la ruta completa. Permite que el usuario elija la ruta con criterios locales a dicho usuario. Fuente de información de red y tiempo de actualización Con el encaminamiento distribuido, cada nodo sólo posee información local sobre la red, sin embargo existen algoritmos que permiten extender ese conocimiento hacía un potencial camino de interés. Con el encaminamiento centralizado, los centros de control de red poseen la información de todos los nodos de la red. El tiempo de actualización de la información depende de la fuente de información y de la estrategia de encaminamiento. Si la información usada es local, la actualización es continua ya que el nodo local conoce las condiciones locales actuales. Para las otras categorías de fuentes de información (nodos adyacentes, todos los nodos), el tiempo de actualización es función de la estrategia de encaminamiento, en la estrategia estática la información no se actualiza mientras no cambie la topología de la red. En la estrategia adaptable la información se actualiza periódicamente para posibilitar la adaptación de la decisión de encaminamiento a las condiciones cambiantes de la red. Cuanto mayor sea la información disponible y más frecuentemente se actualice, mejores serán las decisiones de encaminamiento, aunque, eso sí, a costa de un consumo de los recursos de la red. Estrategias de encaminamiento Encaminamiento estático Se determina una ruta para cada par de nodos fuente–destino en la red. Las rutas permanecen fijas, mientras lo sea la topología de la red. Por lo tanto, el cálculo de los costes no se basan en el tráfico actual en la red, aunque podría estarlo en capacidad o tráfico medios esperados. Para su implementación se crea una matriz de encaminamiento, almacenada, por ejemplo, en un centro de control de red. Esta matriz especifica para cada nodo y para cada combinación origen–destino, el siguiente nodo en la ruta. Con encaminamiento distribuido, en cada nodo se almacena sólo la información necesaria para saber a qué nodo enviar el paquete dependiendo de su destino final. Las tablas de encaminamiento se establecen y almacenan en cada nodo, almacenando cada uno de ellos solamente una columna del directorio de encaminamiento. El directorio de cada nodo especifica el siguiente nodo para cada destino. Su mayor ventaja es la sencillez., tiene un buen funcionamiento en una red de carga estacionaria pero carece de flexibilidad: no reacciona ante fallos ni congestión. Se mejora si cada nodo tiene una especificación alternativa para aumentar la flexibilidad. Esta modalidad se conoce como encaminamiento cuasi-estático. Inundaciones No requiere el conocimiento de la información de la red. Un nodo fuente envía un paquete a todos sus nodos vecinos, los cuales, a su vez, lo envían por todas sus líneas de salida excepto por la que llegó. Una solución para que el número de paquetes no crezca ilimitadamente, es asignar un tiempo de vida en número de saltos nodo-nodo a los paquetes. Cuando un nodo recibe un paquete con la vida en saltos agotada, lo elimina de la red. De esta forma se disminuye la probabilidad de fracaso de llegar a su destino. Por lo tanto, resulta idóneo para enviar paquetes de alta prioridad. Al menos una copia del paquete habrá usado una ruta de salto mínimo. Todos los nodos, directa o indirectamente conectados al nodo fuente, son visitados. Por lo tanto, se puede utilizar para propagar información importante (p.e. información de encaminamiento). Su inconveniente principal es que genera mucho tráfico en la red. Encaminamiento aleatorio Presenta, con menor tráfico, sencillez y robustez similares a la técnica de inundaciones. Cada nodo selecciona aleatoriamente la línea de salida por la que enviará el paquete recibido. Se mejora asignando a cada línea una probabilidad, que puede estar basada en la velocidad de transmisión de cada línea. No requiere el uso de información de la red. Esta técnica soporta un tráfico superior al óptimo (porque lo más probable es que no se siga la ruta de mínimo coste), aunque inferior al de inundaciones. Encaminamiento adaptable Prácticamente todas las redes de conmutación de paquetes usan algún tipo de técnica adaptable: las decisiones de encaminamiento cambian a medida que lo hacen las condiciones de la red en lo que respecta a fallos y congestión: − Fallos. Cuando un nodo o enlace falla, no pueden volver a ser usado en la ruta. − Congestión. Cuando una porción de red está bajo congestión, es deseable encaminar los paquetes a través de otra zona distinta a la de congestión. Para que el encaminamiento adaptable sea posible es necesario que los nodos intercambien información de control. A mayor información de control intercambiada, mejor es la decisión de encaminamiento, pero el coste y la carga de tráfico adicional de la red también es mayor.. Al aumentar el tráfico en la red, un exceso de rapidez de reacción puede ocasionar oscilaciones y congestión. A pesar de esto, es la técnica más usada por dos razones: − El usuario percibe que las prestaciones aumentan con el uso de estas técnicas. − Esta técnica puede ayudar en el control de la congestión. Basándonos en la fuente de información las estrategias de encaminamiento adaptable se pueden clasificar en: − Local.- la información de usuario se envía a través de la línea de salida cuya cola (Q) sea menor y cuya dirección (Bi) sea correcta. Se minimiza la función Q+Bi. No se suelen usar, ya que estos esquemas no explotan con facilidad la información disponible. − Nodos adyacentes.- se dispone, además, de la información local de los nodos adyacentes. − Todos los nodos.- se dispone de la información referente a todos los nodos de la red. Evolución de ARPANET Son estrategias de encaminamiento que fueron originalmente diseñadas para ARPANET. Primera generación: El algoritmo de encaminamiento original era un algoritmo adaptable distribuido que hacía uso de la estimación de retardos como criterio de funcionamiento, basándose en una versión del algoritmo de Bellman-Ford. En este algoritmo cada nodo mantiene dos vectores de retardo. Periódicamente cada nodo intercambia su vector de retardo con sus vecinos. Los nodos entonces pueden rechazar sus tablas y construir una nueva basándose en los vectores de retardo. El retardo de enlace estimado no es más que el tamaño de la cola para el enlace. Así, con la construcción de una tabla nueva el nodo favorece a las líneas con menores colas, lo que equilibra la carga entre las líneas de salida. Dado que el tamaño de la cola varia rápidamente, la percepción distribuida de la ruta más corta puede cambiar con un paquete en tránsito, y puede provocar que el paquete se dirija a una zona de bajo transito en lugar de a su destino. Segunda generación: Intenta solucionar los problemas anteriores. Su algoritmo es también adaptable distribuido en base al retardo como criterio de funcionamiento. El retardo se mide directamente: se usa un sello de tiempo con el instante en que llegó el paquete. Cuando el paquete se envía se graba el instante de salida. Cada 10 segundos se calcula el retardo promedio de cada línea de salida. Si se producen cambios significativos se envía la información a los demás nodos por inundación. Su inconveniente es que los nodos buscan la ruta óptima para todos los destinos, produciendo conflictos. Tercera generación: Intenta evitar las oscilaciones constantes entre rutas alternativas de descongestión. La función de costo actúa, en condiciones de baja carga, de forma similar a una métrica basada en el retardo. En carga alta una métrica basada en capacidad.