Algoritmos de Control de Congestión

12,302 views

Published on

Presentación sobre los algoritmos de Control de Congestión en la Capa de Red

Published in: Education
1 Comment
2 Likes
Statistics
Notes
  • muy buena presentación
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
12,302
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
Downloads
368
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Algoritmos de Control de Congestión

  1. 1. PERALTA DIEGO ROMÁN CARLOS CAPA DE RED
  2. 2. Algoritmos de control de Congestión <ul><li>1. Principios generales </li></ul><ul><li>2. Políticas de prevención de congestión </li></ul><ul><li>3. Formación del tráfico </li></ul><ul><li>a. Algoritmo leaky bucket </li></ul><ul><li>b. Algoritmo token bucket </li></ul><ul><li>4. Especificaciones de flujo </li></ul><ul><li>5. Control de congestión en subredes de circuitos </li></ul><ul><li>virtuales </li></ul><ul><li>6. Paquetes de obstrucción </li></ul><ul><li>7. Pérdida de carga </li></ul><ul><li>8. Control de jitter </li></ul><ul><li>9. Control de congestión para multicasting </li></ul>
  3. 3. Introducción <ul><li>Cuando hay demasiados paquetes en la subred, la eficiencia se degrada – congestión. </li></ul><ul><li>Congestión – causada por varios factores. </li></ul><ul><li>Memoria insuficiente, si aumenta es contraproducente. </li></ul><ul><li>Procesadores lentos </li></ul><ul><li>¿ Cuál es la diferencia entre control de congestión y de </li></ul><ul><li>flujo? </li></ul><ul><li>Ejemplo: </li></ul><ul><li>Computadora y líneas rápidas hacia una computadora lenta – control de flujo </li></ul><ul><li>Varias computadoras a varias computadoras – control de congestión. </li></ul>
  4. 4. Principios Generales <ul><li>Se pueden ver algunos problemas de redes desde el punto de vista de la teoría de control, lo cual lleva a dividir las soluciones en dos grupos: </li></ul><ul><li>Ciclo abierto. Se intenta evitar la congestión con un buen diseño. Usa algoritmos para decidir cuándo aceptar más tráfico, cuándo descartar paquetes, etc. Algoritmos no utilizan el estado actual de la red. </li></ul><ul><li>Ciclo cerrado. Monitorean el sistema para ubicar la congestión, pasan la información a los lugares donde se puede utilizar y ajustan la operación de los sistemas para corregir el problema. </li></ul>
  5. 5. Políticas de Prevención
  6. 6. Formato del Tráfico <ul><li>Un método de ciclo abierto es ayudar a manejar la congestión al forzar a que los paquetes se transmitan a una razón más predecible. Esto se llama formación de tráfico. </li></ul><ul><li>Regula la tasa promedio de ráfagas de transmisión de datos. Reduce la congestión. </li></ul><ul><li>Monitorear el flujo de tráfico – traffic policing. </li></ul>
  7. 7. Algoritmo de cubeta con goteo <ul><li>Cada host conectado a la red por una cola interna finita. </li></ul><ul><li>Es un sistema de colas en un solo servidor con tiempo de servicio constante. </li></ul><ul><li>Paquetes del mismo tamaño – un paquete por tic de reloj. </li></ul><ul><li>Paquetes de tamaño variable – un número fijo de bytes por tic. </li></ul><ul><li>Algoritmo fácil de implementar. </li></ul>
  8. 8. Ejemplo Algoritmo ACG <ul><li>Imagina que una computadora produce datos a 25 MB/s (200 Mbps) y la red corre a esa velocidad. Sin embargo los ruteadores solo pueden manejar esta velocidad en intervalos cortos y su rendimiento mejor es de 2 MB/s. </li></ul><ul><li>Los datos llegan en ráfagas de 1 MB, una ráfaga de 40 ms cada segundo. </li></ul><ul><li>Para reducir la tasa promedio a 2 MB/s, se podría usar este algoritmo con r=2 MB/s y una capacidad de 1 MB. </li></ul><ul><li>Esto significa que las ráfagas de hasta 1 MB se pueden manipular sin pérdida de datos, y que tales ráfagas están dispersas cada 500 ms, no importando qué tan rápido lleguen. </li></ul>
  9. 9. Ejemplo Algoritmo ACG
  10. 10. Algoritmo de Cubeta con Tokens <ul><li>Permite variaciones de velocidad en la salida. </li></ul><ul><li>La “cubeta” contiene tokens en lugar de paquetes. </li></ul><ul><li>Genera tokens a razón de 1 token/DT s. </li></ul><ul><li>Para transmitir un paquete destruye un token de la cubeta (cola). </li></ul><ul><li>El algoritmo permite ahorrar permisos de envío hasta un tamaño máximo de la cubeta de n. Eso significa que todas las ráfagas de hasta n paquetes se pueden enviar a la vez. </li></ul><ul><li>No se descartan paquetes cuando se llena la “cubeta” (cola), sino tokens. </li></ul><ul><li>Variación: Un token representa el derecho a enviar no un paquete , sino k bytes. Un paquete se transmite si cubre k bytes. </li></ul><ul><li>Se usan para tráfico leve entre ruteadores así como para regular la salida de un host (al igual que el de cubeta con goteras). </li></ul>
  11. 11. Algoritmo de Cubeta con Tokens
  12. 12. Ejemplo de Algoritmo ACT <ul><li>Tenemos un “token bucket” con capacidad de 250 KB. Los tokens llegan a una razón que permita salidas a 2 MB/s. Asumiendo que el token bucket está lleno cuando una ráfaga de1 MB llega, la cubeta puede vaciarse a su máxima capacidad 25 MB/s en 11 ms. Entonces, regresa a 2 MB/s hasta que se vacía completamente. </li></ul>
  13. 13. Especificaciones de Flujo <ul><li>La especificación del patrón de tráfico se llama especificación de flujo . </li></ul><ul><li>Consiste de una estructura de datos que describe el patrón del tráfico a enviar y la calidad de servicio deseada por las aplicaciones. </li></ul><ul><li>Se aplica a paquetes enviados sobre un circuito virtual o a una secuencia de datagramas enviadas entre una fuente y un (o más) destino (s). </li></ul>
  14. 14. Formato de Especificaciones de Flujo <ul><li>Antes de que la conexión se establezca o se inicie el envío de una secuencia de datagramas, la fuente da las especificaciones a la subred para aprobación. La subred puede aceptar o rechazar o dar una contrapropuesta. </li></ul>
  15. 15. Control de Congestión en Subredes de Circuitos Virtuales <ul><li>Aproximaciones para controlar la congestión dinámicamente en subredes de circuitos virtuales: </li></ul><ul><li>Control de admisión – una vez que se ha identificado un problema de congestión, no se establecen más circuitos virtuales hasta que se haya solucionado. </li></ul><ul><li>Alternativa: Permitir nuevos circuitos virtuales pero enrutarlos cuidadosamente alrededor de las áreas congestionadas. </li></ul>
  16. 16. Control de Congestión en Subredes de Circuitos Virtuales
  17. 17. Paquetes de Obstrucción <ul><li>Un método que se usa para subredes de circuitos virtuales y datagramas. </li></ul><ul><li>Cada ruteador puede monitorear la utilización de sus líneas de salida y otros recursos. </li></ul><ul><li>U new=A_Uold+(1-a)f </li></ul><ul><li>Cuando u sobrepasa un umbral, la línea de salida entra enun estado de precaución. El ruteador envía un “choke packet” al host fuente y el paquete se etiqueta (un bit en el encabezado se “enciende”). </li></ul><ul><li>Cuando el host obtiene el paquete de obstrucción, debe reducir x% el tráfico al destino específico. </li></ul>
  18. 18. Colas Justas <ul><li>El problema con usar paquetes de obstrucción es que la acción tomada por los host es voluntaria. </li></ul><ul><li>Cada línea de salida en un ruteador tiene un conjunto de colas, una para cada línea de entrada. El ruteador transmite un paquete por cola en turno. Si un host manda demasiado paquetes, no afecta a otros. </li></ul><ul><li>Una modificación del algoritmo es tomar en cuenta los tamaños de los paquetes. Round robin que opera byte-por-byte. </li></ul><ul><li>Se permiten prioridades distintas para las colas. </li></ul>
  19. 19. Ejemplo: Colas Justas <ul><li>Weighted fair queueing.- Da prioridades diferentes a las colas. Se usa ampliamente. </li></ul>
  20. 20. Paquetes de Obstrucción Salto por Salto <ul><li>A altas velocidades y en grandes distancias, un problema con los paquetes de obstrucción es el tiempo por su propagación. </li></ul><ul><li>En este tiempo el host puede mandar muchos paquetes. </li></ul><ul><li>Una solución es los paquetes de obstrucción de salto-porsalto. </li></ul><ul><li>En esta cada ruteador intermedio tiene que reducir el flujo inmediatamente, que alivia la situación del último ruteador. </li></ul><ul><li>Este esquema alivia la congestión antes de que se pueda desarrollar, pero al costo de requerir más buffers. </li></ul>
  21. 21. Descartar la carga Load Shedding <ul><li>Ultima opción: Deshacerse de la carga. </li></ul><ul><li>Se pueden descartar aleatoriamente o: </li></ul><ul><ul><li>Tirar paquetes viejos es mejor: transferencia de archivos </li></ul></ul><ul><ul><li>Tirar paquetes nuevos es mejor: multimedia </li></ul></ul><ul><li>Una política para descartar paquetes: indicar en ellos la prioridad para la aplicación. </li></ul><ul><ul><li>El incentivo: paquetes con menor prioridad tienen un costo menor de transmisión. </li></ul></ul><ul><ul><li>Requiere un campo más en el encabezado del paquete (1 bit) </li></ul></ul><ul><li>Otra opción: permitir a los host exceder los límites acordados cuando no haya mucho tráfico, dando oprioridad baja a los paquetes excedidos. </li></ul>
  22. 22. Control de Jitter <ul><li>En ciertas aplicaciones (transmisión de audio o video) importa que el tiempo de transmisión sea constante. </li></ul><ul><li>El jitter se puede limitar calculando el tiempo de entrega esperado para cada salto a lo largo de la ruta. </li></ul><ul><li>Cada ruteador verifica si un paquete va adelantado o atrasado. Indica en él el tiempo y lo envía. </li></ul><ul><li>Paquetes adelantados se detienen y paquetes atrasados se envían lo antes posible. En ambos casos se reduce la cantidad de jitter. </li></ul>
  23. 23. Control de Congestión para Multicasting <ul><li>RSVP – Resource reSerVation Protocol </li></ul><ul><li>Permite a múltiples emisores transmitir a múltiples grupos de receptores, receptores individuales cambian canales libremente, y optimiza el uso de ancho de banda a la vez que elimina congestión. </li></ul><ul><li>Trabaja en conjunto con los algoritmos de enrutado. </li></ul>
  24. 24. RSVP – Protocolo de Reservación de Recursos <ul><li>En su forma más simple, el protocolo usa enrutado multicast usando spanning trees. </li></ul><ul><li>Se le asigna una dirección al grupo. Para enviar a un grupo, el emisor pone la dirección del grupo en los paquetes. </li></ul><ul><li>El algoritmo de enrutado no es parte del RSVP. </li></ul>
  25. 25. RSVP – Protocolo de Reservación de Recursos
  26. 26. RSVP – Protocolo de Reservación de Recursos

×