Publicado el 20 de Junio del 2017
427 visualizaciones desde el 20 de Junio del 2017
480,6 KB
18 paginas
ARQUITECTURA DE REDES, SISTEMAS Y SERVICIOS
Área de Ingeniería Telemática
Transporte fiable
Area de Ingeniería Telemática
http://www.tlm.unavarra.es
Arquitectura de Redes, Sistemas y Servicios
3º Ingeniería de Telecomunicación
a
c
i
t
Temario
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• Introducción
• Arquitecturas, protocolos y estándares
• Conmutación de paquetes
• Conmutación de circuitos
• Tecnologías
• Control de acceso al medio en redes de área local
• Servicios de Internet
2
/49
a
c
i
t
Temario
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Introducción
1.
2. Arquitecturas, protocolos y estándares
3. Conmutación de paquetes
•
•
Principios
Problemas básicos
•
•
•
•
•
Como funcionan los routers (Nivel de red)
Encaminamiento (Nivel de red)
Transporte fiable (Nivel de transporte en TCP/IP)
Control de flujo (Nivel de transporte en TCP/IP)
Control de congestión (Nivel de transoporte en TCP/IP)
4. Conmutación de circuitos
5. Tecnologías
6. Control de acceso al medio en redes de área local
7. Servicios de Internet
3
/49
,
I
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
a
c
i
t
Hasta ahora
• Protocolo
– Stop and wait
– Con numeros de secuencia para no entregar
duplicados
– Con ACK que indica cual es el dato que espero
• Garantiza fiabilidad sobre un canal con
errores de bits
• Problemas
– ¿Y si se pueden perder paquetes?
– Cómo de rápido es el protocolo
4
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Eficiencia
• Cuanto se tardan en transferir s bytes con
un protocolo de este tipo?
– Dividimos en paquetes de tamaño c
s/c paquetes
Emisor
Receptor
Round-trip time
RTT
Cuanto se tarda en enviar un paquete?
Si no hay errores 1 RTT
Si hay errores 2 RTTs?
Y si hay errores en la retransmision?
paq0
ack1
paq1
ack1
paq1
ack0
5
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Tiempo transmisión de un paquete
• Tiempo para transferir 1 paquete
si la probabilidad de que un paquete se pierda es p
1 RTT con probabilidad (1-p)
2 RTT con probabilidad (1-p)*p
3 RTT con probabilidad (1-p)*p2
n RTT con probabilidad (1-p)*pn-1
(v.a. Distribucion geométrica)
el numero medio de RTTs se deja como ejercicio
pero es 1/(1-p) RTTs
6
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
t = s/c * 1/(1-p) * RTT
Prestaciones
• Luego s bytes se transfieren en
y la velocidad de transferencia es
s/t = c * (1-p) /RTT
• Y cuanto es eso en un caso real?
• Si elegimos tamaños de paquetes muy grandes
hay que mandar menos, pero la probabilidad de
perdida de un paquete es mayor
• Si elegimos paquetes pequeños hay que
esperar un RTT al menos para mandar cada
paquete
7
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Ejemplo
• Ejemplo:
Enlace de 1Gbps con un retardo de 15ms (4500Km),
paquetes de 1000 bytes
A que velocidad puedo enviar?
Suponiendo sin errores
RoundTripTime
=30ms
0.026% !! :-(
8
a
c
i
t
Para pensar
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• Si tengo un canal de 10Mbps, el retardo de propagación hasta el
otro extremo es de unos 40ms. Si envío usando un protocolo stop
and wait que usa paquetes de 1000bytes de datos, mas una
cabecera pequeña de unos 40bytes
• ¿Cual es el throughput que consigo que se reciba en el otro lado?
¿Cual es el throughput en el mejor caso? (si no hay ningún error)
• ¿Cual es en ese caso la utilización del canal? (que porcentaje de
tiempo esta el canal enviando algo)
• ¿Y si hay una probabilidad de 5% de que un paquete se modifique?
¿y si es del 50%?
• ¿Y si es una red de tipo aloha con carga 40%?
• Entonces hay una probabilidad de perdida del paquete.
• ¿Que diferencia hay si el paquete se pierde o se corrompo?
– En cualquier caso el receptor no recibe los datos del paquete
– Pero lo demás funciona igual??
9
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Pérdidas de paquetes
a
c
i
t
• El nivel de transporte recibe los paquetes
que entrega el nivel de red
– El nivel de red puede no garantizar la
entrega de paquetes.
• Puede ser que un paquete entregado en
el nivel de red del emisor nunca se
entregue en el nivel de red del receptor
• Cómo afecta esto al protocolo anterior?
10
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Pérdidas de paquetes
• Si se pierde un paquete
el emisor se queda
bloqueado en un estado
Receptor sólo manda ACKs
cuando le llega algo
Emisor
Receptor
paq0
ack1
Ok 0
paq1 perdido
Sin recibir ACKs no puedo
salir de este estado
Emisor no puede enviar
hasta recibir el ACK
11
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Pérdidas de paquetes
• Si se pierde un paquete el
emisor se queda bloqueado
en un estado
• Para romper el bloqueo
usamos un temporizador en el
emisor
– Al enviar un paquete de datos
ponemos en marcha un
temporizador
Emisor
Receptor
paq0
ack1
Ok 0
paq1 perdido
– Si transcurrido un tiempo, no
se ha recibido ACK
(TIMEOUT), reenviamos el
paquete
• El receptor no se modifica
TIMEOUT
paq1
ack0 Ok 1
paq0
ack1
Ok 0
12
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Protocolo con timeout
• Emisor con retransmisión por timeout
13
Ejemplos
a
c
i
t
Emisor
Receptor
Emisor
Receptor
r_send(paq0)
paq0
r_recv(ack1)
r_send(paq1)
ack1
r_recv(paq0)
r_send(ack1)
paq1 perdido
,
I
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
r_send(paq0)
r_recv(ack1)
r_send(paq1)
r_recv(ack0)
r_send(paq0)
paq0
ack1
paq1
ack0
paq0
ack1
r_recv(paq0)
r_send(ack1)
r_recv(paq1)
r_send(ack0)
timeout
r_send(paq1)
r_recv(paq0)
r_send(ack1)
r_recv(ack0)
r_send(paq0)
paq1
ack0
paq0
ack1
r_recv(paq1)
r_send(ack0)
r_recv(paq0)
r_send(ack1)
Operación normal
Pérdida de paquete
14
Ejemplos
Emisor
Receptor
Emisor
Receptor
r_send(paq0)
paq0
r_recv(paq0)
r_send(ack1)
r_recv(paq0)
r_send(ack1)
r_recv(ack1)
r_send(paq1)
ack1
paq1
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
r_send(paq0)
I
e
d
r_recv(ack1)
r_send(paq1)
a
e
r
Á
timeout
r_send(paq1)
r_recv(ack0)
r_send(paq0)
paq0
ack1
paq1
ack0
perdido
paq1
ack0
paq0
ack1
r_recv(paq1)
r_send(ack0)
r_recv(paq1)
r_send(ack0)
r_recv(paq0)
r_send(ack1)
timeout
r_send(paq1)
r_recv(ack0)
r_send(paq0)
r_recv(ack0)
ignorado
ack0
r_recv(paq1)
r_send(ack0)
paq1
r_recv(paq1)
(detecto duplicado)
r_send(ack0)
paq0
ack0
ack1
Pérdida de ACK
Timeout prematuro
15
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Prestaciones
•
•
•
…
•
•
El protocolo anterior es fiable sigue siendo muy poco eficiente
Ejemplo:
Enlace de 1Gbps con un retardo de 15ms (4500Km), paquetes de 1000 bytes
A que velocidad puedo enviar?
Si los paquetes se pierden con probabilidad p
RTT con probabilidad (1-p)
RTT+TO con probabilidad (1-p)*p
RTT+2TO con probabilidad (1-p)*p2
RTT+n*TO con probabilidad (1-p)*pn
El timeout se procura elegir del orden del RTT
– Mayor implica que reaccionamos despacio a los errores
– Menor implica que se retransmiten paquetes que no hacia falta
Las prestaciones son parecidas al anterior, pero con p probabilidad de perdida del
paquete. Normalmente en Internet
P(perdidadelpaqete) >> P(corrupciondelpaquete)
Y normlamente la modificación la detecta el nivel de enlace y lo descarta = pérdida
16
Nota sobre las unidades
a
c
i
t
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• 1 byte son 8 bits (1B=8b)
• Aunque midiendo memoria se suelen usar prefijos k,M,G,T en
potencias de 2
(por ejemplos k para 210=1024 M para 220=1048576 )
No es correcto. Hay un estandar para esto
KiB = 1024B MiB =1048576
• En transmisión de datos se usan los prefijos del S.I.
1kB = 103B 1MB = 106B 1GB = 109B ...
• Las velocidades de transmisión se suelen dar en bits por
segundo (kbps, Mbps...). Cuidado con la diferencia entre B y b
1MBps=1MB/s=8Mbps=8Mb/s
• Ejemplo en Ethernet la velocidad es 10Mbps. Un paquete
de1000B se transmite en (1000B*8b/B)/10Mbps=0.0008s=0.8ms
17
a
c
i
t
Conclusiones
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• Hay mecanismos y protocolos que permiten conseguir
un transporte fiable sobre una red no fiable
• Pero y las prestaciones?
Si me bajo un fichero de 900MB por HTTP desde un
ser
Comentarios de: Transporte fiable (0)
No hay comentarios