33
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 al texto Computer Networking: A Top Down Approach Featuring the Internet. Jim Kurose, Keith Ross.

Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-1

Capiacutetulo 3 Capa Transporte - IV

ELO322 Redes de ComputadoresAgustiacuten J Gonzaacutelez

Este material estaacute basado en Material de apoyo al texto Computer Networking A Top Down Approach Featuring the Internet Jim Kurose Keith Ross

Capa Transporte 3-2

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-3

Principios del control de congestioacuten

Congestioacuten Informalmente ldquodemasiadas fuentes

enviando muchos datos muy raacutepido para que la red lo manejerdquo

Es distinto a control de flujo eacuteste ocurre entre dos aplicaciones

Manifestaciones Peacuterdidas de paquetes (buffer overflow en routers) Grandes retardos (en las colas en los router)

Uno de los problemas top-10

Capa Transporte 3-4

La capa de red no ofrece garantiacuteas de entrega de paquetes en orden tasas de transferencia fija llegada confiable de datos y retardo acotado desde transmisioacuten hasta recepcioacuten iquestCuaacuteles de estos requerimientos son posibles de garantizar viacutea una programacioacuten adecuada de la capa de transporte

Entrega de paquetes en orden y llegada confiable de datos

Capa Transporte 3-5

Causascostos de congestioacuten escenario 1 (buffer ꝏ sin re-enviacuteo)

dos transmisores dos receptores

un router buffer tamantildeo infinito

sin retransmisioacuten λin datos enviados por la

aplicacioacuten (bytessec) λout datos recibidos por la

aplicacioacuten (bytessec)

grandes retardos en estado congestionado (muchos paquetes esperando en cola)

maacuteximo flujo posible (throughput = C) de datos

unlimited shared output link buffers (C = link capacity)

Host Ain original data

Host B

out

Capa Transporte 3-6

Causas de congestioacuten escenario 2 (buffer no ꝏ con re-enviacuteo )

un router buffer finito Se pierden paquetes que no tienen

espacio en buffer transmisor retransmite paquetes perdidos

Buffer enlace de salida finito compartido

Host A in original data

Host B

out

in original data plus retransmitted data

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 2: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-2

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-3

Principios del control de congestioacuten

Congestioacuten Informalmente ldquodemasiadas fuentes

enviando muchos datos muy raacutepido para que la red lo manejerdquo

Es distinto a control de flujo eacuteste ocurre entre dos aplicaciones

Manifestaciones Peacuterdidas de paquetes (buffer overflow en routers) Grandes retardos (en las colas en los router)

Uno de los problemas top-10

Capa Transporte 3-4

La capa de red no ofrece garantiacuteas de entrega de paquetes en orden tasas de transferencia fija llegada confiable de datos y retardo acotado desde transmisioacuten hasta recepcioacuten iquestCuaacuteles de estos requerimientos son posibles de garantizar viacutea una programacioacuten adecuada de la capa de transporte

Entrega de paquetes en orden y llegada confiable de datos

Capa Transporte 3-5

Causascostos de congestioacuten escenario 1 (buffer ꝏ sin re-enviacuteo)

dos transmisores dos receptores

un router buffer tamantildeo infinito

sin retransmisioacuten λin datos enviados por la

aplicacioacuten (bytessec) λout datos recibidos por la

aplicacioacuten (bytessec)

grandes retardos en estado congestionado (muchos paquetes esperando en cola)

maacuteximo flujo posible (throughput = C) de datos

unlimited shared output link buffers (C = link capacity)

Host Ain original data

Host B

out

Capa Transporte 3-6

Causas de congestioacuten escenario 2 (buffer no ꝏ con re-enviacuteo )

un router buffer finito Se pierden paquetes que no tienen

espacio en buffer transmisor retransmite paquetes perdidos

Buffer enlace de salida finito compartido

Host A in original data

Host B

out

in original data plus retransmitted data

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 3: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-3

Principios del control de congestioacuten

Congestioacuten Informalmente ldquodemasiadas fuentes

enviando muchos datos muy raacutepido para que la red lo manejerdquo

Es distinto a control de flujo eacuteste ocurre entre dos aplicaciones

Manifestaciones Peacuterdidas de paquetes (buffer overflow en routers) Grandes retardos (en las colas en los router)

Uno de los problemas top-10

Capa Transporte 3-4

La capa de red no ofrece garantiacuteas de entrega de paquetes en orden tasas de transferencia fija llegada confiable de datos y retardo acotado desde transmisioacuten hasta recepcioacuten iquestCuaacuteles de estos requerimientos son posibles de garantizar viacutea una programacioacuten adecuada de la capa de transporte

Entrega de paquetes en orden y llegada confiable de datos

Capa Transporte 3-5

Causascostos de congestioacuten escenario 1 (buffer ꝏ sin re-enviacuteo)

dos transmisores dos receptores

un router buffer tamantildeo infinito

sin retransmisioacuten λin datos enviados por la

aplicacioacuten (bytessec) λout datos recibidos por la

aplicacioacuten (bytessec)

grandes retardos en estado congestionado (muchos paquetes esperando en cola)

maacuteximo flujo posible (throughput = C) de datos

unlimited shared output link buffers (C = link capacity)

Host Ain original data

Host B

out

Capa Transporte 3-6

Causas de congestioacuten escenario 2 (buffer no ꝏ con re-enviacuteo )

un router buffer finito Se pierden paquetes que no tienen

espacio en buffer transmisor retransmite paquetes perdidos

Buffer enlace de salida finito compartido

Host A in original data

Host B

out

in original data plus retransmitted data

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 4: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-4

La capa de red no ofrece garantiacuteas de entrega de paquetes en orden tasas de transferencia fija llegada confiable de datos y retardo acotado desde transmisioacuten hasta recepcioacuten iquestCuaacuteles de estos requerimientos son posibles de garantizar viacutea una programacioacuten adecuada de la capa de transporte

Entrega de paquetes en orden y llegada confiable de datos

Capa Transporte 3-5

Causascostos de congestioacuten escenario 1 (buffer ꝏ sin re-enviacuteo)

dos transmisores dos receptores

un router buffer tamantildeo infinito

sin retransmisioacuten λin datos enviados por la

aplicacioacuten (bytessec) λout datos recibidos por la

aplicacioacuten (bytessec)

grandes retardos en estado congestionado (muchos paquetes esperando en cola)

maacuteximo flujo posible (throughput = C) de datos

unlimited shared output link buffers (C = link capacity)

Host Ain original data

Host B

out

Capa Transporte 3-6

Causas de congestioacuten escenario 2 (buffer no ꝏ con re-enviacuteo )

un router buffer finito Se pierden paquetes que no tienen

espacio en buffer transmisor retransmite paquetes perdidos

Buffer enlace de salida finito compartido

Host A in original data

Host B

out

in original data plus retransmitted data

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 5: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-5

Causascostos de congestioacuten escenario 1 (buffer ꝏ sin re-enviacuteo)

dos transmisores dos receptores

un router buffer tamantildeo infinito

sin retransmisioacuten λin datos enviados por la

aplicacioacuten (bytessec) λout datos recibidos por la

aplicacioacuten (bytessec)

grandes retardos en estado congestionado (muchos paquetes esperando en cola)

maacuteximo flujo posible (throughput = C) de datos

unlimited shared output link buffers (C = link capacity)

Host Ain original data

Host B

out

Capa Transporte 3-6

Causas de congestioacuten escenario 2 (buffer no ꝏ con re-enviacuteo )

un router buffer finito Se pierden paquetes que no tienen

espacio en buffer transmisor retransmite paquetes perdidos

Buffer enlace de salida finito compartido

Host A in original data

Host B

out

in original data plus retransmitted data

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 6: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-6

Causas de congestioacuten escenario 2 (buffer no ꝏ con re-enviacuteo )

un router buffer finito Se pierden paquetes que no tienen

espacio en buffer transmisor retransmite paquetes perdidos

Buffer enlace de salida finito compartido

Host A in original data

Host B

out

in original data plus retransmitted data

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 7: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-7

Causascostos de congestioacuten escenario 2 (a) caso perfecto sin peacuterdidas ni retransmisiones λin = λrsquoin

(b) retransmisioacuten soacutelo en caso de peacuterdida de segmentos (no por

timeout prematuro) λrsquoin gt λout

(b) retransmisioacuten de paquetes hace que λrsquoin sea maacutes grande (que el

caso perfecto) para el mismo λout (No necesariamente R3 como cota) (c) retransmisiones innecesarias (timeout prematuros) enlaces

enviacutean muacuteltiples copias del paquete (eg dos re-enviacuteos por paquete)

ldquocostosrdquo de congestioacuten maacutes trabajo (retransmisioacuten) para lograr el transporte de datos

ldquogoodputrdquo

R2

R2in

out

b

R2

R2in

out

a

R2

R2in

out

c

R4

R3

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 8: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-8

Causascostos de congestioacuten escenario 3 cuatro transmisores rutas con multihops timeoutretransmisiones

Q iquestQueacute pasa cuando λin se incrementa y λrsquoin crece

finite shared output link buffers

Host Ain original data

Host B out

in original data plus retransmitted data

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 9: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-9

Causascostos de congestioacuten escenario 3

Otro ldquocostordquo de congestioacuten cuando se descartan paquetes cualquier

capacidad (de router) usada anteriormente pasa a ser un recurso desperdiciado

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 10: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-10

Estrategias para control de congestioacuten

Control de congestioacuten extremo a extremo

No hay informacioacuten de realimentacioacuten expliacutecita de la red

La congestioacuten es inferida desde las peacuterdidas y retardos observados por terminales en los extremos

Es la estrategia usada por TCP

Control de congestioacuten asistido por la red

routers proveen realimentacioacuten a sistemas extremos

Un Bit uacutenico indicando congestioacuten (eg SNA DECbit TCPIP ECN ATM)

Expliacutecitamente se informa al Tx la tasa que el router puede soportar

Los podemos clasificar en dos grupos amplios

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 11: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-11

Caso de estudio Control de congestioacuten en ATM ABR (tecnologiacutea de red capa 3 y menores)

ABR Available Bit Rate Es un servicio ldquoelaacutesticordquo o

flexible Si camino del Tx tiene poca

carga Tx deberiacutea usar ancho

de banda disponible Si camino de Tx a Rx estaacute

congestionado Tx reduce a un miacutenimo

la tasa garantizada

Celdas RM (Resource Management)

Enviadas a intervalos por Tx entre celdas de datos

bits en celda RM son modificados por switches

Bit NI no incrementar tasa (= congestioacuten moderada)

Bit CI Congestion Indication

Celdas RM son retornadas al Tx por el Rx con bits intactos

ATM Asynchronous Transfer Mode

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 12: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-12

Caso de estudio Control de congestioacuten en ATM ABR

En celda RM hay campo ER (explicit rate) de dos bytes Un Switch congestionado puede bajar valor de ER en la celda Tasa de enviacuteo del Tx se ajusta a la tasa miacutenima soportable en

el camino entre fuente y destino (la del switch maacutes criacutetico) En celda de datos hay Bit EFCI (explicit forward congestion

indicator) eacuteste es fijado en 1 por switch congestionado Si celda de datos precedente a celda RM tiene el EFCI

marcado el destino marca bit CI en celda RM retornada

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 13: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-14

Capiacutetulo 3 Continuacioacuten 31 Servicios de la

capa transporte 32 Multiplexing y

demultiplexing 33 Transporte sin

conexioacuten UDP 34 Principios de

transferencia confiable de datos

35 Transporte orientado a la conexioacuten TCP

Estructura de un segmento

Transferencia confiable de datos

Control de flujo Administracioacuten de

conexioacuten

36 Principios del control de congestioacuten

37 Control de congestioacuten en TCP

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 14: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-15

Control de Congestioacuten en TCP Usa control extremo a extremo (sin

asistencia de la red) Tx limita su ventana de

transmisioacuten

Si Rx tiene espacio se tiene

CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red

RcvWindow es el nuacutemero de bytes que el Rx puede recibir en su buffer la suponemos grande y no limita la tasa de enviacuteo

iquestCoacutemo el Tx percibe la congestioacuten

Evento de peacuterdida = timeout oacute 3 acks duplicados

Tx TCP reduce tasa (CongWin) despueacutes de un evento de peacuterdida

Hay tres mecanismos AIMD (Additive-Increase

Multiplicative-Decrease) ldquoPartida lentardquo Conservativo despueacutes de

evento de timeout

tasaAprox = CongWin

RTT [Bytessec]

LastByteSentminusLastByteAckedleminCongWin RcvWindow

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 15: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-16

TCP AIMD (Additive-Increase Multiplicative-Decrease)

Decrecimiento multiplicativo reducir CongWin a la mitad luego de peacuterdida

Aumento aditivo aumenta CongWin en 1 MSS cada RTT en ausencia de peacuterdida En algunas implementaciones CongWin incrementa en MSSx(MSSCongWin) por cada ACK recibido

MSS (Maximum Segment Size) es la maacutexima cantidad de datos que se enviacutea en cada segmento sin fragmentarse

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 16: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

17

Indique queacute protocolo usa el tamantildeo de segmento maacuteximo (MSS Maximum Segment Size) iquestA queacute corresponde

El MSS es usado por TCP Corresponde al MTU (Maximum Transmission Unit) maacutes pequentildeo en la ruta de la fuente al destino Usando segmentos de tamantildeo MSS TCP asegura que sus paquetes no seraacuten fragmentados

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 17: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-18

Aumento aditivo La idea es aumentar un MSS luego de un RTT Podemos aproximarnos aumentando la

CongWin cada vez que se recibe un ACK de manera que al completar 1 RTT hayamos sumado un MSS Se enviacutea como maacuteximo

CongWin bytes y esperamos por el acuse de recibo

NumSegmentos=NumAkcs=CongWin

MSS

Incr=MSS

NumAkcs=

MSSCongWin

MSS

=MSSlowastMSSCongWin

Incr Incremento por cada ACK

RTT

CongWin

Si hay ACK retardados el incremento debe ser mayor

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 18: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-19

Partida lenta en TCP (slow start)

Cuando la conexioacuten comienza CongWin = 1 MSS

Ejemplo MSS = 500 bytes amp RTT = 200 msec

Tasa inicial = 20 kbps

Ancho de banda disponible puede ser gtgt MSSRTT

Es deseable aumentar tasa raacutepidamente hasta una tasa respetable

Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida

Se le llama Slow Start porque parte desde tasa muy abaja

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 19: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-20

Partida Lenta en TCP (maacutes detalles)

Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida

Idea Duplicar CongWin cada RTT

Lo logra incrementando CongWin en 1 MSS por cada ACK recibido

Resumen tasa inicial es lenta pero se acelera exponencialmente raacutepido

Host A

one segment

RTT

Host B

time

two segments

four segments

Todo esto pasa en la medida que Tx tenga muchos datos que enviar

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 20: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-21

Reaccioacuten ante eventos de peacuterdida

Q iquestCuaacutendo deberiacutea cambiar el aumento de exponencial a lineal

A Un buen criterio es Cuando CongWin llega a 12 de su valor antes del timeout

Implementacioacuten Umbral variable (variable

threshold) Ante evento de peacuterdidas el

umbral (threshold) es fijado en 12 de CongWin justo antes de la peacuterdida

Tahoe primera versioacuten de control de congestioacuten en TCP No distinguiacutea entre timeout o ACK duplicadosReno versioacuten siguiente en TCP Siacute distingue timeout de ACK duplicados Hay otras versiones

3 ACKsDuplicadosEvento

umbral

Mejor

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 21: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-22

Reaccioacuten ante eventos de timeout (cont)

Despueacutes de 3 ACKs duplicados CongWin baja a la mitad Luego la ventana crece

linealmente

Despueacutes de un timeout CongWin es fijada en 1

MSS Luego la ventana crece

exponencialmente hasta un umbral luego crece linealmente

3 ACKs duplicados indican que la red es capaz de transportar algunos segmentos (soacutelo llegan fuera de orden en el Rx) Se perdioacute uno pero llegaron los otros y por eso tenemos ACKs duplicados

timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)

Filosofiacutea

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 22: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

23

En ausencia de errores y cuando el buffer de recepcioacuten es muy grande la tasa promedio de transferencia de TCP durante un RTT se puede aproximar por (Tamantildeo de Ventana de congestioacuten)RTT Muestre un diagrama que explique la deduccioacuten de esta expresioacuten iquestEs esta expresioacuten vaacutelida para todo valor de ldquoVentana de Congestioacutenrdquo Explique

Luego de enviar la ventana W el Tx debe esperar la llegada del acuse de recibo maacutes antiguo para retomar la transmisioacuten

No es vaacutelida siempre pues conforme la ventana de congestioacuten aumenta aumenta la utilizacioacuten del canal y cuando eacutesta alcanza 100 no es posible seguir aumentando la tasa pues la tasa de transmisioacuten del enlace pone una cota maacutexima

Tx Rx

RTT

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 23: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-24

Resumen Control de Congestioacuten en TCP

Cuando CongWin estaacute bajo el Threshold (umbral) Tx estaacute en fase slow-start la ventana de transmisioacuten crece exponencialmente (un MSS por cada ACK)

Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente (aprox un MSS por cada RTT)

Al tercer ACK duplicados Threshold pasa a CongWin2 y CongWin pasa a Threshold

Cuando ocurre un timeout Threshold pasa a CongWin2 y CongWin se lleva a 1 MSS

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 24: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-25

Por completitud no pido memorizarlo

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 25: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-26

Control de congestioacuten del Tx TCP

SS or CA

SS or CA

SS or CA

CongestionAvoidance (CA)

Slow Start (SS)

State

CongWin y Threshold no cambian

Increment duplicate ACK count for segment being acked

Duplicate ACK

Ingresa a Partida Lenta (slow start)

Threshold = CongWin2 CongWin = 1 MSSSet state to ldquoSlow Startrdquo

Timeout

Recuperacioacuten raacutepida implementando reduccioacuten multiplicativa CongWin no caeraacute a 1 MSS

Threshold = CongWin2 CongWin = ThresholdSet state to ldquoCongestion Avoidancerdquo

Loss event detected by triple duplicate ACK

Aumento aditivo resulta en aumento de CongWin en apox 1 MSS cada RTT

CongWin = CongWin+MSS (MSSCongWin)

ACK receipt for previously unacked data

Resulta en una duplicacioacuten de CongWin cada RTT

CongWin = CongWin + MSS If (CongWin gt Threshold) set state to ldquoCongestion Avoidancerdquo

ACK receipt for previously unacked data

CommentaryTCP Sender Action Event

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 26: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-27

Throughput Simplificado de TCP (tasa de transferencia de datos lograda)

iquestCuaacutel es el throughput promedio de TCP como una funcioacuten del tamantildeo de ventana CongWin y RTT

Ignoremos slow start ya que al ser exponencial es una fase muy corta

TCP pide ancho de banda adicional al incrementar W en 1 MSS por cada RTT hasta una peacuterdida

Sea W el tamantildeo de la ventana (en bytes) cuando ocurre una peacuterdida

Cuando la ventana es W el throughput es WRTT

Justo despueacutes de la peacuterdida la ventana cae a W2 y el throughput a W2RTT

Throughput promedio entre W2RTT y WRTT es 075 WRTT

Esto debido a que el throughput crece linealmente entre ambos valores

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 27: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-28

Futuro de TCP Ejemplo segmentos de 1500 bytes RTT de 100ms

queremos throughput de 10 Gbps

Requiere tamantildeo de ventana CongWin W = 83333 (segmentos en traacutensito) para utilizacioacuten =1

Throughput en teacuterminos de tasa de peacuterdida (L) es

L=(bytes perdidos)(Nuacutemero total enviados)

Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de soacutelo L = 210-10 Wow (1 cada 5 mil millones de segmentos)

Se requieren nuevas versiones de TCP para enlaces de alta velocidad (interesados ver RFC 3649)

Avg Throughput=122lowastMSSRTT L

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 28: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

29

iquestPor queacute la ventana de congestioacuten de TCP soacutelo se reduce a la mitad cuando la peacuterdida es detectada por 3 ACKs duplicados mientras que se reduce a 1 MSS cuando la peacuterdida es detectada por timeout

Porque la llegada de 3 ACKs duplicados es una indicacioacuten que paquetes posteriores al perdido siacute llegaron luego esta situacioacuten de congestioacuten es menos criacutetica que cuando hay timeout sin 3 ACKs duplicados

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 29: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-30

Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada una deberiacutea tener una tasa promedio de RK

TCP connection 1

Router cuello de botella decapacidad R

TCP connection 2

Equidad en TCP

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 30: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-31

iquestPor queacute TCP es justaSupongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de

throughout Reduccioacuten multiplicativa reduce throughput

proporcionalmente

R

R

Recta de Igual tasa capacidad compartida

Throughput Conexioacuten 1

Th

roughput

Conexioacute

n 2

Peacuterdida decrece tasa en factor de 2

Abolicioacuten de congestioacuten aumento aditivo

Abolicioacuten de congestioacuten aumento aditivo

Peacuterdida decrece tasa en factor de 2

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 31: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-32

Equidad (maacutes)

Equidad y UDP Aplicaciones

Multimedia no usan TCP

No quieren tasa limitada por control de congestioacuten

En su lugar usan UDP Enviacutean audioviacutedeo a

tasa constante y toleran peacuterdidas de paquetes

Aacuterea de investigacioacuten Hacerlas amistosas con TCP (TCP friendly)

Equidad y conexiones TCP paralelas

Nada previene a las aplicaciones de abrir conexiones paralelas entre dos hosts

Navegadores WEB hacen esto

Ejemplo Sea un enlace de tasa R soportando 9 conexiones

Una aplicacioacuten nueva pide 1 conexioacuten TCP obtendraacute R10

Si la aplicacioacuten nueva pide 11 conexiones TCP eacutesta obtendraacute 11R20 maacutes de R2

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 32: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

33

En una subred hay 6 usuarios viendo viacutedeos de Youtubecom viacutea conexiones TCP iquestSi eacutestos fueran los uacutenicos usuarios queacute fraccioacuten de la capacidad de un enlace congestionado le deberiacutea corresponder a cada uno

16 Nota Se supone que ese es el uacutenico traacutefico en el enlace congestionado en otro caso seraacute la misma fraccioacuten del traacutefico para cada conexioacuten

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen
Page 33: Capítulo 3: Capa Transporte - IVprofesores.elo.utfsm.cl/~agv/elo322/1s14/lectures/Transp_3.6..3.7.pdf · Capa Transporte 3-5 Causas/costos de congestión: escenario 1 (buffer ꝏ,

Capa Transporte 3-34

Capiacutetulo 3 Resumen

Principios detraacutes de los servicios de capa transporte

multiplexing demultiplexing Transferencia confiable de

datos Control de flujo Control de congestioacuten

Uso e implementacioacuten en Internet

UDP TCP

A continuacioacuten Dejaremos la

ldquoperiferiardquo o ldquoedgerdquo de la red (capas aplicacioacuten y transporte)

Nos internaremos en el centro de la red ldquonetwork corerdquo

  • Capiacutetulo 3 Capa Transporte - IV
  • Slide 2
  • Principios del control de congestioacuten
  • Slide 4
  • Causascostos de congestioacuten escenario 1
  • Causascostos de congestioacuten escenario 2
  • Slide 7
  • Causascostos de congestioacuten escenario 3
  • Causascostos de congestioacuten escenario 3
  • Estrategias para control de congestioacuten
  • Caso de estudio Control de congestioacuten en ATM ABR
  • Slide 12
  • Slide 14
  • Control de Congestioacuten en TCP
  • TCP AIMD (Additive-Increase Multiplicative-Decrease)
  • Slide 17
  • Slide 18
  • Partida lenta en TCP (slow start)
  • Partida Lenta en TCP (maacutes)
  • Refinamiento a Partida Lenta en TCP (cont)
  • Refinamiento a Partida Lenta en TCP
  • Slide 23
  • Resumen Control de Congestioacuten en TCP
  • Slide 25
  • Control de congestioacuten del Tx TCP
  • Throughput Simplificado de TCP (tasa de transferencia de datos lograda)
  • Futuro de TCP
  • Slide 29
  • Equidad en TCP
  • iquestPor queacute TCP es justa
  • Equidad (maacutes)
  • Slide 33
  • Capiacutetulo 3 Resumen