You are on page 1of 16

FIUBA 75.74 Sistemas Distribuidos I (Prof.

Mara Feldgen) 1
Capa de Transporte OSI y TCP
Capa de Transporte
1
Capas de Transporte de los
modelos OSI y TCP/IP
Servicios y Protocolos
Conceptos y caractersticas
Prof. Mara Feldgen
Capa de Transporte
2
Servicios que provee a las capas superiores
Las capas de transporte, red y capas superiores.
Capas superiores
Aplicacin,
presentacin y
sesin
Capa de red
Entidad de
transporte
Direccin de
transporte
Direccin
de red
Capas superiores
Aplicacin,
presentacin y
sesin
Capa de red
Entidad de
transporte
Direccin
de red
TPDU
interfase
interfase
Host A Host B
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 2
Capa de Transporte OSI y TCP
Capa de Transporte
3
Relacin entre unidades
Las cabeceras (headers) de TPDUs, paquetes y
tramas (frames).
(carga til o rea de datos)
Capa de Transporte
4
Funciones de la Capa de Transporte
! Conexin:
Mapeo de direcciones
Conexin de red segun
requerimientos
Multiplexado o splitting
Establecer unidad de
transporte
Funciones para la fase de
transferencia
Identificacin de las puntas de
transporte
Transferir datos iniciales
! Transferencia:
Secuenciamiento, bloqueo,
concatenacin, segmentacin
Multiplexado o splitting
Control de flujo
Deteccin o recuperacin de errores
Datos urgentes
Delimitacin de segmento
Identificacin de conexin de
transporte
Preservacin de la unidad de sesin
! Liberacin:
Notificacin de desconexin
Identificacin de la conexin liberada
OSI
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 3
Capa de Transporte OSI y TCP
Capa de Transporte
5
Caractersticas de un servicio
CON CONEXION
(Repaso)
! Establecimiento o
conexin
! Transferencia
! Liberacin o
desconexin
! Unidades relacionadas
! Los datos llegan en orden
(N de secuencia)
! Control de errores
! Retransmisin
! Control de flujo
Capa de Transporte
6
Modelo Cliente-Servidor
! Es un grupo de procesos cooperantes, llamados servers
(servidores) que brindan servicios a los usuarios, llamados clients
(clientes)
! La aplicacin se basan en un protocolo de pregunta/respuesta
(request/reply)
Request
Reply
Red
Cliente Servidor
5
4
3
2
1
Request/Reply
Capas 1 a 4
Capas 1 a 4
Modelo de Capas
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 4
Capa de Transporte OSI y TCP
Capa de Transporte
7
Cliente: inicia la
interaccin
ACTIVO
Servidor: Espera por el
cliente
PASIVO
REQUEST
REPLY
Modelo Cliente-Servidor
Capa de Transporte
8
Distintos modelos
1.
2.
Red
Cliente Servidor
Direccionamiento al server
1. Request a 243.0.0.1
2. Reply a 199.0.0.2
3.
4.
Red
Cliente Servidor
1.
2.
Direccionamiento al proceso
por broadcast
1. Broadcast
2. Respuesta al broadcast
3. Request
4. Reply
3.
4.
Red
Servidor Cliente
Name Server
1.
2.
Direccionamiento
por Name Server
1. Lookup
2. NS reply
3. Request
4. Reply
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 5
Capa de Transporte OSI y TCP
Capa de Transporte
9
Primitivas de servicio de Transporte OSI
IDLE
Establecimiento
pasivo
pendiente
Establecimiento
activo
pendiente
Conectado
Desconexin
pasiva
pendiente
Desconexin
activa
pendiente
IDLE
Servidor Cliente
Primitiva CONNECT
REQUEST ejecutada
TPDU del CONNECT
REQUEST recibida
TPDU del CONNECT
ACCEPT recibida
Primitiva CONNECT
INDICATION ejecutada
TPDU del DISCONNECT
REQUEST recibida
Primitiva DISCONNECT
REQUEST ejecutada
TPDU del DISCONNECT
ACCEPT recibida
Primitiva DISCONNECT
INDICATION ejecutada
Diagrama de estados de la administracin de la conexin y desconexin. Las transiciones
en rojo son causadas por la llegada de un segmento. La zona en amarillo muestra el estado
del servidor luego de cada interaccin. La zona en verde, la del cliente.
Capa de Transporte
10
Direccionamiento en la
capa de transporte OSI
Proceso
usuario
(cliente)
TSAPs
4 Transporte
Proceso
servidor 1
TSAPs TSAP 1243 TSAP 1888
NSAPs
3 Red
2 Enlace
1 Fsica
NSAPs
Proceso
servidor 1
TSAP 1666
Relacin entre TSAPs y NSAPs en la conexiones de transporte
Conexin de
transporte
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 6
Capa de Transporte OSI y TCP
Capa de Transporte
11
Establecimiento de la conexin:
Nmeros de secuencia
(a) Los N de segmentos de las TPDUs no pueden estar en la
regin prohibida
(b) El problema de resincronizacin
Grfico del libro de Tanenbaum
Capa de Transporte
12
Control de Flujo y Buffering
Espacio
libre Grfico del libro de Tanenbaum
(a) Buffers de tamao fijo, encadenados.
(b) Buffers de tamao variable encadenados.
(c) Un buffer grande circular por conexin
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 7
Capa de Transporte OSI y TCP
Capa de Transporte
13
RETRANSMISION
! Los mecanismos de retransmisin se conocen
como:
Automatic Repeat Request (ARQ):
Stop and Wait ARQ
Crditos (en la capa de transporte OSI)
Go-Back-N ARQ
Selective Repeat ARQ (en la capa transporte TCP)
Capa de Transporte
14
1 Establecimiento buf=8 A garantiza lugar para recibir 8 mensajes
2 Establecimiento ack buf=4 B garantiza lugar para recibir 4 mensajes
3
4
5
6
7
8
9
10
11
12
13
14
15
16
N sec=0 data =m0
N sec=1 data =m1
N sec=2 data =m2
Ack = 1 buf = 3
N sec=3 data =m3
N sec=1 data =m1
Ack = 4 buf = 2
N sec=4 data =m4
N sec=5 data =m5
Ack = 5 buf = 0
Ack = 6 buf = 1
N sec=6 data =m6
Ack = 6 buf = 0
Ack = 6 buf = 2
A puede enviar 3 mensajes mas
A puede enviar 2 mensajes mas
El mensaje se pierde, A puede enviar 1 mas
B confirma mensaje 0, y permite el mensaje 1 a 3
A No puede enviar mas, bloqueado
Timeout del mensaje 1, retransmisin
B confirma mensaje 1 a 3 y permite el mensaje 4 a 5
A puede enviar 1 mas
A no puede enviar mas, bloqueado
B confirma mensaje 4 y permite 0 mensajes
B confirma mensaje 5 y permite el mensaje 6
A no puede enviar mas, bloqueado
B confirma mensaje 6 y permite 0 mensajes
B confirma y se pierde: deadlock potencial

Crditos OSI: retransmisin y control de ujo


A Mensaje B Comentario
En una transmisin de datos de un host A a un host B
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 8
Capa de Transporte OSI y TCP
Capa de Transporte
15
Tipos de redes Tasa error
ACEPTABLE
residual sealados
! A: CONS confiable SI SI
! B: CONS c/ errores SI NO
! C: CLNS NO NO
Clases de protocolos Tipo de red
! 0 Clase simple A
! 1 Recup.bsica errores B
! 2 Clase multiplexado A
! 3 Recup. errores y Mux B
! 4 Deteccin y Recup. errores C
Tipos de TPDU
! CR: Connect Request
! CC: Connect Confirm
! DR: Disconnect Request
! DC: Disconnect Confirm
! DT: Datos
! ED: Expedited Data
! AK: ACK de datos
! EA: ACK Expedited Data
! RJ: Reject
! ER: Error en TPDU
! PI: Ident. de transp.
Capa de Transporte OSI
CONS: Connection Oriented Network Service
CLNS: ConnectionLess Network Service
Capa de Transporte
16
Capas de Transporte en TCP/IP
Cliente Servidor
! CON CONEXIN: TCP (Transport Control Protocol)
Similar a TP4 del modelo OSI
! SIN CONEXIN: UDP (User Datagram Protocolo)
Modelo Cliente Servidor
PORT
1. Request enviado al port y direccin
de IP del servidor
2. Reply enviado al port y direccin de IP del origen
PORT
(TCP/UDP) + IP
1
1
2
2
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 9
Capa de Transporte OSI y TCP
Capa de Transporte
17
Host
MAFALDA
Socket o half association activo
Socket o half association pasivo
Port bien conocido Port asignado
conexin
Host
SUSANITA
(tcp, SUSANITA,1500)
Cliente
(tcp, * ; 21)
Servidor
Association (conexin): (tcp, MAFALDA,21, SUSANITA,1500)
Dir local
IPL+portL
IPL+portL
*.portL
Dir remota
IPR+portR
*.*
*.*
Comportamiento del server:
acepta a un solo cliente (*)
acepta datagramas para IPL
acepta todos los datagramas para portL
Direccionamiento en TCP
Capa de Transporte
18
User Datagram Protocol (UDP)
! Es un protocolo de datagramas (protocolo sin conexin).
! En cada operacin se procesa exactamente un datagrama,
que se envia en un datagrama de IP.
Header IP
20 bytes
Header UDP
(8 bytes)
Datos UDP
Datagrama UDP
Datagrama IP
RFC 768
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 10
Capa de Transporte OSI y TCP
Capa de Transporte
19
Datagrama UDP
Nro Port Origen (16 bits) Nro Port Destino (16 bits)
Longitud del segmento UDP
(16 bits)
Checksum (16 bits)
Datos
ceros
(00000000)
Protocolo (8 bits)
=17
Longitud del segmento UDP (16 bits)
Direccin de IP de origen (32 bits)
Direccin de IP de destino (32 bits)
Pseudo
Header,
agregado
por IP
UDP
Header
0
15 16
31
s
e
g
m
e
n
t
o
Capa de Transporte
20
Transport Control Protocol (TCP)
! Es un servicio con conexin, byte stream
! La conexin requiere de las tres etapas:
Establecimiento de la conexin
Transferencia de datos
Liberacin de la conexin
Header IP
20 bytes
Header TCP
(20 bytes)
Datos TCP
Segmento de TCP
Datagrama IP
RFC 793
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 11
Capa de Transporte OSI y TCP
Capa de Transporte
21
Segmento TCP
TCP
Header
0 15 16 31
Nro. de ACK (32 bits)
Nro de Secuencia (32 bits)
Checksum (16 bits) Puntero a Urgente (16 bits)
Opciones (si hay)
Nro. de Port Origen (16 bits) Nro. de Port Destino (16 bits)
Long.Header
(4 bits)
Reservado
(6 bits)
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Tamao ventana (16 bits)
Datos
ceros
Protocolo (8 bits)
6
Longitud del segmento TCP
(16 bits)
Direccin de IP de origen (32 bits)
Direccin de IP de destino (32 bits)
Pseudo
Header,
agregado
por IP
S
e
g
m
e
n
t
o
T
C
P
Capa de Transporte
22
Establecimiento :
three-way handshake
! Open Activo
! Open Pasivo
! Nde secuencia inicial
! Negociacin de MSS
! Open simultneo
! Backlog
! Timeout
Liberacin :
! Half Close
! Estado 2MSL Wait
! Estados FIN_WAIT
! Close simultneo
! Timeout
CONCEPTOS de TCP
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 12
Capa de Transporte OSI y TCP
Capa de Transporte
23
Establecimiento y Terminacin de una conexin TCP
SYN ISNC = 1200 win = 4096 <mss = 1024>
SYN ISNC = 8300 ACK = 1201 win = 4096 <mss = 1024>
ACK = 8301
Terminacin:
Establecimiento:
segmento
1
segmento
2
segmento
3
FIN ISNC = 1201 ACK = 8301
ACK = 1202
FIN ISNC = 8301 ACK = 1202
ACK = 8302
segmento
1
segmento
2
segmento
4
segmento
3
Capa de Transporte
24
Diagrama de transicin
de estados de TCP
CLOSED
SYN_RCVD SYN_SEND
ESTABLISHED
LISTEN
CLOSE_WAIT
LAST_ACK
FIN_WAIT_1
FIN_WAIT_2
CLOSING
TIME_WAIT
(Comienzo)
listen /
(open pasivo)
connect / SYN
send / SYN
SYN / SYN + ACK
RST /
SYN / SYN + ACK
(open simultneo)
SYN + ACK / ACK
(open activo)
(transf. datos)
ACK /
close / FIN
close / FIN
close / FIN
(cierre simultneo)
FIN / ACK
FIN + ACK / ACK
ACK /
FIN / ACK
ACK /
FIN / ACK
ACK /
close o
timeout
(2MSL timeout)
timeout
(cierre activo)
(cierre pasivo)
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 13
Capa de Transporte OSI y TCP
Capa de Transporte
25
Retransmisin en TCP:
ARQ de Ventana deslizante
! Categoras de Transmisin:
Cada una de las dos capas que estn conectadas deben controlar la
cantidad de datos que envan y reciben. Esto se realiza dividiendo los bytes
en categoras. El emisor debe dividir los bytes enviados en categoras tal
de diferenciar los bytes enviados y ya confirmados de los enviados y no
confirmados todava, ya que debe esperar la confirmacin (ACK) del
receptor y puede ser necesario retransmitirlos.
Para los bytes de la capa superior que se transmitieron hay 4 categoras:
1. Transmit Category #1: Bytes enviados y que fueron
Confirmados (Acknowledged)
2. Transmit Category #2: Bytes enviados pero que NO fueron
confirmados todava (falta el ACK)
3. Transmit Category #3: Bytes que NO se enviaron todava y que
el receptor esta dispuesto a aceptar (estn dentro de la ventana)
4. Transmit Category #4: Bytes que NO se enviaron todava y que
estn en la siguiente ventana (el receptor NO permite an su envo)
Capa de Transporte
26
! Categoras de Recepcin:
Los bytes que se reciben no es necesario separarlos entre bytes
recibidos y confirmados y bytes recibidos y no confirmados como
hace el emisor, ya que no debe esperar por los ACKs.
1. Receive Category #1+2: Bytes Recibidos y confirmados al
emisor. Son las complementarias de las Transmit Categories
#1 and #2 del emisor.
2. Receive Category #3: Bytes que no se recibieron todava,
pero que est dentro de la ventana (Receptor listo para
recibirlas). Es la complementaria a Transmit Category #3.
3. Receive Category #4: Bytes que no se recibieron y que
marcan el comienzo de la siguiente ventana (Receptor NO
est listo para recibirlos todava). Es la complementaria a
Transmit Category #4.
Nota: Los bytes corresponden al campo Datos del segmento
Retransmisin en TCP:
ARQ de Ventana deslizante
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 14
Capa de Transporte OSI y TCP
Capa de Transporte
27
Ventana deslizante en TCP
Grfico de www.tcpipguide.com/free
# Send Unacknowledged (SND.UNA): Es el N de secuencia del 1 byte enviado sin ACK.
Es el primer byte de la Transmit Category #2; todos los N de secuencia anteriores
corresponden a bytes en Transmit Category #1.
# Send Next (SND.NXT): Es el N de secuencia del siguiente byte a enviar. Esto marca el
primer byte de Transmit Category #3.
# Send Window (SND.WND): El tamao de la ventana de emisin en bytes que puede enviar
sin esperar el ACK. La suma de (SND.UNA) + (SND.WND) marca el primer byte de Transmit
Category #4.
Capa de Transporte
28
Tipos de transferencia de datos de TCP
! Flujo de datos interactivo
(Telnet y Rlogin)
! Flujo de datos masivo (Bulk data)
(ftp, correo electrnico, etc)
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 15
Capa de Transporte OSI y TCP
Capa de Transporte
29
Caractersticas del ujo interactivo
! Algoritmo de Nagle
! Deshabilitacin del Algoritmo de Nagle
Cliente Servidor
tecla A
display
A
A (PUSH)
ack
Monitor de
consola procesa
eco
eco de A (PUSH)
ack
Capa de Transporte
30
Flujo de datos masivos
! Flujo de datos normal
! Retransmisin:
Ventanas deslizantes (sliding window)
Tamao de la ventana
! Control de congestin:
Slow start:
ventana del receptor (wnd)
ventana de congestin (cwnd)
! Sndrome Silly Window (Clark 1982)
! Modo Urgente
FIUBA 75.74 Sistemas Distribuidos I (Prof. Mara Feldgen) 16
Capa de Transporte OSI y TCP
Capa de Transporte
31
Comparacin TP4 - TCP
! TP4
Orientado a unidades
Desconexin abrupta
Expedited Data
! Otras:
Mltiples TPDUs
Crditos
Checksum (Fletcher)
Retransmisin
TS-Bridge (Internetworking)
! TCP
Orientado a streams
Graceful release
Datos urgentes
! Otras:
Una nica TPDU
Ventanas deslizantes
Checksum (compl. a 1)
Retransmisin (Jacobson)
No existe

You might also like