Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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