7 - Congestion PDF
7 - Congestion PDF
7 - Congestion PDF
Departamento de Computación
Facultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires
1 Argentina
Congestion Avoidance and Control
Van Jacobson
Lawrence Berkeley Laboratory
Michael J. Karels
University of California at Berkeley
November, 1988
Congestión
Introducción
http://users.utcluj.ro/~dtl/TACCFD/Proiect/congavoid.pdf
Bibliografía Básica
Computer Networks, A Systems Approach (Fifth Edition) (The Morgan
Kaufmann Series in Networking) Larry L. Peterson , Bruce S. Davie
2011
Capitulo 6 Control de Congestión (CC) y Alocación de Recursos – págs. 479-
499 y TCP CC págs. 499-530
Definiciones de Congestión
Soluciones
4
Introducción
Parte 1
5
Multiplexación Estadística
7
Administración de Buffers
Agregación Diferentes LAN a WAN
9
Soluciones ?
Sobredimensionamiento (overprovisioning)
Diseño cuidadoso
Control proactivo: Evitar (control preventivo)
Decrementar la carga ;-)
Cómo “convencemos” a un usuario desconocido que utilice
menos la red ?
Ancho de banda asignado por un proveedor X a una empresa Y
Premiar el “uso parejo” y/o castigar el “uso excesivo”
Consecuencia: Algunas páginas web nos “distraen” con ofertas
inverosímiles
10
Congestión desde distintas perspectivas
Operador de Red
“For a CMTS (Cable Modem Termination System) port to enter the Near
Congestion State, traffic flowing to or from that CMTS port must
exceed a specified level (the Port Utilization Threshold)
for a specific period of time (the Port Utilization Duration)
The Port Utilization Threshold on a CMTS port is measured as
a % of the total aggregate upstream or downstream bandwidth for the
particular port during the relevant timeframe.
The Port Utilization Duration on the CMTS is measured in minutes“
Usuario
“A network is said to be congested from the perspective of a user if the
service quality noticed by the user decreases because of an increase
in network load”
11
Análisis de Congestión
Caso de un Buffer
12
Teoría de Colas: Sistema M/M/1
Es un sistema cola-servidor en el cual el número de
llegadas de paquetes es un proceso de Poisson y el
tiempo de servicio de paquetes es un proceso
Exponencial.
Hay un único servidor
La cola tiene capacidad infinita
sistema
N 1
Paquetes
μ
T
13
Teoría de Colas: Notación
N : cantidad de paquetes en el sistema (paquetes)
T : tiempo de estadía de cada paquete en sistema (seg)
: tasa de entrada de paquetes a procesar en el sistema (paquetes/seg)
μ : tasa de servicio de paquetes procesados por el sistema (paquetes/seg)
1/ : tiempo medio entre llegadas (seg/paquetes)
1/μ : tiempo medio de servicio (seg/paquetes)
ρ = /μ : Intensidad del sistema
Si y solo si ρ < 1 se puede alcanzar un estado estacionario
E(N )
1
E ( N ) .E (T )
E(N ) 1
E (T )
(1 ). (1 ). .( )
15
Delay promedio M/M/1
45,00
40,00
Caso para =1/2
35,00
30,00
25,00
E(T)
20,00
15,00
10,00
5,00
0,00
0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 0,60 0,65 0,70 0,75 0,80 0,85 0,90 0,95
rho
ρ = /μ : Intensidad del sistema
16
Delay medio en M/M/m m=1,2,3,9,16
m
m=1
S
T
m=16
ρ = /μ
Intensidad del
Zona de Riesgo sistema
17
Fundamentos
18
Fundamentos del control de la congestión
Congestión:
Informalmente: “demasiadas fuentes utilizando una red compartida
enviando demasiados datos demasiado rápido como para poder ofrecer
una buena calidad de servicio”
Síntomas típicos:
Pérdida de paquetes (los buffers se saturan en routers o switches)
Retardos crecientes (por las colas en los buffers)
El control de congestión ataca un problema muy diferente al control de
flujo.
19
Consideraciones sobre los nodos
De no expresarse lo contrario asumimos:
Flow Control:
controla tráfico punto-a-punto entre un receptor y un
transmisor particulares
21
Métricas
Varias métricas posibles para detectar congestión:
% de paquetes descartados por falta de espacio en buffer
longitud media de una cola (buffer)
# de paquetes que generan time out y son retransmitidos
average packet delay
standard deviation of packet delay
22
Políticas que influyen en la congestión
23
Consideraciones
Control de Congestión: Es el esfuerzo hecho por los nodos de la red
para prevenir o responder a sobrecargas de la red que conducen a
pérdidas no controladas de paquetes.
Los dos lados de la moneda:
Pre-asignar recursos (ancho de banda y espacio de buffers en
routers y switches) para evitar la congestión → Subutilización
Liberar recursos y controlar la congestión sólo si ocurre (y cuando
ocurra) → A quien perjudicar ?
Router Destination
1.5-Mbps T1 link
Source
2
25
Criterios de Evaluación (1)
29
Criterios de Evaluación (2)
Equidad: Se busca que los recursos sean compartidos
equitativamente “en las buenas y en las malas”
Indicador de equidad de Jain:
Dados n flujos por un enlace con throughputs (x1,x2, ... ,xn)
x
n 2
f ( x , x ,..., x ) i 1 i
1/n f 1
n i 1 xi
1 2 n n 2
30
Performance en función de la carga (1)
Throughput Tiempo de
Respuesta
Carga Carga
31
Performance en función de la carga (2)
A medida que la carga ofrecida a la red aumenta, el throughput
(tasa de datos que alcanzan el destino) se incrementa
linealmente.
Sin embargo, a medida que la carga alcanza la capacidad de la red, los
buffers en los routers comienzan a llenarse.
Esto causa el incremento del tiempo de respuesta (el tiempo que
tardan los datos en atravesar la red entre el origen y destino) y
disminuye el throughput.
32
Congestión y Calidad de Servicio
Sería muy fácil dar Calidad de Servicio (QoS) si las redes nunca
se congestionaran. Para ello habría que sobredimensionar todos
los enlaces, cosa no siempre posible o deseable.
Para dar QoS con congestión es preciso tener mecanismos que
permitan dar un trato diferenciado cierto tráfico preferencial y
cumplir los SLA (Service Level Agreement).
El SLA suele ser estático y definido en el momento de
negociación del contrato con el proveedor de servicio o ISP
(Internet Service Provider).
33
Agenda (Parte 2)
Control de Congestión
Taxonomía Lazo Cerrado-Abierto
RED
FRED
Políticas de tráfico
35
Antecedentes [1]
36 [1] de la presentación de Van Jacobson. “Notes on Using RED for queue management and
Congestion Avoidance“ Junio 1998
Teoría de Control
-
Sensores
Set variables
Points medidas
37
Teoría de Control
referencia error
error
error
referencia
38
Taxonomía
De acuerdo a la taxonomía de Yang y Reddy (1995),
los algoritmos de control de congestión se pueden
clasificar en lazo abierto y lazo cerrado.
39
Taxonomía [YR95]
Control Congestión
40
Congestion Control and Avoidance
41
Feedback Implícito vs. Explicito
“Implicit feedback Congestion Control”
42
Feedback Implícito vs. Explicito (cont.)
“Explicit feedback Congestion Control“
• Componentes de red (ej., router, SW) proveen indicación
explícita de la congestión a las fuentes
Usa “packet marking”
• Ej. DECbit, ECN, ATM ABR CC, etc.
• Provee información más precisa a las fuentes
• Más complicado de implementar
Se necesita cambiar la fuente y el algoritmo de red
Se necesita cooperación entre fuentes y componentes
de red
43
Feedback Implícito vs. Explicito (cont.)
“Explicit feedback Congestion Control“
• IP ECN: Explicit Congestion Notification
• IP header: Type of Service (ToS) Byte
44
RED
45
RED (Random Early Detection)
El algoritmo RED se tiene por objetivo evitar la
congestión y de mantener el tamaño medio de las colas
en niveles bajos.
Entonces: Método Implícito de Congestion Avoidance
RED no necesita que los routers mantengan ninguna
información del estado de las conexiones.
RED fue diseñado para trabajar en colaboración con
mecanismos de control de congestión en la capa de
transporte.
Es una técnica de las conocidas como AQM (Active
Queue Management). A veces denominado AQM-RED.
46
RED (Random Early Detection)
47
Algoritmo RED
Calcula largo promedio de cola
AvgLen = (1 - Weight) * AvgLen + Weight * SampleLen
0 < Weight < 1
SampleLen es el tamaño instantáneo de la cola, actualizado cada
vez que llega/sale nuevo paquete
AvgLen es una versión suavizada de SampleLen
SampleLen
AvgLen Promedio
48 o “aproximación fluida”
Algoritmo RED
49
Algoritmo RED
P
1
MaxP
MinThresh MaxThresh
51 AvgLen
Ajustes de RED
Probabilidad de descartar un paquete de un flujo particular de
paquetes es aproximadamente proporcional a la porción del
ancho de banda que el flujo está obteniendo.
Si el tráfico es “rafagoso”
MinThresh debería ser suficientemente grande para permitir que la
utilización del enlace sea mantenida a un nivel aceptablemente alto
La diferencia entre los dos umbrales debería ser más grande que el
incremento típico en el largo de cola promedio calculado en un RTT
Fijar MaxThreshold = 2 * MinThreshold es un criterio tomado como
razonable para Internet.
52
FRED
53
Flow Random Early Detection (FRED)
Una de las características más importantes RED es el hecho de que
proporciona imparcialidad descartando los paquetes de una
conexión según la parte que ocupa del ancho de banda.
Sin embargo, RED tiene otros problemas de imparcialidad (fairness).
RED no es justo (fair) con las conexiones de baja velocidad.
Cuando se alcanza el umbral máximo, RED descarta los paquetes
aleatoriamente. Puede darse que el paquete descartado
pertenezca a un flujo (conexión) que esté utilizando menos
recursos de lo que le corresponde.
Cuando la longitud media de la cola está en un punto fijo dentro
de los dos umbrales, todos los paquetes entrantes se descartan
con la misma probabilidad.
54
Flow Random Early Detection (FRED)
Control de usuarios acaparadores (bandwidth hogs)
Aunque se hace cumplir el umbral máximo, si el usuario no
disminuye su tasa, RED no tiene ningún mecanismo para proteger
a otros usuarios.
Los usuarios egoístas podrían terminar ocupando la totalidad del
ancho de banda
55
FRED
FRED soluciona estos problemas de imparcialidad manteniendo
umbrales y ocupaciones del buffer para cada flujo activo
(información por conexión).
56
Impacto del CC en TCP
63
Control Congestión en TCP
Idea básica: Por cada RTT hacer:
• Si se recibe un ACK : W ← W+1/W Additive Increase
• Si se pierde un ACK: W ← W/2 Multiplicative Decrease
Cliente Servidor
La pendiente
Window size no es constante
Wmax en el
crecimiento de W.
Wmax Por qué ?
2
t
64
Performance de TCP[1]
Hallar una expresión para “steady state throughput“ como una
función del
RTT
Probabilidad p de pérdida de paquetes
Asumimos
Cada paquete descartado con probabilidad p
RTT estable
Suficiente ancho de banda BW en el enlace
Señal de congestión periódica (1/p paquetes OK seguidos por 1
Descartado)
66 [1] M. Mathis, J. Semke, J. Mahdavi, T. Ott, “The Macroscopic Behavior of the TCP Congestion Avoidance Algorithm”, ACM
Computer Communication Review, Volume: 27, Issue: 3, July 1997
Descripción Macroscópica del
comportamiento de TCP
Window Obtenemos pendiente
constante en el
crecimiento de W
W
W
Time (RTT)
67
Análisis de un Ciclo (I)
Window
W/2
Time (RTT)
W/2 W 3W/2
2 2
W 1 W 3 2
pkts TX/ciclo area W
2 2 2 8
68
Análisis de un Ciclo (III)
3 2
W
pkts TX/ciclo
T Throughput 8 pkts/seg
tiempo/ciclo W
RTT .
2
3 2
MSS . W
data TX/ciclo 8
BW bits/seg
tiempo/ciclo W
RTT .
2
69
Análisis de un Ciclo (II)
Dado packet losses al final del ciclo:
E k .1 p
k 1 1 “Se transmiten 1/p
.p paquetes antes de
k 1 p la primer pérdida”
1 3 2 8
W W
p 8 3p
70
Performance TCP
1
p 1
Throughput(p) T(p)
1 8 2
RTT RTT p
2 3p 3
MSS 1 MSS C
p
BW
1 8 RTT p
RTT
2 3p
71
Performance TCP
MSS C
BW
RTT p
3
C
2
Estrictamente en el RFC 2581 se define el Sender Maximum Segment Size (SMSS): es el maximo tamaño que el emisor de un segmento puede enviar
en un momento dado. El valor puede estar acotado en el MTU (maxima unidad de transmisión) del enlace de salida desde el host, el resultado del Path
MTU Discovery Algorithm [RFC1191], RMSS u otros factores. Este tamaño no incluye los encabezados TCP e IP.
72
Temas Abiertos
73
Algunos temas recientes
Es bien conocida la pobre performance de TCP en
ambientes wireless, viene a solucionar TCP/NC este
problema ?
Es durante el 2011 que Jim Gettys de Alcatel-Lucent, que
acuño el termino Bufferbloat, comenzó a publicar
diversas artículos que plantean que la “lentitud de
Internet “ es a causa del Bufferbloat [3][4] además de
presentaciones en el IETF [11], en Google Tech Talk [21]
o en el congreso de operadores de redes de USA [24].
Lo define formalmente como “la existencia de buffers
excesivamente grandes en los sistemas, en particular en
los relacionados con las redes y comunicaciones” [5].
74
Ejercicios
75
Ejercicio (1)
76
Ejercicio (2)
Algunos autores utilizan la relación que denominan Potencia P=
Throughput/delay como una métrica para medir la eficiencia de un
esquema de alocación de recursos.
Para un flujo de paquetes que ingresa a un router de una red de
conmutación de paquetes, la variación de la potencia en función de
la carga (paquetes/seg.) es la siguiente[1] :
Optimal
Load
load
[1] En realidad la teoría subyacente en la definición de potencia esta basada en la teoría de colas.
En este caso particular un router con una entrada y una salida, se modela como una cola M/M/1
(notación de Kendall) 1 : un servidor, M es que tanto la distribución de la llegada de paquetes
como el tiempo de servicio son Markovianos, esto es, exponenciales. Luego, el modelo es una
cola FIFO con buffer ilimitado y un servidor que despacha n paquetes/seg cuyos tiempos entre
paquetes obedece a una distribución exponencial (sin memoria).
77
Ejercicio(2 cont.)
a) ¿En que zona de la función
Potencia se presenta el
fenómeno de congestión , que
significa la congestión en redes
de conmutación de paquetes ?
b) Cuales son dos soluciones
posibles para evitar entrar en
congestión ?
78
Ejercicio (3): Efecto “Traffic Phase” ( Jacobson –Floyd
1991)
80
Procesos de Poisson de intensidad
La probabilidad de que lleguen n paquetes en un
intervalo de longitud t es:
A(t ) ~ Poisson (t ), t 0
( t ) n e t
An P( A(t ) n) ,n 0
n!
81
Retardo de una COLA – M/M/1
Media de retardo
R = ancho de banda del enlace de cola
(bps).
L = longitud del paquete (bits).
a = media de tasa de llegada del
paquete.
82
Referencias
[1] Nagle, J. On packet switches with infinite storage. Network Working Group RFC 970 (December 1985)
http://www.ietf.org/rfc/rfc970.txt
[2] Nagle,J: On packet Switches with Infinite Storage. IEEE vol Com-35. April 1987
[3] J. Gettys, Bufferbloat: Dark Buffers in the Internet, IEEE Internet Computer, May/June 2011.
[4] Jim Gettys, Kathleen Nichols Bufferbloat: Dark Buffers in the Internet Queue ACM November 29,
2011http://queue.acm.org/detail.cfm?id=2071893
[5] http://gettys.wordpress.com/what-is-bufferbloat-anyway/
[6 ] M. Dischinger, A. Haeberlen, K. P. Gummadi, and S. Saroiu. Characterizing residential broadband networks.
Internet Measurement Conference (IMC), San Diego, CA (October 24-27).
[7] Kreibich, C., et al. 2010. Netalyzr: illuminating the edge network. Internet Measurement Conference (IMC),
Melbourne, Australia (November 1-3). conferences.sigcomm.org/imc/2010/papers/p246.pdf
[8]J. Martin, J. Westall, J. Finkelstein, G. Hart, T. Shaw, G. White, R. Woundy, "Cable Modem Buffer Management
in DOCSIS Networks", Proceedings of the IEEE Sarnoff 2010 Symposium, (Princeton University, Princeton NJ, April
2010).
[9] Cablelabs, SP-MULPIv3.0: MAC and Upper Layer Protocols Interface Specification, Feb 10, 2011.
[10] Cablelabs, SP-MULPIv3.0: MAC and Upper Layer Protocols Interface Specification, June , 2011.
http://www.cablelabs.com/specifications/CM-SP-MULPIv3.0-I16-110623.pdf
[11]J. Gettys, Bufferbloat: Dark Buffers in the Internet, http://mirrors.bufferbloat.net/Talks/PragueIETF/IETFBloat7.pdf,
April 2011.
[12] M. Claypool, R. Kinicki, M. Li, J. Nichols, “Inferring Queue Sizes in Access Networks by Active Measurement”,
Proceedings of the 5th Passive and Active Network Measurement Workshop, April, 2004.
[13] Cablelabs, CM-GL-Buffer-V01-110915: Cable Modem Buffer Control
http://www.cablelabs.com/specifications/CM-GL-Buffer-V01-110915.pdf
83[14] L. Kleinrock, "Models for Computer Networks," in Conference Record, IEEE International Conference on
Communications, Boulder, Colorado, June 1969, p. 21/9–21/16. [PDF]
Referencias
[15] Has AT&T Wireless data congestion been self-inflicted?http://blogs.broughturner.com/2009/10/is-att-wireless-data-
congestion-selfinflicted.html
[16] Reed, D.P. 2009. What's wrong with this picture; thread athttp://mailman.postel.org/pipermail/end2end-interest/2009-
September/007742.html.
[17] Lista correo end-to end http://www.postel.org/e2e.htm
[18] V. Jacobson and M. Karels, Congestion Avoidance and Control, Proceedings of SIGCOMM '88, August 1988
[19] Allman, M., Paxson, V., Stevens, W.: TCP Congestion Control. RFC 2581 April 1999.
[20]llman, M., Paxson, V., and Blanton, E., "TCP Congestion Control", RFC 5681, September
2009, http://tools.ietf.org/html/rfc5681.txt
[21] Bufferbloat: Dark Buffers in the Internet. Google Tech Talk April 26, 2011
http://www.youtube.com/watch?v=qbIozKVz73g
[22] Sally Floyd, Van Jacobson Random early detection gateways for congestion avoidance IEEE/ACM Transactions on
Networking (TON), August 1993
[23] V. Jacobson, "Notes on Using RED for Queue Management and Congestion Avoidance", talk at
NANOG http://www.nanog.org/mtg-9806/agen0698.html
[24] Bufferbloat: Dark Buffers in the Internet. posteado agosto del 2011 en el IETF
[25] James Gettys, Bufferbloat: "Dark" Buffers in the Internet. Presentation Date: June 14, 2011, 11:30 AM - 12:00 PM
NANOG52
[26] Jim Gettys, Kathleen Nichols Bufferbloat: "Dark" Buffers in the Internet Communications of the ACM January 2012
Vol. 55 No. 1, Pages 57-65
[27] Comcast Powerboost press release, Jun 2006.
http://www.comcast.com/About/PressRelease/PressReleaseDetail.ashx?PRID=65
[28] Comcast, “Method and packet-level device for traffic regulation in a data network,” Patent 7289447, Oct 30, 2007.
[29] Mitigations and Solutions of Bufferbloat in Home Routers and Operating Systems
https://gettys.wordpress.com/2010/12/13/mitigations-and-solutions-of-bufferbloat-in-home-routers-and-operating-systems/
84