En el artículo anterior referente a los conectores de red ( Principios del Diseño de un Sistema de Red.) se discutió acerca de los protocolos end-to-end (punto-a-punto) y de los méritos que este posee. Este mes, focalizaremos nuestra atención en la capa de red y exploraremos las maneras de manejar las filas del trafico de datos o las colas encontradas en los routers. Los routers son los dispositivos de la capa de red que se utilizan para interconectar diversas redes [ 9 ].Su papel primario es cambiar los paquetes de conexión de la entrada de información con las conexiones de salida.Por lo tanto, el router debe determinar el camino que cada paquete entrante necesita seguir, y decide qué conexión de salida o puerto de salida debe ser cambiado [ 6 ].
En un artículo anterior de Crossroads Magazine (Puede el TCP ser el protocolo del transporte del siglo XXI? se observó que actualmente se asume que las pérdidas de los paquetes del Internet se deben mayormente a la congestión, porque la posibilidad de corrupción del paquete es mínima.Pero exactamente, cuál es la congestion que se produce?La congestión ocurre cuando en un router los paquetes que entran llegan más rápidamente, antes de que el router puede cambiarlos o remitirlos a una conexión saliente.Sin embargo, hay una clara distinción entre el conflicto y la congestión:el "conflicto ocurre cuando los paquetes múltiples tienden que hacer cola en un interruptor (o una router) donde están compitiendo por la misma conexión de salida, mientras que la congestión significa que el interruptor tiene a su lado muchos paquetes en la cola, las cuales se ejecutan en el espacio del almacenador intermediario o buffer, y es ahi donde necesariamente comienzan a caer los paquetes " [ 9 ].Por lo tanto, las caídas de los paquetes son una forma de notificación implícita de la congestion que se está formando.
Por ejemplo, considere el caso de una puerta de entrada o Gateway del campus de alguna universidad, es decir un router que conecte la red del campus con el resto del Internet (cuadro 1).Todo el tráfico que sale de la red del campus debe pasar a través del puerto de salida de este router.En general, la red del campus proporciona a una anchura de banda más grande que el enlace que conecta el campus con el resto del Internet, así que el router de la puerta de entrada se convierte en a veces en el punto donde la congestion puede acumularse.

Cualquier protocolo que funciona a traves del IP (Internet Protocol), por ejemplo el TCP (Transmission Control Protocol/ Protocolo del Control de Transmisión) puede detectar las caídas de los paquetes, tal como sucede un mundo inalambrico de la telefonia celular del IP, en las que es más seguro interpretarlas como señales de alerta de congestión a lo largo del camino del remitente al receptor.En particular, un remitente del TCP traducirá estas caídas del paquete debido a una velocidad de envío más lenta.El retraso en la velocidad del envío hará disminuir la velocidad del paquete que entra en la router, y el tamaño de la cola y del tráfico disminuirán después de un rato.
Las colas o filas del trafico son usadas para alisar puntos álgidos de los paquetes entrantes y permitiendo al router, disponer de tiempo suficiente para transmitirlos.Cuando el índice de paquetes entrantes es más alto que la velocidad del router para remitir los paquetes al acceso saliente, el tamaño de la cola aumentará y si esta situación permanece sin cambio, la cola crecerá aún más grande que el espacio disponible en el almacenador intermedio. En ese punto algunos paquetes deberán caerse inexorablemente -- pero cuáles se caerán?Una solución directa es hacer caer los paquetes que estan justo llegando al acceso de la puerta de entrada de información;es decir, si llega un paquete y encuentra la cola llena éste será caído. Esto es lo que se conoce como Drop-Tail (DT caída de la cola) o Tail-Drop (despegue).Otras soluciones incluyen hacer caer el primer paquete de la cola ("la caída completa del paquete de frente") [ 7 ] o hacer caer un paquete al azar de los que estan en la cola.Cada uno de estas soluciones tienen ciertas ventajas y las desventajas (que no elaboraremos en debido a las limitaciones del espacio), pero la practica del “despegue” es la que esta más extendida.
Braden y compañía. distingue entre dos clases de algoritmos del router que se relacionan con el control de la congestión, es decir, del manejo y la programación de la cola de paquetes que se produce [ 1 ]:"una aproximación certera de los algoritmos para el manejo de la longitud de las colas del paquete y ver cuales paquetes necesarios se caeran, donde la programación de algoritmos nos permite determinar y manejar qué paquetes a enviar después y se utilizan sobre todo para manejar la asignación de la anchura de banda del flujo ".El algoritmo programar más común es el primero en entrar, primero en salir (El Primero que llega, es el que primero se va), significa que el primer paquete que entra al almacenador intermediario o buffer será el primero que dejará el almacenador intermediario.
Aunque la tecnica DT de despegar los paquetes, es simplemente ponerlos en ejecución, se ha probado y mostrado por años,para conducir la degradación de las prestaciones bajo congestión.Por ejemplo, los estudios han mostrado que el despegue puede conducir a la sincronización global, a los cierres, y a las colas llenas.La sincronización global ocurre cuando en un router caen muchos paquetes consecutivos en un cortoperíodo de tiempo, lo cual hace forzar el retraso de un número de remitentes del TCP al mismo tiempo. Esto puede conducir a una falta de aprovechamiento de los recursos de conexión durante el embotellamiento, especialmente si se utiliza el TCP Tahoe [ 9 ]Recuerde que el TCP Tahoe recurre siempre a retardar el proceso, cuando ya comienzan a detectarse los paquetes caídos.La fase lenta del comienzo termina cuando el remitente del TCP envía más segmentos que la red puede dirigir.Con muchos remitentes observando pérdidas al mismo período de tiempo, se genera un circulo vicioso que comienza con períodosde utilización relativamente baja de la red seguida por una intensa congestión.Al mismo tiempo, los cierres pueden suceder donde una fracción pequeña de flujos recibe una proporción grande del embotellamiento de la banda-ancha, obstaculizando una adecuada asignación de los recursos compartidos de la red.
En 1993, Floyd y Jacobson [ 3 ] propusieronel R.E.D. o la Detección Temprana al Azar (RED:Random Early Detection) para solucionar los problemas con el Drop-Tail (DT) o “despegue” de paquetes mencionados anteriormente. La Detección Temprana al Azar (RED) intenta solucionar el efecto del cierre y los problemas completos generados por las colas de trafico de una manera eficiente, sin requerir ningun cambios en los ordenadores principales del extremo. El Manejo Activo de las Colas o Filas de Trafico(AQM: Active Queue Management, en ingles) es el acercamiento proactivo de paquetes que se caen antes de que suceda el desbordamiento del buffer o del almacenador intermediario (DT o tecnica del Despegue) en donde los remitentes son informados tempranamente. El RED es un mecanismo de AQM que utiliza el azar para solucionar estos problemas.La sección siguiente nos proporciona a una descripción acerca de cómo trabaja el RED.
El RED no esta diseñado para operar con cualquier protocolo específico, pero funciona mejor con el TCP y otros protocolos que perciban las caídas como indicaciones de la congestión.Los Gateways REDS requieren que el usuario especifique cinco parámetros. Primero de todos, el usuario debe fijar el Limite máximo del Tamaño de la Cola (QL: Queue Limit, Limite de la Cola)del almacenador intermediario. El QL se puede definir en términos de paquetes o bytes. Observe que cuando el “despegue” se pone en ejecución en una router, el QL es el único parámetro que necesita ser fijado. Los otros cuatro parámetros son los umbrales mínimo (minth ) y máximo (maxth) de la "Región R.E.D", la probabilidad máxima de caida (maxp), y el factor del peso usado para calcular el tamaño medio de la cola (wq). Para evitar que el desbordamiento del almacenador intermediario cause que el router RED comience tempranamente a caer los paquetes, de modo de que se pueda controlar el nivel de congestión. La caida temprana de paquetes comienza cuando el tamaño medio de la cola excede el minth. El RED fue diseñado específicamente para utilizar el “average” o tamaño medio de la cola (avg, en vez de el tamaño actual de la cola, como medida de congestión incipiente, porque este último demuestra ser algo intolerante a las irrupciones del paquete [ 3 ].Si el tamaño media de la cola no excede el minth entonces una router RED no hará caer ningun paquete. El promedio de la cola o “average” (avg)se calcula como la carga del promedio móvil exponencial, usando la fórmula siguiente:
avg i = (1 - wq) × avgi-1 + wq × q
donde el peso wqse fija comúnmente en 0,02 [ 4 ], y qes el tamaño instantáneo de la cola.Esta carga del promedio móvil captura la noción de que la congestión duradera es mejor que el tamaño instantáneo de la cola [ 9 ].El tamaño instantáneo de la cola había sido utilizado como parametro para determinar si la router está congestionada, los puntos de corta duración del tráfico conducirían a las caídas tempranas del paquete.Una router poco utilizada que recibe una irrupción de paquetes, que se puede ser juzgardacomo "congestionada" si uno utiliza el tamaño instantáneo de la cola.Por otra parte, el tamaño promedio de la cola de, actúa mientras que un filtro bajo del paso permita que los puntos pasen a través de la router sin que se caiga ningun paquete (a menos que, por supuesto, la explosión sea más grande que el límite de la cola). El usuario puede configurar el wq y minth de modo que una router RED no permita que la congestión de corta duración continue ininterrumpido durante un tiempo específico. Estas funciones permiten que el RED mantenga bajo los atrasos por-paquete con un alto rendimiento de procesamiento.
Para cada llegada del paquete {Calcule avg
if (avg ≥ maxth) { Caiga el paquete
}
else if (avg > minth) {
Calcule la probabilidad que cae pa
Caiga el paquete con la probabilidad pa, sino avancelo
}
else {Avance el paquete
}
}
Enumerar 1 pseudo-código del algoritmo RED.
Es interesante ver que el algorithm del RED (Listado 1 ) separa los procesos de decisión de cuándo caer un paquete al de cual paquete a caer.Como notamos anteriormente , el RED utiliza el azar para decidir a qué paquete debe caer y por lo tanto notificar que la conexión se tornara lenta. Esto se logra haciendo los ensayos de Bernoulli usando la probabilidad pa ,que se calcula según las fórmulas siguientes:
pb = maxp × (avg - minth) / (maxth - minth)
pa = pb / (1 - count × pb)
donde maxp es un parámetro definido por el usuario, fijado generalmente hasta el 2% o el 10% [ 4 ], y la cuenta es el número de paquetes desde el ultimo paquete caído (pero vea también [ 2 ]). Se utiliza la cuenta para espaciar las caídas consecutivas en un cierto plazo.Note entre que pb varía linealmente entre 0 y maxp mientras que ,es decir,la probabilidad real de caida del paquete aumenta con esta cuenta. Originalmente, el maxth fue definido como el umbral superior; cuando el tamaño medio de la cola excede este límite, todos los paquetes tienen que ser caídos (Cuadro 2(a) Más adelante, sin embargo, Floyd propuso una modificación al algoritmo de caída (la "opción apacible"), bajo el cual los paquetes se caen con una probabilidad lineal que se incrementa hasta que el avg exceda el 2×maxth después que todos los paquetes esten caídos (Cuadro 2(b) )Aunque maxthpuede ser fijado a cualquier valor, la regla del dedo pulgar es fijarlo al triple del minth y menos que QL o Limite de la Cola[ 4 ].
|
|
|
| (a)RED |
(b)RED con la " opción apacible " |
Cuadro 2 la probabilidad que cae
del paquete (pb)
en RED en función de el tamaño medio de la cola (maxp el = 10%).
Cayendo los paquetes antes de que se desborde el buffer o almacenador intermediario, el RED procura notificar algunas conexiones de la congestión incipiente. Esta capacidad de respuesta limitarán sus velocidades envío y eventualmente la carga de la red disminuirá.Las conexione sin respuesta no retrasarán, sino continuarán en el mismo paso o aún aumentarán sus velocidades de envío.En este caso, los flujos sin respuestas tendrán más paquetes que alcanzar la router, proporcionando con eficacia a más candidatos de paquetes a caer que las que tienen capacidad de respuesta, porque el número del RED de los paquetes cae de un solo flujo son proporcionales a la anchura de banda compartida de la conexion. [ 3 ].
Esta característica imparcial del RED es importante en la actualidad, donde todas las conexiones la red de Internet se tratan igual manera.Uno quisiera notificar esas conexiones que utilizan actualmente la mayoría de los recursos.Es decir la router debe caer los paquetes que pertenecen a los flujos que actualmente parecieran utilizar la mayoría la anchura de banda (y espacio del buffer).El RED no es tan ni absolutamente exacto en hacer caer los paquetes según la proporción exacta de los recursos que utiliza una conexión-- después de todo el RED no mantiene estadisticas por-conexion, es decir la estadística exacta de la utilización del recurso (véase también [ 8 ]).Sin embargo, sus creadores muestran que el RED puede ser efectivo en la notificación de las conexiones, con el porcentaje más alto de utilización de la banda-ancha [ 3 ].
El RED se puede desplegar fácilmente en el Internet porque es utilizado por los vendedores de router y puesto en ejecución en sinnúmero de productos [ 5].Sin embargo, actualmente el RED no se utiliza extensamente, a pesar de los ocho años que han pasado desde su introducción, los estudios subsecuentes de su eficacia en el control de la congestión, y la recomendación del Cuerpo de Ingenieros del Internet, la IETF (Internet Engineering Task Force) para el despliegue amplio del RED hace algunos años [ 1 ].La columna siguiente del conector discutirá las ventajas y las trampas del RED, de algunas alternativas, y del potencial que tiene el RED para mejorar los servicios del Internet.