capítulo 3: capa transporte -vprofesores.elo.utfsm.cl/~tarredondo/info/networks/transport_5.pdf ·...

26
Capa Transporte 3-1 Capítulo 3: Capa Transporte - V ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, 2004. material del curso anterior ELO322 del Prof. Agustín Gonzales

Upload: nguyenthuy

Post on 20-Sep-2018

222 views

Category:

Documents


0 download

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