Sei sulla pagina 1di 9

Algoritmos de encolamiento en routers para una distribucin justa de la capacidad de un enlace compartido en una red TCP/IP

Avance de tesis No. 1


Eduardo J. Ortega
Departamento de Ingeniera de Sistemas Universidad Nacional de Colombia Av. Cr. 30 No 45 - 03 Bogot, Colombia

ejortegau@unal.edu.co ABSTRACT
En este documento realizamos una revisin de los algoritmos de encolamiento ms populares desarrollados en los ltimos aos. A continuacin diseamos un conjunto de experimentos dirigido a evaluar las caractersticas de justicia de los mismos, y los ejecutamos (mediante software de simulacin de redes) con el algoritmos predominante en Internet actualmente, FIFO. Finalmente, sealamos las etapas futuras de nuestra investigacin que an se encuentra en curso. 2. QoS del sistema nal: estos trabajos estudian la capacidad de hardware y software en un servidor para proveer respuestas en tiempo real en sus aplicaciones y la transmisin de datos de las mismas a travs de la red [5, 7]. 3. QoS de la red: bajo este componente se encuentran mltiples aproximaciones, que abarcan; mecanismos para prevencin de la congestin [10, 15], rediseo o creacin de nuevos protocolos de la capa de transporte [9, 24], mecanismos de reserva de recursos de la red antes de la prestacin de servicio [29], algoritmos para determinar los mejores caminos de enrutamiento [23], entre otros . As mismo, en esta direccin se han desarrollado trabajos para lograr una justa asignacin de canal entre diferentes clientes cuando estos comparten una misma conexin, a partir del manejo de la cola de los routers. [8, 16, 1820, 25, 27]. En este artculo profundizaremos en el problema de la justa distribucin de la capacidad de un enlace en el router entre sus diferentes clientes. La mayora de routers en Internet implementan colas de tipo First In First Out (FIFO) con descarte trasero (tail drop). Esto signica que primer paquete en alcanzar el router es el primero colocado en la cola para ser entregado a la red sin realizar ninguna consideracin sobre el desempeo de la misma ni de las mtricas actuales del ujo al que pertenece dicho paquete. Dado que en ocasiones el router recibe paquetes ms rpido de lo que los puede retransmitir, los debe almacenar en la cola. Descarte trasero signica que cuando se presenta congestin en la red, la cola se llena y los paquetes que continuan llegando son descartados. El resto del paper est estructurado as: en la seccin 2 presentamos los trabajos desarrollados previamente en el rea. En la seccin 3 realizamos el planteamiento del problema. En la seccin 4 presentamos el resultados de experimentos realizados con los algoritmos hasta el momento estudiados.

General Terms
Fair queuing

Keywords
Router, queuing, FIFO, Fairness Queuing, SFQ, RED, FRED, CSFQ, RED-PD.

1.

INTRODUCCIN

La calidad de servicio (QoS, por sus siglas en ingls), puede ser denida como la capacidad de la red de atender las peticiones de los clientes con ciertas mtricas, como ancho de banda, tiempo de respuesta (delay), variacin del tiempo de respuesta (jitter ), probabilidad de prdida de paquetes, etc. [2]. En este marco, varias capas o componentes para lograr los niveles de servicio han sido denidas [3]: 1. Procesamiento distribuido: los trabajos desarrollados en esta direccin estudian los niveles de servicio requeridos para lograr un procesamiento distribuido de calidad. Esto incluye tanto soporte del lado del sistema operativo como protocolos de comunicacin de nodo a nodo para, por ejemplo, clustering. Veanse, por ejemplo, [6, 13, 14].

2.

ANTECEDENTES

En el pasado se han realizado diferentes aproximaciones al problema de encolamiento de los paquetes en el router di-

rigidos a distribuir de manera equitativa entre los diferentes ujos la capacidad de un enlace compartido. En esta seccin presentamos las principales investigaciones realizadas en el rea en orden cronolgico.

1989
Aunque originalmente propuesto por Nagle [16] en 1987, Demers et al [8] public en 1989 el diseo ms popular del primer algoritmo de Fair Queuing (FQ). FQ es un algoritmo de encolamiento de paquetes en el router que opera generando una cola para cada ujo que atraviesa el router; es decir, siempre que un paquete llega al router, este debe determinar a qu ujo pertenece con base en sus direcciones IP y puertos TCP / UDP origen y destino, para con base en ello clasicarlo como perteneciente a determinado ujo y colocarlo en la cola correspondiente. Cada cola es luego atendida en una forma que se aproxima a un Round Robin bit a bit, asegurando, por tanto igual distribucin de canal entre los diferentes ujos. Round Robin bit a bit signica que el router lee el primer bit del primer paquete de la primera cola y lo transmite; a continuacin lee el primer bit del primer paquete de la segunda cola y lo transmite, y contina sobre todas las colas generadas. Al llegar a la ltima, vuelve a la primera y transmite el segundo bit, dando inicio a otra nueva ronda. De esta manera, todas las colas transmiten la misma cantidad de informacin por unidad de tiempo. Por supuesto, en realidad el router no puede transmitir la informacin bit a bit, sino que lo hace paquete por paquete. FQ realiza una serie de clculos para aproximar en promedio una transmisin Round Robin bit a bit. Aunque esta aproximacin garantiza una distribucin absolutamente justa, presenta dos problemas: 1. Requiere almacenar informacin acerca de cada ujo para poder clasicar y mapear cada paquete que llega a la cola correspondiente. 2. Requiere realizar clculos sobre los tamaos de cada paquete atendido en cada cola para aproximar el Round Robin bit a bit. Estas necesidades causan que la implementacin en hardware de FQ sea costosa, dado que se requieren dispositivos que realicen todo el proceso de clasicacin de paquetes, mapeo a la cola y clculos del Round Robin; es decir, requiere routers con una cantidad considerable de memoria, manejo rpido de la misma y un procesador rpido para realizar los clculos requeridos. En las redes modernas, las escalas de tiempo en las que dichas tareas deberan ejecutarse sin introducir un delay demasiado considerable en la transmisin descartan la posibilidad de contar con routers que realicen las actividades requeridas a un precio razonable. En todo caso, en [8] se presentan un conjunto de simulaciones ejecutadas con el n de evaluar el desempeo de FQ frente a los mecanismos de FIFO tradicional. Los resultados muestran que cuando se presenta congestin, FQ logra atender todos los ujos, al contrario de FIFO, que termina atendieno slo aquellos ujos que requieren un canal considerable, y dejando por fuera a ujos de menor volumen.

las simulaciones tambin mostraron que FQ presta servicio a todos los ujos incluso en presencia de un ujo no adaptivo (un ujo que pretende exigir un porcentaje mayor del canal del que le corresponde y que no obedece a las seales de congestin como descarte de paquetes para disminuir su tasa de transferencia). En este caso, no solo los dems ujos son atendidos adecuadamente sino que adems la fuente mal comportada es castigada, al experimentar prdidas considerables de paquetes y obtener, en consecuencia, una tasa de transmisin ms baja de lo que lograra si se contara con control de ujo.

1990
En 1990 McKenney [20] desarroll una versin de FQ que pretenda disminuir sus costos en trminos de procesamiento en la etapa de clasicacin de paquetes, cantidad de memoria requerida, as como en el clculo del Round Robin bit a bit, denominada Stochastic Fair Queuing (SFQ). Para esto, McKenney decidi que en vez de mapear cada ujo en una cola propia, resultaba ms econmico mapearlas a una de un conjunto jo de colas disponibles en el router mediante una funcin de hashing, requeriendo menos memoria y menos velocidad en el manejo de la misma. Dado que bajo este enfoque es posible que dos ujos sean mapeados a la misma cola, McKenney dise una funcin de perturbacin peridica en la funcin de hashing, de modo que si en cierto momento dos ujos coincidan en la misma cola, al poco tiempo ya no coincidiran. Esta perturbacin, introducida de manera probabilstica (de ah el nombre Stochastic), pretenda aliviar los riesgos de distribucin injusta del canal garantizando que ningn ujo se superpusiera con otro de manera sistemtica, y obteniendo, en promedio una asignacin justa. Adicionalmente, y con el n de disminuir los costos de procesamiento en la aproximacin del Round Robin bit a bit, McKenney propuso que cada cola fuera atendida en un Round Robin paquete a paquete. Esta decisin causa que aquellos ujos que envan consistentemente paquetes grandes obtengan una mayor participacin en el canal que los que envan paquetes ms pequeos.

1992
K. J. Parekh en su trabajo de doctorado [22] desarroll un modelo conocido como Packet by packet generalizaed processor sharing (PGPS), basado en un modelo uido para el trco, denominado Generalizaed Processor Sharing (GPS). En GPS, el trco es divisible en entidades arbitrariamente pequeas, de modo que es posible, y el servidor que recibe las peticiones (i.e., el router) es conservativo. Este enfoque resulta ideal dado que permite garantizar el throughput solicitado, y porque es posible establecer cotas para el delay experimentado por los diferentes ujos. Sin embargo, dado que el trco no es un uido y no se transmite en cantidades continuas sino en paquetes discretos, GPS es slo una idealizacin. Parekh desarroll entonces su PGPS, que result equivalente a FQ [8] excepto porque no se asigna la misma prioridad (i.e. la misma participacin sobre el canal) a todos los ujos), sino que se permite que algunos tengan ms prioridad que otros (por esto, a esta variedad de FQ se le denomina Weighted Fair Queuing, o WFQ). El trabajo de Parekh despert amplio inters para el desarrollo de redes que garantizaran ciertos servicios (las denominadas

redes de servicios integrados). Sin embargo, presentaba los mismos problemas de (W)FQ; elevado costo computacional para su implementacin. Adicionalmente, uno de los resultados de Parekh (indicando que WFQ era, en el peor de los casos, inexacto en trminos de delay hasta por el tiempo de propagacin de un paquete) fue erroneamente generalizado [4].

Para corregir esta situacin, Shreedhar y Varghese realizaron una aproximacin al problema en un punto medio entre FQ y SFQ: intentaron aproximar el comportamiento de round Robin bit a bit de una manera ms eciente que FQ, y ms precisa que el Round Robin paquete por paquete de SFQ. El resultado es lo que denominaron Decit Round Robin (DRR), que explicaremos a continuacin. En cada ronda (i.e. cada pasada a travs de las cabezas de las colas), DRR decide si transmitir el paquete de la cabeza con base en su tamao; si transmitirlo signica otorgarle mayor participacin a la cola en la distribucin del enlace de la que debera, el paquete no es transmitido, pero el router guarda la memoria de este evento. De esta forma, en la siguiente ronda, el router sabe cunto le debe a dicha cola y la compensa. De esta manera, en promedio cada cola es atendida equitativamente. Los resultados de la ssimulaciones de FQ-DRR frente a FQ y SFQ demostraron que se obtiene un comportamiento similar al de FQ en trminos de justicia, por encima de los obtenidos con SFQ.

1993
En 1993 S. Floyd y V. Jacobson propusieron un algoritmo para evitar la congestin en redes denominado Random Early Detection (RED). Como tal, no est explcitamente diseado para distribuir justamente el canal entre los diferentes ujos. Sin embargo, dado que varios algoritmos desarrollados posteriormente se basan en RED, lo expondremos aqu. Como ya se mencion, el objetivo de RED es prevenir la congestin. La forma en que pretende realizarlo es monitoreando el tamao de la cola de paquetes a ser transmitidos y descartando paquetes aleatoriamente (an cundo la cola no est llena) cuando detecta el comienzo de un perodo de congestin. El mecanismo de descarte aleatorio de paquete se describe a continuacin. Existen dos valores para el tamao de la cola que deben ser tenidos en cuenta, a saber: el valor de umbral sth y el valor mximo smax , donde sth < smax . cada vez que un paquete llega al router, RED calcula el tamao medio (en el tiempo) de la cola savg y lo compara con sth . Si sth > savg , el paquete es aceptado y colocado en la cola de salida (que es un FIFO tradicional). Si savg > smax , el paquete es descartado (al menos en redes TCP ). Si sth < savg < smax , el paquete es descartado con una probabilidad p, donde p crece linealmente de 0% a 100% a medida que savg crece de sth a smax . Dado que los ujos con mayor volumen de trco envan ms paquetes al router (y por tanto en general tienen ms paquetes en la cola que los ujos de menor volumen), experimentarn en promedio un mayor nmero de prdidas de paquetes que los ujos de menor participacin en la distribucin del canal. De esta manera, y en presencia de un protocolo de transporte con control de ujo (como TCP ), disminuirn su tasa de transimisin, evitando que la cola se llene y se presente descarte trasero de paquetes, y previniendo una situacin de sincronizacin global de TCP [12].

1996
Bennet y Zhang [4] estudiaron la propuesta de WFQ (o PGPS) Parekh [22], encontrando que, aunque correcta, haba sido malinterpretada posteriormente, aduciendo que se trataba de la mejor aproximacin posible al modelo GPS. Bennett y Zhang determinan que WFQ no es, despus de todo, una precisa aproximacin al modelo GPS en lo referente a sus propiedades de justicia en la distribucin del canal cuando este se comparte. En particular, encuentran que bajo condiciones de enlace compartido, no es cierto que el delay por ujo de WFQ est acotado por mximo el tiempo de transmisin de un paquete de dicho ujo. Estas inexactitudes de WFQ para simular GPS, as como su alto consto computacional, motivaron el desarrollo de Worst case Fair Queuing (WF2 Q y WF2 Q+), dos algoritmos que presentan un comportamiento ms cercano a GPS que WFQ, y uno de los cuales (WF2 Q+) cuenta con menor complejidad. Los resultados de las simulaciones realizadas por Bennett y Zhang muestran que estos dos algoritmos superan en precisin a WFQ.

1995
Shreedhar y Varghese [25], en un intento por disminuir la complejidad computacional de FQ [8], desarrollaron una variante de este basada en [20], denominada Fair Queuing with Decit Round Robin (FQ-DRR). En realidad, FQ-DRR no es una variacin de FQ directo, sino de SFQ. En efecto, FQ recibe y clasica los paquetes tal como lo realiza SFQ (mapeo a una cola particular mediante una funcin de hashing perturbada peridicamente para minimizar las colisiones de varios ujos en la misma cola). La diferencia con SFQ radica en la corma en que cada cola es atendida. Como ya se mencion, SFQ no realizaba una aproximacin al Round Robin bit por bit debido a sus costos computacionales, sino que haca un Round Robind paquete por paquete. Esta aproximacin causa que los ujos con paquetes de mayor tamao obtienen de manera sistemtica mayor participacin en la distribucin del canal que los ujos que envan paquetes ms pequeos.

1997
En 1997, Lin y Morris [18] realizaron estudios sobre el desempeo de RED y probaron que estaba lejos de ser ptima, bajo la presencia de tres tipo de (muy comunes) ujos, a saber: Flujos robustos, correspondientes al trco que implementa control de ujo y emplea tanta capacidad de canal como la red le permita emplear. Ejemplo de este tipo de trco son las transferencias FTP. Flujos frgiles, correspondientes a trco con control de ujo, con pocos requerimientos de canal, y cuyos paquetes suelen llegar en pequeos grupos (bursts). Ejemplo de este tipo de trco es el de una sesin de Telnet. Flujos no adaptivos, que son aquellos que no implementan control de ujo, bien porque requiere una tasa de transferencia determinada (por ejemplo, aplicaciones

de audio y video en red) o porque son trco malicioso en la red. Lin y Morris [18] realizaron una serie de simulaciones en las que encontraron condiciones bajo las cuales RED falla en prevenir la congestin as como en distribuir justamente los recursos. Las principales denciencias halladas son: 1. La capacidad del enlace no es justamente distribuida entre el trco robusto y el trco frgil; Cuando savg > smax , todos los ujos experimentan prdida de paquetes. Aunque los ujos frgiles emplean poco canal, en esta situacin experimentarn prdida de paquetes y diminuir su tasa de transferencia, hacindoles perder participacin en la distribucin del enlace a pesar de que probablemente la congestin no se deba a ellos. En ese sentido, se dice que RED no es imparcial hacia los ujos frgiles. Sera preferible que slo los ujos robustos y los ujos no adaptivos experimentaran la prdida de paquetes, pues probablemente estos son los causantes de la congestin. 2. RED calcula el tamao medio de la cola savg cada vez que un paquete llega a esta, pero no cada vez que sale. Esto lleva a que el router calcule con base en tamaos de la cola articialmente altos, elevando la probabilidad de descarte de paquetes para todos los ujos, y generando una subutilizacin del enlace. 3. En un enlace compartido por trco tanto adaptivo (robusto o frgil) como no adaptivo, en un rgimen de congestin, ambos tipos de trco perdern paquetes. Los ujos adaptivos disminuirn la tasa de transmisin, pero el no adaptivo continuar enviando a la misma velocidad, y eventualmente ganarobtendr ms y ms espacio en la cola del router, negando el servicio a los ujos adaptivos. Para solucionar este probema, Lin y Morris propusieron una versin modicada de RED, denominada Flow Random Early Drop (FRED). FRED es RED con las siguientes modicaciones: FRED no descarta los paquetes al estilo de RED cuando llegan si el nmero de paquetes en la cola de este ujo es menor que un parmetro dado cmin . Esto previene que los ujos frgiles sufran ante la presencia de ujos robustos o no adaptivos en tiempos de congestin. El parmetro cmin es recalculado como el nmero medio de paquetes por ujo en la cola del router; esto previene un descarte injusto sistemtico de paquetes cuando los ujos cuentan con ms de cmin paquetes en la cola. FRED impone una cota cmax al nmero de paquetes que cada ujo puede tener en la cola. Si un ujo intenta encolar ms de cmax paquetes, son descartados. Adicionalmente, al ujo se le sanciona descartando todos sus paquetes entrantes hasta que el nmero de paquetes que tenga en la cola sea menor que el nmero medio de paquetes por ujo en la cola. Esto previene que los ujos no adaptivos tomen control de toda la cola y nieguen el servicio a los adaptivos.

El valor de savg es calculado no slo al ingreso de paquetes sino tambin cuando son transmitidos, evitando valores articialmente altos de este parmetro y previniendo descartes de paquetes cuando no son necesarios.

Con estas modicaciones, Lin y Morris ejecutaron exactamente las mismas simulaciones que haban implementado para detectar las falencias de RED, encontrando que los resultados de FRED en todos los casos son mucho ms satisfactorios que los de RED. En particular, FRED hace un buen trabajo controlando ujos no adaptivos.

1998
Zhang et al. [27] desarrollaron un modelo que pretenda simplicar los costos de mantener informacin del estado de cada ujo en todos los enrutadores de la red que pretendieran brindar servicios garantizados a ciertos ujos. Para ellos, disearon el algoritmo Core-Stateless fair Queuing (CSFQ). CSFQ divide los routers de la red en dos categoras: Routers de ncleo o Core routers, que son los que se encuentran dentro de la red, comunicados entre s por enlaces de alta velocidad y que manejan un volumen considerable de trco. Los routers de ncleo no se encuentran conectados a ningn router externo a la organizacin que quiere implementar control de trco. Routers de borde o Edge routers, que se encuentran en los lmites de la red, y la comunica, por ejemplo, con la red de la ISP u otras redes de terceros. Estos routers manejan un volumen menor de conexiones, dado que solo transmiten paquetes que van hacia adentro y afuera de la red, y no se ocupan del trco interno. As mismo, son routers cuyos enlaces hacia el exterior de la red son de menor velocidad que los enlaces internos. CSFQ opera de la siguiente manera: cuando un paquete llega a uno de los routers de borde, ste determina a qu ujo pertenece y calcula su tasa de transferencia promedio (por tanto, los routers de borde mantienen informacin del estado de todos los ujos, en contraposicin a los routers de nucleo que como el nombre de CSFQ lo indica, no mantienen informacin del estado en ellos). Los routers de borde marcan los paquetes que reciben con esta informacin. Por otro lado, todos los routers (de borde y ncleo) calculan la tasa promedio total a la que reciben y aceptan paquetes (donde aceptarlos signica que no son descartados probabilsticamente, segn explicaremos a continuacin). Con esta informacin, as como con la capacidad total del canal, los routers estiman , la porcin justa del enlace que debe tener cada ujo. Cada vez que un paquete es recibido por un router (de borde o de ncleo), es descartado con probabilidad proporcional al exceso de la tasa de llegada del mismo (almacenada en la etiqueta colocada por los routers de ncleo al paquete) sobre sobre alpha. Dado que tras atravesar varios routers es probable que los ujos hayan perdido varios paquetes, la etiqueta de los paquetes no es una medida adecuada de la tasa de recepcin de estos paquetes; por tal motivo, los routers de ncleo la

reescriben como el mnimo entre y el valor actual de la etiqueta. la complejidad de CSFQ es relativamente baja, excepto en los routers de borde, en los que tiene lugar la clasicacin y clculo de tasas de llegada por ujo. En los routers de borde CSFQ se considera aproximadamente igual de complejo que FRED y en los de ncleo, cercano a RED. Las simulaciones presentadas en [27] muestran que el desempeo (en trminos de justicia) de CSFQ es superior al de FRED y RED. Tambin muestran que su comportamiento es cercano, aunque en general no tan bueno, como el de FQDRR.

descartes durante las ltimas t unidades de tiempo, donde t es un parmetro del router). Si es as, entonces RED-PD calcula una probabilidad de descartarlo con base en la tasa de descartes actual de RED y el nmero de descartes promedio por ujo durante las ltimos t unidades de tiempo. Si el ujo no es descartado, o si no se trataba de un ujo monitoreado (un ujo en el historial), entonces el paquete es entregado a RED. En ese sentido, el descarte preferencial (PD en el nombre RED-PD) actua como un preltro para un RED tradicional, cuyos parmetros se calculan con base en la historia de descartes de RED. Las simulaciones realizadas para medir la ecacia de REDPD [19] muestran que este algoritmo brinda niveles de justicia cercanos a los de FQ, y denitivamente muy superiores a los de RED, cuando se enfrenta con ujos no adaptivos. As mismo, muestran que el tiempo que le toma a RED-PD responder a la aparicin de un ujo no adaptivo y controlarlo es relativamente corto.

1999
En [21] se desarroll un nuevo algoritmo denominado CHOose and Keep for responsive ows, CHOose and Kill for unresponsive ows (CHOKe), que pretende brindar mejores niveles de justicia que RED sin requerir, al igual que RED, de almacenamiento de informacin por ujo en el router. El diseo de CHOKe se encuentra fuertemente basado en RED; se denen dos tamaos de colas sth y smax . Cuando un paquete llega se calcula el tamao medio de la cola savg y se compara contra sth y smax . Si se savg < sth , el paquete es aceptado y se pone en la cola de salida, que es un FIFO tradicional. Si savg > smax , el paquete es descartado. La diferencia con RED yace en el tratamiento que se le da al paquete cuando sth < savg < smax . En este caso, se compara el paquete entrante con un paquete aleatoriamente escogido de la cola ya existente; si corresponden al mismo ujo, ambos paquetes son descartados. De lo contrario, el paquete contra el que se compara se deja intacto en la cola y el paquete que acaba de llegar pasa a un proceso de descarte igual al de RED (i.e. es descartado con probabilidad p linealmente creciente entre 0% y 100% a medida que savg crece entre sth y smax . Variaciones de CHOKe incluyen la comparacin del paquete entrante contra ms de un paquete ya existente en la cola (esto es especialmente til en condiciones de trco con mltiples ujos no adaptivos), y comparacin siempre contral el primero en la cola de salida o el ltimo en la cola de salida (con el n de diminuir la complejidad del algoritmo en el proceso de bsqueda y seleccin del paquete de comparacin). Los resultados de las simulaciones de desempeo de CHOKe contra FIFO tradicional y RED [21] demuestran que los niveles de justicia brindados por CHOKe son muy superiores a los de RED, y por supuesto, los de FIFO; es muy efectivo limitando el throughput recibido por ujos UDP (no adaptivos) que transmiten a velocidades superiores a la capacidad del canal.

2003
En 2003, Tang et al. desarrollaron un modelo terico para modelar CHOKe, y en particular, estudiar tericamente por qu es tan efectivo controlando ujos no adaptivos sin mantener ningn tipo de informacin de estado. Encontraron que la distribucin espacial de los paquetes de los ujos no adaptivos en la cola de salida tiene muy pocos paquetes de estos ujos cerca de la cabeza (son descartados previamente), por lo que su thoughput efectivamente es, no solo limitado, sino castigado. Como validacin del modelo propuesto, realizaron algunas simulaciones de CHOKe y las compararon con las predicciones del modelo, encontrando que concuerdan con una precisin considerable. Por otro lado, Wang trabaj en el mejoramiento de un algoritmo denominado Random Early Detection with No Bias (RED-NB), que supere a RED en trminos de justicia. Aunque a la fecha su trabajo no ha sido presentado formalmente ms all de un reporte tcnico [28], a primera vista los resultados son promisorios, especialmente si se tiene en cuenta que RED-PD brinda mejores resultados que la mayora de algoritmos que no presentan administracin por ujo completa (como la familia FQ), y RED-NB parece superarlo.

3.

PROBLEMA A TRATAR

2001
Floyd et al. desarrollaron [19] un algoritmo basado en RED, denominado Random Early Dtetection with Preferential Dropping (RED-PD), que aumenta la probabilidad de descarte de los paquetes de ujos responsables de una amplia fraccin del trco. Para ello, un router RED-PD mantiene un historial de los ujos que recientemente han sufrido descarte de paquetes debido al tratamiento usual de RED. Al recibir un nuevo paquete, RED-PD determina si ste pertenece a un ujo que se encuentra en este historial (es decir, un ujo que ha experimentado un nmero inusualmente alto de

Claramente, el manejo de colas FIFO carece de mecanismos para evitar y controlar la congestin, as como para realizar una distribucin justa de la capacidad del enlace. Esto signica que, por ejemplo, si un ujo que emplea una porcin considerable del canal causa congestin, todos los dems ujos son noticados acerca de esta situacin (usualmente en la capa de transporte) perdiendo paquetes, incluso aquellos ujos con bajo consumo de canal. En ese sentido, los ujos de alto consumo llegan a negar el servicio de los de bajo consumo. otro efecto no deseado del manejo tradicional de encolamiento con polticas de servicio como FIFO es la denominada sincronizacin global de TCP [11]. Este fenmeno consiste en que cuando se presenta congestin, todos los ujos TCP experimentan descarte de paquetes en el router. Como consecuencia de ello disminuyen su ventana y atraviesan por el proceso de slow start descrito por el RFC-2001 [26], comportamiento consecuente con el control de ujo de TCP. Sin embargo, como todos los ujos experimentan prdidas de

manera ms o menos simultanea, todos disminuirn su consumo de canal efectivo a la vez, conduciendo a situaciones de subutilizacin de la capacidad del enlace. Para evitar las situaciones anteriormente mencionadas, se han desarrollado varios algoritmos de administracin de la cola del router. Algunos de estos almacenan una gran cantidad de informacin acerca de cada ujo [8,18,20,25], por lo que se les conoce como stateful algorithms; otros mantienen slo informacin de un subconjunto de ujos (por ejemplo, ujos con elevados requerimientos de canal) [19,27], se denominan partial-state algorithms; nalmente, algunos no mantienen ningn tipo de informacin por ujo [10,21], y se conocen como stateless algorithms. Los algoritmos existentes han tenido diferentes niveles de xito a diferentes costos; aquellos que requieren menor poder de cmputo del router son tambin aquellos que brindan menores garantas en cuanto a una adecuada distribucin del enlace. En el otro extremo, estn aquellos que brindan garantas totales, pero requieren grandes cantidades de memoria y un procesador veloz para procesar los paquetes y decidir en como colocarlos en la cola y/o entregarlos a la red (de hecho, FQ, una solucin stateful, se considera como el algoritmo que mejor nivel de justicia puede garantizar, dado que aproxima ecientemente al hipottico Generalized Processor Sharing [22]). Si bien con el avance de la tecnologa se ha hecho ms econmica la fabricacin de dispositivos ms rpidos, tambin se han incrementado las velocidades tpicas de los enlaces de comunicacin, haciendo que dicho procesamiento en el router introduzca un delay considerable (frente al tiempo de propagacin por los enlaces) en la transmisin de paquetes [17]. La meta para el diseo de nuevos algoritmos debe ser, entonces, la obtencin de un buen compromiso entre estos dos factores: velocidad del enlace contra velocidad de procesamiento del router. Para ello, se deben disear algoritmos que requieran algunos pocos clculos simples para determinar cmo colocar los paquetes en la cola de modo tal que se logre un nivel de justica adecuado. Para llevar a cabo tal tarea, pretendemos seleccionar un conjunto de algoritmos a tomar como base del trabajo posterior. La seleccin de dichos algoritmos obedecer a los siguientes criterios: 1. Los algoritmos seleccionados no deben requerir el reemplazo simultneo de todos los routers de un dominio administrativo para operar ecientemente. 2. Los algoritmos seleccionados no deben requerir modicaciones, por pequeas que sean, de la pila de protocolos TCP/IP.

la velocidad de llegada de cada ujo, as como el reemplazo simultneo de todos los routers de la red.

4.1

Denicin de experimentos

Para cada uno de los algoritmos a estudiar, se llevaran a cabo diferentes experimentos con el n de conocer y evaluar su comportamiento bajo diferentes condiciones de trco. Los experimentos se realizaron empleando el software de simulacin de redes Network Simulator 2 [1]. El objetivo de las experiencias es determinar cmo reparte cada algoritmo de encolamiento la capacidad de un enlace entre los diferentes ujos que lo comparten. Para ellos, se medir la fraccin de canal ocupada por cada uno de los ujos denidos as como el uso total del mismo. Los resultados sern representados en una grca de capacidad de canal (en Mb/s) como funcin del tiempo de ejecucin de cada experimento. Los experimentos realizados se detallan a continuacin.

4.1.1

Experimento 1 - UDP vs. UDP

Figure 1: Topologia para competencia entre dos ujos por canal compartido El montaje para este experimento es el que se ilustra en la gura 1. los parmetros de cada enlace se presentan a continuacin: Table 1: Parmetros de enlaces para el experimento de la seccin 4.1.1 Enlace Capacidad (Mb/s) Latencia (ms) L0 10 1 L1 10 1 L2 1 10 L3 10 1 L4 10 1 Con esta red, se procedi a denir dos ujos UDP de tasa de transmisin constante (UDP - CBR), con parmetros origen destino, tasa de transferencia r, tamao de paquete (en bytes) s, tiempo en que inicia la transmisin de paquetes de dicho ujo t0 y tiempo en el que termina tf , segn se indica en la tabla 2. La simulacin se ejecuta entre t = 0 y t = 65.0 s. El resultado de este experimento se presenta en la gura 2.

4.

SELECCIN Y ESTUDIO DE ALGORITMOS EXISTENTES

De acuerdo con los criterios de seleccin para algoritmos a estudiar como base en el trabajo a desarrollar, indicados en la seccin anterior, determinamos que, de los algoritmos antes mencionados, slo se descarta para estudio CSFQ [27], dado que falla en el cumplimiento de ambos requerimientos; CSFQ requiere alterar los encabezados de IP para marcar los paquetes con informacin que permita realizar el clculo de

Table 2: Parmetros de ujos para el experimento de la seccin 4.1.1 Flujo Origen Destino r (Mb/s) s (B) t0 (s) tf (s) f0 SRC 0 DST 0 0.8 1518 0.0 60.0 f1 SRC 1 DST 1 0.5 1000 10.0 60.0

fraccin inferior al 20% de la capacidad total del canal.

Figure 3: Resultado de la experiencia de la seccin 4.1.2 con FIFO Esta experiencia permite conrmar que FIFO no slo falla en distribuir eqitativamente el canal entre los ujos (caso en el que cada uno accedera a aproximadamente el 50% del enlace), sino que permite al ujo UDP transmitir a cerca de su tasa plena, an cuando esto afecte negatvamente el comportamiento de los ujos TCP.

Figure 2: Resultado de la experiencia de la seccin 4.1.1 con FIFO

Como se pude observar en la gura, el ujo f0 presenta una tasa de trasferencia r1 0.8 Mb/s entre t0 y t = 10.0 s. A partir de este instante, el ujo f2 inicia su transmisin, consumiendo algo menos de r2 = 400 Kb/s y causando, por tanto, un decremento en r1 a cerca de 600 Kb/s. As mismo, la gura reeja que el uso total de canal es el mximo posible en todo tiempo. Estos resultados evidencian que el encolamiento FIFO no garantiza equidad en la distribucin del canal, dado que los ujos no reciben el mismo ancho de banda para sus transmisiones; en lugar de ello, el ujo f0 emplea sistemticamente a mayores recursos de la red.

4.1.3

Experimento 3 - TCP vs. TCP

En esta experiencia se generan tres ujos TCP FTP que compiten por el canal. La topologa de esta red es la ilustrada en la gura 4.

4.1.2

Experimento 2 - TCP vs. UDP

En este experimento se emplea la misma topologa de la gura 1. Los parmetros de los enlaces corresponden, a los de la tabla 1. En este caso se dene un ujo UDP f0 similar al del experimento 4.1.1, y un ujo TCP correspondiente a una transmisin FTP. Los parmetros de estos ujos se ilustran en la tabla 3. Table 3: Parmetros de ujo para el experimento la seccin 4.1.2 Flujo Origen Destino r (Mb/s) s (B) t0 (s) f0 SRC 0 DST 0 0.85 1518 10.0 f1 SRC 1 DST 1 N/A 1400 0.0 de tf (s) 60.0 60.0 Figure 4: Topologa para el experimento de la seccin 4.1.3 En este caso, los parmetros de los enlaces se conguran segn lo sealado en la tabla 4. Con esta conguracin de red, se generan tres ujos TCP FTP de acuerdo con lo indicado en la tabla La simulacin se ejecuta de t = 0 a t = 150 s. Dado que todos los ujos son TCP (y por tanto cuentan con control de ujo de extremo a extremo), se espera que ajusten sus ventanas de transmisin de modo tal que, en promedio, cada uno

El resultado de este experimento se presenta en la gura 3. Es posible observar que el ujo f1 hace uso completo de la conexin mientras es el nico que la emplea; sin embargo, en t = 10.0 s, f0 inicia su transmisin consumiendo r0 0.8 Mb/s (es decir, el 94% del canal requerido por su conexin), causando de esta manera que f0 acceda a una

Table 4: Parmetros de enlaces del experimento de la seccin 4.1.3 Enlace Capacidad (Mb/s) Latencia (s) L0 100 1 L1 100 1 L2 100 1 L3 1 50 L4 100 1 L5 100 1 L6 100 1 Table 5: Parmetros de ujos del experimento de la seccin 4.1.3 Flujo Origen Destino s (B) t0 (s) tf (s) f0 SRC 0 DST 0 750 20.35 140.0 f1 SRC 1 DST 1 64 0.0 80.0 f2 SRC 2 DST 2 1500 0.3 100.0 reciba una porcin igual del canal; de esta forma, en el intervalo de tiempo (20.35, 80.0) cada ujo debe acceder a cerca de 0. Mb/s, y en los intervalos (0.3, 20.35) y (80.0, 100.0), 3 los ujos que transmiten deben emplear cerca de 500 Kb/s. Finalmente, en el intervalo (80.0, 140.0), el ujo f0 debe emplear el 100% del canal, dado que no debe competir con otros ujos. La gura 5 conrma tales predicciones.

y a disear un algoritmo que, esperamos, logre superar el desempeo de los existentes a un costo computacional similar, o bien igualarla a menor costo.

6.

REFERENCES

[1] The Network Simulator - ns-2. http://www.isi.edu/nsnam/ns/.

[2] Quality of service - cisco website. http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito doc/qos [3] C. Aurrecoechea, A. T. Campbell, and L. Hauw. A Survey of QoS Architectures. Multimedia Systems, 6(3):138151, 1998. [4] J. C. R. Bennett and H. Zhang. Why WFQ is not good enough for Integrated Services Networks. In Proceedings of NOSSDAV96, 1996. [5] D. C. Bulterman and R. van Liere. Multimedia Synchronization and UNIX. In S. Verlag, editor, Proc. Second international Workshop on Network and Operating System Support for Digital Audio and Video, 1991. [6] G. Coulson, G. Blair, N. Davies, and N. Williams. Extensions to ANSA for Multimedia Computing. Computer Networks and ISDN Systems, 11(25), 1992. [7] G. Coulson, A. Campbell, and P. Robin. Design of a QoS Controlled ATM based Communication System in Chorus. IEEE Journal of Selected Areas in Communications, Special Issue on ATM LANs: Implementation and Experiences with Emerging Technology, May 1995. [8] A. Demers, S. Keshav, and S. Shenker. Analysis and Simulation of a Fair Queueing Algorithm. In SIGCOMM89, 1989. [9] W. A. Doeringer, D. Dykeman, M. Kaiserwerth, H. Rudin, and R. Williamson. A Survey of Lightweight Transport Protocols for High Speed Networks. IEEE Trans. on Commun., 3(11), 1990. [10] S. Floyd and V. Jacobson. Random Early Detection for Congestion Avoidance. IEEE transactions on networking, 1(4):397413, 1993. [11] E. Hashem. Analysis of random drop for gateway congestion control. Technical Report LCS TR-465, Laboratory for Computer Science, MIT, 1989. [12] E. Hashen. Analysis of Random Drop for Gateway Congestion Control. Technical report, Laboratory of Computer Science, MIT, Cambridge, 1989. [13] L. Hazard, F. Horn, and J. B. Stefani. Towards the Integration of Real Time and QoS Handling in ANSA. Technical report, CNET, June 1993. [14] D. Hutchison, G. Coulson, A. Campbell, and G. Blair. Quality of Service Management in Distributed Systems, chapter 11. M. Sloman Ed., 1994. [15] V. Jacobson. Congestion Avoidance and Control. In ACM SIGCOMM 88, pages 314329, Stanford, CA, Aug. 1988.

Figure 5: Resultado de la experiencia de la seccin 4.1.3 con FIFO

5.

TRABAJO POR REALIZAR

Hasta el momento se han diseado una serie de experimentos y se han llevado a cabo para un enlace con encolamiento FIFO. El paso siguiente, planteado en la metodologa de la propuesta, corresponde a la re-ejecucin de los experimentos con otros algoritmos de interes (RED, FRED, RED-PD, FQ, SFQ, FQ-DRR, etc.), y la comparacin de los resultados. Sine embargo, en este momento no resulta del todo claro si la ejecucin de exactamente las mismas experiencias en todos los casos resulte til, o si por el contrario pueda ser de mayor inters disear algunas experiencias especcas para cada algoritmo, con el n de resaltar sus caractersticas. Una vez realizadas los experimentos que sean necesarios, se proceder a intentar determinar falencias de los algoritmos

[16] J. Nagle. On Packet Switches with Innite Storage. IEEE transactions on communications, 35, 1987. [17] J. Kaur. Scalable Network Architectures for Providing Per-ow Service Guarantees. PhD thesis, Department of Computer Sciences, University of Texas at Austin, August 2002. [18] D. Lin and R. Morris. Dynamics of Random Early Detection. In SIGCOMM97, pages 127137, September 1997. [19] R. Mahajan, S. Floyd, and D. Wetherall. Controlling High Bandwidth Flows at the Congested Router. In Proceedings of the 9th. International Conference on Network Protocols, November 2001. [20] P. McKenney. Stochastic Fairness Queueing. Internetworking: Research and Experience, 2:113131, 1991. [21] R. Pan, B. Prabhakar, and K. Psounis. CHOKe: A stateless active queue management scheme for approximating fair bandwidth allocation. In Infocom 2000, March 2000. [22] K. Parekh. A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks. PhD thesis, Massachusetts Institute of Technology, February 1992. [23] P. Paul and S. V. Raghavan. Survey on QoS Routing. In Proc. 15th International Conference on Computer Communications, 2002. [24] K. Seal and S. Singh. Loss Proles: A Quality of Service Measure in Mobile Computing. J. Wireless Networks, 2(1), 1996. [25] M. Shreedhar and G. Varghese. Ecient Fair Queueing Using Decit Round Robin. In SIGCOMM95, pages 231242, 1995. [26] W. Stevens. RFC2001: TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms, January 1997. [27] I. Stoica, S. Shenker, and H. Zhang. Core-Stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High Speed Networks. In SIGCOMM98, 98. [28] T. Wang, I. Matta, and A. Bestavros. Eciently and Fairly Allocating Bandwidth at a Highly Congested Router. Technical Report BUCS-TR-2003-27, Computer Science Department - Boston university, 2003. [29] L. Zhang, S. Deering, and D. Estrin. RSVP: A New Resource ReSerVation Protocol. IEEE network, 7(5):8?, 1993.

Potrebbero piacerti anche