Você está na página 1de 15

Captulo 3: Continuacin

3.1 Servicios de la

capa transporte
3.2 Multiplexing y
demultiplexing
3.3 Transporte sin
conexin: UDP
3.4 Principios de
transferencia
confiable de datos

3.5 Transporte orientado

a la conexin: TCP

Estructura de un segmento
Transferencia confiable de
datos
Control de flujo
Administracin de conexin

3.6 Principios del control

de congestin
3.7 Control de congestin
en TCP
Capa Transporte 3-1

Control de flujo en TCP


Ya hemos visto cmo TCP asegura confiabilidad en la

transferencia, ahora veremos cmo consigue controlar el


flujo de datos.
El proceso aplicacin

El lado receptor de

TCP tiene un buffer


receptor:

puede ser lento en la


lectura desde la capa
de transporte.
Control de flujo

Tx no sobrecargar el
buffer del receptor
por transmitir
demasiado rpido

La idea es hacer coincidir la tasa de transmisin

con la tasa de lectura de la aplicacin.

Capa Transporte 3-2

Control de flujo en TCP: Cmo


Rx comunica el espacio
trabaja

(supongamos que receptor


descarta segmentos fuera
de orden)
Espacio libre en buffer
RcvWindow =
RcvBuffer-[LastByteRcvd LastByteRead]

libre a travs del valor


de RcvWindow en los
segmentos
As el receptor limita
datos en transito (sin
ACK) a RcvWindow
(Tx debe respetar el
no envo de ms datos
que RcvWindows)

Esto garantiza que el


buffer del Rx no se
rebase (overflow)

Capa Transporte 3-3

Captulo 3: Continuacin
3.1 Servicios de la

capa transporte
3.2 Multiplexing y
demultiplexing
3.3 Transporte sin
conexin: UDP
3.4 Principios de
transferencia
confiable de datos

3.5 Transporte orientado

a la conexin: TCP

Estructura de un segmento
Transferencia confiable de
datos
Control de flujo
Administracin de conexin

3.6 Principios del control

de congestin
3.7 Control de congestin
en TCP
Capa Transporte 3-4

Administracin de Conexin en TCP


Recordar: Transmisor y

receptor TCP establecen


una conexin antes de
intercambiar segmentos de
datos
TCP inicializa variables:
# de secuencia
buffers, informacin de
control de flujo (e.g.
RcvWindow)
client: Iniciacin de
conexin
Socket clientSocket = new
Socket("hostname","port
number");

server: contactado por


cliente

Socket connectionSocket =
welcomeSocket.accept();

Saludo de manos de tres vas


(Three way handshake):
host cliente enva
segmento TCP SYN al servidor

Paso 1:

Especifica # secuencia inicial


no data

Paso 2: host servidor recibe


SYN, responde con segmento
SYN & ACK

Servidor ubica buffers


Especifica # secuencia inicial
Paso 3: cliente recibe SYN & ACK,
responde con segmento ACK, el
cual podra contener datos.

Capa Transporte 3-5

Administracin de la conexin TCP (cont.)


Cliente Cierra la conexin:
Cliente cierra socket:
clientSocket.close();

client

close
closing

Paso 1: host cliente enva

FIN

timed wait

responde con ACK. Ante un


cierre de conexin de la
aplicacin y enva FIN.

FIN

ACK

segmento TCP FIN al


servidor

Paso 2: servidor recibe FIN,

server

close
closing

A CK

closed

closed

Capa Transporte 3-6

Administracin de la conexin TCP (cont.)


Paso 3: cliente recibe FIN,
responde con ACK.

Entra en tiempo de
espera responder con
ACK a FINs recibidos

client

close
closing

server
FIN

ACK

Paso 4: servidor, recibe ACK.

FIN

close
closing

Nota: Con pequea

modificacin se puede
manejar FINs simultneos.

timed wait

Pasa a conexin cerrada.

A CK

closed

closed

Capa Transporte 3-7

Administracin de la Conexin TCP (cont)

Ciclo de vida
del servidor TCP
Ciclo de vida del
cliente TCP

Capa Transporte 3-8

Administracin de la Conexin TCP (cont)


cliente

CLOSED

servidor

Active open /SYN


Passive open

Close
Close

LISTEN

SYN/SYN + ACK

Send/ SYN
SYN/SYN + ACK

SYN_RCVD
ACK

Close/FIN

SYN_SENT

SYN + ACK/ACK

ESTABLISHED
Close/FIN

FIN/ACK

FIN_WAIT_1
ACK
FIN_WAIT_2

AC FIN/ACK
K
+
FI
N/
AC
K

FIN/ACK

CLOSE_WAIT
Close/FIN
CLOSING
ACK Timeout after two
segment lifetimes
TIME_WAIT

LAST_ACK
ACK
CLOSED

Capa Transporte 3-9

Captulo 3: Continuacin
3.1 Servicios de la

capa transporte
3.2 Multiplexing y
demultiplexing
3.3 Transporte sin
conexin: UDP
3.4 Principios de
transferencia
confiable de datos

3.5 Transporte orientado

a la conexin: TCP

Estructura de un segmento
Transferencia confiable de
datos
Control de flujo
Administracin de conexin

3.6 Principios del control

de congestin
3.7 Control de congestin
en TCP
Capa Transporte 3-

Principios del control de congestin


Congestin:
Informalmente: demasiadas fuentes envan

demasiados datos demasiado rpido para que la red lo


maneje
Es distinto a control de flujo!
Manifestaciones:
Prdidas de paquetes (buffer overflow en routers)
Grandes retardos (colas en los router)
Uno de los problemas top-10!

Capa Transporte 3-

Estrategias para control de congestin


Los podemos clasificar en dos grupos amplios:
Control de congestin
extremo a extremo:
No hay realimentacin

explcita de la red
La congestin es inferida
desde las prdidas y
retardos observados por
sistemas extremos
Es la estrategia usada por
TCP

Control de congestin
asistido por la red:
routers proveen

realimentacin a sistemas
extremos
Bit nico indicando
congestin (SNA,
DECbit, TCP/IP ECN,
ATM)
Explcitamente informa
a Tx la tasa el router
puede soportar

Capa Transporte 3-

Caso de estudio: Control de congestin en


ATM ABR
ABR: available bit rate:
servicio elstico
Si camino del Tx no tiene

mayor carga:
Tx debera usar ancho
de banda disponible
Si camino de Tx est
congestionado:
Tx reduce a un mnimo
la tasa garantizada

Celdas RM (resource
management):
Enviadas a intervalos por Tx y

entre celdas de datos


bits en celda RM fijados por
switches (asistido por la red)
Bit NI: no incrementar tasa
(congestin moderada)
Bit CI: Congestion Indication
Celdas RM son retornadas al Tx
por el Rx con bits intactos

ATM: Asynchronous Transfer Mode

Capa Transporte 3-

Caso de estudio: Control de congestin


en ATM ABR

Campo ER (explicit rate) de dos bytes en celda RM

Switch congestionado puede bajar valor de ER en la celda


Tasa de envo del Tx se ajusta a la tasa mnima soportable en el
camino

Bit EFCI en celdas de datos: es fijado en 1 en switch

congestionado

Si celda de dato precedente tiene el EFCI marcado, Tx marca bit


CI en celda RM retornada.

Capa Transporte 3-

Captulo 3: Continuacin
3.1 Servicios de la

capa transporte
3.2 Multiplexing y
demultiplexing
3.3 Transporte sin
conexin: UDP
3.4 Principios de
transferencia
confiable de datos

3.5 Transporte orientado

a la conexin: TCP

Estructura de un segmento
Transferencia confiable de
datos
Control de flujo
Administracin de conexin

3.6 Principios del control

de congestin
3.7 Control de congestin
en TCP
Capa Transporte 3-

Você também pode gostar