1908 – Arquitectura de Redes
Tema 5. Control de Tráfico y
Control de Congesión
Pedro M. Ruiz
<
[email protected]>
Francisco J. Ros
<
[email protected]>
3º Grado en Ingeniería Informática – 2011/2012
Organización del tema
Introducción al control de congestión en el nivel de
red
Control de admisión y contrato de tráfico
Control de congestión en Frame Relay
Control de congestión en ATM
Control de congestión en Internet
Arquitectura de Redes - Universidad de Murcia
2
Organización del tema
Introducción al control de congestión en el nivel de
red
Control de admisión y contrato de tráfico
Control de congestión en Frame Relay
Control de congestión en ATM
Control de congestión en Internet
Arquitectura de Redes - Universidad de Murcia
3
Congestión
En el tema anterior estudiamos el problema de la
congestión y cómo lo gestiona TCP a nivel de
transporte
En este tema abordamos el mismo problema
desde el punto de vista del nivel de red
– Redes de Circuitos Virtuales
– Redes de Datagramas
Arquitectura de Redes - Universidad de Murcia
4
Mecanismos para tratar la Congestión
Mecanismos de prevención y/o control
– Back pressure (retrocontención)
– Choke packet (paquete de boqueo)
– Señalización implícita
– Señalización explícita
– Policing
Arquitectura de Redes - Universidad de Murcia
5
Control de Congestión
Retrocontención
El nodo congestionado avisa al nodo previo (previous hop)
para que reduzca o detenga el flujo de datos que le envía
El nodo previo puede sufrir entonces congestión porque
debe retener los paquetes en el buffer durante más tiempo
El nodo previo repite entonces el proceso, hasta llegar
salto a salto a la fuente de los datos
Uso
– Poco útil
– Se puede utilizar en redes de circuitos virtuales X.25, pero no se
usa en Frame Relay ni ATM
– No se suele usar en redes de datagramas como TCP/IP
Arquitectura de Redes - Universidad de Murcia
6
Control de Congestión
Paquete de Bloqueo
Paquete de control que envía un nodo congestionado a
una fuente de datos
La fuente puede reducir o detener el flujo
Uso
– Solución poco sofisticada
– Se usa en redes de datagramas TCP/IP: ICMP Source Quench
Nodo congestionado envía un Source Quench a la fuente por cada
datagrama descartado debido a que el buffer está lleno.
Adicionalmente, un nodo puede enviar un Source Quench cuando el
buffer se aproxima a su capacidad máxima, para tratar de anticiparse a
la congestión y evitarla.
La fuente reduce la emisión para el destino indicado en el Source
Quench.
Arquitectura de Redes - Universidad de Murcia
7
Control de Congestión
Señalización Implícita
Se deduce que la red está congestionada cuando
– aumenta el retardo de la misma
– se descartan paquetes
Cuando las fuentes detectan que la red está congestionada
reducen su flujo de datos
Uso
– Se usa en redes de datagramas TCP/IP a nivel de transporte (TCP)
– En redes de circuitos virtuales, el protocolo de Control LAPF de
Frame Relay proporciona una funcionalidad similar
Arquitectura de Redes - Universidad de Murcia
8
Control de Congestión
Señalización Explícita
El nodo de red congestionado avisa a los sistemas finales
mediante marcado de bits de control o con mensajes de
control.
– Hacia atrás (backward): se notifica a la fuente de datos.
– Hacia delante (forward): se notifica al destino de datos, que a su
vez informa a la fuente a través del propio nivel de red o el de
transporte.
Uso
– Se usa en redes de circuitos virtuales (Frame Relay, ATM) y de
datagramas (Internet).
Arquitectura de Redes - Universidad de Murcia
9
Medidas ante Congestión
Reducir o detener el flujo de datos:
– En las fuentes, principalmente.
– En los routers intermedios, ocasionalmente.
Descartar paquetes de forma inteligente
– Existen paquetes “de primera” y “de segunda”, de forma
que se deben descartar primero aquellos que se han
marcado para ello.
– Si se descarta un fragmento/trama/celda de un paquete,
descartar también el resto de fragmentos.
Arquitectura de Redes - Universidad de Murcia
10
Organización del tema
Introducción al control de congestión en el nivel de
red
Control de admisión y contrato de tráfico
Control de congestión en Frame Relay
Control de congestión en ATM
Control de congestión en Internet
Arquitectura de Redes - Universidad de Murcia
11
Control de Admisión
Usuario: Quiero
enviar tráfico de
este tipo y quiero
esta QoS…
Red: ¿Puedo soportar
esto de forma fiable
sin perjudicar otros
contratos?
Solicitud de QoS garantizada
No o Sí, pactar un
contrato de tráfico
Host
Si se supera el control de admisión, la red
y el usuario pactan un contrato de tráfico
Red
Arquitectura de Redes - Universidad de Murcia
12
Contrato de Tráfico
Cliente y proveedor acuerdan un contrato
– SLA (Service Level Agreement)
– Tasa de datos promedio, tráfico a ráfagas
Funciones
– Traffic shaping
Perfil de tráfico, conformado de tráfico
Condiciones máximas de uso de la red que el usuario se compromete a cumplir
con el proveedor del servicio
– Traffic policing
Vigilancia de tráfico
Monitorización que realiza el proveedor para asegurarse de que el usuario
cumple el contrato
Si el usuario incumple el contrato, el proveedor puede
– Descartar el tráfico no conforme con el contrato
– Marcar ese tráfico como descartable (paquetes “de segunda”)
– Pasar normalmente el tráfico a la red, lo que no es habitual
Arquitectura de Redes - Universidad de Murcia
13
Cubo Agujereado
El Algoritmo de Cubo Agujereado (Leaky Bucket) se
utiliza para:
– Traffic shaping: Suavizar las ráfagas según lo acordado en el
contrato.
– Traffic policing: Asegurar que el tráfico introducido es el acordado.
El usuario dispone de:
– Un buffer de capacidad C (tamaño del cubo) que absorbe las
ráfagas de datos producidas por el usuario.
– Un caudal constante ρρρρ(tamaño del agujero del cubo) que indica la
velocidad a la que se inyecta tráfico en la red.
Si el cubo se llena, tráfico excedente es no conforme:
– Se descarta, o
– Se marca como descartable (paquetes “de segunda”).
Arquitectura de Redes - Universidad de Murcia
14
Cubo Agujereado
C (Mb)
ρ(Kb/s)
Arquitectura de Redes - Universidad de Murcia
15
Cubo Agujereado
Ejemplo
Ráfaga de 10 Mb recibida en 50 ms
ρρρρ = 20 Mbps
C = 10 Mb
Instante
Entrado
0 ms
0
10 ms
20 ms
30 ms
40 ms
50 ms
60 ms
70 ms
80 ms
. . .
2 Mb
4 Mb
6 Mb
8 Mb
10 Mb
10 Mb
10 Mb
10 Mb
Salido
En Cubo
0
0
0,2 Mb
1,8 Mb
0,4 Mb
3,6 Mb
0,6 Mb
5,4 Mb
0,8 Mb
7,2 Mb
1,0 Mb
9 Mb
Máximo
1,2 Mb
8,8 Mb
1,4 Mb
8,6 Mb
1,6 Mb
8,4 Mb
500 ms
10 Mb
10 Mb
0 Mb
Arquitectura de Redes - Universidad de Murcia
16
Cubo con Créditos
Leaky bucket es muy rígido
– El tráfico sale a la red a una tasa promedio constante. Si llegan
ráfagas grandes, podría ser conveniente acelerar la salida a la red.
– No se fomenta el “ahorro”, puesto que hosts que transmiten mucho
reciben el mismo servicio que los que transmiten poco.
Algoritmo de Cubo con Créditos (Token Bucket)
– El cubo contiene una capacidad C de tokens (en vez de datos)
– Los tokens se generan a un ritmo constante de ρρρρbps
– Los tokens permiten enviar su equivalente en datos
Arquitectura de Redes - Universidad de Murcia
17
Cubo con Créditos
Token Bucket vs Leaky Bucket
Diferencias con leaky bucket
– Permite ráfagas de hasta el número de tokens acumulados
– Fomenta el ahorro: host inactivo acumula tokens hasta poder enviar
una ráfaga de C bits
– No descarta datos, sólo descarta tokens si el cubo se llena
Semejanza con leaky bucket
– Si no hay tokens acumulados, funciona como un leaky bucket de
tamaño C y caudal ρρρρ
Arquitectura de Redes - Universidad de Murcia
18
Cubo con Créditos
Ráfagas
Uso de token bucket
– Permite ráfagas limitadas a una duración S determinada
– Las ráfagas se envían a la tasa máxima M bps
– Como máximo, una ráfaga de salida tiene C +ρρρρS bits
C bits si el cubo está lleno de tokens
ρρρρS bits por los tokens que se generan mientras se envía la ráfaga
– Como máximo, una ráfaga de salida tiene MS bits
– Por tanto: C +ρρρρS = MS S = C/(M - ρρρρ).
Token bucket permite ráfagas de M bps. Si queremos un
tráfico más uniforme: token bucket que alimenta a un leaky
bucket de mayor caudal
– ρρρρtoken_bucket < ρρρρleaky_bucket < M
Arquitectura de Redes - Universidad de Murcia
19
Duración de Ráfagas
Ejercicio
Ráfaga 1MB en 40 ms = 25 MBps.
M = 200 Mbps = 25 MBps.
Salida de leaky bucket con C=1MB y
ρρρρ=2 MBps.
Salida de token bucket lleno con
C=250KB y ρρρρ=2 MBps.
Salida de token bucket lleno con
C=500KB y ρρρρ=2 MBps.
Salida de token bucket lleno con
C=750KB y ρρρρ=2 MBps.
Salida de token bucket lleno con
C=500KB y ρρρρ=2 MBps seguido de
leaky bucket con ρρρρ=10 MBps.
Arquitectura de Redes - Universidad de Murcia
20
Traffic Shaping y Traffic Policing
Host
Switch
Datos reales
r
e
p
a
h
S
Datos Conformados
Conformado de Tráfico:
Cumplir el contrato
Vigilancia de Tráfico: Vigilar y
obligar su cumplimiento
Leaky bucket y/o token bucket
Limitar tamaño de ráfagas
Limitar retardo y variación del
retardo (jitter)
¿El tráfico recibido cumple el
contrato?
-
- No: se descarta o se marca para ser
Sí: se deja pasar.
descartado.
Arquitectura de Redes - Universidad de Murcia
21
Organización del tema
Introducción al control de congestión en el nivel de
red
Control de admisión y contrato de tráfico
Control de congestión en Frame Relay
Control de congestión en ATM
Control de congestión en Internet
Arquitectura de Redes - Universidad de Murcia
22
Frame Relay
Ideas Generales
Frame Relay es una tecnología de red de conmutación de
paquetes basada en circuitos virtuales (CV)
– Más simple que su predecesor X.25 para soportar mayores tasas
de bits
– Define
Comentarios de: Tema 5. Control de Tráfico y Control de Congesión (0)
No hay comentarios