You are on page 1of 31

Departamento de

Tecnologa Electrnica

Algunas de las transparencias


tienen copyright:

Captulo 2
Aspectos avanzados de
la capa de transporte

Redes de
computadoras: Un
enfoque descendente
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, Abril
2009.

Aspectos avanzados de la capa de transporte

Captulo 2. ndice
2.1 Servicios de la

capa de transporte
2.2 Transporte
orientado a conexin:
TCP
2.3 Principios del
control de la
congestin

2.4 Control de la

congestin en TCP
2.5 Stream Control
Transmission Protocol,
SCTP

Aspectos avanzados de la capa de transporte

Captulo 2. ndice
2.1 Servicios de la

capa de transporte
2.2 Transporte
orientado a conexin:
TCP
2.3 Principios del
control de la
congestin

2.4 Control de la

congestin en TCP
2.5 Stream Control
Transmission Protocol,
SCTP

Aspectos avanzados de la capa de transporte

Servicios de transporte y sus protocolos


comunicacin lgica entre los procesos de
aplicacin que corren en diferentes hosts
Los protocolos de transporte tienen lugar en los
extremos de la comunicacin
Proporcionan

Se dividen los mensajes de la aplicacin en segmentos, que


se pasan a la capa de red

Aspectos avanzados de la capa de transporte

Protocolos de internet de la capa de


transporte
Existe ms de un protocolo de transporte disponible

para las aplicaciones

Internet: TCP y UDP

Aspectos avanzados de la capa de transporte

Protocolos de internet de la capa


de transporte
Existe ms de un

protocolo de
transporte
disponible para
las aplicaciones

Internet: TCP y
UDP

TCP

UDP

Orientado a
conexin

No orientado a
conexin

Fiable

No fiable

Agrupacin en
segmentos
Rx ordena los
segmentos
ACKs y
temporizadores
Control de flujo

Mensajes sin
fragmentar
Datagrama de usuario

Control de la
congestin

Sin control de la
congestin

Sin ACKs
Sin control de flujo

Aspectos avanzados de la capa de transporte

Protocolos de internet de la capa


de transporte
Puerto: identifica la aplicacin
Nmeros de puerto:

http://www.iana.org/assignments/port-numbers
Protocolo de aplicacin

Nmeros de puerto

FTP

20, 21

Protocolo de
transporte
TCP

Telnet

23

TCP

SMTP

25

TCP

DNS

53

UDP (TCP (*))

TFTP

69

UDP

HTTP

80

TCP

POP3

110

TCP

RIP

520

UDP

Aspectos avanzados de la capa de transporte

Captulo 2. ndice
2.1 Servicios de la

capa de transporte
2.2 Transporte
orientado a conexin:
TCP
2.3 Principios del
control de la
congestin

2.4 Control de la

congestin en TCP
2.5 Stream Control
Transmission Protocol,
SCTP

Aspectos avanzados de la capa de transporte

TCP: Caractersticas

RFCs: 793, 1122,

1323, 2018, 2581

Punto a punto:

Un emisor, un receptor
fiable, flujo de datos
ordenado:
Sin lmite de mensaje
Procesamiento en cadena o
pipeline:
Control del flujo y la
congestin en TCP
mediante ventanas
Buffers de Tx y Rx

socket
door

a p p lic a tio n
w r it e s d a t a

a p p lic a t io n
re a d s d a ta

TCP
s e n d b u ffe r

TCP
r e c e iv e b u f f e r

Comunicacin full duplex:

Flujo de datos
bidireccional en la misma
conexin
MSS: maximum segment
size
Orientado a conexin:
handshaking
(intercambio de
mensajes de control).
Protocolo de inicio de
conexin
Control de flujo:
socket
El tx no desborda al rx
door

segm ent

Aspectos avanzados de la capa de transporte

Estructura segmentoTCP
URG: datos urgentes
ACK: nACK
vlido
PSH: para pasar datos
a la aplicacin
urgentemente
RST, SYN, FIN:
Establecimiento de
la conexin
(reinicio,
establecimiento y
fin)

32 bits

Puerto fuente Puerto dest


N secuencia
N ACK

Long Sin
UA P R S F
cab uso

checksum

Cuenta de los
datos por bytes
(no por
segmentos)

Ventana
Puntero urgente

Opciones (longitud variable)

N bytes
que el rx puede
aceptar

Datos de la aplicacin
(longitud variable)

checksum
(como en UDP)
Aspectos avanzados de la capa de transporte

10

N de secuencia TCP y ACKs


Host A
El cliente empieza
la apertura activa

El cliente
confirma la
apertura del
servidor

Host B
Seq=M
,S

N
Seq=

YN=1

YN=1
S
,
1
=M+
, ACK

Seq=M
+1, AC
K

El servidor est en
apertura pasiva, empieza
conexin y confirma la
apertura del cliente

=N+1

Conexin
establecida

tiempo

Aspectos avanzados de la capa de transporte

11

Captulo 2. ndice
2.1 Servicios de la

capa de transporte
2.2 Transporte
orientado a conexin:
TCP
2.3 Principios del
control de la
congestin

2.4 Control de la

congestin en TCP
2.5 Stream Control
Transmission Protocol,
SCTP

Aspectos avanzados de la capa de transporte

12

Principios del control de la


congestin
Congestin:
informalmente: demasiados emisores enviado
demasiados datos demasiado rpido para que la red
los gestione
diferente del control de flujo
Seales de congestin:

Paquetes perdidos (desbordamiento de los buffers de los


routers)
retrasos (debidos a las colas en los buffers de los
routers)

Aspectos avanzados de la capa de transporte

13

Causas/costes de la congestin
Host A

Dos tx:

IN = Tasa de envo

OUT = Tasa de
recepcin
C= capacidad del
router

Host B

out

in : original data

unlimited shared
output link buffers

Teora de colas
Grandes retrasos

cuando hay
congestin
Existe un mximo
de tasa de
transferencia
Aspectos avanzados de la capa de transporte

14

Causas/costes de la congestin:
Suposicin: El tx retransmite los paquetes perdidos
Ahora, no se tx IN, sino una tasa mayor IN
Costes de la congestin:

mayor trabajo (retx) que para un caso ideal


retransmisiones innecesarias: un enlace puede llevar mltiples copias de un
paquete
Host A

Host B

out

in : original data

unlimited shared
output link buffers

Aspectos avanzados de la capa de transporte

15

Causas/costes de la congestin
Dos tx con el mismo destino
Suposicin: congestin en el router entre A y el destino
Otro coste de la congestin:

Cuando un paquete se descarta en la ruta, la capacidad empleada en


cualquier ruta atravesada anteriormente, se desperdicia
Host A

in : original data

out

'in : original data, plus


retransmitted data

finite shared output


link buffers

Host B

Aspectos avanzados de la capa de transporte

16

Causas/costes de la congestin
Resumen de costes de la congestin
Grandes retrasos cuando la tasa de entrada a un router se
acerca a la capacidad del enlace.
El tx debe retx los segmentos perdidos por el
desbordamiento del router.
Se usa un BW innecesario por la retx de copias duplicadas de
segmentos (por los retrasos)
La capacidad de los routers usados previamente se
desperdicia cuando se descarta un paquete

Aspectos avanzados de la capa de transporte

17

Aproximaciones al control de la
congestin
Dos posibles aproximaciones al control de la congestin:
Control de la congestin
terminal a terminal:
Sin soporte explcito a la

capa de transporte
La congestin se detecta
por la prdida de paquetes
o los retardos
Un ejemplo es TCP

Control de la congestin
asistido por la red:
Los routers proporcionan

realimentacin explcita a
la red
Ej: un bit indica la
congestin

Aspectos avanzados de la capa de transporte

18

Captulo 2. ndice
2.1 Servicios de la

capa de transporte
2.2 Transporte
orientado a conexin:
TCP
2.3 Principios del
control de la
congestin

2.4 Control de la

congestin en TCP
2.5 Stream Control
Transmission Protocol,
SCTP

Aspectos avanzados de la capa de transporte

19

Control de la congestin en TCP


Host A

El emisor limita la

congestin?

Host B

=100

8 byte

s data

=
ACK
100

time

loss

Seq=9
2,

Suceso de prdida =
timeout o 3 acks
duplicados
El tx TCP reduce la
velocidad (CongWin)
tras el suceso de prdida

AC K

Escenario de
prdida de
ACK

timeout

Cmo percibe el tx la

timeout

ltimoByteEnviadoltimoByteAck CongWin

Host A

Seq=9
2, 8 b
ytes d
ata

transmisin:

Host B

resen
d nd
segm 2
ent

time

Reenvo de un
segmento tras tres
ACKs duplicados
Aspectos avanzados de la capa de transporte
20

Control de la congestin TCP:

aditivo, decrecimiento multiplicativo (AIMD)

Resumen: incrementar la tasa de transmisin (tamao de


ventana), sondeando el BW hasta que ocurra una prdida
Crecimiento aditivo: se incrementa CongWin en 1 MSS cada
RTT hasta que se detecta una prdida
Decrecimiento multiplicativo : se divide CongWin por la mitad
tras una prdida

Comportamiento
en diente de
sierra: sondeo de
BW

congestion window size

crecimiento

time
Aspectos avanzados de la capa de transporte

21

Control de la congestin TCP:


detalles
Tres fases:

A grandes rasgos,

velocidad =

CongWin
Bytes/sec
RTT

Cuando empieza la conexin,

CongWin = 1 MSS

Ejemplo: MSS = 500 bytes & RTT = 200


ms
Velocidad inicial = 20 kbps

Arranque lento (slow


start, SS)
Evasin de la congestin
(Congestion avoidance,
CA): ej: AIMD
Recuperacin rpida
(Fast recovery, FR)

Las dos primeras son

obligatorias en TCP,
mientras que la ltima es
recomendable

Aspectos avanzados de la capa de transporte

22

Arranque lento TCP


El BW disponible debe

RTT

ser >> MSS/RTT


Cuando comienza la
conexin, la tasa crece
exponentialmente hasta
el primer suceso de
prdida
La velocidad inicial es
lenta pero crece
rpidamente de forma
exponencial

Host A

Host B
one segm
en

two segm
ents

four segm

Aspectos avanzados de la capa de transporte

ents

time
23

Evasin de la congestin, CA
Tras 3 ACKs duplicados:
CongWin se divide por 2
La ventana empieza a crecer linealmente
Sin embargo, tras un fin de

temporizacin:

CongWin se pone 1 MSS;


La ventana crece exponencialmente
Hasta un umbral, luego crece linealmente

Filosofa:
3 ACKs duplicados indican

que la red es capaz de


entregar algunos segmentos
El fin de temporizacin

indica un escenario de
congestin ms alarmante

Aspectos avanzados de la capa de transporte

24

Resumen: Control de la congestin TCP

Cuando CongWin est por debajo del Umbral, el tx est en la fase de


arranque lento; la ventana crece exponencialmente.

Cuando CongWin est por encima del Umbral, el tx est en la fase de


evasin de la congestin; la ventana crece linealmente.

Cuando ocurren tres ACKs duplicados, el Umbral se pone a


CongWin/2 y CongWin se pone a Umbral.

Cuando ocurre un fin de temporizacin, Umbral se pone a CongWin/2


y CongWin se pone a 1 MSS.
Nota: La versin de TCP utilizada
hace variar la forma en la que se
aplica el control de la congestin.
TCP Tahoe, p.e., siempre reduce la
ventana de congestin al valor incial
tras un evento de prdida, mientras
que en TCP Reno se aplican todas las
fases de la congestin.

Aspectos avanzados de la capa de transporte

25

Captulo 2. ndice
2.1 Servicios de la

capa de transporte
2.2 Transporte
orientado a conexin:
TCP
2.3 Principios del
control de la
congestin

2.4 Control de la

congestin en TCP
2.5 Stream Control
Transmission Protocol,
SCTP

Aspectos avanzados de la capa de transporte

26

Limitaciones deTCP y UDP


Limitaciones de TCP:
TCP mantiene un orden estricto: el head-of-line
blocking puede ser un problema (se bloquea el flujo
de datos hasta que se recupere el segmento perdido)
TCP est orientado a byte: se debe usar PSH para
asegurarse de que los datos van a la aplicacin
Sin multi-homing
Relativamente vulnerable a algunos ataques (SYN
flooding)
Limitaciones de UDP
No fiable
Sin orden de datos
Sin control de congestin
Solucin: SCTP
Aspectos avanzados de la capa de transporte

27

Stream Control Transport Protocol


SCTP
Stream Control Transport Protocol, RFC 2960
Inicialmente creado por el grupo SIGTRAN para la RTC
Mejoras de SCTP
Soporta Multi-homing: redundancia & flujo eficiente
Flujo de datos mltiple en una sola asociacin: soluciona el
problema del head-of-line blocking de TCP

Aspectos avanzados de la capa de transporte

28

Caractersticas de SCTP
Caractersticas de SCTP
Orientado a conexin
Conceptos
Extremos (endpoints): un endpoint SCTP es una lista de

direcciones en el mismo puerto

Asociacin posibilidad de mltiples IPs


{[160.15.82.20, 161.10.8.221, 10.1.61.11:100]}:
[128.33.6.12:200]} (dos endpoints, una asociacin Figura -)

Aspectos avanzados de la capa de transporte

29

Cabecera SCTP

Cabecera SCTP
Las primeras palabras de 32 bits Cabecera SCTP comn
(similar a la cabecera UDP)
Etiqueta de verificacin (verification tag): distingue entre
asociaciones; previene de ataques
Chunks: bloques de datos

Aspectos avanzados de la capa de transporte

30

Cabecera SCTP
Chunks SCTP
Bloques con una longitud mltiplo de 32 bits
Diferentes tipos
Control (e.g., INIT, INIT-ACK, COOKIE-ECHO, COOKIEACK four-way handshake -)
Datos (ej: DATA)

Aspectos avanzados de la capa de transporte

31