Académique Documents
Professionnel Documents
Culture Documents
NACIONAL
MAYOR DE SAN
MARCOS
Decana de Amrica
FACULTAD DE INGENIERA DE
SISTEMAS E INFORMATICA
Nivel de Transporte
Nivel de Transporte
Objetivos:
Entender los
principios detrs de
los servicios de la
capa transporte:
Multiplexing /
demultiplexing
Transferencia confiable
de datos
Control de flujo
Control de congestin
protocolos de
transporte en la
Internet:
Protocolos y servicios de
transporte
Proveer comunicacin lgica
network
data link
physical
network
data link
physical
g
lo
e
al
ic
nd
-e
nd
network
data link
physical
tr
network
data link
physical
t
or
sp
an
application
transport
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Capa transporte:
encargada de la
comunicacin lgica
entre procesos
de la comunicacin
lgica entre hosts
Analoga:
85 soldados de diferentes
puntos del frente de batalla
envan cartas a sus casas.
Cabo William y Cabo Gil
recopilan las cartas y las envan
por correo. Asimismo, reparten
las cartas que llegan.
Procesos =
Mensajes aplicacin =
Hosts =
Protocolo de transporte =
Protocolo capa red =
orden
vez desordenada:
Qu servicios no se ofrecen:
Garantas de retardo
Garantas de ancho de banda
(Bsicamente porque no es
fcil -o posibleimplementarlo basndose en
los servicios de IP)
network
data link
physical
t
or
sp
an
Bsicamente el mismo
servicio de IP: mejor
esfuerzo (best-effort)
network
data link
physical
tr
nd
-e
nd
network
data link
physical
e
al
ic
network
data link
physical
g
lo
application
transport
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Multiplexacin/demultiplexaci
n
Multiplexacin en host Tx:
Capa de transporte:
Recopila datos desde
mltiples sockets, usa info. de
encabezado (puerto e IP
origen, puerto e IP destino)
= socket
aplicacin
transporte
red
= proceso
P3
P1
P1
aplicacin
transporte
P2
P4
aplicacin
transporte
red
red
enlace
fsica
host 1
enlace
fsica
host 2
enlace
fsica
host 3
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
Cmo trabaja la
demultiplexacin?
32 bits
# puerto fuente # puerto dest.
Otros campos
del encabezado
Datos de la aplicacin
(mensaje)
9157
P3
PO: 6428
3 PD: 9157
cliente
IP: A
PO: 9157
PD: 6428
6428
5775
PO: 6428
PD: 5775
servidor
IP: C
P1
PO: 5775
2 PD: 6428
Cliente
IP:B
un cliente.
Sockets TCP queda
definido por (4-tupla):
Direccin IP Origen
Nmero de puerto Origen
Direccin IP Destino
Nmero de puerto
Destino
soportar muchos
sockets TCP en un
mismo puerto
simultneos:
Cada socket es
identificado por su 4-tupla
propia
HTTP no-persistente
tendr diferentes sockets
por cada peticin de
datos Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
Demultiplexacin orientada a la
conexin
P1
P4
P5
P2
P6
P1P3
PO: 5775
PD: 80
IP-O: B
IP-D: C
cliente
IP: A
PO: 9157
PD: 80
IP-O: A
IP-D: C
servidor
IP: C
PO: 9157
PD: 80
IP-O: B
IP-D: C
Cliente
IP:B
Demultiplexacin orientada a la
conexin: Servidor Web con hilos
P1
P2
P4
P1P3
PO: 5775
PD: 80
IP-O: B
IP-D: C
cliente
IP: A
PO: 9157
PD: 80
IP-O: A
IP-D: C
servidor
IP: C
PO: 9157
PD: 80
IP-O: B
IP-D: C
Cliente
IP:B
a paquete IP
Servicio de mejor
esfuerzo, un segmento
UDP se puede:
perder
Entregar a la aplicacin
fuera de orden
Sin conexin:
No hay handshaking
(establecimiento de
conexin) entre servidor
y receptor UDP
Cada segmento UDP es
manejado en forma
independiente de los
Mejor
esfuerzo: Har todo lo
otros
(streaming) multimedia en
aplicaciones que:
32 bits
# puerto origen # puerto dest.
largo
checksum
DNS
SNMP (Simple Network Management
Protocol)
Datos de la
Aplicacin
(mensaje)
Transmisor:
Receptor:
Trata el contenido de cada
Calcula el checksum del
segmento como una
segmento recibido
secuencia de enteros de 16
Chequea si el checksum
bits
calculado corresponde al
checksum: suma del
valor de checksum recibido
contenido del segmento y
luego invierte cada bits (se
en el campo:
conoce como tomar el
NO corresponde =>
complemento 1).
error detectado
Transmisor pone el valor del
SI => no hay error
checksum en el campo
detectado. Pero podran
checksum del datagrama
haber errores sin
UDP
embargo!
Incluye algunos campos de
IP (para los que quieren
Redes y Transmisin de Datos
comprobarlo con wireshark).
1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Sumar reserva 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
1
suma1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
de datos
Est en la lista de los 10 tpicos ms importantes sobre redes !
rdt_ : reliable data transfer
udt_ : unreliable data transfer
lado
transmisor
lado
receptor
checksum, # de
secuencias, ACKs, y
retransmisiones ayudan
pero no son suficientes
este tiempo
Si el paquete (o ACK) est
retardado (no perdido):
La retransmisin ser un
duplicado, pero el uso de #s
de secuencia ya maneja esto
Receptor debe especificar el #
de secuencia del paquete
siendo confirmado en el ACK
Se requiere un temporizador.
Este protocolo se conoce como:
Stop and wait protocol (parar y
esperar)
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
rdt3.0 en accin
rdt3.0 en accin
c) Prdida de ACK
d) Timeout prematuro
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
receiver
RTT
Mejora en utilizacin
por un factor de 3!
sender
3*L/R
RTT + L / R
.024
30.008
= 0.0008 = 0.08%
microseconds
Usable,
an no
enviados
ACK
pendientes
No usable
Esperado,
an no
recibido
Aceptable
(en ventana)
No usable
TCP: Generalidades
RFCs: 793, 1122, 1323, 2018, 2581
Es una comunicacin Punto-a
punto:
(dos sentidos):
Un Tx y un Rx
Usa pipeline:
Orientado a la conexin:
application
writes data
application
reads data
TCP
send buffer
TCP
receive buffer
segment
Handshaking
(intercambio de
mensajes de control)
inicializa al Tx y Rx antes
del intercambio de datos
socket
door
Tx no sobrecargar al Rx
32 bits
# puerto dest.
Nmero de secuencia
Nmero de acknowledgement
largo No
head usado U A P R S F
RcvWindow
checksum
Cuenta bytes
de datos
(no segmentos)
Sec: flujo ida
Ack: flujo vuelta
# bytes que el
Rx est
dispuesto a
aceptar
(control de flujo)
Usado para
negociar MSS
o para factor
de escalamiento
ventana
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
Host B
Host A
Usuario Seq=4
2, AC
K=79
escribe
, data
= C
C
7
Seq=
host acusa
recibo de
C
C y enva
ta =
a
d
,
=4 3
echo de C
, ACK
host acusa
recibo de Seq
=43,
ACK=
eco C
80
de transferencia
confiable sobre el
servicio no confiable
de IP
Usa envo de
segmentos en
pipeline
ACKs acumulativos
TCP usa un timer
nico de
retransmisin
Retransmisiones son
activadas por:
Eventos de timeout
ACKs duplicados
Inicialmente
consideremos un Tx
TCP simplificado:
Ignora ACKs duplicados
Ignora control de flujo y
control de congestin
Timeout:
Retransmitir el segmento que
caus el timeout (slo 1)
Tpicamente el intervalo del
timeout se duplica en
retransmisiones. Por qu?
Re-iniciar el timer
Recepcin de ACK:
Si es el ACK de un segmento
previo sin acuse de recibo
92, 8
b yt e s
d at a
100
=
K
AC
loss
ACK
time
SendBase
= 92
=10
Sendbase
= 100
SendBase
= 120
SendBase
= 120
Host B
Seq=
Seq=92 timeout
Seq=
Seq=
92, 8
bytes
d at a
SendBase
= 100
Host A
Host B
92, 8
bytes
d at a
Seq=
100,
20 b
ytes
data
00
1
K= K=12
C
A
AC 0
Seq=
92, 8
bytes
data
Seq=92 timeout
timeout
SendBase
= 92
Timeout prematuro
time
K=
AC 0
12
Host B
timeout
Seq=
92, 8
bytes
data
100
Seq=
=
K
C
100,
20 byA
tes d
a ta
SendBase = 120
loss
ACK acumulado
=12
K
C
A
0
time
Retransmisiones rpidas
Host A
Host B
timeout
resen
d
time
2 nd se
gmen
t
TCP: Timeout
Duplicando
TCP:
La primera concierne al largo del intervalo de timeout
despus que el timer expira
segmentos en trnsito
Luego el nmero de bytes que el Tx puede enviar
es en general menor que el anunciado por la
RevWindows.
Cul es la expresin para el nmero de Bytes
posibles de enviar sin colapsar al receptor?
Impedir
Connection
request
ACK
SYN=
1,
server
seq=c
lient_
is
,
r _ is n
e
v
r
q=se sn+1
e
s
,
=1
t_i
SYN ck=clien
a
SYN=
0, seq
ack=s =client_is
n+
erver_
isn+1 1,
Connection
granted
Diagrama de
estados
completo e
incluyendo
ambos casos
CLOSED
Active open/SYN
Passive open
Close
Close
LISTEN
SYN_RCVD
SYN/SYN + ACK
Send/SYN
SYN/SYN + ACK
ACK
Close/FIN
FIN_WAIT_1
ACK
FIN_WAIT_2
SYN_SENT
Close llega
desde
capa
aplicacin
SYN + ACK/ACK
ESTABLISHED
Close /FIN
Quien
cierra
primero
cliente
AC FIN/ACK
K
+
FI
N
/A
CK
FIN/ACK
FIN/ACK
CLOSE_WAIT
Close/FIN
CLOSING
LAST_ACK
Quien
cierra
segundo
Varias
situaciones
inconvenientes
pueden ocurrir,
una de ellas se
muestra abajo.
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
receptores
un router, buffer tamao
infinito
sin retransmisin
in datos enviados por la
aplicacin (bytes/sec)
out datos recibidos por la
aplicacin (bytes/sec)
Host A
Host B
in : original data
out
unlimited shared
output link buffers
(C = link
capacity)
grandes retardos en
estado
congestionado
(muchos paquetes
esperando en cola)
mximo flujo posible
(throughput = C) de
datos
Redes
y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
en buffer.
transmisor retransmite paquetes perdidos
(a) caso perfecto, sin prdidas ni
retransmisiones: in = in
Host A
in : original data
'in : original data, plus
retransmitted data
ou
Host B
Buffer enlace de
salida finito
compartido
cuatro transmisores
timeout/retransmisiones
Q: Qu pasa cuando in se
incrementa y in crece?
Host A
in : original data
'in : original data, plus
retransmitted data
out
Control de congestin
extremo a extremo:
No hay informacin de
realimentacin explcita de
la red
La congestin es inferida
desde las prdidas y
retardos observados por
terminales en los extremos
Es la estrategia usada
por TCP
Control de congestin
asistido por la red:
Routers proveen
realimentacin a sistemas
extremos
Un Bit nico indicando
congestin (e.g. SNA,
DECbit, TCP/IP ECN, ATM)
Explcitamente se informa al
Tx la tasa que el router
puede soportar
Equidad en TCP
Objetivo de la Equidad (fairness): Si K
TCP
connection 2
Router cuello
de botella de
capacidad R
Throughput Conexin 2
throughout
Reduccin multiplicativa reduce throughput
proporcionalmente
R
Recta de Igual tasa
capacidad compartida
Throughput Conexin 1 R
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
Equidad (ms)
Equidad y UDP
Aplicaciones
Multimedia no usan
TCP
Hacerlas amistosas
con TCP (TCP friendly)
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
Resumen
Principios detrs de los servicios
de capa transporte:
multiplexing, demultiplexing
Transferencia confiable de
datos
Control de flujo
Control de congestin
Uso e implementacin en
Internet
UDP
TCP
Redes y Transmisin de Datos
Mg. Juan Carlos Gonzales Surez
Gracias
Juan Carlos Gonzales Suarez
jgonzaless@unmsm.edu.pe