Control de Congestion
Click here to load reader
Transcript of Control de Congestion
1
Control de Congestión
Adaptación de Agustín J. González de la versión por
Jennifer Rexford
http://www.cs.princeton.edu/courses/archive/spring06/cos461/
2
Objetivos de esta sección
• Principios del control de congestión– Entender que la congestión ocurre– Adaptación para aliviar la congestión
• Control de Congestión en TCP– Aumento aditivo, reducción multiplicativa– Partida lenta y re-inicios con partida lenta
• Mecanismos de TCP relacionados– Algoritmo de Nagle y acuses de recibo retardados
• Manejo Activo de colas– Random Early Detection (RED)– Explicit Congestion Notification (ECN)
3
Asignación de recursos vs. Control de congestión
• Asignación de Recursos– Cómo los nodos logran recursos demandados en forma
competitiva– Ej., anchos de banda y espacio en buffers– Cómo decir no, y a quien
• Control de Congestión– Cómo los nodos previenen o responden a condiciones
de sobrecarga– Ej., persuadir host que pare de enviar o baje su tasa– Típicamente procura la justicia (i.e., compartir el dolor)
4
Control de Flujo vs. Control de Congestión• Control de Flujo
– Impedir que un transmisor rápido sobrecargue a un receptor lento
• Control de Congestión– Impedir que un conjunto de transmisores sobrecargue la
red
• Conceptos diferentes, pero similares en mecanismo– Control de flujo en TCP: Ventana de recepción– Control de Congestión en TCP: Ventana de Congestión– Ventana TCP: min{ventana de recepción, ventana de
congestión}
5
Tres características claves de Internet
• Conmutación de paquetes– Una fuente dada puede tener suficiente capacidad para enviar
paquetes de datos– … pero los paquetes pueden encontrar un enlace sobrecargado
• Flujo sin conexión– No hay noción de conexión dentro de la red– … y no hay reservación de recursos de la red– Aún así, podemos ver paquetes relacionados como un grupo
(“flujo”)– … e.g., paquetes en la misma transferencia TCP
• Servicio Best-effort– No hay garantía de entrega de paquetes o retardo dado– No hay tratamiento preferencial de ciertos paquetes
6
Congestión es inevitable
• Dos paquetes llegan al mismo tiempo– El nodo puede transmitir sólo uno– … y ya sea almacena o descarta el otro
• Si muchos paquetes llegan en un corto periodo de tiempo– El nodo no puede qtender el trafico de llegada– … y el buffer eventualmente es superado
7
Colapso de Congestión
• Definición: Aumento en la carga de la red resulta en caída de trabajo útil hecho
• Muchas causas posibles–Retransmisiones espurias de paquetes aun en
viaje Colapso de congestión clásico Solución: mejores timers y control de congestión TCP
–Paquetes no entregados Paquetes consumen recursos y son descartados en
alguna parte de la red Solución: Control de congestión para todo tipo de
tráfico
8
Qué queremos, realmente?
• Alto throughput– Throughput: mide el desempeño de un sistema– Ej., número de bits/s de datos que llegan a destino
• Bajo retardo– Retardo: tiempo requerido para entregar un paquete o
mensaje– Ej., número de ms para entregar un paquete
• Estas dos métricas son algunas veces contrapuestas– Ej., supongamos que transmitimos al máximo del enlace– … entonces, throughput será alto, pero retardo también
9
Carga, retardo, y “potencia”
AveragePacket delay
Load
Comportamiento típico de un sistema
de colas con llegadas aleatorias:
Power
Load
Una métrica simple sobre qué tan bien se desempeña la red:
LoadPower
Delay
“optimalload”
Meta: Maximizar “potencia”
10
Justicia
• La utilización efectiva no es la única meta– También queremos ser justos para varios flujos– … pero qué significa esto?
• Definición Simple: igual porción del ancho de banda– N flujos que cada uno obtiene 1/N del BW?– Pero, Y si los flujos atraviesan caminos diferentes?
11
Continuará …