Está en la página 1de 17

Capas de Transporte OSI y TCP

75.43 Introduccin a los Sistemas Distribuidos


75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 1
Tema: Capa de Transporte Prof. Mara Feldgen 1
Laboratorio de Sistemas Distribuidos Heterogneos
Capas de Transporte del modelo
OSI y del Modelo TCP/IP
Servicios y Protocolos
Conceptos y caractersticas
Prof. Mara Feldgen
Facultad de Ingeniera
Universidad de Buenos Aires
Laboratorio de Sistemas Distribuidos Heterogneos
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I
2 Cuatrimestre de 2005
Tema: Capa de Transporte Prof. Mara Feldgen 2
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 2
Tema: Capa de Transporte Prof. Mara Feldgen 3
Laboratorio de Sistemas Distribuidos Heterogneos
Relacin entre unidades
Las cabeceras (headers) de TPDUs, paquetes y
tramas (frames).
(carga til o rea de datos)
Tema: Capa de Transporte Prof. Mara Feldgen 4
Laboratorio de Sistemas Distribuidos Heterogneos
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
! Liberacin:
Notificacin de desconexin
Identificacin de la conexin liberada
!
Transferencia limitada de datos
OSI
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 3
Tema: Capa de Transporte Prof. Mara Feldgen 5
Laboratorio de Sistemas Distribuidos Heterogneos
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
Tema: Capa de Transporte Prof. Mara Feldgen 6
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 4
Tema: Capa de Transporte Prof. Mara Feldgen 7
Laboratorio de Sistemas Distribuidos Heterogneos
Cliente: inicia la
interaccin
ACTIVO
Servidor: Espera por el
cliente
PASIVO
REQUEST
REPLY
Modelo Cliente-Servidor
Tema: Capa de Transporte Prof. Mara Feldgen 8
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 5
Tema: Capa de Transporte Prof. Mara Feldgen 9
Laboratorio de Sistemas Distribuidos Heterogneos
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.
Tema: Capa de Transporte Prof. Mara Feldgen 10
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 6
Tema: Capa de Transporte Prof. Mara Feldgen 11
Laboratorio de Sistemas Distribuidos Heterogneos
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
Tema: Capa de Transporte Prof. Mara Feldgen 12
Laboratorio de Sistemas Distribuidos Heterogneos
Control de Flujo y Buffering
(a) Buffers de tamao fijo, encadenados.
(b) Buffers de tamao variable encadenados.
(c) Un buffer grande circular por conexin
Espacio
libre
Grfico del libro de Tanenbaum
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 7
Tema: Capa de Transporte Prof. Mara Feldgen 13
Laboratorio de Sistemas Distribuidos Heterogneos
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 (en la capa transporte TCP)
Selective Reject ARQ
Tema: Capa de Transporte Prof. Mara Feldgen 14
Laboratorio de Sistemas Distribuidos Heterogneos
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 y control de ujo


A Mensaje B Comentario
En una transmisin de datos de un host A a un host B
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 8
Tema: Capa de Transporte Prof. Mara Feldgen 15
Laboratorio de Sistemas Distribuidos Heterogneos
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
Tema: Capa de Transporte Prof. Mara Feldgen 16
Laboratorio de Sistemas Distribuidos Heterogneos
Capas de Transporte en TCP/IP
PORT
Request enviado al port y direccin de IP del
servidor
Reply enviado al port y direccin de IP del origen
PORT
(TCP/UDP) + IP
Cliente
Servidor
! CON CONEXIN: TCP (Transport Control Protocol)
Similar a TP4 del modelo OSI
! SIN CONEXIN: UDP (User Datagram Protocolo)
Modelo Cliente Servidor
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 9
Tema: Capa de Transporte Prof. Mara Feldgen 17
Laboratorio de Sistemas Distribuidos Heterogneos
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
Tema: Capa de Transporte Prof. Mara Feldgen 18
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 10
Tema: Capa de Transporte Prof. Mara Feldgen 19
Laboratorio de Sistemas Distribuidos Heterogneos
Datagrama UDP
cero
Protocolo (8 bits)
17
Longitud de UDP (16 bits)
Direccin de IP de origen (32 bits)
Direccin de IP de destino (32 bits)
Nro Port Origen (16 bits)
Nro Port Destino (16 bits)
Longitud de UDP (16 bits) Checksum (16 bits)
Datos
UDP
Pseudo
Header
UDP
Header
0
15 16
31
Tema: Capa de Transporte Prof. Mara Feldgen 20
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 11
Tema: Capa de Transporte Prof. Mara Feldgen 21
Laboratorio de Sistemas Distribuidos Heterogneos
Segmento TCP
Nro. de ACK (32 bits)
Nro de Secuencia (32 bits)
Checksum (16 bits) Puntero a Urgente (16 bits)
Opciones (si hay)
TCP
Header
0 15 16 31
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
P
S
T
S
Y
N
F
I
N
Tamao ventana (16 bits)
Datos
Tema: Capa de Transporte Prof. Mara Feldgen 22
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 12
Tema: Capa de Transporte Prof. Mara Feldgen 23
Laboratorio de Sistemas Distribuidos Heterogneos
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
Tema: Capa de Transporte Prof. Mara Feldgen 24
Laboratorio de Sistemas Distribuidos Heterogneos
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)
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 13
Tema: Capa de Transporte Prof. Mara Feldgen 25
Laboratorio de Sistemas Distribuidos Heterogneos
Retransmisin en TCP:
Sliding Windows ARQ
! Categoras de Transmisin:
Cada una de las dos capas que estn conectadas deben controlar la
cantidad de datos que envan y reciben del otro. Esto se realiza
dividiendo los bytes en categoras. El transmisor debe dividir los datos
enviados en categoras tal de diferenciar los datos enviados y ya
confirmados de los enviados y no confirmados todava, ya que debe
esperar la confirmacin (ACK) del receptor o puede ser necesario
retransmitirlos.
Para los datos 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 acceptar (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)
Tema: Capa de Transporte Prof. Mara Feldgen 26
Laboratorio de Sistemas Distribuidos Heterogneos
Retransmisin en TCP:
Sliding Windows ARQ
! Categoras de Recepcin:
Para los datos que se reciben no es necesario separar entre datos
recibidos y confirmados y datos recibidos y no confirmados como
hace el transmisor, ya que no debe esperar por los ACKs.
1. Receive Category #1+2: Bytes Recibidos y confirmados al
transmisor. Son las complementarias de las Transmit
Categories #1 and #2 del transmisor.
2. Receive Category #3: Bytes que no se recibieron todavia,
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 todavia). Es la complementaria a
Transmit Category #4.
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 14
Tema: Capa de Transporte Prof. Mara Feldgen 27
Laboratorio de Sistemas Distribuidos Heterogneos
# Send Unacknowledged (SND.UNA): Es el N de secuencia del 1 byte de datos 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 de datos 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.
Sliding Windows en TCP
Grfico de www.tcpipguide.com/free
Tema: Capa de Transporte Prof. Mara Feldgen 28
Laboratorio de Sistemas Distribuidos Heterogneos
Tipos de transferencia
de datos
! Flujo de datos interactivo
(Telnet y Rlogin)
! Flujo de datos masivo (Bulk data)
(ftp, correo electrnico, etc)
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 15
Tema: Capa de Transporte Prof. Mara Feldgen 29
Laboratorio de Sistemas Distribuidos Heterogneos
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
Tema: Capa de Transporte Prof. Mara Feldgen 30
Laboratorio de Sistemas Distribuidos Heterogneos
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
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 16
Tema: Capa de Transporte Prof. Mara Feldgen 31
Laboratorio de Sistemas Distribuidos Heterogneos
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 TPDU
Ventanas deslizantes
Checksum (compl. a 1)
Retransm. (Jacobson)
No existe
Tema: Capa de Transporte Prof. Mara Feldgen 32
Laboratorio de Sistemas Distribuidos Heterogneos
Tipos de servidores
Iterativo
SIN Conexin
Iterativo
CON Conexin
Concurrente
SIN Conexin
Concurrente
CON Conexin
Capas de Transporte OSI y TCP
75.43 Introduccin a los Sistemas Distribuidos
75.33 Redes y Teleprocesamiento I (Prof. Mara Feldgen) 17
Tema: Capa de Transporte Prof. Mara Feldgen 33
Laboratorio de Sistemas Distribuidos Heterogneos
Server Concurrente
server
server
hijo
fork
Cliente
Host MAFALDA
Host Susanita
(tcp, * ,21)
(tcp, Susanita, 1500)
(tcp, Mafalda, 21)
Request
Conexin
Conexin
Tema: Capa de Transporte Prof. Mara Feldgen 34
Laboratorio de Sistemas Distribuidos Heterogneos
Server Concurrente
Cliente
Host Susanita
(tcp, Susanita, 1500)
server
fork
Host Mafalda
(tcp, * ,21)
server
hijo
(tcp, Mafalda, 21)
Conexin
Cliente
Host Manolito
(tcp, Manolito, 1500)
server
hijo
(tcp, Mafalda, 21)
Conexin
Request
Conexin
Request
Conexin

También podría gustarte