Redes de Ordenadores Control de congestión en TCP. Mikel Izal Azcárate

Documentos relacionados
TCP y control de congestión en Internet

TCP Control de Congestión Teoría de la Comunicaciones. 05 de Junio de 2012

Tarea N 2 5, 27, 28, 33 para corrección.

Transporte fiable Ventana deslizante y go-back-n

Redes de Computadores Más sobre TCP. Área de Ingeniería Telemática Dpto. Automática y Computación

TEMA 3. Conceptos Avanzados del Protocolo TCP

Tema 3: El protocolo TCP

Planificación y Administración de Redes: El nivel de Transporte. Jesús Moreno León Raúl Ruiz Padilla Septiembre 2010

El nivel de transporte

ÍNDICE TEMÁTICO I. ARQUITECTURA TCP/IP

Examen Parcial II de Sistemas Telemáticos I 2 o Ingeniería de Telecomunicación

Gestión de cola. Area de Ingeniería Telemática Grado en Ingeniería en Tecnologías de Telecomunicación, 3º

Redes de Computadoras Septiembre de Teoría y problemas (75 %).

Redes de Computadores - Problemas y cuestiones

Análisis de Rendimiento. Carlos Vicente Servicios de Red Universidad de Oregon

Control de Congestión n en TCP

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.

Gestión de cola. Area de Ingeniería Telemática Grado en Ingeniería en Tecnologías de Telecomunicación, 3º

Capa de Transporte, TCP y UDP

Transporte en Internet

Jorge De Nova Segundo

Datos de usuario. Tipos de paquetes de la arquitectura TCP/IP. Telnet, FTP, , etc Aplicación. TCP, UDP Transporte. IP, ICMP, IGMP Red

REDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.

Protocolo de Ventana Deslizante 2008

Bloque III: El nivel de transporte. Tema 6: Conexiones TCP

Un método para el ajuste de la velocidad de transmisiones cortas de datos en redes TCP/IP: Un enfoque por simulación

Control de flujo en TCP

Informe Proyecto: Protocolo ARQ- Híbrido

ALB-W sp WHITE PAPER. White Paper. Medida del throughput con transmisiones sobre TCP. Septiembre Medida del throughput sobre TCP

Protocolos Arquitectura TCP/IP

Laboratorio 3 Capa de Transporte (TCP)

Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE INGENIERÍA ELÉCTRICA

Análisis Experimental de la Transmisión de Datos

Nuevos protocolos MPTCP. Área de Ingeniería Telemática Dpto. Automática y Computación

Redes de computadores. Práctica 3

Performance de redes de Telecomunicaciones. Objetivo del curso

Redes de Computadoras Junio de Teoría y problemas (75 %)

SISTEMAS OPERATIVOS Y TCP/IP. - El Modelo de Referencia TCP/IP -

Redes de Comunicaciones. Ejercicios de clase Tema 3

2 El protocolo TCP 2.1 INTRODUCCIÓN

Unidad II Modelos de Referencias TCP/IP

Redes y Comunicaciones

Introducción a redes Ing. Aníbal Coto Cortés

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

ARQUITECTURA DE REDES Laboratorio

Última modificación: 1 de julio de

Introducción. 100 Mbps

16/03/2008. Taller de Redes. Héctor Abarca A. Introducción a las LAN Ethernet/ Profesor: Héctor Abarca A.

TEMA 11 CONMUTACIÓN DE PAQUETES

Administración de Redes Locales EPET Nº3

Hub, switch y Routers son nombres dados a dispositivos de hardware que posibilitan la conexión de computadores a redes.

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

Introducción a las redes de ordenadores y protocolos de comunicación. Ordenador que no depende de otro para su funcionamiento.

Modelo OSI y TCP/IP. Teleprocesamiento Ing. Zoila Marquez.

Módulo 03 La Capa de Transporte (Pt. 1)

Capa de Transporte. Capa de Transporte. Objetivos: Comprender los principios que fundamentan los servicios de transporte:

FUNDAMENTOS DE TELECOMUNICACIONES MULTIPLEXACIÓN. Marco Tulio Cerón López

SWITCHE. SILVIO RADA RODRÍGUEZ Ingeniero de Sistemas

TCP/IP e Internet. Eytan Modiano MIT. Eytan Modiano. Slide 1

Temas 3 y /16.37

Redes de Computadoras Junio de Teoría y problemas

Redes de Computadores - Soluciones

Arquitectura de Redes y Servicios de Telecomunicación

Conceptos básicos de redes TCP/IP. LANs

Qué equilibra la importancia del tráfico y sus características con el fin de administrar los datos? Estrategia QoS

Examen de Redes - Primer Parcial - ETSIA 26 de Enero de 2006

PRÁCTICA 4. A continuación se resumen algunos de los parámetros más interesantes del comando:

TEMA 7 PROTOCOLOS DE TRANSPORTE. TCP Y UDP.

Examen 21 de febrero de 2011 (ref: eirc1103.odt)

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 5: Subcapa de acceso al medio

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

Curso de Redes Computadores 1 Tema 6_5 Métricas de desempeño en redes de computadores

Comunicación de Datos I Profesora: Anaylen López Sección IC631 MODELO OSI

Seminario de Redes TRABAJO PRACTICO Nº 3. UDP y TCP. deimos_azul@yahoo.com Padrón: gonzalojosa@hotmail.

Capítulo 3: Capa de Transporte

Sistemas de Interconexión entre Redes LAN

6.071 Prácticas de laboratorio 3 Transistores

Arquitectura de Redes y Servicios de Telecomunicación (ARST) Cuestiones y Problemas Propuestos

Tema 10: Transmisión de datos

5 Compresión de Cabeceras de Van Jacobson

Asociación Gaditana de Jubilados Docentes Informática Básica Cap 5. Curso de informática básica: Como descargar e instalar programas

Arquitectura de Redes

Introducción. Framing. Comunicaciones punto a punto

INGENIERÍA INFORMÁTICA LABORATORIO DE REDES

UNIDAD MODELO OSI/ISO

Ayudantía N 5 Redes De Datos CIT Profesor: Cristian Tala

TCP sobre enlaces wireless Problemas y algunas posibles soluciones existentes

PROFInet. Índice. Tecnologías de Control

Universidad Carlos III de Madrid Dpto. de Ingeniería Telemática. Índice

Avance de Documentación del proyecto de redes inalámbricas

Nivel de transporte: UDP

TCP: Carácterísticas Establecimiento y finalización de conexiones

Bloque III Redes de Computadores

ALGORITMOS DE CONTROL, DE CONGESTIÓN. REDES DE COMPUTADORAS 1. Manuel de Jesús López Martínez.

Tipos de Filtros Introducción

Brevísima presentación sobre protocolos

Redes de Computadoras 3 de Diciembre de Examen de teoría

Redes de Computadoras 9 de Septiembre de Teoría (25 %)

Transcripción:

Redes de Ordenadores Control de congestión en TCP Mikel Izal Azcárate (mikel.izal@unavarra.es)

En clases anteriores TCP y UDP TCP > Transporte fiable > Control de flujo > Manejo de conexiones El problema de la congestión en redes Hoy Control de congestión en TCP 7 noviembre 2005 Transporte-7 2 /20

TCP: Control de congestión Usa control de congestión extremo a extremo > La ventana deslizante de transporte fiable tenia un limite máximo impuesto por el control de flujo igual a la ventana anunciada por el receptor > Se utiliza otra ventana de congestión que limita los datos que se pueden enviar a la red dependiendo de la percepción que tiene TCP de la congestión > La ventana anunciada depende del receptor > La ventana de congestión se reduce ante la congestión limitando la tasa a la que enviamos v = CongWin RT T Ventana = min { ventana anunciada, ventana de congestión } confirmados enviados se pueden enviar no se pueden enviar 7 noviembre 2005 Transporte-7 3 /20

TCP: Control de congestión Cómo percibe TCP la congestión? > Perdida de paquetes = congestión + Evento de timeout + 3 ACKs duplicados (Fast retransmit) Ajustando la ventana de congestión > Congestion avoidance (evitación de congestion) > Slow start > Fast recovery > Timeout MSS: maximun segment size > Aun cuando TCP utiliza secuencias y ACKs por bytes individuales cuando tiene mucho que enviar utiliza un máximo tamaño de segmento, que llamaremos MSS > En la siguiente clase veremos como se elige el MSS 7 noviembre 2005 Transporte-7 4 /20

TCP: Congestion avoidance Tras detectar congestión TCP entra en una fase de evitación de congestión (congestion avoidance) > Si la ventana de congestión tiene un valor de N MSS > En congestion avoidance se abre 1 MSS cada vez que enviamos con exito toda la ventana > La ventana sube linealmente CongWin=4 MSS Buscando encontrar el punto de equilibrio sin aumentar demasiado la congestión Enviado por RTT CongWin=5 MSS tiempo 7 noviembre 2005 Transporte-7 5 /20

TCP: Congestion avoidance Si en esta situación se produce una pérdida > De un sólo paquete, lo que provoca 3 ACKs duplicados. Se interpreta como congestión ligera > La ventana se reduce inmediatamente a la mitad A la vez que se hace fast retrasmit del paquete perdido Esto se conoce como fast recovery (originalmente se reducía a 1MSS) > Buscando reducir notablemente la tasa CongWin=8 MSS de transmisión y colaborar en que la congestión no crezca > Si se siguen recibiendo ACKs la ventana sigue creciendo linealmente Enviado por RTT CongWin=4 MSS tiempo 7 noviembre 2005 Transporte-7 6 /20

TCP: Congestion avoidance Se puede ver que la tasa se va ajustando alrededor del punto de congestión > si hay muchos errores la tasa baja y se tarda más en recuperarla > si hay pocos errores el crecimiento lineal es capaz de llegar mas a mas velocidad > Este mecanismo se suele llamar AIMD Additive Increase Multiplicative Decrease Y cómo empieza la conexión?? > Con CongWin = 1 MSS Enviado por RTT 1 pérdida 1 pérdida 1 pérdida tiempo 7 noviembre 2005 Transporte-7 7 /20

TCP: Slow Start En el principio CongWin=1 MSS pero... > Crecer linealmente es demasiado precavido, no tenemos motivos para pensar que hay congestión > Se utiliza un enfoque más agresivo, crecimiento exponencial > Slow Start: cada vez que transmitimos una ventana con éxito la ventana se dobla CongWin =1 MSS CongWin =2 MSS CongWin =4 MSS CongWin =8 MSS tiempo 7 noviembre 2005 Transporte-7 8 /20

TCP: Slow Start El slow start se mantiene hasta que se produce una pérdida (o bien se alcanza la ventan de control de flujo) haciendo entrar en congestion avoidance > Si la perdida se detecta por ACKs duplicados... + Fast retransmit + fast recovery CongWin = CongWin/2 Y si se produce un timeout? slow start congestion avoidance tiempo 7 noviembre 2005 Transporte-7 9 /20

TCP: pérdidas y congestión Pérdida detectada por ACK duplicados > Congestión ligera : hay perdidas pero siguen llegando paquetes > Acciones: + Retransmitir el paquete perdido (Fast retransmit) + Bajar la ventana de congestion para reducir la tasa + Pasar a congestion avoidance (si no estabas) Pérdida detectada por timeout > Congestión grave. Probablemente hemos perdido toda la ventana. Si el timeout ha caducado llevamos un rato parados sin transmitir. Tasa =0 > Acciones: + Poner la ventana de congestión a 1MSS + Pasar a slow start + Recordar a cuanto estaba la ventana de congestión al producirse el error (poner la variable threshold=congwin/2) 7 noviembre 2005 Transporte-7 10 /20

TCP: slow start Despues de una perdida por timeout > el slow start no espera a otra pérdida para entrar en congestion avoidance. > Pasa a congestion avoidance en cuanto llega al humbral de la mitad de la ventana de congestion al producirse el timeout slow start pérdidas y timeout congestion avoidance tiempo 7 noviembre 2005 Transporte-7 11 /20

TCP: control de congestión En resumen Cuando CongWin está por debajo de Threshold. Slow start. La ventana crece exponencialmente Cuando CongWin está por encima de Threshold. Congestion avoidance. La ventana crece linealmente Cuando ocurre un triple ACK duplicado. Threshold se pone a CongWin/2 y CongWin a Threshold Cuando ocurre un timeout. Threshold se pone a CongWin/2 y CongWin se pone a 1MSS 7 noviembre 2005 Transporte-7 12 /20

TCP: control de congestión Eventos en el emisor Evento Estado Acción Notas Recibe ACK para datos no confirmados Slow Start (SS) CongWin = CongWin + MSS, If (CongWin > Threshold) set state to Congestion Avoidance CongWin se dobla por cada RTT Recibe ACK para datos no confirmados Congestion Avoidance (CA) CongWin = CongWin+MSS * (MSS/CongWin) Additive increase, CongWin aumenta 1 MSS por cada RTT Perdida detectada por triple ACK duplicado SS or CA Threshold = CongWin/2, CongWin = Threshold, Set state to Congestion Avoidance Timeout SS or CA Threshold = CongWin/2, CongWin = 1 MSS, Set state to Slow Start ACK duplicado SS or CA Incrementar contador de ACKs duplicados para ese segmento Fast recovery+multiplicative decrease. CongWin nunca baja a menos de 1MSS vuelve a slow start CongWin y Threshold no cambian 7 noviembre 2005 Transporte-7 13 /20

TCP: evolución de la conexión Ejemplo, una conexión TCP La ventana de control de flujo impone el máximo slow start pérdida congestion avoidance slow start congestion avoidance pérdida muchas perdidas 7 noviembre 2005 Transporte-7 14 /20

TCP: eficiencia de la conexión Sigue el límite de AdvertisedWindow/RTT Esto es para una conexión que este siempre enviando > Tenga siempre datos en el buffer de emisión > La aplicación del receptor lea los datos suficientemente rápido como para que el emisor siempre anuncie la ventana máxima Cómo podemos transmitir a mayor velocidad? > Mejorando TCP para que permita ventanas mayores (próxima clase) > Usando más de una conexión TCP?? > UDP tiene control de flujo?? 7 noviembre 2005 Transporte-7 15 /20

TCP: equidad (fairness) Equidad para TCP > Si N conexiones TCP comparten un enlace la capacidad del enlace R debería repartirse entre todas por igual R/N Cuello de botella capacidad R 7 noviembre 2005 Transporte-7 16 /20

TCP: equidad (fairness) Por qué es TCP equitativo? > 2 sesiones compitiendo por el ancho de banda > Modelo simple. Si la capacidad de las dos suma mas que R habra perdidas > Additive increase: sube linealmente el throughput, Multiplicative decrease: si hay perdidas baja rapidamente R throughput cnx 2 t1+t2 <R t1+t2 >R throughput cnx 1 7 noviembre 2005 Transporte-7 17 /20 R

Más sobre equidad Qué pasa con UDP? > Las aplicaciones multimedia suelen usar UDP para evitar el control de congestión. > Envían a tasa constante y no quieren que esta se vea reducida > Son capaces de tolerar pérdidas Sin embargo > Es dificil garantizar la equidad en ese ambiente TCP+UDP > El control de congestión de TCP es justo si compite con otros TCPs > Esto es un área de investigación activa + UDP que sea TCP friendly? + Envio de multimedia sobre TCP? 7 noviembre 2005 Transporte-7 18 /20

Más sobre equidad Las aplicaciones pueden abrir más de una conexión TCP entre dos hosts > Así podrían superar la limitación de la ventana de control de flujo de 65KB > Los navegadores web hacen esto > Parte de la mejora de transferencia de los sistemas P2P viene de este efecto!! Sin embargo > Esto también dificulta el problema de la equidad en TCP > Si en un enlace de capacidad R hay 9 conexiónes TCP + Puedo abrir una conexión y conseguir un reparto de R/10 + O puedo abrir 11 y conseguir R/2!!! 7 noviembre 2005 Transporte-7 19 /20

Conclusiones El control de congestión TCP se basa en una serie de principios simples > ventana de congestion > AIMD + slow start para el principio > reacción a los ACKs duplicados (congestion ligera) y timeouts (congestion severa) TCP reparte la capacidad de forma equitativa > Pero sigue habiendo problemas en una Internet en la que no todo es TCP Próxima clase: Ultimos detalles de TCP Mejoras y futuro de TCP 7 noviembre 2005 Transporte-7 20 /20