capítulo 3: capa transporte -vprofesores.elo.utfsm.cl/~tarredondo/info/networks/transport_5.pdf ·...
TRANSCRIPT
Capa Transporte 3-1
Capiacutetulo 3 Capa Transporte - VELO322 Redes de Computadores
Tomaacutes Arredondo Vidal
Este material estaacute basado en material de apoyo al texto Computer Networking A Top DownApproach Featuring the Internet 3rd edition Jim Kurose Keith RossAddison-Wesley 2004
material del curso anterior ELO322 del Prof Agustiacuten Gonzales
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
Control de Congestioacuten en TCP Usa control extremo a extremo (sin asistencia de la red)
Tx limita su ventana de transmisioacutenLastByteSent-LastByteAcked
lelelele min CongWin RcvWindow
Aproximadamente
CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red
RcvWindow es el numero de segmentos (o bytes) que el Rx puede recibir en su buffer (y que el Txpuede enviar sin acuse de recibo)
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)
Partida lenta Conservativo despueacutes de evento de timeout
tasa = CongWinRTT Bytessec
Capa Transporte 3-4
TCP AIMD (Additive-Increase Multiplicative-Decrease)
8 Kbytes
16 Kbytes
24 Kbytes
time
congestionwindow
Decrecimiento multiplicativoreducir 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
MSS (Maximum Segment Size) determina maacutexima cantidad de datos que se pueden enviar en cada segmento
Conexioacuten TCP en el tiempo
Capa Transporte 3-5
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 raacutepidamente hasta una tasa respetable
Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida
Capa Transporte 3-6
Partida Lenta en TCP (maacutes)
Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida
Duplicar CongWin cada RTT
Es hecho incrementando CongWin 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
Capa Transporte 3-7
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Control de Congestioacuten en TCP Usa control extremo a extremo (sin asistencia de la red)
Tx limita su ventana de transmisioacutenLastByteSent-LastByteAcked
lelelele min CongWin RcvWindow
Aproximadamente
CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red
RcvWindow es el numero de segmentos (o bytes) que el Rx puede recibir en su buffer (y que el Txpuede enviar sin acuse de recibo)
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)
Partida lenta Conservativo despueacutes de evento de timeout
tasa = CongWinRTT Bytessec
Capa Transporte 3-4
TCP AIMD (Additive-Increase Multiplicative-Decrease)
8 Kbytes
16 Kbytes
24 Kbytes
time
congestionwindow
Decrecimiento multiplicativoreducir 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
MSS (Maximum Segment Size) determina maacutexima cantidad de datos que se pueden enviar en cada segmento
Conexioacuten TCP en el tiempo
Capa Transporte 3-5
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 raacutepidamente hasta una tasa respetable
Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida
Capa Transporte 3-6
Partida Lenta en TCP (maacutes)
Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida
Duplicar CongWin cada RTT
Es hecho incrementando CongWin 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
Capa Transporte 3-7
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Control de Congestioacuten en TCP Usa control extremo a extremo (sin asistencia de la red)
Tx limita su ventana de transmisioacutenLastByteSent-LastByteAcked
lelelele min CongWin RcvWindow
Aproximadamente
CongWin es dinaacutemica y funcioacuten de la congestioacuten percibida de la red
RcvWindow es el numero de segmentos (o bytes) que el Rx puede recibir en su buffer (y que el Txpuede enviar sin acuse de recibo)
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)
Partida lenta Conservativo despueacutes de evento de timeout
tasa = CongWinRTT Bytessec
Capa Transporte 3-4
TCP AIMD (Additive-Increase Multiplicative-Decrease)
8 Kbytes
16 Kbytes
24 Kbytes
time
congestionwindow
Decrecimiento multiplicativoreducir 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
MSS (Maximum Segment Size) determina maacutexima cantidad de datos que se pueden enviar en cada segmento
Conexioacuten TCP en el tiempo
Capa Transporte 3-5
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 raacutepidamente hasta una tasa respetable
Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida
Capa Transporte 3-6
Partida Lenta en TCP (maacutes)
Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida
Duplicar CongWin cada RTT
Es hecho incrementando CongWin 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
Capa Transporte 3-7
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
TCP AIMD (Additive-Increase Multiplicative-Decrease)
8 Kbytes
16 Kbytes
24 Kbytes
time
congestionwindow
Decrecimiento multiplicativoreducir 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
MSS (Maximum Segment Size) determina maacutexima cantidad de datos que se pueden enviar en cada segmento
Conexioacuten TCP en el tiempo
Capa Transporte 3-5
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 raacutepidamente hasta una tasa respetable
Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida
Capa Transporte 3-6
Partida Lenta en TCP (maacutes)
Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida
Duplicar CongWin cada RTT
Es hecho incrementando CongWin 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
Capa Transporte 3-7
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
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 raacutepidamente hasta una tasa respetable
Cuando la conexioacuten comienza aumentar tasa exponencialmente raacutepido hasta tener primer evento de peacuterdida
Capa Transporte 3-6
Partida Lenta en TCP (maacutes)
Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida
Duplicar CongWin cada RTT
Es hecho incrementando CongWin 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
Capa Transporte 3-7
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Partida Lenta en TCP (maacutes)
Cuando la conexioacuten comienza aumentar tasa exponencialmente hasta primera peacuterdida
Duplicar CongWin cada RTT
Es hecho incrementando CongWin 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
Capa Transporte 3-7
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Refinamiento a Partida Lenta en TCP
Despueacutes de 3 ACKsduplicados CongWin baja a la mitad Luego la ventana crece linealmente
Despueacutes de un timeout CongWin es fijada en 1 MSS
La ventana crece exponencialmente
Hasta un umbral luego crece linealmente
bull3 ACKs duplicados indican la red es capaz de transportar algunos segmentos (solo llegan fuera de orden en el Rx)bull Timeout antes de 3 duplicados es ldquomaacutes alarmanterdquo (no llegaron)
Filosofiacutea
Capa Transporte 3-8
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Refinamiento a Partida Lenta en TCP (cont)
Q iquestCuaacutendo el aumento exponencial deberiacutea cambiar a lineal
A Cuando CongWin llega a 12 de su valor antes del timeout
Implementacioacuten Umbral variable (variablethreshold)
Ante evento de peacuterdidas el umbral 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 Es como opera hoy TCP
3 ACKS DuplicadosEvento
Capa Transporte 3-9
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
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
Cuando CongWin estaacute sobre Threshold Tx estaacute en fase abolicioacuten de congestioacuten la ventana crece linealmente
Cuando curre un triple duplicado de ACK 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-10
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
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 bajo 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 1 MSS cada RTT
CongWin = CongWin+MSS (MSSCongWin)
ACK receipt for previously unackeddata
Resulta en una duplicacioacuten de CongWin cada RTT
CongWin = CongWin + MSS If (CongWin gt Threshold)
set state to ldquoCongestion Avoidancerdquo
ACK receipt for previously unackeddata
CommentaryTCP Sender Action Event
Capa Transporte 3-11
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
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 adiciona al incrementar W por 1 MSS por cada RTT hasta una perdida
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 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-12
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
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)
Throughput en teacuterminos de tasa de peacuterdida (L) es
Para el throughput deseado con el algoritmo de control de congestioacuten actual se toleran probabilidades de peacuterdida de solo L = 210-10 Wow (1 cada 5 mil millones de segmentos)
Se requieren nuevas versiones de TCP para enlaces de alta velocidad (ver RFC 3649)
LRTT
MSSThroughputAvg
sdot= 221
Capa Transporte 3-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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-13
Objetivo de la Equidad (fairness) Si K sesiones TCP comparten un mismo enlace de ancho de banda R cada uno 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-14
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
iquestPor queacute TCP es justa
Supongamos dos sesiones compitiendo Aumento aditivo da pendiente de 1 como aumento de throughout Reduccioacuten multiplicativa reduce throughput proporcionalmente
R
R
Igual bandwidth compartido
Throughput Conexioacuten 1
Thro ughputConexioacuten 2
Peacuterdida decrece ancho de banda en factor de 2
Abolicioacuten de congestioacuten aumento aditivo
Abolicioacuten de congestioacuten aumento aditivo
Peacuterdida decrece ancho de banda en factor de 2
Capa Transporte 3-15
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Equidad (maacutes)
Equidad y UDP Aplicaciones Multimedia no usan TCP
No quieren tasa ahogada por control de congestioacuten
En su lugar usan UDP Envian audiovideo 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 obtendraacute R2
Capa Transporte 3-16
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Modelando el Retardo
Q iquestCuaacutento tiempo tardo en recibir un objeto desde un servidor Web luego del enviacuteo del requerimiento
Ignorando congestioacuten el retardo es influido por
Establecimiento de conexioacuten TCP Retardo en la transmisioacuten de datos Algoritmo de partida lenta (slowstart)
Notacioacuten y suposiciones Suponemos un enlace de tasa R (bps) entre un solo cliente y un servidor
S MSS (bits) O tamantildeo del objeto (bits) Sin retransmisiones (no hay peacuterdidas ni errores)
No hay congestioacuten inicial
Tamantildeo de ventana Asumir primero ventana de congestioacuten fija W segmentos
Luego veremos ventana dinaacutemica modelando slowstart
Capa Transporte 3-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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-17
Ventana de congestioacuten Fija (1)
Primer casoVentana congestioacuten fija (segmentos sin acuso de recibo) W=4
WSR gt RTT + SR ACK del primer segmento en ventana retorna antes que los datos de la ventana sean enviados
delay = 2RTT + OR
servidorcliente objeto
Capa Transporte 3-18
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Ventana de congestioacuten Fija (2)
Segundo caso Ventana congestioacuten fija (segmentos sin acuso de recibo) W=2
(WS)R lt RTT + SR hay que esperar por ACK despueacutes de enviar los datos de la ventana
delay = 2RTT + OR+ (K-1)[SR + RTT - WSR]
K = O(WS) es el nuacutemero de ventanas que cubren el objetoEl servidor esta esperando (stalled state) despueacutes de la transmisioacuten de cada ventana (excepto la primera)
Capa Transporte 3-19
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Modelo del Retardo en TCP Slow Start (1)
Ahora supongamos que la ventana crece de acuerdo a slowstart (dinaacutemicamente 1 2 4 8 )
Mostraremos que el retardo para un objeto es
R
S
R
SRTTP
R
ORTTLatency P )12(2 minusminus
+++=
Donde P es el nuacutemero de veces que TCP estaacute inactivo en el servidor
1min minus= KQP
- Donde Q es el nuacutemero de veces que el servidor estariacutea inactivosi el objeto tuviera un numero infinito de segmentos
- y K es el nuacutemero de ventanas que cubren el objeto
Capa Transporte 3-20
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Modelo del Retardo en TCP Slow Start (2)
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Ejemplobull OS = 15 segmentosbull K = 4 ventanasbull Q = 2bull P = minK-1Q = 2
Servidor inactivo P=2 veces
Componentes del retardobull 2 RTT por establecimiento de conexioacuten y requerimiento de objetobull OR tiempo paratransmitir el objetobull Tiempo inactivo del servidor por slow start
Server idles P = minK-1 Q times
Capa Transporte 3-21
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Modelo del retardo en TCP (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2retardo
1
1
1
minusminus+++=
minus+++=
++=
minus
=
=
sum
sum
ventanaeacutesima-k
de luego inactivo tiempo2 1 =
minus++
minus
R
SRTT
R
S k
recibos de acuses recibe eacutel que hasta esima-k ventanala de
segmentosenviar a comienzaservidor el que desde tiempo=+ RTTR
S
ventanaeacutesima-k la
r transmitipara tiempo2 1 =minus
R
Sk
RTT
initiate TCPconnection
requestobject
first window= SR
second window= 2SR
third window= 4SR
fourth window= 8SR
completetransmissionobject
delivered
time atclient
time atserver
Capa Transporte 3-22
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
Modelo del retardo en TCP (4)
+=
+ge=
geminus=
ge+++=ge+++=
minus
minus
)1(log
)1(logmin
12min
222min
222min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
L
L
Caacutelculo de Q nuacutemero de veces de inactividad para tamantildeo de objetoes similar (ver tarea)
Recordar K = nuacutemero de ventanas que cubren el objeto
iquestCoacutemo calculamos K
1
1log2 +
+=RS
RTTQ
Funcioacuten techo entero igual o mayor al numeroentre los [ ]
Capa Transporte 3-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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-23
Modelo de HTTP Asumamos que una paacutegina WEB consiste de
1 paacutegina HTML base (de tamantildeo O bits) M imaacutegenes (cada una de tamantildeo O bits)
HTTP no-persistente M+1 conexiones TCP en serie Tiempo de Respuesta = (M+1)[2RTT + OR + suma de tiempos inactivos]
HTTP Persistente 2 RTT para requerir y recibir archivo HTML base 1 RTT para requerir e iniciar la recepcioacuten de M imaacutegenes Tiempo de respuesta = (M+1)OR + 3RTT + suma de tiempos inactivos
HTTP No-persistente con X conexiones paralelas Supongamos MX entero 1 conexioacuten TCP para archivo base MX imaacutegenes por conexioacuten paralela Tiempo Respuesta = (M+1)OR + (MX + 1)2RTT + suma de tiempo inactivo
Capa Transporte 3-24
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
02468
101214161820
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT = 100 msec O = 5 Kbytes M=10 y X=5
Para bajo ancho de banda tiempos de conexioacuten y respuesta son dominados por tiempo de transmisioacuten
Conexiones persistentes soacutelo dan mejora menor sobre conexiones no-persistentes paralelas
Capa Transporte 3-25
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1Mbps
10Mbps
non-persistent
persistent
parallel non-persistent
Tiempo de Respuesta HTTP (en segundos)
RTT =1 sec O = 5 Kbytes M=10 y X=5
Para RTT grandes tiempo de respuesta es dominado por establecimiento de TCPy retardos de slow start Conexiones persistentes ahora hacen una mejora importante
Capa Transporte 3-26
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
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