• No se han encontrado resultados

Simulador de enrutamiento con calidad de servicio (QoS) en redes IP

N/A
N/A
Protected

Academic year: 2020

Share "Simulador de enrutamiento con calidad de servicio (QoS) en redes IP"

Copied!
170
0
0

Texto completo

(1)SIMULADOR DE ENRUTAMIENTO CON CALIDAD DE SERVICIO (QOS) EN REDES IP.. HOLLMAN AUGUSTO DIAZ OROZCO. Tesis para optar al título de Magíster en Ingeniería Electrónica y de Computadores. Director. PhD. NESTOR MISAEL PEÑA. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA BOGOTA, D.C. 2.003.

(2) IEM-2002.12-04. CONTENIDO. INTRODUCCION ........................................................... 1 1.. CALIDAD DE SERVICIO. ............................................... 4. 1.1. SERVICIO DE MEJOR ESFUERZO (BEST EFFORT SERVICE). ................. 5. 1.2. SERVICIO DE CARGA CONTROLADA. .................................... 5. 1.3. SERVICIO GARANTIZADO. ............................................. 6. 2.. ARQUITECTURA DE SERVICIOS INTEGRADOS. .............................. 8. 2.1. PROGRAMADOR DE PAQUETES. .......................................... 9. 2.1.1. Cola FIFO. . ................................................... 10. 2.1.2. Cola con prioridades.. 2.1.3. Cola CBQ ....................................................... 16. 2.1.4. Cola WFQ ....................................................... 21. 2.2. . ....................................... 12. DESCARTE DE PAQUETES. ............................................ 23. 2.2.1. Descarte del fin de la cola (Tail Drop).. ..................... 23. 2.2.2. Descarte temprano (Early Drop .................................. 23. 2.2.3. Descarte aleatorio (Random Drop).. 2.2.4. Algoritmo RED .................................................. 25. ............................ 24. 2.3. CLASIFICADOR DE PAQUETES. ........................................ 31. 2.4. CONTROL DE ADMISIÓN. ............................................. 32. 2.4.1. Combinaciones de rata media o pico ............................. 33. 2.4.2. Algoritmo de suma medida. ...................................... 34. 2.4.3. Otras aproximaciones ........................................... 35. 2.5. ESTIMADORES. ..................................................... 35. 2.5.1. Estimador por Ventana de tiempo ................................ 36. 2.5.2. Estimador por Puntos de muestreo ............................... 36. 2.6 3. RESERVA DE RECURSOS. ............................................. 37 ENRUTAMIENTO. ...................................................... 40. 3.1. ALGORITMO DE BELLMAN-FORD. ....................................... 41. 3.2. ALGORITMO DE DIJKSTRA. ........................................... 42. 3.3. IMPORTANCIA. DEL. ENRUTAMIENTO. EN. LA. ARQUITECTURA. DE. SERVICIOS. INTEGRADOS. ........................................................... 43 ii.

(3) IEM-2002.12-04 3.4 4.. PROTOCOLO DE ENRUTAMIENTO OSPF Y EXTENSIONES. .................... 45 MODELOS DE TRÁFICO. ............................................... 53. 5. DISEÑO DEL SIMULADOR ISSIM ......................................... 59 5.1. ESTRUCTURA DE ISSIM .............................................. 59. 5.1.1. Unidades gráficas y de configuración.. ........................ 60. 5.1.1.1. Unidad principal.. .......................................... 60. 5.1.1.2. Unidad conffuentes ........................................... 62. 5.1.1.3. Unidad confnodos ............................................. 62. 5.1.1.4. Unidad confarquitectura ...................................... 62. 5.1.1.5. Unidad confreporte ........................................... 62. 5.1.1.6. Unidad confsim ............................................... 63. 5.1.2. Unidad motor ................................................... 63. 5.1.3. Unidad enrutadores ............................................. 72. 5.1.4. Unidad fuentes ................................................. 88. 5.1.5. Unidad hsim .................................................... 93. 5.2 VALIDACION DEL SIMULADOR ISSIM .................................... 94 5.2.1 Descripción de la validación .................................... 94 5.2.2 Red con 6 enrutadores y 2 fuentes de tráfico .................... 95 5.2.3. Red NSF ....................................................... 101. 5.2.4. Prueba de las disciplinas de cola ............................. 105. 5.2.5. Observaciones de la validación ................................ 109. 6. EVALUACION DE LOS ALGORITMOS DE ENRUTAMIENTO USANDO ISSIM ......... 111 7. CONCLUSIONES Y COMENTARIOS ........................................ 122 8. BIBLIOGRAFIA ...................................................... 125 ANEXO A .............................................................. 129 ANEXO B .............................................................. 130 ANEXO C .............................................................. 132 ANEXO D .............................................................. 133 ANEXO E .............................................................. 135. iii.

(4) IEM-2002.12-04. RESUMEN. ISSIM es un simulador por eventos discretos diseñado para la evaluación de algoritmos de enrutamiento con y sin capacidad de calidad de servicio en el contexto de la arquitectura actual de Internet, Mejor Esfuerzo, y la arquitectura de Servicios Integrados. ISSIM es una herramienta que permite construir las topologías de simulación en forma gráfica y los resultados son entregados en un formato compatible con Excel. Se diseño un. nuevo. simulador. para. poder. comparar. los. tres. algoritmos. de. enrutamiento bajo las mismas condiciones. Entre los resultados obtenidos se encuentran la determinación de la complejidad de las variantes con calidad de servicio del algoritmo de Dijkstra (precálculo y en demanda), el impacto en tiempo de procesamiento y en ancho de banda consumido.. Abstract: routing. ISSIM. is. algorithms. a. discrete. with. and. event without. simulator. designed. to. evaluate. routing. quality. of. service. capabilities in Best Effort and Integrated Services architectures. ISSIM is a tool that allows to build network topologies in a graphic way and results are delivered in an Excel compatible format. A new simulator was designed because of necessity of comparing the three routing algorithms under the same conditions. Among the found results are the complexities of the Dijkstra algorithm and its variants (precalculus and calculus on demand), the impacts in the process time and used bandwidth.. Palabras clave: Calidad de Servicio, Servicios Integrados, Protocolos de Enrutamiento, Simulación.. iv.

(5) IEM-2002.12-04. INTRODUCCION. Como resultado del gigantesco crecimiento de Internet, las debilidades del protocolo IP con su servicio de mejor esfuerzo se están haciendo evidentes.. La. solución. obvia. para. tratar. con. estos. problemas. es. incrementar el ancho de banda para evitar la congestión en los enlaces. Sin embargo, la cuestión es que no sólo ha aumentado la cantidad de tráfico. transportado. por. la. red,. también. han. cambiado. sus. características. Ahora hay nuevas aplicaciones, muchas basadas en IP, cuyos. requerimientos. operacionales. son. muy. diferentes. a. los. de. aplicaciones como transferencia de archivos y correo electrónico [6].. Existen varias propuestas en la actualidad para poder suplir la necesidad de calidad de servicio en las redes IP. Entre ellas se encuentran las arquitecturas de Servicios Integrados y Servicios Diferenciados y MPLS [12], [7]. Aunque se cree que Servicios Diferenciados provee una mejor solución. desde. el. punto. de. vista. de. escalabilidad,. actualmente. sólo. Servicios Integrados ofrece una solución integral desde la reserva de recursos hasta el manejo de flujos en redes de área [41].. Por tal razón se ha escogido la arquitectura de Servicios Integrados como el modelo a usar en el simulador. Además, ya que OSPF (Open Shortest Path First [3]) es uno de los algoritmos de enrutamiento intrasistema autónomo más usado, se ha tomado como el algoritmo base sobre el cual se evaluarán algunas de las extensiones propuestas en [4]. Se tiene acceso a varios simuladores, entre ellos se destaca MaRS. por su. capacidad en el enrutamiento [40], [41]. Sin embargo, MaRS puede simular solamente el algoritmo de Bellman-Ford y SPF (Shortest Path First) [39]. Esto deja un vacío para el análisis del enrutamiento con calidad de servicio, que de acuerdo a [12] tiene el potencial de ser la pieza perdida en el esfuerzo de garantizar verdadera calidad de servicio en redes IP. 1.

(6) IEM-2002.12-04. Este vacío es llenado en parte por QRS [40], el cual es un trabajo basado en la modificación e introducción de nuevos objetos en MaRS para poder evaluar un algoritmo de enrutamiento, basado en SPF, con capacidad de calidad de servicio usando el modelo de cálculo por demanda. Sin embargo, tanto [40] como [4] concuerdan en decir que no existe aún claridad acerca de. cuál. modelo. intervalos. es. mejor:. separados. de. precálculo tiempo. o. que. consume. cálculo. por. grandes. recursos. demanda. cuya. en. carga. computacional es menor pero se hace más seguido.. Falta. pues. una. herramienta. que. permita. evaluar. los. algoritmos. de. enrutamiento por precálculo y en demanda bajo las mismas condiciones, para que las medidas puedan ser comparadas. Por este motivo se diseño un nuevo. simulador,. con. facilidades. que. [34]. considera. deseables.. Este. simulador, cuyo nombre es ISSIM, se empleó para evaluar el impacto de las extensiones de OSPF en la arquitectura de Servicios Integrados.. Se encontraron las relaciones existentes entre procesos como la medición de anchos de banda y la generación de LSA’s con información de calidad de servicio y la tasa de apertura y cierre de sesiones y como estos afectan a los tiempos de procesamiento de los algoritmos con Calidad de Servicio.. Los. experimentos. realizados. permiten. decir. que. los. tres. algoritmos. evaluados tienen tiempos de procesamiento que crecen cuadráticamente con el número de enrutadores en la red. Sin embargo, las tasas de crecimiento son. muy. diferentes. para. cada. uno. de. ellos,. siendo. la. mayor. la. correspondiente al algoritmo en precálculo y la menor la del algoritmo en demanda.. También se determinó que los dos algoritmos de enrutamiento con Calidad de Servicio hacen un uso mayor de ancho de banda de los enlaces respecto a SPF y que este uso es muy similar en los dos casos.. Respecto a los tiempos de retraso de los paquetes se encontró que los algoritmos con Calidad de Servicio proveen rutas alternas con lo cual se mejora la distribución de tráfico en los enlace disminuyendo así los tiempos de transito en la red. 2.

(7) IEM-2002.12-04 El resto de este documento se encuentra organizado así:. El. primer. capítulo. trata. sobre. las. generalidades. de. la. Calidad. de. Servicio y los tipos de servicio que pueden prestar las redes.. La arquitectura de Servicios Integrados y todos sus bloques constitutivos son. explicados. en. el. capítulos. 2.. Contiene. algunas. opciones. de. implementación para los componentes de la arquitectura.. El capítulo 3 está dedicado a los algoritmos de enrutamiento y a las extensiones propuestas para garantizar Calidad de Servicio.. Los modelos de tráfico son estudiados en el capítulo 4.. La estructura de ISSIM y su validación es mostrada en el capítulo 5. Allí se encuentran los diagramas de flujo de los principales procesos que se llevan a cabo en el simulador. No está incluido el código fuente dada su extensión y porque se halla en el CD-ROM adjunto.. Los experimentos realizados, su evaluación e interpretación son el tema de los capítulos 6 y 7.. 3.

(8) IEM-2002.12-04. 1.. CALIDAD DE SERVICIO.. La calidad de servicio (QoS) es una medida conjunta del nivel de servicio prestado por un proveedor a un usuario. Se puede caracterizar mediante la medida de algunos criterios como disponibilidad, tasa de errores, tiempo de. respuesta,. tasa. de. salida,. probabilidad. de. pérdida,. tiempo. de. establecimiento de conexión y rapidez en la detección y corrección de errores. La calidad de servicio también puede definirse como la habilidad de un elemento de la red de garantizar cierto nivel en los requerimientos de servicio [6], [7], [8], [9], [12].. La calidad de Servicio no es nativa en IP y deben procurarse mecanismos adicionales para suministrarla. Entre las opciones existentes se tienen las arquitecturas de Servicios Integrados y de Servicios Diferenciados complementadas con el enrutamiento con Calidad de Servicio (QOSR). En otros protocolos como ATM y Frame-Relay sí se tiene esta facilidad; puede ampliarse la información sobre estos tópicos en [7], [10], [12], [13], [14].. La. calidad. de. servicio. puede. ser. evaluada. desde. dos. perspectivas. diferentes. Debido a que es posible que los datos de un usuario tengan que. hacer. tránsito. a. través. de. varias. redes,. tal. vez. de. diferentes. proveedores, se pueden tener las siguientes clasificaciones: Calidad de servicio de borde a borde (Edge-to-Edge) y Calidad de servicio extremo a extremo (End-to-End, e2e) [8].. En la RFC2216 [27], se dan algunas definiciones básicas que se requieren para. los. elementos. especificado. utilizan. estas. Los. de. red. documentos. definiciones,. y. la. manera. en. que. posteriores. de. estandarización. y. se. sugiere. el. consultarla. contexto suficiente para entender las siguientes partes.. 4. tráfico. para. debe del. ser IETF. tener. el.

(9) IEM-2002.12-04 La exactitud de la Calidad de Servicio describe cuán precisamente el servicio puede ser limitado por características específicas de ancho de banda,. retraso,. categorías. que. variabilidad son. Mejor. del. retraso. Esfuerzo,. y. Carga. pérdidas. Controlada. Existen y. tres. Servicio. Garantizado [8], [11], [30], [31].. 1.1. SERVICIO DE MEJOR ESFUERZO (BEST EFFORT SERVICE).. Consiste en hacer todo lo que sea posible por entregar adecuadamente un aquete, pero no se garantiza nada y en caso de congestión todos los paquetes pueden ser descartados [8]. Es el servicio ofrecido por defecto en IP y no requiere el uso de control de admisión.. 1.2. SERVICIO DE CARGA CONTROLADA.. El servicio de Carga Controlada se ha creado para soportar una amplia variedad de aplicaciones que se han desarrollado para usar en Internet pero que presentan una alta sensibilidad a las condiciones de sobrecarga de la red. Entre ellas se encuentran las aplicaciones de tiempo real adaptativas, las cuales han mostrado buen desempeño en condiciones de baja carga de la red pero que rápidamente se degradan cuando la red maneja una carga alta. Este servicio intenta emular las condiciones de baja carga en la red con lo cual se permite el adecuado funcionamiento de estas. aplicaciones.. La. especificación. completa. de. este. servicio. se. encuentra en [28].. La especificación de este servicio es mínima y no incluye funciones o capacidades. opcionales.. implementación. incluyendo. Permite. una. algoritmos. adecuada de. gama. de. técnicas. de. programación. de. paquetes,. de. control de admisión y de aplicación. El número de servicio asignado a la Carga Controlada es 5. Este servicio está sujeto al control de admisión.. 5.

(10) IEM-2002.12-04 El. comportamiento. extremo. a. extremo. que. se. ofrece. a. una. aplicación. mediante una serie de elementos de red que proveen servicio de Carga Controlada se aproxima al que se percibiría por la aplicación recibiendo servicio de mejor esfuerzo en condiciones de baja carga de la red. Es decir, tal aplicación puede esperar que:. -. Un. porcentaje. muy. alto. de. los. paquetes. transmitidos. será. satisfactoriamente entregado al nodo final. El porcentaje de paquetes perdidos. será. cercano. a. la. rata. de. paquetes. errados. del. medio. de. transmisión.. - El retado de transmisión experimentado por un alto porcentaje de los paquetes entregados no será mucho mayor que el retardo mínimo presentado por cualquier paquete. Este retardo incluye el retraso ocasionado por el tiempo de propagación del medio y el retardo en el procesamiento de los paquetes en los enrutadores y demás elementos de red que constituyan la ruta.. Los. clientes. que. soliciten. servicios. de. Carga. Controlada. deben. suministrar a los elementos de red una estimación sobre el tráfico que esperan generar mediante el TSpec descrito anteriormente. Si el flujo es aceptado, el servicio recibido por éste en los elementos de red será el prometido siempre que el tráfico generado por el cliente se encuentre dentro la especificación del Tspec. El tráfico fuera de tal región, será susceptible de mayores retardos o de descarte.. 1.3. SERVICIO GARANTIZADO.. El Servicio Garantizado, cuya definición completa se encuentra en [29] que es la RFC de donde se extrajo esta sección, asegura que todos los datagramas serán entregados dentro del tiempo estipulado y ninguno será descartado debido a saturación de las colas siempre que estos permanezcan dentro de los parámetros de tráfico especificados.. 6.

(11) IEM-2002.12-04 Este servicio está dirigido a las aplicaciones que requieren certeza en que. los. tiempos. de. llegada. no. superarán. cierto. límite.. Por. ejemplo,. algunas aplicaciones de audio y vídeo que no toleran la llegada luego de su tiempo de play-back.. Este servicio no intenta minimizar la diferencia entre el retardo máximo y. el. mínimo. (jitter),. sólo. controla. el. máximo. retardo. debido. al. encolamiento. Debido a la garantía en el máximo retardo, este valor debe ser lo suficientemente grande para cubrir casos extremos en la longitud de la cola. Se ha demostrado que la mayor parte de los paquetes se entregan en tiempo mucho menores que el límite garantizado y esto debe ser tenido en cuenta al momento de diseñar las aplicaciones. El número de este servicio es 2. Este servicio está sujeto al control de admisión.. El comportamiento extremo a extremo proveído por una serie de elementos de red con Servicio Garantizado consiste en el aseguramiento de un nivel de ancho de banda que, en conjunto con algunas políticas, produce un servicio. con. retardo. limitado. y. sin. pérdida. de. paquetes. debido. a. encolamiento, esto suponiendo que no existen fallas en los componentes de la red.. Este comportamiento se acerca al modelo de fluidos en cual los retardos por. encolamiento. no. superan. cierto. error. especificado.. El. modelo. de. fluido a una rata R es un servicio que proveería un enlace dedicado con ancho. de. servicio. banda. R. entre. la. fuente. y. por. un. flujo. es. percibido. cualquier otro flujo.. 7. el. destino.. En. completamente. este. modelo,. el. independiente. de.

(12) IEM-2002.12-04. 2.. De. acuerdo. ARQUITECTURA DE SERVICIOS INTEGRADOS.. a. [15],. la. arquitectura. de. Servicios. Integrados. es. la. disposición de cuatro componentes para que, trabajando en conjunto, pueda suministrarse servicios de Carga Controlada o Servicio Garantizado. Los tres. primeros. componentes:. Programador. de. paquetes,. clasificador. y. control de admisión constituyen una función del enrutador conocida como control de tráfico. El otro componente es la reserva de recursos.. En. la. siguiente. figura. se. muestra. la. relación. existente. entre. los. diferentes componentes dentro de un enrutador. Esta figura servirá como base para la implementación de los nodos en el simulador.. Figura 1. Implementación del modelo de referencia para los enrutadores [15].. 8.

(13) IEM-2002.12-04 La figura está divida en dos partes principales. Debajo de la doble línea horizontal se encuentra la parte encargada del reenvío de paquetes, sobre dicha línea está el código de fondo [15].. El. reenvío. es. una. función. ejecutada. para. cada. paquete. y. debe. estar. optimizada, incluso asistida por hardware. Se divide en tres secciones: controlador de entrada, reenviador y controlador de salida. El reenviador interpreta la cabecera del protocolo de red y debe usar al clasificador para colocar el paquete dentro de la clase y ruta correspondiente. El controlador de salida contiene al programador de paquetes e integrado a él un estimador [15].. El código de fondo se carga en la memoria del enrutador y es ejecutado por una CPU de propósito general. Las rutinas de este código crean las estructuras de datos que controlan el camino de reenvío. El agente de enrutamiento. se. implementa. mediante. un. protocolo. de. enrutamiento. particular y genera su base de datos. El agente de reserva de recursos contiene un algoritmo como RSVP, cuando el control de admisión acepta la petición, se realizan cambios sobre el clasificador y la base de datos del programador de paquetes [15].. 2.1. PROGRAMADOR DE PAQUETES.. Se encarga del manejo del reenvío de paquetes de diferentes flujos usando un. conjunto. de. colas. o. temporizadores.. Este. componente. debe. ser. implementado en el punto donde los paquetes son encolados y puede incluir un componente adicional conocido como estimador cuya función es medir las propiedades del flujo saliente para obtener las estadísticas necesarias para el control de admisión [12], [15].. Este componente se basa, en general, en el uso de diferentes disciplinas de servicio para las colas, a continuación se muestran varias opciones existentes.. 9.

(14) IEM-2002.12-04 Cola FIFO. Las colas FIFO (First In First Out) son colas con. 2.1.1. disciplina conservativa donde el orden de llegada es el mismo orden de servicio.. Es. la. estrategia. soportada. en. Internet.. de. encolamiento. Debido. a. la. más. simplicidad. ampliamente de. su. usada. algoritmo,. y su. implementación tecnológica es la más rápida actualmente [12].. Cuando en una red se tiene abundancia de ancho de banda, es decir, la cantidad de tráfico de la red es inferior que la cantidad que puede ser transmitida y además se posee una adecuada capacidad de conmutación, el uso. de. las. colas. es. sólo. necesario. para. asegurar. que. las. ráfagas. transientes de tráfico no causen pérdidas innecesarias de paquetes. Bajo esta. perspectiva,. las. colas. cumplen. la. función. de. resolución. de. contiendas y no juegan un papel importante en el manejo del recurso del enlace. En tal caso, el uso de colas FIFO es muy eficiente debido a que las colas permanecen bastante cortas y el tiempo de espera en ellas es insignificante. respecto. al. retardo. por. propagación. extremo. a. extremo. [12].. Sin embargo, en Internet no son comunes las redes con abundancia de ancho de. banda. y. el. tráfico. presenta. caracterizado por grandes ráfagas. un. comportamiento. autosimilar. [16]. Esto provoca que el tamaño de la. cola no sea pequeño y se presente degradación en el nivel de servicio ofrecido. tanto. por. pérdida. de. paquetes. como. por. incrementos. en. el. retardo. Las colas FIFO operan uniformemente sobre todas los paquetes IP, no hay diferenciación entre clases y el retardo promedio aumenta para todo. el. tráfico.. adaptativas,. como. En TCP,. este son. ambiente, los. más. los. protocolos. afectados. ya. que. que al. usan. ratas. detectar. la. pérdida de paquetes disminuyen su tasa de salida mientras los protocolos sin rata adaptativa, como UDP, permanecen transmitiendo al mismo nivel [12].. Como ya se ha mencionado, el tráfico de Internet no sigue un modelo de Poisson la mayor parte del tiempo. Esto dificulta obtener respuestas analíticas para establecer los tiempos medios de espera, su varianza y la probabilidad que un paquete sea descartado. De [18] se ha obtenido el desarrollo para una cola GI/G/1 para obtener un valor aproximado del tiempo medio de espera en la cola (retardo) suponiendo que el tamaño de 10.

(15) IEM-2002.12-04 la cola es suficientemente grande para evitar su saturación, en todo caso si el tamaño es menor el retardo también lo será y la expresión que se obtiene servirá de cota superior para el valor medio del retardo:. Sean las variables aleatorias Wk y Sk los tiempos de espera y los tiempos de servicio, respectivamente, del k-ésimo paquete que llega y sale. Se tiene la variable aleatoria Xk que es el tiempo transcurrido entre la llegada. del. k-ésimo. paquete. y. del. k+1-ésimo,. son. variables. independientes. Se tiene que para k= 1, 2,...,. Se asume que los tiempos de servicio Sk son no negativos e IID. Sea H(x). W k + S k − X k W K +1 =  0 H ( x) = P{S k ≤ x}. Si Wk + S k - X k > 0 Si W + S k - X k ≤ 0 (k = 1,2,...)k. la función de distribución de los tiempos de servicio:. Sea G(x) la función de distribución del tiempo entre llegadas:. G ( x) = P{X k ≤ x}. (k = 1,2,...). Si F(x) es la función de distribución de la variable aleatoria Sk-Xk (la cual. puede. tomar. valores. negativos),. su. valor. corresponde. a. la. convolución de H(x) y G(x):. ∞. F ( x) = ∫ H ( x + ξ )dG (ξ ) 0. Se define W(k)(t)como la función de distribución del tiempo de espera del k-ésimo paquete:. W( k ) ( x) = P{Wk ≤ x}. (k = 1,2,...). Como las variables Wk, Sk y Xk son independientes:. t  W (t-x)dF ( x) W(K +1) (t ) = -∫∞ ( k ) 0 . t≥0 t<0. Si existe el límite estacionario: 11.

(16) IEM-2002.12-04. lim W( k ) (t ) = W (t ) l →∞. Entonces:. t  W (t-x)dF ( x) W (t ) = -∫∞ 0 . t≥0 t<0. ∞. W (t ) = ∫ F (t-x)dW ( x) 0−. El resultado depende de las funciones de distribución de las variables aleatorias. Dadas estas, se puede obtener el tiempo de espera medio para un. paquete.. denominadas. La. última. Wiener-Hopf. ecuación y. se. pertenece. pueden. a. resolver. una. clase. de. ecuaciones. mediante. el. método. de. Lindley quien demostró que el límite existe sólo si la utilización del canal es menor que uno [18].. 2.1.2. Cola con prioridades.. Se basa en el concepto que algunos tipos de. tráfico pueden ser identificados y enviados al frente de la cola. De esta forma, algunas clases de tráfico siempre se transmiten primero que otras. Existen dos formas de manejar las colas con prioridades: las perentorias en las cuales la llegada de un paquete de mayor prioridad que la del paquete que se está transmitiendo interrumpe su envío. Las no perentorias en las que, en la misma situación, la transmisión actual continúa su curso hasta el final y sólo entonces se comienza la transmisión del paquete entrante. Aquí sólo se considera el caso no perentorio pues los enrutadores no suspenden la transmisión en proceso de un paquete, esto originaría que protocolos, como TCP, considerarán la pérdida de paquetes como signo de congestión y tomaran medidas para disminuir su tasa de transmisión.. La implementación de esta disciplina no se hace usando una única cola. Se crea una cola para cada prioridad (clase de servicio) y un paquete de la cola n-ésima, cuya prioridad es n, sólo es transmitido si las colas de la uno a la n-1 están vacías. En condiciones normales, cuando se tiene espacio en las colas, cada paquete entrante es clasificado y colocado al 12.

(17) IEM-2002.12-04 final de la cola a la cual pertenece. Cuando las colas están llenas y entra un paquete, se tienen dos opciones. En la primera el paquete se descarta. En la segunda, se abre espacio en el buffer descartando un paquete de menor prioridad [12].. En la siguiente figura se observa que el esquema de prioridades se puede hacer mediante un conjunto de colas FIFO, la longitud de las éstas puede ser diferente [12].. Figura 2. Cola con prioridades.. Usualmente la prioridad más alta se da a los paquetes de control y a los de protocolos de enrutamiento pues esto mejora la estabilidad de la red y disminuye su tiempo de convergencia. Debido a que los flujos de baja prioridad son atendidos solamente hasta que las colas de mayor prioridad estén. vacías,. se. suelen. tener. colas. relativamente. cortas. para. las. prioridades más altas [12].. Aunque. el. uso. de. esta. estrategia. de. encolamiento. mejora. las. características del nivel de servicio ofrecido a las prioridades más altas,. pues. permite. que. estas. sean. transmitidas. con. preferencia,. reduciendo el retardo promedio en tales clases, también ocasiona que el tráfico. de. baja. prioridad. empiece. a. ser. descartado,. debido. a. la. saturación de su cola la cual es provocada por la baja tasa de salida que tiene debido a que la mayor parte de los recursos del enlace se consumen en la transmisión del tráfico de mayor prioridad. Una manera de evitar este problema es mediante el uso de un sistema de control de admisión que limite la cantidad de tráfico de alta prioridad que ingresa al sistema [12].. 13.

(18) IEM-2002.12-04 En [19] se encuentra el desarrollo de una cola M/G/1 para usuarios con diferente prioridad. Aunque ya se ha mencionado que la mayor parte del tráfico en redes no sigue un modelo exponencial, algunos procesos como el inicio de sesiones de TCP, como Telnet y transferencia de archivos, y transmisión de voz (proceso MMPP) se aproximan a dicho modelo [16] y pueden proporcionar una idea del comportamiento de la red en algunos instantes de tiempo. El modelo considera un tamaño de cola infinita y por tanto no se puede determinar el porcentaje de pérdida de paquetes: p. p −1. k =1. k =1. Tq( p ) = T0 + ∑ Tk + ∑ T ' k Donde Tq(p) es el tiempo que un paquete de prioridad p que ha llegado en el instante t0 tiene que esperar en la cola.. T0 es el tiempo de servicio que le resta al paquete que está siendo atendido.. Tk es el tiempo de espera de cada paquete de prioridad k (igual a p o superior) que estaban en fila en el instante t0.. T’k. es el tiempo de espera de cada paquete de prioridad k (mayor que p). que. llegan. entre. t0. y. el. tiempo. en. que. es. atendido. el. paquete. en. cuestión.. Sea 1/µk el tiempo medio de servicio de un paquete con prioridad k, y mk la cantidad de estos paquetes que se encontraban en fila antes de t0:. E [Tk ] =. E[m k ] µk. Con nk siendo el número total de paquetes de prioridad k en la cola:. E [n k ] − E[m k ] =. λk = ρk µk 14.

(19) IEM-2002.12-04 Donde λk es la tasa de llegada de paquetes con prioridad k. Por la fórmula de Little:.  1   = λ k E Tq( k ) + ρ k = E [m k ] + ρ k E [n k ] = λ k  E Tq( k ) + µ k  . [ ]. [ ]. Entonces:. E [Tk ] =. E[m k ] = ρ k E Tq( k ) = ρ k W q( k ) µk. [ ]. El número de paquetes de prioridad k (mayor prioridad que p) que llegan durante un tiempo de espera de un paquete de prioridad p es λkWq(p), entonces:. E [T ' k ] =. λ k Wq( p ). = ρ k Wq( p ). µk. Usando valores medios:. [ ]. p −1. p. Wq( p ) = E Tq( p ) = E [T0 ] + ∑ E[Tk ] + ∑ E [T ' k ] k =1. k =1. p. p −1. k =1. k =1. Wq( p ) = E [T0 ] + ∑ ρ k Wq( k ) + W q( p ) ∑ ρ k Entonces: p p −1   1 − ∑ ρ k W q( p ) = E[T0 ] + ∑ ρ k Wq( k ) k =1 k =1  . Resolviendo recursivamente:. Wq( p ) =. E [T0 ] (1 − σ p −1 )(1 − σ p ). k. σ k = ∑ pl l =1. La E[T0] se halla mediante:. 15.

(20) IEM-2002.12-04. [ ]. 1 r λk E τ k2 ∑ 2 k =1 1 = σ k2 + 2 µk. E [T0 ] =. [ ]. E τ k2. Este valor de tiempo medio en la cola no es exacto pues el modelo para el cual rige es M/G/1 y no tiene en cuenta que el tamaño de cola es finito. Sin embargo, puede dar luz sobre el comportamiento que se tendrá en el sistema.. 2.1.3. Cola CBQ.. (Weighted operativos. CBQ (Class-Based Queueing) también conocida como WRR. Round-Robin) y. es. un. constituye. mecanismo una. ampliamente. modificación. usado. al. en. sistemas. encolamiento. por. prioridades. También maneja múltiples colas FIFO, una para cada clase. Sobre las colas se da una vuelta en redondo y a cada una de ellas se le asigna un peso que determina la cantidad de bytes que se transmiten por cola y por vez. Con esto se pretende que las clases con prioridades más altas no consuman todo el ancho de banda pues al menos un paquete de cada cola será transmitido por cada ciclo realizado [12].. La aproximación de CBQ es dedicar porciones de ancho de banda a tipos de tráfico. específicos.. De. esta. forma. se. evita. que. el. tráfico. de. alta. prioridad deje sin servicio al resto. En CBQ el concepto que prima es que denegar el servicio a un clase es peor que compartir un recurso reducido. Denegar el servicio no sólo anula la transmisión de datos de una o varias clases sino que también se elimina la señalización que permite detectar y manejar la congestión en protocolos como TCP puesto que no se obtienen los. reconocimientos. de. las. llegadas. de. los. paquetes. y. estos. son. retransmitidos cuando el tiempo de espera se agota. Estas retransmisiones llegan. justo. al. punto. de. la. red. donde. se. encuentra. la. congestión. incrementando el problema [12].. El funcionamiento básico del algoritmo es como se describe a continuación [12]:. Se dividen los flujos entrantes en N clases. 16.

(21) IEM-2002.12-04. A cada una de esas clases se le asigna una cantidad de bytes que puede transmitir en cada ciclo de servicio.. Cuando le corresponde el turno a la clase k-ésima, esta transmite hasta que ha completado la cantidad de bytes que tiene asignada o hasta que la cola correspondiente se vacíe. Como los paquetes en IP tienen longitud variable (hasta de 65535 bytes ó 64 Kbytes) es posible que la cuota para dicha clase se complete antes de terminar el paquete, en este caso el paquete no es fragmentado, su transmisión continúa hasta el final.. Entonces comienza la transmisión de la clase k+1 y se continúa así hasta finalizar con la clase N luego de lo cual se recomienza el ciclo de servicio con la clase 1. En la siguiente figura se puede ver un ejemplo de la implementación [12]:. Figura 3. Disciplina CBQ. Se tienen tres clases de tráfico, con prioridades alta, media y baja. El recuadro negro alrededor de los paquetes indica la cantidad de bytes que puede transmitir por ciclo de servicio y los paquetes en gris son los que se transmitirán. Se puede observar que si un paquete ha comenzado a transmitirse y se ha superado la cantidad de bytes fijada para la clase, el paquete no se fragmenta.. Con. CBQ. se. puede. indefinidamente. en. asegurar la. cola. que. un. para. ser. paquete. no. transmitido.. tendrá Además,. que. esperar. el. retardo. sufrido y su variabilidad estarán determinados por el tiempo de ciclo de servicio y por el tamaño de los paquetes [12]. El tiempo mínimo del ciclo está dado por: 17.

(22) IEM-2002.12-04 N. Tcmin =. ∑S i =1. i. B. Donde Si es la cantidad de bytes que puede transmitir la clase i por ciclo de servicio y B es el ancho de banda del enlace de salida en bits por segundo.. Sin embargo, debido a la longitud variable de los paquetes este tiempo de ciclo será mayor pues los Si efectivos dependerán de cuánta longitud del último paquete a transmitir resta cuando se ha alcanzado el límite de la clase. De hecho esto crea un inconveniente al asignar los pesos. En esta versión de CBQ no se tiene una forma explícita de cómo emplear el recurso que una cola no necesita. Como se explicó antes, la clase k transmite una cantidad de paquetes que sume Sk bytes pero si la cola se vacía antes de esto, se pasa a la siguiente. El recurso no usado por la clase disminuye el tiempo de ciclo y todas las demás clases entran a beneficiarse de esta situación pues son atendidas con mayor frecuencia lo cual aumenta su tasa de salida.. Puede ser deseable que el recurso no usado se emplee para alguna clase en particular. En [20] se tiene una descripción de CBQ que tiene en cuenta éste y otros aspectos.. Se definen varios términos como sobre el límite, bajo el límite y en el límite para decir que una clase ha recibido más recursos que los que le han. sido. asignados,. o. ha. recibido. menos. o. tiene. los. justos,. respectivamente.. También se define insatisfecho como el estado en el cual una clase está bajo el límite y tiene un tamaño de cola persistente. Se dice que la clase está satisfecha en otro caso. No se define el término persistente.. Basado en esto se emplean dos tipos de programadores de paquetes:. 18.

(23) IEM-2002.12-04 El programador general que envía paquetes sin tener en cuenta ninguna directriz sobre cómo el recurso debe ser compartido. Las clases enviadas así se dice que no están reguladas.. El. programador. para. compartir. enlace,. que. opera. en. los. momentos. de. congestión y si alguna clase está insatisfecha, determina la forma en que las. diferentes. clases. comparten. el. recurso,. estas. se. dice. que. están. reguladas.. En [20] las clases se manejan como un árbol, cada clase puede tener subclases y estás a su vez pueden contener a otras. Se explica la manera en que el enlace debe ser compartido cuando se tienen clases que están en el límite y sobre o bajo él. En términos generales, se usa un estimador que. determina. el. valor. de. un. temporizador. T. (time-to-send). el. cual. establece la cantidad de tiempo que, una clase que está sobre el límite y por tanto regulada, debe esperar antes de poder volver a transmitir. Para esta. implementación. de. CBQ,. en. el. ciclo. de. servicio. se. realiza. la. transmisión de un paquete por vez por clase (PRR, Packet-by-packet RoundRobin) en lugar de WRR.. A continuación se presenta el desarrollo de [20]. El estimador observa los tiempos de salida entre paquetes y obtiene su media ponderada en la cual los pesos de los paquetes decaen con su antigüedad. Sea s el tamaño en bytes del paquete recientemente transmitido, t el tiempo entre las partidas del mismo paquete y el paquete previamente enviado de esta clase y b el ancho de banda reservado para dicha clase. Con estas variables, el tiempo entre salidas de paquetes para dicha clase debería ser:. f ( s, b ) =. s b. Sea. diff = t − f ( s, b) La diferencia entre el tiempo real entre salidas y el tiempo esperado para ese tamaño de paquete. Esa diferencia será negativa cuando la clase esté sobre el límite. El promedio se calcula usando un peso w que decae, es una potencia negativa de 2:. 19.

(24) IEM-2002.12-04. avg ← (1 − w)avg + w × diff El peso w determina la constante de tiempo del estimador. Si la rata de salida de una clase repentinamente cambia, alterando el valor avg, toma –1/ln(1-w) paquetes para que avg cambie 63% del antiguo valor de diff al nuevo. valor.. Es. decir,. la. constante. de. tiempo. en. segundos. está. determinada por:. −s b ln(1 − w) El estimador usado no permite que una clase que no ha estado enviando paquetes por un largo tiempo (avg cercano a cero) pueda transmitir una ráfaga larga para ser considerado sobre el límite. Se coloca un límite n de paquetes antes de considerarla así. Para esto se emplea la siguiente expresión, donde A es el valor de avg:.     A log + 1 s s   −  b t  n≤ − log(1 − w) El estimador implementado en [20] no obtiene un valor estimado del ancho de banda usado por cada clase. Simplemente determina cuando una clase está sobre o bajo el límite.. En [20] el valor del campo tiempo para enviar T se determina así: Para una clase no regulada con un valor positivo de avg, el valor de T se coloca en cero indicando que la clase está bajo el límite.. Para una clase no regulada con avg negativo T se coloca en:. T = − avg. 1− w + f ( s, b ) w. El enrutador esperará T segundos antes de enviar otro paquete de la misma clase, luego de esto, dicha clase no estará más sobre el límite.. 20.

(25) IEM-2002.12-04. Si la clase está regulada y su valor de avg es negativo, T se colocará en f(s, b). Esto quiere decir que, sin importar cuánto esté sobre el límite la clase, no recibirá menos ancho de banda del que tiene reservado.. Volviendo al modelo CBQ que emplea WRR, se puede hallar el límite del retardo máximo de un paquete de la clase k dado que ha logrado ser encolado. Si Dk es la longitud de la cola de dicha clase (Dk= RSk), el tiempo máximo que tiene que esperar el paquete sucede cuando este llega justo cuando su clase acaba de ser servida y es colocado al final de la cola:. Donde Si son las ventanas de servicio de las clases y R es el número de N. Tkmax = (1 + R). ∑S i =1. i. B. ciclos de servicio necesarios para vaciar la cola de la clase k.. Por otro lado, la probabilidad de pérdida de paquetes está determinada por la rata de llegada de la clase, la longitud de la cola asociada y la cantidad de bytes que puede transmitir dicha clase, sus límites no son fácilmente determinables [12].. 2.1.4. Cola WFQ.. En CBQ, cada clase es servida sólo un vez por ciclo.. Como se mostró la existencia de paquetes largos puede alterar de manera significativa el tiempo del ciclo de servicio degradando el nivel de servicio tiempo. que. de. transmitir. reciben. ciclo el. todas. las. clases.. fuese. del. mismo. orden. paquete. más. largo.. Esto. Sería. deseable. que. el. máximo. que. el. tiempo. necesario. no. se. puede. lograr. para. con. la. programación que se sigue en CBQ: dar una vuelta en redondo por todas las colas antes de regresar a la actual. El algoritmo puede modificarse para que se transmita un paquete por cola pero que las colas de mayor peso sean servidas con mayor frecuencia que las demás, así el tráfico de alta prioridad estará entremezclado con el resto de los flujos [12].. 21.

(26) IEM-2002.12-04 WFQ (Weighted Fair Queueing) es un algoritmo que tiene un comportamiento similar al algoritmo de compartir equitativamente (Fair Sharing). Si se tienen varias peticiones de servicio desiguales (diferentes pesos) y la suma de estas peticiones es menor que la cantidad de recurso disponible, todas ellas se pueden satisfacer sin problema. Sin embargo, si la suma es mayor, es necesario adoptar medidas que permitan compartir el recurso de forma. equilibrada.. Una. alternativa. consiste. en. reducir. en. el. mismo. porcentaje todas los pesos de las peticiones, esto podría dejar casi sin recursos. a. las. clases. de. baja. prioridad.. Otra. opción. es. dividir. el. recurso en partes iguales para cada clase pero esto afecta en mayor parte a las peticiones más grandes. El algoritmo min-max fair sharing intenta cumplir. las. solicitudes. equitativamente. para. el. pequeñas resto. y. [12].. repartir La. el. recurso. explicación. restante. completa. y. el. desarrollo de este algoritmo se encuentra en [21], [22] y [23].. WFQ es una aproximación del comportamiento de GPS a nivel de paquete. Su objetivo es el mismo que en el algoritmo weighted min-max fair-sharing: bajo máxima carga, cada clase de servicio recibe una cantidad de recurso directamente proporcional a su peso relativo. En la siguiente figura puede observarse el comportamiento de WFQ [12]:. Figura 4. Disciplina WFQ.. WFQ provee una mejora en la respuesta de la red pero esto se logra a costa de una alta complejidad debido al manejo que debe hacerse por flujo y por el reordenamiento de los paquetes para ser retransmitidos. Esto lo hace adecuado para puntos de la red donde el número agregado de flujos es pequeño y los enlaces no son de alta velocidad [12].. 22.

(27) IEM-2002.12-04. 2.2. DESCARTE DE PAQUETES.. El descarte de paquetes es también una función importante del programador de paquetes. Generalmente el descarte ocurre cuando el tamaño de la cola es el máximo y no pueden admitirse más paquetes. En este caso, pueden descartarse los paquetes entrantes. Sin embargo, este procedimiento puede perjudicar a los flujos de tiempo real y arruinar el trabajo obtenido con los algoritmos de encolamiento. Como se muestra a continuación, existen varias formas de realizar el descarte de paquetes.. 2.2.1. Descarte del fin de la cola (Tail Drop).. Es el algoritmo que se. usa por defecto. Consiste en descartar los paquetes entrantes cuando la cola, usualmente FIFO, se encuentra llena. Todos los paquetes que llegan se pierden hasta que exista espacio para acomodarlos en la cola [12], [24].. El resultado de este comportamiento es que todos los flujos reciben la misma. penalización. diferencial. de. afectando. descarte. que,. mayormente. a. como. se. quienes. dijo más. antes,. debería. contribuyan. ser. con. la. aplicar. el. congestión [12].. Una. manera. de. proteger. los. diferentes. flujos. consiste. en. descarte a una estructura de clases (como la empleada en las colas con prioridades,. CBQ. y. WFQ). donde. a. cada. una. se. le. asigna. un. tamaño. determinado de cola y el descarte ocurre cuando los flujos de la clase ocupan todo su espacio disponible aún cuando existan colas, de otras clases, con capacidad libre para seguir recibiendo paquetes.. 2.2.2. Descarte temprano (Early Drop).. El descarte temprano consiste en. comenzar a rechazar paquetes antes que la cola esté completamente llena. El descarte de paquetes de una clase, a pesar de que exista espacio en las colas de otras clases, constituye una forma de descarte temprano y se convierte en una manera de dar un trato más justo a los diferentes flujos. 23.

(28) IEM-2002.12-04 ya que el descarte comenzará a ocurrir en los flujos que más tráfico intenten transmitir [12].. Para. disciplinas. con. una. sola. cola,. como. FIFO,. los. flujos. entrantes. pueden ser monitoreados y si sus tasas de arribo superan ciertos límites, se. convierten. en. candidatos. para. comenzar. el. descarte.. Esto. permite. mantener bajo el tamaño de la cola y dar aviso a las aplicaciones que generan tales flujos sobre la creciente probabilidad de gran congestión [12], [24], [25]. Sin embargo, realizar estas mediciones consume recursos del sistema y si se tiene un elevado número de flujos el tiempo de procesamiento. puede. ser. demasiado. alto.. Dado. que. la. filosofía. del. algoritmo RED (Random Early Detection) se basa en algunos principios de descarte temprano, se ampliará la información sobre éste más adelante.. 2.2.3. Descarte. aleatorio. (Random. El. Drop).. descarte. de. la. cabeza. adolece del mismo problema del descarte de cola: se penaliza en igual grado a todos los flujos. Para mejorar este comportamiento, se puede realizar. el. descarte. en. forma. aleatoria.. Consiste. en. seleccionar. aleatoriamente un paquete para descartar cuando la cola se encuentre llena y se requiera espacio para un paquete entrante. Al realizar este procedimiento es más probable tomar un paquete de un flujo que ha ocupado la mayor parte de la cola que descartar uno de una aplicación con baja tasa de arribo. Además, entre más cerca de la cabeza se haga el descarte mejor será el comportamiento de TCP en el control de congestión por las razones antes explicadas [12], [24].. El descarte aleatorio puede disminuir el rendimiento del enrutador ya que la cola tiene que ser reordenada lo cual puede tener serias implicaciones en. la. velocidad. arquitecturas. de. de. procesamiento. enrutadores,. este. de. los. problema. paquetes no. se. para. presenta. algunas con. el. descarte del fin de la cola pues en él es el paquete entrante, que no ha sido puesto en la cola, el que se pierde. 2.2.4. Algoritmo RED.. [1].. RED (Random Early Detection) es un algoritmo que. permite disminuir la cantidad de paquetes descartados, provee un menor 24.

(29) IEM-2002.12-04 retardo y evita el bloqueo de las colas [24] usando el procedimiento que se describe a continuación.. RED estima el tamaño medio de la cola usando un filtro pasabajos EWMA (Exponential Weighted Moving Average). El cálculo del tamaño promedio. de. la cola debe tomar en cuenta el periodo en el cual la cola se encuentra vacía,. esto. se. hace. estimando. el. número. m. de. pequeños. paquetes. que. pudieron haber sido transmitidos por el enrutador durante este periodo libre. Además, este tamaño puede estar en bytes o en número de paquetes [24], [25].. Luego, el promedio obtenido se compara con dos umbrales, el máximo y el mínimo. Si el promedio es menor que el umbral mínimo no se descarta ningún paquete. Si es mayor que el máximo todos los paquetes entrantes son descartados. Si el promedio se encuentra entre los dos umbrales los paquetes se descartan con una probabilidad final pa que es función del tamaño promedio de la cola [24], [25]. La probabilidad pa depende de otra probabilidad pb que se incrementa desde cero hasta un valor máximo maxp cuando el promedio avg varía del umbral mínimo al máximo. Existen dos opciones de relacionar pa con pb. La primera es hacer pa= pb. Y la segunda es relacionar pa con el número de paquetes (count) que han pasado sin descartar desde la última vez, esto hace que pa se vaya incrementando a pesar de que pb permanezca constante, la relación es la siguiente [25]:. pa = Más. pb (1 − count × p b ). adelante. se. mostrarán. las. implicaciones. que. cada. una. de. estas. opciones presenta.. El esquema general del algoritmo completo tomado de [25] se muestra a continuación:. Parámetros fijos: wq: peso de la cola para el EWMA minth: Umbral mínimo de la cola maxth: Umbral máximo de la cola 25.

(30) IEM-2002.12-04 maxp: máximo valor de pb. Variables: avg: Tamaño promedio de la cola q_time: Tiempo en que la cola comienza a estar vacía count: Cantidad de paquetes transmitidos desde el último descartado pa: probabilidad actual de descarte q: tamaño actual de la cola time: tiempo actual f(t): es una función lineal del tiempo. Inicialización: avg= 0 count= -1. Para cada paquete entrante hacer Calcular el nuevo tamaño promedio de la cola avg Si la cola no está vacía avg= (1 - wq)avg + wqq. en otro caso m= f(time-q_time) avg= (1- wq)mavg si minth ≤ avg ≤ maxth incrementar count calcular la probabilidad pa:. p b = max p pa =. avg − minth max th − minth. pb 1 − count × p b. con probabilidad pa: marcar el paquete entrante count= 0. 26.

(31) IEM-2002.12-04 de lo contrario si maxth ≤ avg marcar el paquete entrante count= 0. de lo contrario count= -1. cuando la cola se vacíe: q_time= time. En el algoritmo expuesto, el tamaño de la cola se mide en paquetes. Para reflejar mejor el tamaño podría usarse una medida en bytes para lo cual [25] propone cambiar el cálculo de la probabilidad de descarte así:. p b = max p pb = pb pa =. avg − minth maxth − minth. Tamaño del paquete Tamaño maximo de paquete. pb 1 − count × p b. La razón de usar una probabilidad final de descarte que dependa, además del tamaño medio de la cola, de la cantidad de paquetes que han pasado sin descartarse se encuentra en [25] y es la siguiente:. Si:. p b = max p. avg − minth maxth − minth. pb = pb entonces,. el. número. X. de. paquetes. transmitido. descartados es una variable aleatoria geométrica:. Pr[X = n] = (1 − p b ) n −1 p b El parámetro es pb y su esperanza es E[X]= 1/pb.. 27. entre. dos. paquetes.

(32) IEM-2002.12-04 Esta distribución provoca que los descartes se presenten agrupados y con largos periodos entre ellos lo cual puede resultar en una sincronización global que, como ya se explicó, hará reducir simultáneamente el tamaño de la. ventana. de. transmisión. de. muchos. flujos. a. la. vez. y. bajará. la. utilización del enlace [24], [25].. Si en lugar de pa= pb se usa:. pa =. pb 1 − count × p b. Se tiene que la probabilidad que X sea igual a n es [25]:. Pr[X = n] =. pb 1 − (n − 1) p b. Pr[X = n] = p b Pr[X = n] = 0. n−2. . pb. ∏ 1 − 1 − ip. b  para 1 ≤ n ≤ 1 / p b i =0.   . para n > 1 / p b. Es decir, X es una variable aleatoria uniforme para [1, 2, ..., 1/pb], suponiendo que 1/pb es un entero. La esperanza de X es:. E [X ] =. 1 + 0.5 2 pb. En simulaciones realizadas por los autores de [25] se comprobó que la segunda opción produce descartes distribuidos más uniformemente en el tiempo.. Respecto al parámetro wq, que determina la constante de tiempo del filtro pasabajos EWMA, se pueden obtener ciertos límites entre los cuales se puede escoger su valor. Si wq es demasiado grande, el promedio cambiará muy rápido y no se podrán permitir los transientes ocasionados por las ráfagas de tráfico. El desarrollo hecho en [25] para hallar el límite superior es el siguiente:. Se asume que la cola está inicialmente vacía y que el promedio del tamaño de la cola, avg, es cero. Luego la cola se incrementa de 0 a L por la. 28.

(33) IEM-2002.12-04 llegada de L paquetes. En este momento el tamaño promedio de la cola está dado por: L −i. avg L = ∑ iwq (1 − wq ) L. i =1. avg L = wq (1 − wq ). L.  1 i ∑  i =1  1 − wq L. (1 − w ). L +1. avg L = L + 1 +. q.    . i. −1. wq. Dado un umbral mínimo minth, y si se quiere que las ráfagas de tamaño L puedan ser aceptadas, wq debería escogerse de manera que avgL < minth, es decir [25]:. (1 − w ). L +1. L +1+. q. −1. wq. < minth. Esto coloca un límite por arriba, el límite por abajo se obtiene tomando en cuenta que es necesario que lleguen. −1 ln(1 − wq ) paquetes para que el valor de avg cambie en 63% hacia su nuevo valor. Así, si el valor de wq es muy pequeño avg cambiará muy lentamente y el enrutador congestión.. será. incapaz. Los. autores. de de. detectar [25]. usan. las un. etapas valor. de. iniciales wq=. 0.002. de en. una las. simulaciones y recomiendan que no sea menor a 0.001.. El valor del umbral máximo maxth depende en parte del máximo retardo promedio permitido. El umbral mínimo minth debe escogerse de manera que se permita una adecuada utilización del enlace. La única recomendación que hace [25] respecto a sus valores es que maxth sea al menos dos veces minth. Su valor exacto depende del producto ancho de banda-retardo del enlace y de las características del tráfico.. 29.

(34) IEM-2002.12-04 Respecto. al. parámetro. maxp. se. puede. escoger. en. un. rango. amplio. y. determina la fracción de paquetes que serán descartados cuando el umbral superior sea excedido [25].. La función f(t) que se emplea para los momentos en los cuales la cola se encuentra vacía para hallar el tamaño medio de la cola es la siguiente:. time − q _ time s m avg = (1 − wq ) avg m = f (t ) =. Donde s es el tiempo típico de transmisión para paquetes pequeños. Con ella el promedio se toma como si m paquetes hubiesen llegado en el intervalo[q_time, time] y la cola fuera de tamaño cero [25].. De acuerdo a [24] y [25] las siguientes son las ventajas de usar RED como algoritmo de descarte de paquetes en Internet:. Reducción. del. número. de. paquetes. descartados:. Las. ráfagas. son. parte. característica del tráfico de Internet. Si las colas en los enrutadores permanecen relativamente llenas en estado estacionario, será muy difícil poder acomodar el tráfico que se presente en esta forma. Manteniendo las colas. con. tamaño. reducido. se. mejora. la. probabilidad. de. absorber. las. ráfagas sin descarte masivo de paquetes.. Más bajos retardos promedio: Una segunda consecuencia de mantener tamaños pequeños de colas es que se reduce el retardo experimentado por los flujos. Esto es de gran importancia en aplicaciones interactivas y de tiempo real.. Evita el bloqueo: El descarte que comienza al superar el umbral mínimo permite que casi siempre exista espacio en la cola para recibir un nuevo paquete. Por otro lado, ya que es más probable descartar un paquete de un flujo de alta tasa de arribo se logra un tratamiento más ecuánime para los flujos de bajo ancho de banda.. 30.

(35) IEM-2002.12-04 Evita la sincronización global: Puesto que la rata a la cual se descartan los paquetes depende del nivel de congestión, no se presentan descartes masivos cuando ésta es baja y permite que los flujos tomen medidas para reducir su tasa de salida en diferentes instantes de tiempo.. Evita la congestión: La señalización de congestión incipiente comienza antes que el problema sea tan grave que ya no se pueda recibir ningún paquete. Este aviso oportuno permite reaccionar a TCP para que controle su tamaño de ventana antes de saturar las colas de los enrutadores.. Maximiza la potencia global: En [25] se define potencia como la razón de la tasa de salida al retardo. En las simulaciones hechas y comparadas con el algoritmo de descarte del fin de la cola se pueden apreciar que los tamaños medios de cola son menores en RED para los mismos niveles de utilización. La diferencia es notoria para utilizaciones mayores a 0.8.. Simplicidad: Como se puede ver en el algoritmo de RED, este introduce una sobrecarga computacional reducida.. Escalas de tiempo adecuadas: Después de notificar acerca de la congestión mediante el descarte de un paquete, toma al menos un tiempo igual al viaje en redondo para notar una disminución en la tasa de llegada. Además RED no descarta paquetes como resultado de una congestión temporal pues el. tamaño. promedio. de. la. cola. tiene. una. constante. de. tiempo. de. crecimiento.. 2.3. CLASIFICADOR DE PAQUETES.. Todos los paquetes que llegan al enrutador deben ser colocados dentro del algunas clases definidas. Los paquetes de una misma clase reciben el mismo tratamiento por parte del programador de paquetes. La clasificación puede realizarse de acuerdo al contenido de la cabecera del paquete o a algún. número. adicionado. a. ellos.. Además,. 31. la. clasificación. puede. ser.

(36) IEM-2002.12-04 local; es decir, un mismo paquete puede ser colocado en diferentes clases por diferentes enrutadores [15].. Como se define en [27], un flujo es un grupo de paquetes para el cual se aplica la misma petición de servicio. Los flujos pueden consistir de paquetes pertenecientes a una misma sesión o ser el resultado de tráfico agregado proveniente de diferentes sesiones o aplicaciones. Una sesión es el conjunto de paquetes que poseen la misma dirección fuente y destino, el. mismo. identificador. del. protocolo. de. capa. de. transporte. y,. opcionalmente, el mismo puerto destino en esta capa [30].. De acuerdo a lo que se acaba de describir, la clasificación se basa en la lectura de ciertos campos tanto en las cabeceras de IP, en el nivel de red, como de TCP o UDP en la capa de transporte. En los Anexos B al E se muestran las cabeceras de tales protocolos.. 2.4. CONTROL DE ADMISIÓN.. Es un algoritmo que decide cuándo un enrutador puede aceptar un nuevo flujo garantizando su petición de Calidad de Servicio sin afectar las calidades. de. los. flujos. ya. establecidos.. El. control. de. admisión. es. llamado en cada nodo de la ruta para realizar una decisión local de aceptar o rechazar la petición. Esta función puede incluir el uso de autenticación. y. algún. manejo. de. prioridades. para. asegurar. que. los. recursos son asignados de acuerdo a una política preestablecida [12], [15]. Este control requiere que el enrutador comprenda la demanda que se hace sobre sus recursos.. El control de admisión no debe confundirse con las medidas de control que se realizan sobre cada paquete en los bordes de la red para cerciorarse que. las. terminales. fuentes. no. violan. comprometidas [15].. 32. sus. características. de. tráfico.

(37) IEM-2002.12-04 Los mecanismos de control de admisión pueden dividirse en dos grandes grupos. El primero es control de admisión basado en parámetros al cual pertenecen. los. algoritmos. Combinaciones. de. rata. media. o. pico. (suma. simple), adición de anchos de banda efectivos, ingeniería de la curva de pérdida,. aproximación. desviaciones.. El. basada. segundo. en. grupo. máxima es. el. varianza control. de. y. teoría admisión. de. grandes. basado. en. medidas entre los que se cuentan el algoritmo de suma medida, región de aceptación y ancho de banda equivalente.. Antes de tratar los algoritmos se debe tener en cuenta los siguientes aspectos:. Se. tienen. dos. probabilidades:. la. primera. denominada. probabilidad de cola, P{Q>B}, se refiere a la fracción de tiempo que la cola de un buffer de tamaño infinito excede el tamaño B. La segunda se conoce como probabilidad de pérdida Pl y corresponde a la fracción de bits descartados por una cola de tamaño B [33].. La notación empleada por [33] es la siguiente: C es la capacidad del enlace, B es el tamaño del buffer y Aj[s, t] es la cantidad de tráfico del flujo j que llega en el intervalo [s, t].. 2.4.1. Combinaciones de rata media o pico.. Se asume que la fuente j es. de tipo ON-OFF, es decir, o transmite a su rata pico rpk,j o no transmite. Su rata de transmisión promedio es rav,j y su probabilidad de transmitir es pon,j= rav,j/rpk,j, la distribución de la rata está dada por [33]:. 1 − p on , j  f j ( x) =  p on , j  0. x=0 x = r pk , j en otro caso. El control de admisión se diseña aproximando la pérdida de paquetes a un multiplexor sin buffer, es decir, en el cual se pierden paquetes cuando se supera la capacidad del enlace C. La distribución de la rata del agregado de los flujos corresponde a la convolución de los fj(x) [33].. Esta aproximación debe ser revisada para el caso de los servicios de Carga Controlada y Garantizado donde el tráfico se especifica a través de 33.

(38) IEM-2002.12-04 un TOCKEN_BUCKET_SPEC con una rata promedio r y una rata pico p pero el modelo de la fuente no es, necesariamente, ON-OFF.. 2.4.2. Algoritmo de suma medida.. El algoritmo de suma simple. tiene la. siguiente forma:. v + rα < C Donde rα es el ancho de banda solicitado por el nuevo flujo α, v es la suma de los anchos de banda reservados por los flujos ya establecidos y C es la capacidad del enlace [35].. El algoritmo de la “suma medida” de [35] establece que una nueva reserva es aceptada si se cumple que:. vˆ + rα < ρC Donde ^v es la medida del tráfico existente y ρ es la utilización deseada del enlace, un parámetro configurable que se incluye para tomar en cuenta que la varianza en la longitud de una cola M/M/1 diverge a medida que el sistema se acerca a la utilización completa del enlace [35]. Una vez admitido el nuevo flujo, la carga estimada se incrementa a:. vˆ' = vˆ + rα hasta hacer la nueva estimación.. 34.

(39) IEM-2002.12-04 2.4.3. Otras aproximaciones. Los anteriores algoritmos son las opciones. más sencillas del control de admisión pero existen otras más complejas como Adición de anchos de banda efectivos [21], [33] y [36]; Ingeniería de la “Curva de Pérdida” [33]; Aproximación basada en Máxima Varianza [33]; Refinamiento a anchos de banda efectivos y grandes desviaciones [33]; Región de aceptación [35] y Ancho de Banda Equivalente [35]. Dado lo extenso del tema sólo se dan las referencias para su ampliación por parte del lector.. 2.5. Debido. ESTIMADORES.. a. que. las. técnicas. de. admisión. por. medición. requieren. la. estimación del ancho de banda usado por los flujos actuales, se incluye una parte sobre estimadores, un subcomponente del programador de paquetes [15] que proporciona una idea sobre el uso del canal de cada clase de servicio. A continuación se presentan tres opciones de implementación.. 35.

(40) IEM-2002.12-04 2.5.1. Sobre una ventana de tiempo de. Estimador por Ventana de tiempo.. tamaño T, se toma el mayor valor promedio obtenido en los intervalos de muestreo S. Ese valor se usa como el estimado de la carga de la red durante la siguiente ventana de tiempo T. Valores pequeños de S dan más altos. promedios. y. valores. grandes. de. T. mantienen. por. más. tiempo. la. historia de las estimaciones. Los dos causan que el control de admisión se comporte de una manera más conservadora. Para. mantener un número. estadísticamente significativo de muestras se sugiere que T/S ≥ 10 [35].. 2.5.2. En este caso, se realiza el. Estimador por Puntos de muestreo.. promedio sobre muestras puntuales realizadas cada S segundos. En [35] se usa junto con el mecanismo de región de aceptación.. 2.5.3. Estimador por Promedio exponencial.. Es un filtro pasabajos EWMA. (Exponential Weighted Moving Average) que tiene la siguiente forma [25], [35]:. vˆ' = (1 − w)vˆ + wvˆ S El. promedio. de. la. rata. de. llegada. ^vS. es. medido. con. un. periodo. de. muestreo S [35].. Respecto al parámetro w, que determina la constante de tiempo del filtro pasabajos EWMA, si es demasiado grande, el promedio cambiará muy rápido y no se podrán permitir los transientes ocasionados por las ráfagas de tráfico y si es muy pequeño avg cambiará muy lentamente [25].. En [35] se sugiere que el valor de w sea de 0.002, de esta forma, si la rata cambia abruptamente de 0 a 1 y se mantiene en ese valor, el estimado alcanzará el 75% de su valor final luego de 10 periodos de muestreo.. El valor de S no puede ser muy pequeño pues la carga estimada sería muy sensible a los transientes y un valor muy grande resultaría en promedios más bajos con mayor memoria [35].. 36.

(41) IEM-2002.12-04. 2.6. RESERVA DE RECURSOS.. La. aproximación. básica. adoptada. en. la. arquitectura. de. servicios. integrados es entregar calidad de servicio mediante un proceso de reserva de recursos. Esto se realizaría mediante un protocolo como RSVP y su función es crear y mantener un estado específico para un flujo en los terminales y en los enrutadores a lo largo del camino. Existen varios parámetros. asociados. programación. a. una. deseadas,. reserva. el. perfil. como del. las. flujo,. características. de. los. de. criterios. clasificación y elección del próximo salto y un identificador de reserva. Todo. esto. se. condensa. en. una. especificación. de. flujo. conocida. como. flowspec. El flowspec es transportado por el protocolo de reserva, se pasa al control de admisión para verificar si se puede o no aceptar el nuevo. flujo. y. finalmente. se. usa. para. parametrizar. los. mecanismos. de. clasificación y programación de paquetes [12], [15].. RSVP (ReSerVation Protocol) es un protocolo de establecimiento de reserva de. recursos. diseñado. para. una. Internet. de. Servicios. Integrados.. La. totalidad de este protocolo se encuentra en la RFC 2205, la referencia [30].. RSVP. es. un. protocolo. usado. por. una. estación. terminal. para. solicitar. valores específicos de calidad de servicio en la red para un flujo o flujos particulares. También es usado por los enrutadores para propagar la solicitud a través de los demás elementos de la red a lo largo de la ruta y para establecer y mantener el estado de ésta. Tales solicitudes terminan generalmente en una reserva de recursos en cada nodo de la ruta.. Las. peticiones. de. RSVP. son. para. flujos. sencillos,. es. decir,. que. se. aplican en una sola dirección. Así que RSVP trata la fuente y el destino como dos entidades lógicas separadas aunque en una aplicación las dos pueden ser un mismo terminal final. Este protocolo opera sobre IPv4 e IPv6 y ocupa el lugar del protocolo de transporte aunque sin portar datos como lo hacen los protocolos de enrutamiento. En la siguiente figura, tomada de [30] se puede observar la relación de RSVP con los demás componentes de la arquitectura. 37.

(42) IEM-2002.12-04. Figura 5. RSVP en terminales finales y enrutadores.. La. calidad. de. servicio. para. un. flujo. se. implementa,. como. ya. se. ha. mencionado, por medio de tres mecanismos que se conocen como Control de Tráfico: Clasificador, Programador de Paquetes y Control de Admisión.. Durante el establecimiento de la reserva, una solicitud de Calidad de Servicio de RSVP se pasa a dos módulos de decisión local: el control de admisión y la política de control. El primero de ellos determina si existen. suficientes. recursos. disponibles. en. la. red. para. aceptar. la. petición. El segundo, decide si existe la autorización administrativa que permita aceptarla. La solicitud se procesa sólo si los dos módulos así lo determinan.. RSVP establece un estado “suave”, es decir, que él envía periódicamente mensajes de refresco para mantenerlo a lo largo de la ruta reservada. Si estos mensajes desaparecen, el estado supera cierto tiempo límite y es borrado. Los atributos que tiene RSVP son los siguientes:. -. Hace. reservas. para. aplicaciones. uno. a. uno. y. de. muchos. a. muchos. permitiendo el cambio dinámico de membrecía y de rutas.. - Hace reservas unidireccionales.. - RSVP es orientado al destino, es él quien inicia y mantiene la reserva para el flujo. 38.

(43) IEM-2002.12-04. - RSVP mantiene un estado suave en los enrutadores y terminales finales.. - No es un protocolo de enrutamiento, depende de ellos.. - Transporta y mantiene tráfico de control y parámetros de la política de control que son transparentes para RSVP.. - Provee varios estilos de reserva.. - Provee una operación transparente en aquellos enrutadores que no lo soportan.. - Se puede emplear con IPv4 e IPv6.. En. RSVP. destino,. una el. sesión. está. identificador. definida del. por. protocolo. el de. conjunto la. capa. de. una. dirección. de. transporte. y,. opcionalmente, el puerto destino de la misma capa.. Todo lo relacionado con este protocolo como el modelo de reserva, los estilos de reserva soportados, los tipos de mensajes RSVP y sus formatos, la creación de los estados suaves (PATH y RESV) y los parámetros de tiempo se encuentran completamente explicados en la RFC2205 y se remite al lector a ella para. 39.

(44) IEM-2002.12-04. 3. ENRUTAMIENTO.. Es el enrutamiento el encargado de solucionar el problema de la creación de caminos entre una fuente y un destino. Los requisitos que debe cumplir la. función. de. enrutamiento. son:. Exactitud,. simplicidad,. robustez,. estabilidad, imparcialidad, optimización y eficiencia [1], [2].. Existen varias técnicas de enrutamiento entre las que se encuentran las rutas. estáticas,. la. inundación,. el. enrutamiento. aleatorio. y. el. basan. su. enrutamiento dinámico o adaptativo [1], [2].. En. el. enrutamiento. dinámico. los. algoritmos. existentes. funcionamiento en minimizar el costo de la ruta. El costo asociado a cada enlace puede ser proporcional al valor monetario de transmitir por él, a su tiempo de propagación, a su retardo o inversamente proporcional a su velocidad, a su confiabilidad, etc. También puede ser igual a uno en el caso que el costo sea igual al número de saltos o tomar un valor de acuerdo a alguna preferencia del operador de la red. El costo de toda la ruta se calcula como la suma de todos los costos de los enlaces empleados [1], [2].. Los algoritmos más empleados en la actualidad para comunicación intrasistemas autónomos son RIP (Routing Information Protocol) y OSPF (Open Shortest. Path. First).. El. primero. pertenece. a. un. grupo. de. protocolos. conocidos como Distant Vector y el segundo al grupo de protocolos Link State. Las diferencias entre los dos grupos son las siguientes:. Cada enrutador en Distant Vector usa sólo la información estimada sobre los costos de los links proveniente de sus vecinos, esta información se envía periódicamente y hace uso de una versión distribuida del algoritmo de Bellman-Ford [1], [2].. 40.

(45) IEM-2002.12-04 En Link State, cada enrutador envía la información exacta sobre el costo de los enlaces de sus redes adyacentes. Esta información es recibida por todos los enrutadores de la red mediante inundación pero solamente cuando ocurre algún cambio en la topología. Mediante la información recibida cada. enrutador. crea. una. descripción. de. la. red. y. emplea. cualquier. algoritmo de enrutamiento (usualmente el de Dijkstra) para calcular el próximo salto [1], [2].. 3.1. ALGORITMO DE BELLMAN-FORD.. Se basa en encontrar la ruta más corta entre un nodo fuente con la restricción que cada ruta inicialmente contiene sólo un salto, luego se hallan. las. rutas. más. cortas. que. contiene. máximo. dos. saltos. y. así. sucesivamente, es un algoritmo en etapas.. Formalmente el algoritmo se define como [1]: s= Nodo fuente. w(i,j)= Costo del link del nodo i al j. w(i,i)= 0 y w(i,j)= ∞ si los dos nodos no están directamente conectados. w(i,i)≥ 0 si los dos nodos están conectados directamente.. h= máximo número de enlaces en una ruta en la etapa actual.. Lh(n)= Costo de la ruta de menor costo del nodo s al nodo n con la restricción actual de no más de h enlaces por ruta.. Inicio L0(n)= ∞ para todo n. Lh(s)= 0 para todo h.. Actualización Para cada sucesivo h≥ 0 Para cada n≠s 41.

Referencias

Documento similar