PDF de programación - Transporte fiable

<<>>
Imágen de pdf Transporte fiable

Transporte fiablegráfica de visualizaciones

Publicado el 20 de Junio del 2017
371 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
  • Links de descarga
http://lwp-l.com/pdf4524

Comentarios de: Transporte fiable (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad