Control de Congestión Contenidos Disciplina de encolado

Slides:



Advertisements
Presentaciones similares
Capa 4 Capa de Transporte
Advertisements

Análisis de Rendimiento
Preparado con materiales de: Carlos Vicente Servicios de Red/Universidad de Oregon Presentación: Carlos Armas Roundtrip Networks Hervey Allen NSRC.
Preparado con materiales de: Carlos Vicente Servicios de Red/Universidad de Oregon Presentación: Carlos Armas Roundtrip Networks Hervey Allen NSRC.
Capa de Transporte.
Capítulo 7 Multimedia en Redes de Computadores
Capítulo 20: TCP Servicio de transporte confiable
Modelo M | M | 1 Teoria de Colas.
PROTOCOLO X.25 Es un protocolo utilizado principalmente en una WAN, sobre todo, en las redes públicas de transmisión de datos. Funciona por conmutación.
Realizado por: Carlos Fuenmayor Jorge Ordoñez Marco Rojas
Unidad 6 Calidad de Servicio: QOS
Unidad 5 Redes IP Multiservicio: Control de Congestión
Capa de transporte.
Sistema de Comunicación
QUALITY OF SERVICE (QoS)
MODELO TCP/IP.
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
TCP/IP V4 Redes de Computadoras uclv.
Sebastián Barbieri IP - ICMP Comunicación de Datos II Ingeniería en Sistemas – Facultad Cs. Exactas Universidad Nacional de Centro de la Prov. de Bs. As.
Capítulo 6: Tecnología LAN y Topología de redes
Índice Frame Relay surgió como un estándar de facto (1990), producido por un grupo de varios fabricantes de equipos. Nació para cubrir necesidades del.
Se define como el tiempo que transcurre desde que el primer bit de una celda sale del origen hasta que el último bit de la celda pasa por el destino Esta.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Computer Networking: A Top Down Approach Featuring the Internet,
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
7: Multimedia en Redes de Computadores 7-1 Capítulo 7 Multimedia en Redes de Computadores Este material está basado en el texto: Computer Networking: A.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Computer Networking: A Top Down Approach Featuring the Internet,
1 Capítulo 18: El futuro de IP, IPv6 ICD-327: Redes de Computadores Agustín J. González.
Universidad Nacional de Luján - Asignatura Teleinformática y Redes Tema: Capa de Transporte - TCP 1 Capa de Transporte “Ofrece a sus usuarios un sistema.
Control de Congestion. Muchos paquetes en la red se retrasan o pierden provocando que se degrade el desempeño de la red. Congestión.
2.3 CATEGORIAS DE SERVICIO ATM O CAPACIDADES DE TRANSFERENCIA
Diseño de Redes Corporativas Una metodología descendente Capítulo Trece Optimización del Diseño de la Red Copyright 2004 Cisco Press & Priscilla Oppenheimer.
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
1 Control de Congestión Notas complementarias Curso 1 C 2006.
CALIDAD DE Servicio María Alejandra Bautista Sánchez
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
1 Control de Congestión Adaptación de Agustín J. González de la versión por Jennifer Rexford os461/
1 MENSAJES DE CONTROL Y ERROR DE LA PILA TCP/IP Semestre 2 Capítulo 8 Carlos Bran
Capítulo 12: Protocolos y Capas
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Material tomado de: Computer Networking: A Top Down Approach Featuring.
Mecanismos y Herramientas de QoS
Introducción1-1 Capítulo 1: Introducción ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como apoyo.
Adaptación de Agustín J. González de la versión por
Teoría de Trafico en Redes
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
7: Multimedia en Redes de Computadores7-1 Capítulo 7 Multimedia en Redes de Computadores Este material está basado en el texto: Computer Networking: A.
Capa Transporte3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
ELO3091 Redes de Acceso Compartido o Común Contenidos Bus (Ethernet) Token ring (FDDI) Wireless (802.11)
Capa Transporte3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capa Transporte3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Procesos Estocásticos Edgar H Criollo V Mayo 2010
ELO3091 Conmutación y Re-envío Parte 2 Switching y Forwarding Contenido Conmutación de Celdas Segmentación y Re-ensamble.
1 Control de Congestión Claudio Enrique Righetti Teoría de las Comunicaciones Departamento de Computación Facultad de Ciencias Exactas y Naturales UBA.
Control de Congestión Administración de Ventanas (II Parte) Expositor: Mauricio Fierro E.
Ingeniería en Redes y Comunicaciones Diseño de Redes - Capítulo 31 MODO DE TRANSFERENCIA ASÍNCRONO ( ATM ) Orientado a conexión, ´conmutación de paquetes.
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
ElO3091 Conectividad de Redes Internetworking Contenidos Modelo de servicio del mejor esfuerzo (Best Effort Service) Esquema de direccionamiento Global.
Modo de Transferencia Asíncrono ( ATM )
Introducción a la conmutación LAN.
Capítulo 5: Capa Enlace de Datos - I
Capa Transporte3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
ASIGNACION DE RECURSOS
Control de Flujo y de Errores
Capa Transporte3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Perfomance TCP Reno Clase 8-Nov-2005 – Notas Complemetarias.
Redes Convergentes Calidad en el Servicio.
Mecanismos de QoS para administrar y evitar la congestión de la red
Clasificación y marcado de tráfico
Sistemas de Comunicación Magistral Nro. 6 Capa 3: Red La Capa de Red provee principalmente los servicios de envío, enrutamiento (routing) y control de.
Capítulo 3: Capa Transporte: Principios del control de congestión
Transcripción de la presentación:

Control de Congestión Contenidos Disciplina de encolado Reaccionando ante Congestión Abolición de Congestión ELO-322

Problemas 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 perdidas de paquetes. Los dos lados de la moneda Pre-asignar recursos (ancho de banda y espacio de buffers en routers y switches) para abolir congestión Controlar la congestión si ocurre (y cuando ocurra) Objetivo: asignar los recursos de la red en forma “equitativa”; es decir cuando haya problemas compartir sus efectos entre todos los usuarios, en lugar de causar un gran problema a tan solo unos pocos. Destination 1.5-Mbps T1 link Router Source 2 1 100-Mbps FDDI 10-Mbps Ethernet ELO-322

Problemas (cont) Control de flujo v/s control de congestión: el primero previene que los transmisores sobrecarguen a receptores lentos. El segundo evita que los transmisores sobrecarguen el interior de la red. Dos puntos para su implementacion maquinas en los entremos de la red (protocolo de transporte) routers dentro de la red (disciplina de encolado) Modelo de servicio de los niveles inferiores best-effort o mejor esfuerzo (lo asumimos por ahora). Es el servicio de Internet. múltiples calidades de servicio QoS (mas adelante). Por ejemplo ancho de banda (para video streaming bajo) y retardo (para Voz sobre IP VoIP). ELO-322

Marco de trabajo Caso no internet (como ATM, X.25) hay servicios orientados a la conexión. Se reserva ancho de banda y espacio al establecer la conexión. => subutilizacion de recursos. Flujos de datos no orientados a la conexión (Caso Internet) secuencia de paquetes enviados entre el par fuente/destino mantenemos estado transciente en el router Taxonomía Centrado en router versus centrado en los hosts basados en reservación versus los basados en realimentacion basados en ventanas versus los basados en tasa de transferencia Router Source 2 1 3 Destination ELO-322

Criterios de Evaluación La idea es que la red sea utilizada eficientemente y al mismo tiempo en forma equitativa Buen indicador para eficiencia: Potencia =throughput / retardo Optimal load Load Throughput/delay Paquetes que saturan capacidad y colas recen, crece retardo Muy conservativo: Subutilización de recursos ELO-322

Criterios de Evaluación Equidad: los recursos sean compartidos equitativamente. Indicador de equidad de Jain: Dados flujos por un enlace (x1, x2, ...xn) 0  f  1 ELO-322

Disciplinas de Encolado Hay que distinguir entre disciplina para sacar paquetes del buffer (programación) y disciplina de descarte de paquetes Disciplinas de programación: FIFO y Encolado equitativo First-In-First-Out (FIFO) No discrimina entre fuentes de tráfico Problema: no discrimina entre diferentes fuentes de tráfico. Fair Queuing (FQ) (encolado equitativo) explícitamente segrega tráfico basado en los flujos (varias colas) asegura que ningún flujo tomará más de su cuota de capacidad variación: weighted fair queuing (WFQ) (encolado equitativo ponderado) Problema?: paquetes de distinto tamaño Flow 1 Flow 2 Flow 3 Flow 4 Round-robin service ELO-322

Algoritmo FQ Idealmente queremos round-robin bit a bit. Supongamos que un reloj hace tic cada vez que un bit es transmitido Sea Pi el largo del paquete i medido en tics Sea Si el tiempo cuando comenzamos a transmitir el paquete i Sea Fi el tiempo cuando terminamos de transmitir el i Fi = Si + Pi Cuando el router comienza a transmitir el paquete i? Si esto es antes que el router termine de transmitir el paquete i - 1 de este flujo, entonces i es transmitido inmediatamente después del ultimo bit de i - 1 (Fi-1) Si no hay paquetes actuales de este flujo, entonces comenzar a transmitir cuando el paquete llegue (digamos tiempo Ai) Así: Fi = MAX (Fi - 1, Ai) + Pi ELO-322

Algoritmo FQ (cont) Para múltiples flujos calcula Fi para cada paquete que llega en cada flujo Tratar todos los Fi’s como marcas de tiempo el próximo paquete a transmitir es el con marca te tiempo mínima No es perfecto: no puede retrasar el paquete actual Ejemplo Flow 1 Flow 2 (a) (b) Output F = 8 F = 10 F = 5 F = 2 (llegando) (transmitiendo) Llega levemente después que el otro ELO-322

Comentarios sobre FQ Puede ser combinado con varias políticas de descarte. Existen esquemas ponderados. En estos se asigna distinta tasa de salida a cada flujo. Por ejemplo, para acceso internet: red de alumnos 2, profesores 2 y memoristas 1 (2/5, 2/5 y 1/5 del ancho de banda). Se puede considerar también FQ en términos de clases de tráfico (usando campo Type of service de IP, se usan tres bits 0= best effort, 7 mayor prioridad ). ELO-322

Control de Congestión en TCP Idea TCP asume red de “mejor esfuerzo” (routers FIFO o FQ) cada fuente determina por si misma la capacidad de la red. Usa reglamentación implícita ACKs regulan el paso transmisiones. Cuando llega un ACK implica que un paquete salió de la red (self-clocking). Desafíos determinación de la capacidad disponible en primer lugar ajustes a los cambios en la capacidad disponible ELO-322

Incremento aditivo/Decremento multiplicativo Objetivo: ajustarse a los cambios en la capacidad disponible Nueva variable de estado por conexión: CongestionWindow limita cuantos datos la fuente tiene en transito (en la red) MaxWin = MIN(CongestionWindow, AdvertisedWindow) EffWin = MaxWin - (LastByteSent - LastByteAcked) Así TCP no envía lo mas restrictivo entre lo que el destino y la red pueden aceptar Como TCP llega a un buen valor para ContentionWindow ? Idea: aumentar CongestionWindow cuando la congestión se reduce reducir CongestionWindow cuando la congestión aumenta ELO-322

Incremento aditivo/Decremento multiplicativo (cont) Pregunta: como la fuente determina si la red está o no congestionada? Respuesta: a timeout ocurre timeout indica que un paquete se perdió Paquetes son raramente perdidos debido a errores de transmisión (ruido en la líneas etc..) Paquetes perdidos implican congestión ELO-322

Incremento aditivo/Decremento multiplicativo (cont) Source Destination … Algoritmo Incrementar CongestionWindow en un paquete por RTT (incremento lineal) dividir CongestionWindow por dos cada vez que ocurre un timeout (decremento multiplicativo) En práctica: incrementar un poco por cada ACK Increment = (MSS * MSS)/CongestionWindow CongestionWindow += Increment MSS: Maximum Segment Size ELO-322

Incremento aditivo/Decremento multiplicativo (cont) Traza: comportamiento diente de cierra 60 20 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 KB T ime (seconds) 70 30 40 50 10 10.0 ELO-322

Partida lenta (Slow Start) Objetivo: determinar la capacidad disponible, i.e. llegar a la ventana de congestión mas rápidamente que incrementando de a un paquete. Idea: comenzar con CongestionWindow = 1 paquete duplicar CongestionWindow cada RTT (incrementar en 1 paquete por cada ACK) Su nombre se debe a que originalmente TCP enviaba toda la ventana avisada. Source Destination … ELO-322

Partida lenta (cont) Crecimiento exponencial, pero más lenta que toda la ventana avisada de una vez Cuando es usado… recién iniciada la conexión cuando la conexión se cuelga esperando por un timeout. Al reiniciarse tendría toda la ventana libre para enviar como al partir. Traza Problema:al comienzo puede llegar a perder hasta la mitad de una CongestionWindow en datos (duplica la ventana justo antes que un paquete se pierde en el camino) 60 20 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 KB 70 30 40 50 10 congestionWindow Paquete perdido ELO-322

Retransmisiones rápidas y Recuperaciones Rápidas Problema: granularidad gruesa del timeout de TCP conduce a periodos de no actividad Retransmisiones rápidas: usa ACKs duplicados para gatillar retransmisión Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Retransmit packet 3 ACK 1 ACK 2 ACK 6 Sender Receiver ELO-322

Resultados Recuperación rápida cuando usamos retransmisiones rápidas 60 20 1.0 2.0 3.0 4.0 5.0 6.0 7.0 KB 70 30 40 50 10 Recuperación rápida cuando usamos retransmisiones rápidas saltar la fase de partida lenta ir directamente a la mitad de la ultima CongestionWindow (ssthresh) exitosa ELO-322

Abolición de la la Congestión Estrategia de TCP Controlar congestión una vez que esta ocurre Repetidamente incrementar la carga en un intento de encontrar el punto al cual la congestión ocurre y luego retroceder Estrategia Alternativa predecir cuando la congestión está a punto de ocurrir reducir la tasa antes que empiecen a descartarse paquetes llamamos a esto abolición de la congestión en lugar de control de congestión Dos posibilidades Centradas en router: DECbit y RED Gateways Centradas en host: TCP Vegas ELO-322

DECbit Agreda un bit de congestión a cada encabezado de paquete Router monitorea largo promedio de cola sobre último ciclo ocupado/libre y el ciclo ocupado actual pone en uno el bit de congestión si largo promedio de cola > 1 intenta balancear throughout contra retardo (<1 => poco retardo, router idle. >1 => cola permanente y mayor throughput) Queue length Current time T ime cycle Previous A veraging interval ELO-322

Hosts extremos Destino envía eco del bit hacia la fuente Fuente registra cuantos paquetes resultaron con el bit marcado Si menos que 50% de la última ventana tenía bit marcado incrementa CongestionWindow en un paquete Si 50% o más de la última ventana tenía bit marcado decrementa CongestionWindow a 0.875 del su valor ELO-322

Detección aleatoria temprana (Random Early Detection, RED) Notificación es implícita solo descarta el paquete (en TCP habrá timeout) podría hacerse explícita marcando el paquete Descarte aleatorio temprano en lugar de esperar por que se llene la cola, descarta cada paquete de entrada con alguna probabilidad de descarte cada vez que la cola excede algún nivel de descarte ELO-322

Detalles de RED Calcula largo de cola promedio AvgLen = (1 - Weight) * AvgLen + Weight * SampleLen 0 < Weight < 1 (usualmente 0.002) SampleLen es le largo de la cola cada vez que un paquete llega MaxThreshold MinThreshold A vgLen ELO-322

Detalles RED (cont) Dos umbrales de largo de cola if AvgLen <= MinThreshold then encole el paquete if MinThreshold < AvgLen < MaxThreshold then calcule probabilidad P descarte paquete entrante con probabilidad P if ManThreshold <= AvgLen then descartar paquete entrante ELO-322

Detalles RED (cont) Computo de probabilidad P TempP = MaxP * (AvgLen - MinThreshold)/ (MaxThreshold - MinThreshold) P = TempP/(1 - count * TempP) Count cuneta el número de paquetes encolados mientras el AvgLen está entre los dos umbrales Curva de probabilidad de descarte P(drop) 1.0 MaxP MinThresh MaxThresh A vgLen ELO-322

Sintonía en RED Probabilidad de descartar un flujo particular de paquetes es aproximadamente proporcional a parte del ancho de banda que el flujo está obteniendo MaxP es típicamente fijada en 0.02, es decir cuando el tamaño promedio de la cola es la mitad entre los dos umbrales, el gateway descarta +o- uno de cada 50 paquetes. Si el tráfico es rafagoso, entonces MinThreshold debería ser suficientemente grande para permitir que la utilización del enlace sea mantenida a un nivel aceptablemente alto 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 a dos veces MinThreshold es razonable para el tráfico de hoy en Internet ELO-322

TCP Vegas Idea: la fuente observa signos de aumentos de colas y congestión; e.g., Crecimiento de RTT tasa de envío se aplana 60 20 0.5 1.0 1.5 4.0 4.5 6.5 8.0 KB Time (seconds) 70 30 40 50 10 2.0 2.5 3.0 3.5 5.0 5.5 6.0 7.0 7.5 8.5 900 300 100 Sending KBps 1100 500 700 Queue size in router 5 Congestion Window Throuhgput observado Espacio de Buffer ELO-322

Algoritmo Sea BaseRTT el mínimo de todos los RTTs medidos (comúnmente el RTT de los primeros paquetes) Si no hay overflow de la conexión, entonces ExpectRate = CongestionWindow/BaseRTT La fuente calcula la tasa de envío (ActualRate) por cada RTT La fuente compara ActualRate con ExpectRate Diff = ExpectedRate - ActualRate /* >= 0 */ if Diff < a /* 1 paquete */ incrementar CongestionWindow linealmente else if Diff > b /* 3 paquete*/ decrementar CongestionWindow linealmente else dejar CongestionWindow sin cambio ELO-322

Algoritmo (cont) Congestion Window Parametros 70 60 50 40 30 20 10 KB T ime (seconds) 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 CAM KBps 240 200 160 120 80 Congestion Window Throughput esperado (rojo) y medido (negro) (sombra: región entre b y a) Parametros a = 1 paquete b = 3 paquetes Retransmisión aún más rápida mantener marcas de tiempo de granularidad fina para cada paquete chequear timeout del primer ACK duplicado (no el tercero) ELO-322