Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 2
La capa de Transporte
Estas transparencias son una adaptación de las ofrecidas por JFKurose/KWRoss de su libro
“Redes de Computadores: Un enfoque Descendente Basado en Internet.
Copyright 1996-2002
La capa de Transporte
Índice
1. Conceptos generales.
2. La capa de transporte en Internet.
3. Multiplexación y demultiplexación.
4. Capa de Transporte en Internet.
5. Protocolo de Transporte UDP.
6. Principios de la transferencia fiable de datos.
7. Protocolo de Transporte TCP.
1
Conceptos Generales
• La capa de transporte es la cuarta
capa, vista en orden ascendente Sistema A Sistema B
Aplicación Aplicación
desde la capa física y es la
primera de las denominadas Presentación Presentación
Transporte Transporte
Conceptos Generales
• La capa de transporte tiene como función ofrecer a la capa superior
un recurso de mensajes fiable: libre de errores, en orden y sin
duplicidades para garantizar la integridad extremo a extremo.
2
Conceptos Generales
Router
los pasa a la capa de red
Router
Receptor: reagrupa los
segmentos en mensajes y los
pasa a la capa de aplicación
Aplicación
Transporte
Router Red
Router Enlace
Física
Router
3
Relación entre la capa de transporte y la de red
- La capa de transporte proporciona una comunicación lógica entre
los procesos de aplicaciones ejecutándose en diferentes máquinas.
- La capa de red proporciona una comunicación lógica entre hosts
Protocolo Protocolo
de de
Transporte Transporte
Protocolo de Red
4
La capa de Transporte en Internet
Los servicios que un protocolo de transporte puede ofrecer
están condicionados por el modelo de servicio del protocolo
de la capa de red subyacente.
UDP
TCP
y
SCTP
5
La capa de Transporte en Internet
Hay 3 protocolos:
- Control de congestión.
(es un servicio dirigido a la red y no tanto a la aplicación)
6
Multiplexación y Demultiplexación
Multiplexación Demultiplexación
Multiplexación y Demultiplexación
Aplicación
P1 P2 Pn
Multiplexación Demultiplexación
Transporte
Socket identificador
único
Red conjuntos de
campos que
permiten la
identificación del
socket
7
Multiplexación y Demultiplexación
• Cada socket tiene un identificador único.
(En un momento dado en un máquina puede haber más de un socket)
Datos de Aplicación
(mensaje)
Multiplexación y Demultiplexación
• Cada puerto tiene 16 bits: 0 a 65535 posibilidades de numeración.
8
Multiplexación y Demultiplexación UDP
Un socket UDP queda completamente definido por la 2-tupla:
dirección IP destino + número puerto destino
Segmento 1
Puerto fuente A Puerto destino C
IP fuente A IP destino C
Segmento 2
Puerto fuente B Puerto destino C
IP fuente B IP destino C
...
Host A Servidor
...
9
Multiplexación y Demultiplexación TCP
Un socket TCP queda completamente definido por la 4-tupla:
dirección IP fuente + número puerto destino
dirección IP destino + número puerto destino
Cuando un segmento TCP llega a una máquina, se utiliza los 4 valores para
demultiplexar el segmento al apropiado socket
Segmento 1
Puerto fuente A Puerto destino A
IP fuente A IP destino A
Segmento 2
Puerto fuente B Puerto destino A
IP fuente B IP destino A
IP fuente A IP dest. B
IP fuente C IP dest. B
Cliente Web C
10
La capa de Transporte en Internet
• Protocolos de transporte disponibles en Internet:
UDP
TCP
y
SCTP
- Comprobación de errores.
11
Protocolo no orientado a conexión UDP
El protocolo UDP se usa:
- Sin establecimiento, no introduce retardos. Ejemplo DNS.
(TCP usa el protocolo de acuerdo de 3 fases antes de comenzar a
transferir los datos.)
- No mantiene el estado de la conexión.
(TCP mantiene el estado de la conexión en el sistema final.)
12
Protocolo no orientado a conexión UDP
• Estructura de un segmento UDP
32
Longitud Checksum
Datos de Aplicación
(mensaje)
13
Protocolo no orientado a conexión UDP
- El encabezado de UDP identifica los puertos de origen y destino.
- El encabezado IP identifica las máquinas de origen y destino.
Ejemplo:
Palabra 1: 0110011001100110 Resultado suma:1011101110111011
Palabra 2: 0101010101010101 0000111100001111
1100101011001010
Palabra 3: 0000111100001111
14
Protocolo no orientado a conexión UDP
- No hace nada.
- Descarta el segmento.
- Lo pasa al proceso de aplicación con un aviso de segmento dañado
• Direccionamiento
• Control de flujo
• Multiplexación y demultiplexación
Tema 2: La capa de Transporte Servicios de Red 31
15
Elementos de los protocolos de transporte
• El protocolo de transporte desempeña funciones similares a las
de la capa de enlace.
Sus diferencias están:
• Direccionamiento
• Control de flujo
• Multiplexación y demultiplexación
Tema 2: La capa de Transporte Servicios de Red 33
16
Principios de la transferencia de datos confiable
- Es un problema de vital importancia en las redes de computadores.
Capa de
proceso proceso
aplicación emisor receptor
datos datos
17
Principios de la transferencia de datos confiable
1. Transferencia fiable de datos sobre un canal fiable.
3. Reenviar el paquete
paquetes duplicados
SOLUCIÓN
números de secuencia
protocolos de bit alternante
18
Principios de la transferencia de datos confiable
3. Transferencia fiable de datos sobre un canal con pérdidas y
errores de bits.
- Suma de comprobación.
- Reconocimientos positivos y negativos.
- Números de secuencia.
- Temporizadores.
19
Principios de la transferencia de datos confiable
1. Aumentar el rango de los números de secuencia.
2. El emisor y receptor debe de tener memoria para almacenar más
de un paquete.
• Direccionamiento
• Control de flujo
• Multiplexación y demultiplexación
Tema 2: La capa de Transporte Servicios de Red 41
20
Sistema A Sistema B
Usuarios del Servicio de Transporte Usuarios del Servicio de Transporte
TSAP TSAP
TPDU
Entidad del Protocolo Entidad del Protocolo
de de
Transporte Transporte
NSAP NSAP
Host 1
Direccionamiento Host 2
Conexión de
Capa
transporte
transporte NSAP
NSAP
Capa red
Capa enlace
de datos
Capa física
21
Direccionamiento
Protocolo inicial de conexión
Servidor de Servidor
Usuario Servidor de procesos Usuario procesos de hora
TSAP
Capa Capa
transporte NSAP transporte
Servidor de nombres
a) b)
• Direccionamiento
• Control de flujo
• Multiplexación y demultiplexación
Tema 2: La capa de Transporte Servicios de Red 45
22
Establecimiento de una conexión
• Problemas: perder , duplicar, o almacenar los paquetes, …
• Posibles soluciones:
t=30s nºsec=80
hi
o
pr
t=60s se inicializa
R
23
Establecimiento de una conexión
Host 1 Host 2
CR (s
eq=x
)
q=x)
=y,se
(seq
ACK
DAT
OS(s
eq=x
,ACK
=y)
a)
Host 1 Host 2
duplicado viejo
CR (s
eq=x
)
q=x)
=y,se
(seq
ACK
REC
HAZ
AR(A
CK=
y)
b)
24
Establecimiento de una conexión
Host 1 Host 2
duplicado viejo
CR (s
eq=x
)
q=x)
=y,se
(seq
ACK
DAT
OS(s
eq=x
,ACK
=z)
REC
HAZ
AR(A
CK=
y)
c)
• Direccionamiento
• Control de flujo
• Multiplexación y demultiplexación
Tema 2: La capa de Transporte Servicios de Red 51
25
Liberalización de una conexión
Hay dos tipos de liberalización:
- Liberalización simétrica.
¿Term iné,
inaste
?
s
• Recuerda al sistema telefónico. Term
iné, Adio
No funciona siempre
Ejercito B
26
Liberalización de una conexión
Caso normal de desconexión por acuerdo de tres vías
Host 1 Host 2
Envía la DR
e inicia el DR
temporizador
Envía la DR e
DR inicia el
Libera la temporizador
conexión
Envía ACK ACK
Libera la
conexión
a)
Host 1 Host 2
Envía la DR
e inicia el DR
temporizador
Envía la DR e
inicia el
Libera la DR
temporizador
conexión .
Envía ACK ACK .
Expira.el
temporizador
libera la
conexión
b)
27
Liberalización de una conexión
Respuesta perdida
Host 1 Host 2
Envía la DR
e inicia el DR
temporizador
Envía la DR e
Expira el DR inicia el
temporizador temporizador
Envía DR e DR
inicia
Envía la DR e
temporizador
DR inicia el
Libera la temporizador
conexión
ACK
Envía ACK
Libera la
conexión
c)
Host 1 Host 2
Envía la DR
e inicia el DR
temporizador
Envía la DR e
Expira el DR inicia el
temporizador temporizador
Envía DR e DR
inicia
Envía la DR e
temporizador
. inicia el
. temporizador
.
N expiraciones
del temporizador Expira el
y se libera la temporizador
conexión libera la
conexión
d)
28
Elementos de los protocolos de transporte
orientados a conexión
• Direccionamiento
• Control de flujo
• Multiplexación y demultiplexación
Tema 2: La capa de Transporte Servicios de Red 58
29
Elementos de los protocolos de transporte
Control de flujo:
• Tanto el transmisor como el receptor debe manejar buffers.
Se desaprovechan recursos
30
Elementos de los protocolos de transporte
Control de flujo:
La media óptima entre los buffers en el origen y los buffers en el
destino depende del tipo de tráfico.
31
Elementos de los protocolos de transporte
Control de flujo:
A B
1 <solicito 8 buffers> A quiere 8 buffers
2 <ack=15, buffers =4> B sólo da 4 buffers
3 <seq0, data=m0> A le queda 3 buffers
4 <seq1, data=m1> A le queda 2 buffers
5 <seq2, data=m2> Mensaje perdido
6 <ack=1, buffers=3> B reconoce m0 y m1 y permite 2-4
7 <seq3, data=m3> A le queda 1 buffers
8 <seq4, data=m4> A le queda 0 buffers y debe detenerse
9 <seq2, data=m2> A termina de temporizar
10 <ack=4, buffers=0> A queda bloqueada
11 <ack=4, buffers=1> A tiene 1 buffer
12 <ack=4, buffers=2> A tiene 2 buffers
13 <seq5, data=m5> A le queda 1 buffer
14 <seq6, data=m6> A queda bloqueada
15 <ack=6, buffers=0> A permanece bloqueada
16 <ack=6, buffers=4> Bloqueo irreversible
UDP
TCP
y
SCTP
32
La capa de Transporte TCP
TCP ofrece además servicios adicionales a la capa de aplicación como:
- Orientado a conexión
- Transporte de datos fiables.
control de flujo
número de secuencias
confirmación
timers
• TCP asegura que los datos que son transportados sean entregados
correctamente y en orden
• TCP convierte un servicio no confiable como IP entre sistemas en un
servicio de transporte fiable entre procesos
- Control de congestión
Permite atravesar una red congestionada regulando la tasa del tráfico
33
La capa de Transporte TCP
Estructura del segmento TCP
32
1. Puertos fuente y destino.
2. Número de secuencia de 32 bits.
Puerto fuente # Puerto destino # 3. Nº de confirmación ACK de 32 bits.
Número de secuencia 4. Longitud de cabecera de 4 bits.
Número de confirmación ACK
Mide palabras de 32 bits.
¿ Cuanto vale este campo si la
URG
No
ACK
PSH
SYN
RST
Long.
FIN
Ventana de recepción
header usado
cabecera es de 20 bytes?
Puntero de
Checksum datos urgentes 5. Flag de 6 bits: ACK, RST, SYN,
Opciones
FIN, PSH, y URG
6. Ventana de recepción
Datos de Aplicación
(mensaje)
7. Opciones. Se utiliza para
negociar el parámetro MSS.
Fichero
34
La capa de Transporte TCP
Números de secuencia y números de confirmación ACK
- TCP establece una conexión full-duplex
Host 1 Host 2
ACK Seq=
43, A
CK=
80
35
La capa de Transporte TCP
Estimación del tiempo Round-Trip y Timeout
- TCP usa un mecanismo de timeout para la retransmisión de
segmentos perdidos.
¿Cuál es intervalo óptimo de ese timeout para que no se
produzcan retardos o no se inyecten segmentos repetidos?
36
La capa de Transporte TCP
RTT: gaia.cs.umass.edu to fantasia.eurecom.fr
Estimación del tiempo Round-Trip y Timeout
350
300
RTT (milisegundos)
250
200
150
100
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
tiempo (segundos)
MuestraRTT EstimadoRTT
37
La capa de Transporte TCP
Control de flujo
- TCP hace una gestión dinámica de los buffers.
- Los procesos de aplicación puede que no recojan los datos
inmediatamente. Si la capa de transporte sigue enviando
datos => emisor sature al receptor.
-TCP define una variable denominada ventana de recepción
(RcvWindows).
- Esta variable da una idea de los buffers disponibles.
Cliente Server
Petición de SYN=
conexión 1 , se
q=clie
nt_isn
Confirmación
=1,
SYN r_isn, conexión
e q=serve isn+1
s t_
clien
ack=
Envía ACK SYN
=0, s
e
ack= q=client_
serve is
r_isn n+1,
+1
38
La capa de Transporte TCP
Liberalización de la conexión
Cliente Server
Cerrar FIN=
1
ACK
Cerrar
FIN
ACK
Tiempo de
espera
Cerrado
39
La capa de Transporte TCP
Control de congestión
¿Cómo limita TCP la tasa de envío?
1. Additive-increase, multiplicative-decrease.
2. Slow start.
3. Reaction to timeout events
40
La capa de Transporte TCP
Additive-increase, multiplicative-decrease
41
La capa de Transporte TCP
Reaction to timeout events
FIN_2 ESTABLECIDA
Se recibe ACK
Se envia FIN
No se envia nada FIN_1
42
La capa de Transporte TCP
Máquina de estados Servidor crea una
conexión
CERRADO
Se recibe ACK
Se recibe SYN
Se envía FIN Se envia SYN y ACK
CERRAR SYN_RECEPCION
Host 1 Host 2
Seq=92
, datos:
8 bytes
Timeout
00
ACK=1
Seq=
9 2, da
tos: 8
byte
s
00
ACK=1
43
La capa de Transporte TCP
Ejemplos
Host 1 Host 2
Seq=92
, datos:
Seq=10 8 bytes
Timeout
0, dato
s: 20 b
ytes
100
K= 0
AC 12
Seq= K=
92, dAC
atos
:8b
ytes
Timeout
=120
ACK
Host 1 Host 2
Seq=92
, datos:
8 bytes
Seq=1
0 0, dato
s: 20 b
ytes
00
ACK=1
Timeout
20
ACK=1
44
Aplicación Protocolo Protocolo
Aplicación Transporte
Correo electrónico SMTP TCP
Acceso a terminal remoto Telnet TCP
Web HTTP TCP
Transferencia de ficheros FTP TCP
Gestión de redes SNMP UDP
Protocolo de RIP UDP
encaminamiento
Traducción de nombres DNS UDP
Telefonía por Internet - UDP
Multimedia - UDP
45