TCP y control de congestión en Internet

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

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

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


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

Arquitectura de Redes

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

16.36: Ingeniería de sistemas de comunicación. Clase 15: ProtocolosARQ. Eytan Modiano

CONTROL DE FLUJO. Control de flujo: mecanismo extremo a extremo para regular el tráfico entre el origen y el destino

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

Redes de Datos 1er parcial año 2010

Redes de computadores. Práctica 3

ÍNDICE TEMÁTICO I. ARQUITECTURA TCP/IP

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

La revolución del contenido multimedia de pies a cabeza.

Introducción. 100 Mbps

TEMA 12 RETRANSMISIÓN DE TRAMAS. FRAME RELAY.

Transporte en Internet

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

Redes de Computadoras Junio de Teoría y problemas

Efectos de los dispositivos de Capa 2 sobre el flujo de datos Segmentación de la LAN Ethernet

Problemas sobre Dispositivos de Interconexión Sistemas Telemáticos I

01/10/ Conjunto de protocolos TCP/IP. Contenido. a. TCP/IP Internet OSI. a. TCP/IP Internet OSI. b. Nivel de red Protocolo IP

ARQUITECTURA DE REDES Laboratorio

Fragmentación y Reensamblado en IP ICMP

Sistemas de Telecomunicación Problemas. Entrega I

15/06/14. Principios del Control de la Congestión. Causas y Costos de la Congestión. Escenario 1: 2 emisores, 1 enrutador con buffer infinito.

Redes de Computadores I

Conmutación. Conmutación telefónica. Justificación y definición.

Práctica 3 Enrutamiento con RIP

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

Figura 1.12 Señalización analógica y digital de datos analógicos y digitales.

Conceptos básicos de redes TCP/IP

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

Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A.

Fundamentos de Ethernet. Ing. Camilo Zapata Universidad de Antioquia

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

Control de Congestión n en TCP

DIRECCIONAMIENTO IPv4

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de SEGUNDA PARTE - SOLUCIONES

TEMA 14. REDES DE ÁREA LOCAL

Arquitectura de Redes y Comunicaciones

Jhon Jairo Padilla Aguilar, PhD.

Principios del Control de Congestión

Es un conjunto de dispositivos interconectados entre si que comparten recursos y/o servicios como video, voz y datos a través de medios guiados, no

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

El Núcleo de Red. Apartado 1.3

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias

Andres Arcia Moret 1 Algunas láminas y/o gráficos son tomandos exactamente del laminario K-R

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

ARQUITECTURAS CLIENTE/SERVIDOR

GUÍAS FÁCILES DE LAS TIC

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

Qué es Internet? Cómo funciona Internet?

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

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

PROTOCOLO DE MENSAJES DE CONTROL INTERNET (ICMP : INTERNET CONTROL MESSAGE PROTOCOL) RFC-792

Fundamentos de Redes de Computadoras

Pero para ello tenemos que cumplir ciertas normas. Para poder usar esta tecnología tendremos que cumplir con los siguientes requisitos.

(decimal) (hexadecimal) 80.0A.02.1E (binario)

GUÍAS FÁCILES DE LAS TIC

UNI (User to Network Interface). La interfaz UNI conecta sistemas finales ATM (tales como servidores y routers) a un conmutador ATM.

Introducción al enrutamiento y envío de paquetes

TEMA 25: El Protocolo TCP/IP.

Cómo monitorear una red WAN

I. Verdadero o Falso (16 puntos)

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Control de flujo en TCP

TEMA 7 PROTOCOLOS DE TRANSPORTE. TCP Y UDP.

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Universidal del Valle, Cali. Febrero, 2004

Tema 5: Sistemas Monetarios Internacionales

5 Compresión de Cabeceras de Van Jacobson

1. Aplicación de la conmutación de circuitos y la conmutación de paquetes. 1.1 Sistema de señalización número 7 (SS7).

Tema 4.1: - TRANSPORTE-

Redes de Computadores - Soluciones

2 El protocolo TCP 2.1 INTRODUCCIÓN

8 TCP en Enlaces Asimétricos

1 adpto. de Teoría de la Señal, Comunicaciones e Ingeniería Telemática E.T.S.I. Telecomunicación Universidad de Valladolid

Temas de electricidad II

Arquitecturas cliente/servidor

1. PARAMETROS DE CALIDAD DE SERVICIO. -PERDIDAS DE PAQUETES EN LOS ROUTERS: Vía TCP son recuperables, pero las retransmisiones TCP son

PROBLEMAS RESUELTOS DE TEORÍA DE COLAS. (M/M/1: Un servidor con llegadas de Poisson y tiempos de servicio Exponenciales)

REDES INFORMATICAS: Protocolo IP

8. RESULTADOS PREVISTOS

La Capa de Red. Dr. Ivan Olmos 1

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

Tema 3: El protocolo TCP

INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA

Quality of Service MODULO I FUNDAMENTOS DE NETWORKING 14/04/2012. Ing. Nelwi Báez P. Msc. Página 0

Capítulo 3: Capa Transporte - IV

PLANEAMIENTO DE LAS COMUNICACIONES EN EMERGENCIAS OTRAS REDES PÚBLICAS. Índice 1. INTERNET SERVICIOS DE RADIO BUSQUEDA...

Redes conmutadas y de área local

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Introducción al Capacity planning para servicios

REDES AD HOC INFORME DE REDES DE COMPUTADORES I. Felipe Muñoz Jonathan Porta Matías Contreras

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Topologías Inalámbricas. Ing. Camilo Zapata Universidad de Antioquia

ISO 17799: La gestión de la seguridad de la información

Transcripción:

REDES Área de Ingeniería Telemática TCP y control de congestión en Internet Area de Ingeniería Telemática http://www.tlm.unavarra.es Redes 4º Ingeniería Informática

Hoy... REDES Área de Ingeniería Telemática 1. Introducción a las redes 2. Tecnologías para redes de área local 3. Conmutación de circuitos 4. Tecnologías para redes de área extensa y última milla 5. Encaminamiento 6. Arquitectura de conmutadores de paquetes 7. Control de acceso al medio 8. Transporte extremo a extremo

Por qué se pierden los paquetes? Varias causas > Errores de transmisión. Modifican bits aleatorios de los paquetes. Los niveles que hacen detección de errores se ven obligados a descartar el paquete al no estar seguros de entregarlo correctamente Independiente del tráfico > Desbordamiento de buffer Para R3 R1 R1 R2 R3 R4 R3 Un router que debe reenviar un paquete se encuentra con que todos sus recursos de memoria (por ejemplo en la cola de paquetes esperando la salida están ocupados). Debe descartar el paquete por falta de recursos R2 R4 Dependiente de la carga de la red 3

Congestión de red Qué es? Demasiadas fuentes enviando demasiado trafico para que la red pueda manejarlo No es lo mismo que el control de flujo > Relacionado con que el receptor pueda manejar el tráfico > La congestión puede darse aunque todos los receptores sean capaces de aceptar el trafico que se está enviando Efectos: > Pérdidas de paquetes (debido a desbordamiento de colas de routers) > Tiempos de espera elevados (debido a tiempos de espera en colas altos) Es uno de los problemas más importantes de redes 4

Escenario 1 Dos emisores y dos receptores Un router común (supongamos que con buffer infinito) > Nunca ocurren retransmisiones > Las dos fuentes envian a una media de λin > La capacidad del router es C Como se comporta el sistema?? 5

Escenario 1 Entrada y salida. Cuanto throughput obtenemos del sistema? λout para cada λin aceptable (con un scheduler perfecto) C/2 λ out retardo λ in C/2 λ in C/2 Pero el retardo aumenta indefinidamente Cada vez tiene más paquetes que procesar Recursos infinitos no garantizan un buen funcionamiento 6

Escenario 2 Igual que el anterior pero ahora el router tiene recursos finitos. > Los paquetes no esperan indefinidamente (retardo limitado) > Si se transmite a mucha velocidad algunos paquetes se perderan y el nivel de transporte los retransmitirá > Tráfico λ in = λin + retransmisiones 7

Escenario 2 λin = λout (goodput) Envío perfecto (no hay retransmisiones hasta que alcancemos R/2) Retransmisión implica λ in > λout λ out R/2 λ out R/3 λ out R/4 R/2 Perfecto no retransmisiones λ' in R/2 λ' in Retransmisiones sólo por desbordamiento R/2 Retransmisiones por timeout prematuro λ' in Coste de la congestión > Más trabajo (retransmisiones) para el mismo resultado (goodput) > Retransmisiones innecesarias: capacidad perdida 8

Escenario 3 4 fuentes, buffers finitos y múltiples caminos Retransmisiones por timeout Qué pasa al aumentar λin y por tanto λ in? H2 R2 H3 H1 R1 R4 R3 H4 9

Escenario 3 El trafico que entra a R2 proveniente de R1 tiene límite R Cuando la carga es muy alta R2 esta saturado por el trafico de H2 λ out Con carga alta el trafico util que se cursa tiende a 0 Cuando se descarta un paquete la capacidad usada para llevarlo hasta ese punto se desperdicia C/2 λ' in 10

Control de congestión Problema: cuando la red está saturada por alta carga proveniente de muchas fuentes se pierden paquetes, se cursa menos tráfico útil y aumenta el retardo de los paquetes que llegan a su destino Los protocolos de transporte reaccionan aumentando las retransmisiones causando más carga y más congestión Si estamos en esta situación es más rentable que los emisores no envíen tan rápido para mantenerse por debajo de esta carga total... Como conseguimos esto? Qué pasa si la mayoría hacen eso pero unos pocos no? 11

Control de congestión Dos enfoques para control de congestión Control de congestión extremo a extremo > No hay indicación explicita de la congestión > Los extremos estiman la congestión basandose en sus propias observaciones de la red + Perdidas observadas + Retardo observado > Los extremos reacciónan a la congestión reduciendo la carga: disminuyendo retransmisiones, tasa de envíos, aumentando timeouts... > Esta es la filosofía que utiliza TCP (clasico) 12

Control de congestión Dos enfoques para control de congestión Control de congestión asistido por la red > Los routers informan de la congestión a los extremos de la comunicación + Modificando un bit para indicar congestión: SNA, DECnet, TCP/IP ECN (RFC2481), ATM + Indicando la tasa máxima a la que puede enviar ATM ABR + Remember ECN: Explicit Congestion Notification 13

Ejemplo Control de congestión asistido por la red en ATM ATM red de comunicaciones para transporte de RDSI de banda ancha > Filosofía de conmutación de paquetes con paquetes de tamaño pequeño y fijo (celdas) y con circuitos virtuales > Orientado a conexión > Estado de las conexiones en cada nodo (switch) 14

Control de congestión en ABR ABR (Available Bit Rate) > Si el camino está descargado puede usar más capacidad > Si el camino está cargado el emisor debe limitarse a una capacidad mínima garantizada Celdas RM (resource management) > Enviadas por el emisor mezcladas con las celdas de datos > Bits en estas celdas permiten indicar la congestión de red + NI bit No Increase rate Indica congestión moderada + CI bit Congestion Indication > El emisor devuelve estas celdas sin tocar esos bits 15

Control de congestión en ABR Varios mecanismos > Bit EFCI en las celdas de datos (Explicit Forward Congestion Indication). El destino reacciona devolviendo celdas RM con el bit CI a 1 > Celdas RM con bits NI y CI El destino las devueve sin tocar los bits (salvo poner CI) > Los switchs pueden incluso generar RMs hacia atras > Campo ER (Explicit Rate) de dos bytes en las celdas RM Los switchs del camino pueden modificar el valor 16

Control de congestión en Internet Pero Internet se basa en un nivel de red simple que no asiste en la detección de la congestión TCP (originalmente) utiliza control de congestión extremo a extremo > Como inferimos que hay congestión en la red? + Perdidas? + Retardo? > Qué hacemos para evitarlo? + Reducir la tasa de envío? Cómo? + Aumentar el timeout de retransmisión? Si hay errores bajar la tasa de transferencia? Algo más? 17

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 18

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 > Negociado en la apertura de conexión 19

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 y es menor que la ventana anunciada por el receptor > En congestion avoidance se abre 1 MSS cada vez que enviamos con exito toda la ventana CongWin=4 MSS > La ventana sube linealmente Buscando encontrar el punto de equilibrio sin aumentar demasiado la congestión Enviado por RTT CongWin=5 MSS tiempo 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 CongWin=8 MSS tasa 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 21

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 22

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 23

TCP: Slow Start El slow start se mantiene hasta que se produce una pérdida haciendo entrar en congestion avoidance (o bien se alcanza la ventana de control de flujo) > 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 24

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) 25

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 26

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 27

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 Fast recovery+multiplicative decrease. CongWin nunca baja a menos de 1MSS 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 vuelve a slow start CongWin y Threshold no cambian 28

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 29

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?? 30

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 31

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 R throughput cnx 1 32

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? 33

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!!! 34

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 Las prestaciones de Internet en gran medida son las prestaciones de TCP 35

Extras 36

TCP: opciones La cabecera TCP reserva espacio para indicar opciones > Estas opciones permiten especificar comportamientos opcionales que pueden aparecer en diferentes versiones del protocolo > Unas cuantas de estas opciones se utilizan para negociar si la conexión utilizara determinados metodos Para ello el cliente en el SYN indica que opciones soporta y el servidor contesta en el SYN cuales acepta > Ejemplo: peticion de www.google.com: cliente servidor SYN+opciones SYN+ACK+opcione IP 130.206.169.177.50641 > 66.249.87.104.80: S 0:0(0) win 65535 <mss 1460,nop,wscale 0,nop,nop,timestamp 465116705 0> IP 66.249.87.104.80 > 130.206.169.177.50641: S 0:0(0) ack 1 win 8190 <mss 1460> IP 130.206.169.177.50641 > 66.249.87.104.80:. ack 1 win 65535 IP 130.206.169.177.50641 > 66.249.87.104.80: P 1:335(334) ack 1 win 65535 S <mss 1460,nop,wscale 0,nop,nop,timestamp 465116705 0> S+ACK <mss 1460> 7 noviembre 2005 Transporte-8 37 /18

TCP: path MTU discovery Ya habiamos visto la opción MSS S <mss 1460,nop,wscale 0,nop,nop,timestamp 465116705 0> S+ACK <mss 1460> Cada extremo anuncia el MSS que espera recibir > Para ello utiliza el valor máximo de paquete que permite su red de area local o interfaz de red. MTU, maximum transfer unit > Si, un extremo no anuncia un MSS se toma por defecto 536 Pero no siempre se puede deducir el MTU de un camino a partir de los MTUs que ven los extremos Ethernet MTU=1500 MTU 552 Ethernet MTU=1500 7 noviembre 2005 Transporte-8 38 /18

TCP: path MTU discovery Después de la negociación TCP utiliza el mínimo MSS Envía los paquetes de datos indicando al nivel de red que no acepte fragmentación: Bit Don tfragment si tiene que fragmentar descarta Si los routers del camino deben fragmentar envían un paquete informando del error y TCP baja el MSS y reintenta Estos errores no disminuyen la ventana de congestión, aunque si reinician el slow start El proceso se repite periódicamente por si los cambios de ruta 7 noviembre 2005 Transporte-8 39 /18

TCP: alta velocidad TCP es capaz de transmitir en condiciones muy desfavorables Sin embargo muestra algunos problemas para aprovechar las condiciones demasiado buenas Producto ancho de banda por retardo de un canal > bytes que es capaz de almacenar el canal > para aprovechar el canal la ventana de TCP debe de ser mayor que el producto BWxRTT Datos enviados BW La misma cantidad de datos no cabe en esta canal BW delay delay 7 noviembre 2005 Transporte-8 40 /18

TCP: alta velocidad Canal con BWxRTT < window Canal con BWxRTT > window 7 noviembre 2005 Transporte-8 41 /18

TCP: alta velocidad Solo podemos aprovechar un canal con BWxRTT menores que la ventana de TCP La ventana anunciada máxima de TCP es de 65KB (y todo por poner un campo de solo 16bits) Los canales de elevado BWxRTT se les suele llamar LFN (long fat networks) Red BW(bps) RTT(ms) BWdelay(bytes) Ethernet 10Mb 10M 3 3750 T1 transcontinental 1544K 60 11580 T1 satélite 1544K 500 96500 T3 transcontinental 45M 60 337500 Gigabit, transcontinental 1000M 60 7500000 7 noviembre 2005 Transporte-8 42 /18

TCP: window scale Opción window scale permite utilizar tamaños de ventana mayores > Si los dos extremos soportan windowscale negocian una escala en el handshake > para esa conexión el campo ventana anunciada indica AdvertisedWindow 2 WindowScale Pero las LFN siguen siendo problemáticas > Una pérdida puede detener la transmisión y vaciar el canal > Al utilizar TCP con window scale pueden surgir problemas cuando el número de secuencia se da la vuelta > El hacer sólo una estimación de RTT por ventana es un porblema > Es el momento de abandonar el Go-back-N por el selective reject?? 7 noviembre 2005 Transporte-8 43 /18

TCP: RFC 1323 RFC-1323 propone extensiones a TCP para LFNs > Básicamente propone usar WindowScale > Y una opcion TIMESTAMP que permite medir RTTs por cada paquete > SACK selective ACK TCP habia sido propuesto pero no se incluyo en el RFC1323 SACK sigue siendo experimental Aunque hay implementaciones comerciales 7 noviembre 2005 Transporte-8 44 /18

TCP: evolución Las versiones de TCP han ido evolucionando manteniendo compatibilidad con las anteriores TCP Tahoe > AIMD. Sin fast recovery. 3dupACKs ponen la ventana a 1 TCP Reno > AIMD. Fast recovery... El más estandar, es el que hemos explicado TCP Vegas > Intenta predecir la congestión observando el retardo TCP Hybla, TCP Westwood, TCP NewReno, TCP Fast... 7 noviembre 2005 Transporte-8 45 /18