Control de Congesti ´
on y Calidad de Servicio
1Congesti ´
on y Calidad de Servicio
Universidal del Valle, Cali
Febrero, 2004
John Sanabria
School of Computer Science Engineering Universidad del Valle, Cali, Colombia
Control de Congesti ´
on y Calidad de Servicio
21 – Algoritmos de Control de Congesti ´on . . . 3
1.1 – Introducci ´on . . . 3
1.2 – Principios generales del control de congesti ´on . . . 5
1.3 – Pol´ıticas para la prevenci ´on de congesti ´on . . . 8
1.4 – Control de congesti ´on en circuitos virtuales . . . 9
1.5 – Control de congesti ´on en redes de datagramas . . . 11
1.6 – Deshaciendose de la carga . . . 14
1.7 – Jitter . . . 16
2 – Calidad del servicio . . . 17
Control de Congesti ´
on y Calidad de Servicio
31 – Algoritmos de Control de Congesti ´
on
1.1 – Introducci ´
on
☞
Congesti ´on se presenta cuando hay una demanda excesiva de un canal de comunicaci ´onMaximum carrying capacity of subnet Packets delivered Perfect Desirable Congested Packets sent
Control de Congesti ´
on y Calidad de Servicio
4☞
Causas de la congesti ´on➳
Los paquetes de diferentes canales de entrada pueden congestionar un solo canal de salida→
buffer sin capacidad➳
Si hay un buffer con capacidad de almacenar una gran cantidad de datos, estos paquetes se pueden volver innecesarios en su almacenamiento➳
Procesadores lentos en el despacho de paquetes causan congesti ´on➳
L´ıneas de transmisi ´on lentas causan congesti ´on☞
Diferencia entre control de congesti ´on y control de flujo☞
Algunos algoritmos de control de congesti ´on operan sobre el emisor de los datos→
un problema de control de flujo?Control de Congesti ´
on y Calidad de Servicio
51.2 – Principios generales del control de congesti ´
on
☞
Dos tipos de soluciones➳
Circuito abierto se estima de antemano situaciones donde no habr ´an errores➳
Circuito cerrado trata de recuperarse al presentarse el problema:➠
monitoreo constante del ambiente➠
informa de la situaci ´on a quien pueda dar una soluci ´onControl de Congesti ´
on y Calidad de Servicio
6☞
M ´etricas utilizadas para el monitoreo➳
Cantidad de paquetes descartados➳
Paquetes que generan retransmisi ´on➳
Espera promedio de los paquetes☞
Anunciar a los generadores de tr ´afico➳
Informar expl´ıcitamente por la generaci ´on de tr ´afico➳
Reservar campos en los datagramas para informar sobre el tr ´aficoControl de Congesti ´
on y Calidad de Servicio
7☞
Los algoritmos se dividen entonces en:➳
Ciclo abierto➠
Al lado del emisor➠
Al lado del receptor➳
Ciclo cerrado➠
Expl´ıcitosControl de Congesti ´
on y Calidad de Servicio
81.3 – Pol´
ıticas para la prevenci´
on de congesti ´
on
Control de Congesti ´
on y Calidad de Servicio
91.4 – Control de congesti ´
on en circuitos virtuales
☞
Control de admisi ´on al generarse congesti ´on se evita la creaci ´on de m ´as circuitos. Usado en el sistema telef ´onico.☞
No usar enrutadores congestionados en rutas de transmisi ´on de datosA Congestion Virtual circuit Congestion B A B (a) (b)
Control de Congesti ´
on y Calidad de Servicio
10☞
Solicitar recursos por adelantado al establecer un circuito➳
Espacio en las tablas de enrutaje➳
Ancho de banda➳
Espacio en las colas de transmisi ´onControl de Congesti ´
on y Calidad de Servicio
111.5 – Control de congesti ´
on en redes de datagramas
☞
Usar una variableu
para determinar que tan usado ha sido un canalu
new=
au
old+ (1
−
a
)
f
☞
Cuandou
pasa un umbral ese enlace entra en un estado de precauci ´onControl de Congesti ´
on y Calidad de Servicio
12Bit de Precauci ´
on
☞
El enrutador que ve´ıa el problema lo anotaba en el encabezado del paquete que viajaba.☞
La informaci ´on del encabezado se enviaba al emisor en el mensaje de ACK☞
El problema pod´ıa aparecere en m ´as de un enrutadorPaquetes de Choke
☞
Quien ve la congesti ´on:➳
env´ıa expl´ıcitamente un paquete al emisor.➳
cambia el encabezado del datagrama enviado de modo que otro enrutador que vea congesti ´on no envie otro paquete de chokeControl de Congesti ´
on y Calidad de Servicio
13Paquetes de Choke salto por salto
(a) (b) Choke Choke B C A D E F Choke Reduced flow Flow is still at maximum rate Flow is reduced B C A D E F Heavy flow Choke Choke Choke Reduced flow
Figura 4: (a) Paquete de choque que solo afecta al fuente (b) Paquete de choque que va afectando en cada salto
Control de Congesti ´
on y Calidad de Servicio
141.6 – Deshaciendose de la carga
☞
Cuando ning ´un mecanismo parece funcionar el enrutador comienza deshacerse de los paquetes☞
Se puede deshacer de manera aleatoria☞
Se puede apoyar en informaci ´on de los datos transferidos➳
Transferencia de archivos son ´utiles datos viejos (Vino)➳
Datos multimediales mejor son los datos recientes (Leche)➳
Algunos algoritmos de compresi ´on de video env´ıan el marco base y luego datos de cambios sobre el marco base➳
Transmitir documentos, es mejor perder algo de informaci ´on sobre las im ´agenes que sobre el textoControl de Congesti ´
on y Calidad de Servicio
15Detecci ´
on temprana aleatoria
☞
El principio es evitar que se genere la congesti ´on☞
Una l´ınea con exceso de paquetes seg ´un el promedio determinar ´a eliminar de manera aleatoria paquetes☞
De este modo impl´ıcito se asume que los paquetes se pierden por congesti ´on.Control de Congesti ´
on y Calidad de Servicio
161.7 – Jitter
☞
Este concepto resulta relevante en los datos multimediales☞
Se busca disminuir las diferencias entre bloques de datos, mantener un flujo aprox. constante☞
Paquetes adelantados en su tiempo, ser ´an aguantados por los enrutadores☞
Paquetes atrasados seg ´un el tiempo de entrega ser ´an enviados con premura☞
Algunas aplicaciones descargan toda la informaci ´on multimedial y luego la pasan a la aplicaci ´on. NoControl de Congesti ´
on y Calidad de Servicio
172 – Calidad del servicio
☞
Surgen nuevas aplicaciones y nuevos requerimientos en cuanto a transmisi ´on de datosControl de Congesti ´
on y Calidad de Servicio
18☞
ATM clasifica sus tipos de transmisi ´on en:➳
Flujo constante de bits - telefon´ıa➳
Rata de bits en tiempo real variable - videoconferencia comprimidaControl de Congesti ´
on y Calidad de Servicio
192.1 – T´
ecnicas para alcanzar una buena calidad del servicio
☞
Sobre provisionarse se asigna una excesiva cantidad de recursos a para llevar a cabo la comunicaci ´on☞
Buffering Util cuando se puede almacenar la informaci ´on multimedia antes de pasarla a la aplicaci ´on.´ Puede tener problemas de jittering0 5 1 2 3 4 5 6 7 8 10 Time (sec) Time in buffer 15 20 Gap in playback Packet removed from buffer
1 2 3 4 5 6 7 8
Packet arrives at buffer
1 2 3 4 5 6 7 8 Packet departs source
Control de Congesti ´
on y Calidad de Servicio
20☞
Traffic Shapping el emisor acuerda con la subred un nivel de tranmisi ´on de datos→
acuerdo a nivel de servicio➳
El emisor informa que su patr ´on de transmisi ´on tendr ´a estas caracter´ısticasControl de Congesti ´
on y Calidad de Servicio
21El algoritmo de Leaky Bucket
Faucet
Leaky bucket
Water drips out of the hole at a constant rate
Host computer Packet The bucket holds packets Unregulated flow Regulated flow Network Interface containing a leaky bucket Water (b) (a)
Control de Congesti ´
on y Calidad de Servicio
22Reservaci ´
on de Recursos
☞
Tres tipos de recursos se hace necesario asignar para garantizar una ruta entre dos extremos➳
Ancho de banda➳
Espacio en los buffersControl de Congesti ´
on y Calidad de Servicio
23Control de Admisi ´
on
☞
Un enrutador antes de decidir si acepta una conexi ´on necesita m ´as informaci ´on que el ancho de banda requerido☞
Informaci ´on que puede proporcionar una aplicaci ´on para determinar la posibilidad de ruta por parte del enrutadorControl de Congesti ´
on y Calidad de Servicio
24Enrutamiento proporcional
☞
Tratar de usar todas las posibles rutas, proporcional a su capacidadPlanificaci´
on de paquetes
☞
Evitar que emisores veloces acaparen todo el procesamiento de paquetes de un enrutador☞
Cada enlace de salida posee una cola de paquetes☞
Cuando una cola se encuentra desocupada se escoge un paquete de alguna cola ocupada y se trata de enviar el paquete por dicha cola☞
Paquetes grandes pueden tomar un canalControl de Congesti ´
on y Calidad de Servicio
25 O (a) (b) 1 A 6 11 15 19 20 2 B 7 12 16 3 C 8 4 D 9 13 17 5 C Packet B D E A 8 Finishing time 16 17 18 20 E 10 14 18Figura 7: (a) Enrutador con 5 paquetes encolados por la l´ınea