Publicado el 2 de Mayo del 2019
532 visualizaciones desde el 2 de Mayo del 2019
1,7 MB
71 paginas
Creado hace 8a (24/11/2015)
Capa de transporte
Nivel 4
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re in PowerPoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only ask the
following:
If you use these slides (e.g., in a class) in substantially unaltered form, that
you mention their source (after all, we’d like people to use our book!)
If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and
note our copyright of this material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2010
J.F Kurose and K.W. Ross, All Rights Reserved
Computer Networking:
A Top Down Approach
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, April
2009.
Capa transporte
3-1
Capítulo 3: Capa de transporte
(Nivel 4)
Objetivos:
Comprender servicios que
suele facilitar la capa de
transporte:
1. Multiplexación/demul-
Aprender las
tiplexación (extensión de
la entrega host-host, a
proceso-proceso)
2. Transferencia fiable y/o
ordenada de datos
3. 3.1 Control de flujo
(saturación conexión)
3.2 Control de congestión
(saturación general)
implementaciones
concretas de protocolos
de la capa de transporte
en Internet:
UDP: transporte no
orientado a la conexión y no
fiable (1)
TCP: transporte orientado a
la conexión, fiable (1,2,3)
Capa transporte
3-2
Capítulo 3: capa de transporte
3.1 Servicios de la capa
de transporte
3.2 Multiplexación y
demultiplexación
3.3 UDP
3.4 Transferencia fiable
3.5 TCP
Estructura de los
segmentos
Fiabilidad en la
transmisión de datos
Control de flujo
Gestión de la conexión
3.6 Principios de control de
congestión
3.7 Control de congestión
en TCP
Capa transporte
3-3
Servicios
Facilita comunicación lógica
entre procesos (aplicaciones)
corriendo en diferentes hosts
Los protocolos de transporte
se ejecutan en los sistemas
finales
Lado emisor:
Trocea/Agrega* mensajes
en segmentos, que pasa a
la capa de red
Lado receptor:
reensambla* segmentos
que pasa a la capa de
aplicación
Puede haber más de un protocolo de
transporte disponible para las aplics.
Internet: TCP y UDP
application
transport
network
data link
physical
application
transport
network
data link
physical
Capa transporte
3-4
Capas: Transporte vs. Red
Capa de red:Comunicación lógica entre hosts no
adyacentes
Capa de transporte:Comunicación lógica entre
procesos
Basada en servicios que facilita esta capa
Capa transporte
3-5
Protocolos de nivel de transporte
en Internet
Confiable, recepción en
application
transport
network
data link
physical
orden (TCP)
Control de flujo
Control de congestión
Requiere setup/iniciali.
No confiable, recepción
desordenada: UDP
Extensión del tráfico
“best-effort” de IP
Servicios no
implementados:
Garantía de retardos
Garantía de ancho de
banda
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Capa transporte
3-6
Capítulo 3: capa de transporte
3.1 Servicios de la capa
de transporte
3.2 Multiplexación y
demultiplexación
3.3 UDP
3.4 Transferencia fiable
3.5 TCP
Estructura de los
segmentos
Fiabilidad en la
transmisión de datos
Control de flujo
Gestión de la conexión
3.6 Principios de control de
congestión
3.7 Control de congestión
en TCP
Capa transporte
3-7
Multiplexación / demultiplexación
Demultiplexación en host receptor:
Distribuir los segmentos
recibidos al socket correcto
Multiplexación en host que envía:
Encapsular el tráfico
convenientemente y
enviarlo al nivel de red
= socket
= proceso
aplicacion
P3
P1
P1
aplicacion
P2
transporte
transporte
red
enlace
físca
host 1
red
enlace
físca
host 2
P4
aplicacion
transporte
red
enlace
físca
host 3
Capa transporte
3-8
Demultiplexación
El host recibe un datagrama
IP
Recordemos, que cada
datagrama tiene
direcciones IP (origen y
destino)
Cada datagrama
transporta 1 segmento de
nivel 4 (==transporte)
Cada segmento tiene un
campo denominado puerto
origen y destino
En general es posible usar las
direcciones IP y (números) de
puerto para identificar un
socket (aunque UDP modelo
más simple)
32 bits
#Puerto origen #Puerto dest.
Otros campos de
la cabecera
Datos de la aplicación
(mensaje)
Formato de segmentos TCP/UDP
Capa transporte
3-9
Demultiplexación sin conexión
DatagramSocket serverSocket = new DatagramSocket(6428);
//server C
P2
P3
P1P1
SP: 6428
DP: 9157
SP: 6428
DP: 5775
SP: 9157
DP: 6428
cliente
IP: A
servidor
IP: C
SP: 5775
DP: 6428
Cliente
IP:B
SP en envío solo sirve como identificación del socket de retorno
Capa transporte 3-10
Demux orientado a la conexión
Un socket TCP queda
identificado, en cambio
por 4-tupla:
Dirección IP origen
Dirección IP destino
Número de Puerto origen
Número de Puerto dest.
Esto es, el host
receptor usa estos 4
valores para direccionar
al socket correcto
Los servidores por tanto
pueden soportar muchos
sockets TCP
concurrentemente:
Cada socket identificado
por su propia 4-tupla
Los servidores web, e.g.,
pueden tener un socket
para cada conexión de
cada cliente
Por ejemplo, HTTP no-
persistente creará una socket
para cada petición
Capa transporte
3-11
Demux orientado a la conexión
P1
P4
P5
P6
P2
P1
P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
cliente
IP: A
SP: 9157
DP: 80
S-IP: A
D-IP:C
servidor
IP: C
SP: 9157
DP: 80
S-IP: B
D-IP:C
cliente
IP:B
Capa transporte 3-12
Demux orientado a la conexión:
Web Server usando hilos
P1
P4
P2
P1
P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
cliente
IP: A
SP: 9157
DP: 80
S-IP: A
D-IP:C
servidor
IP: C
SP: 9157
DP: 80
S-IP: B
D-IP:C
cliente
IP:B
Capa transporte 3-13
Capítulo 3: capa de transporte
3.1 Servicios de la capa
de transporte
3.2 Multiplexación y
demultiplexación
3.3 UDP
3.4 Transferencia fiable
3.5 TCP
Estructura de los
segmentos
Fiabilidad en la
transmisión de datos
Control de flujo
Gestión de la conexión
3.6 Principios de control de
congestión
3.7 Control de congestión
en TCP
Capa transporte 3-14
UDP: User Datagram Protocol [RFC 768]
Servicio “Best effort”, los
segmentos UDP pueden ser:
Perdidos
Segmentos/Mensajes
entregados fuera de
orden a la aplicación
¿Por qué UDP?
El establecimiento de la
conexión añade retardo
Cabecera más pequeña
Cuando el retardo supera en
importancia a las perdidas
Los servicios adicionales de
TCP añaden retardo
Sin conexión:
No establecimiento de
la conexión emisor /
receptor
Cada segmento UDP es
manejado de manera
independiente a los
otros (flujo,
congestión!) y como una
entidad
Sin control de
flujo/congestión: UDP puede
transmitir a la tasa que
quiera ¿?
Posible implementación con-
fiabilidad en capa superior
Capa transporte 3-15
UDP: cabecera
Usos:
Aplicaciones
multimedia
• Tolerantes a las
perdidas
• Sensibles a la
caudal/latencia
DNS
SNMP (monitoriz.)
Longitud, en
bytes, del
segmento UDP,
incluyendo
cabecera
32 bits
#Puerto origen #Puerto dest.
longitud
Checksum
(datos+cab)
Datos de
aplicación
(mensaje)
Formato de un segmento UDP
Capa transporte 3-16
Capítulo 3: capa de transporte
3.1 Servicios de la capa
de transporte
3.2 Multiplexación y
demultiplexación
3.3 UDP
3.4 Transferencia fiable
3.5 TCP
Estructura de los
segmentos
Fiabilidad en la
transmisión de datos
Control de flujo
Gestión de la conexión
3.6 Principios de control de
congestión
3.7 Control de congestión
en TCP
Capa transporte 3-17
Transferencia datos fiable
Elementos necesarios:
• Detectar errores Checksum(sumas de comprobación)
• Detectar perdidas Temporizadores
• Detectar perdidas Numerar elementos
– Número de secuencia
– Reconocimientos
» positivos (ACKS) y negativos (NACKS)
Capa transporte 3-18
Parada y espera
Capa transporte 3-19
Parada y espera
Capa transporte 3-20
Parada y espera
Parada y espera funciona, pero su rendimiento es pobre
E.g.: Enlace de 1 Gb/s, 15 ms tiempo de propagación,
paquetes de 1000 Bytes:
U emisor: utilizaciónemisor : fracción de tiempo en el que el emisor
emite
U emisor =
L / R
RTT + L / R
=
0.008
30.008
= 0.00027
Lo que resulta en un throughput de 267 kb/s en un enlace de 1
Gb/s!
El protocolo de transporte limita el uso de los recursos de la
red!
Capa transporte 3-21
Parada y espera
emisor
receptor
Primer bit paq. transmitido, t = 0
Último bit transmitido, t = L / R
RTT
Llega el primer bit
Llega último bit,
enviar ACK
Llega ACK, enviar paq. siguiente
, t = RTT + L / R
U emisor =
L / R
RTT + L / R
=
0.008
30.008
= 0.00027
Capa transporte 3-22
Protocolos Pipelined (procesamiento en
cadena)
El emisor permite múltiples envíos, “al vuelo”, antes de
llegar los correspondientes ACK
El número de secuencia debe abarcar más bits
incrementarse (== ventana deslizante)
Se requiere buffer en emisor y/o receptor
Formas genéricas de implementar estos protocolos :
go-Back-N, repetición selectiva…
Capa transporte 3-23
Pipelining: incremento de la utilización
emisor
receptor
1º bit paq., t = 0
Último bit, t = L / R
RTT
Llega 1º ACK
se envia otro paquete
Se envía 1º ACK
Se envía 2º ACK
Se envía 3º ACK
Utilización x 3!
U
emisor =
3 * L / R
RTT + L / R
=
0.024
30.008
= 0.0008
Capa transporte 3-24
Ventana deslizante (GBN*)
Emisor:
Número de secuencia están limitados
El tamaño de la “ventana” [deslizante] hasta un máximo de N
segmentos* no conf
Comentarios de: Capa de transporte Nivel 4 (0)
No hay comentarios