PDF de programación - Transporte Fiable

Imágen de pdf Transporte Fiable

Transporte Fiablegráfica de visualizaciones

Publicado el 6 de Junio del 2017
444 visualizaciones desde el 6 de Junio del 2017
944,3 KB
15 paginas
Creado hace 14a (12/05/2009)
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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

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

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

a
c

i
t

Temario

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

1/44

2/44

1

,

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



i
t
á
m
e
e
T

l

i


a
í
r
e
n
e
g
n
I

e
d

a
e
r

Á

a
c

Temario

Introducción

1.
2. Protocolos y arquitectura
3. Redes de área local
4. Protocolos de Internet
5. Conmutación de paquetes
6. Conmutación de circuitos
7. Gestión de recursos en conmutadores
8. Protocolos de control de acceso al medio

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

a
c

i
t

Temario

Introducción

1.
2. Protocolos y arquitectura
3. Redes de área local
4. Protocolos de Internet
5. Conmutación de paquetes




Principios
Problemas básicos
Encaminamiento

+ arquitectura de routers

Transporte fiable (hoy: principios básicos)

Control de flujo


Control de congestión

6. Conmutación de circuitos
7. Gestión de recursos en conmutadores
8. Protocolos de control de acceso al medio

a
c

i
t

Material

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

Del Capitulo 3 de
Kurose & Ross,
“Computer Networking a top-down approach

featuring the Internet”

Addison Wesley

3/44

4/44

5/44

2

a
c

Transporte fiable

,

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



i
t
á
m
e
e
T

l

i


a
í
r
e
n
e
g
n
I

e
d

a
e
r

Á

• Si hubiera un “Top ten” problemas de

redes el transporte fiable sería un buen
candidato para el primer puesto
Kurose

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

6/44

Transporte fiable

a
c

i
t

• ¿Se puede conseguir un transporte fiable sobre un

nivel de datagramas de entrega no fiable?

t_envia(datos)

Nivel de
Transporte

Protocolo de
transporte fiable

r_envia(datos)

Nivel de Red

t_recibe(datos)

Protocolo de
transporte fiable
r_recibe(datos)

Entrega no garantizada
se pueden perder datos

7/44

a Protocolo de transporte fiable

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

• Descripción protocolo (=programa)

con máquinas de estados finitos
– Eventos que pueden ocurrir
– Acciones como resultado de esos eventos

• Emisor y receptor son diferentes programas y estan en general

en distinto estado (normalmente ni siquiera su conjunto de
estados es el mismo)

8/44

3

,

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
á
m
e
e
T

l

i


a
í
r
e
n
e
g
n
I

e
d

a
e
r

Á

Protocolo de transporte fiable
• Ejemplo: protocolo de transporte sobre

un nivel de red fiable

• Diagrama de estados de emisor y

receptor

Emisor

Receptor

red fiable:
r_envia(p) siempre causa un r_recibe(p)

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

a
c

i
t

Ejemplo

• Todo lo que envío

llega

• La red puede

retrasar los
paquetes pero
acaba
entregandolos todos

• Algun problema si

los entrega siempre
pero en desorden??

Emisor

Receptor

r_send(paq0)

paq0

r_send(paq1)

r_send(paq2)
r_send(paq3)

paq1

paq2

paq3

r_recv(paq0)

r_recv(paq1)

r_recv(paq2)

r_recv(paq3)

Operación normal

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

a
c

i
t

Errores de bit

• Pero... el nivel de red puede cambiar bits (probabilidad de error)
• Cambios necesarios en el protocolo de transporte

– Detección de errores

• Uso de checksum

– Comunicación de fallos al emisor

• ACK (acknowledgement): avisar al emisor de los paquetes que

recibimos.

• NACK (negative acknowledgement): avisar al emisor de los paquetes

que no recibimos

– Reenvío de paquetes

• El protocolo de transporte fiable debe retransmitir

automaticamente los errores. Esto se conoce tipicamente como
ARQ (Automatic Repeat reQuest)

9/44

10/44

11/44

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
á
m
e
e
T

l

i


a
í
r
e
n
e
g
n
I

e
d

a
e
r

Á

Protocolo de transporte fiable
• Para un canal con errores de bits

– Usamos detección de errores con checksum/CRC
– Informamos al emisor de si llegan o no

Emisor

Receptor

• Más conocido como Stop-and-Wait

12/44

,

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

á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

Stop-and-wait

Emisor

r_send(paq0)

• El emisor controlado por el

receptor
– ACK (recibido OK manda

otro)

– NACK (recibido mal manda

otra vez el mismo)

– Mientras no me dice nada

no envío

• De hecho esto puede
considerarse también
control de flujo (el emisor
envia cuando el receptor le
da permiso) = regulación de
flujo por el receptor

r_recv(ack)
r_send(paq1)

r_recv(nack)
r_send(paq1)

r_recv(nack)
r_send(paq1)

r_recv(nack)
r_send(paq2)

Receptor

r_recv(paq0)
r_send(ack)

paq0

ack

paq1 corrompido

nack

r_recv(paq1 err)
r_send(nack)

paq1 corrompido

nack

paq1

ack

paq2

ack

r_recv(paq1 err)
r_send(nack)

r_recv(paq1)
r_send(ack)

r_recv(paq2)
r_send(ack)

13/44

a Problemas con stop-and-wait

c

,

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



i
t

á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

• ¿Qué pasa si hay un error

en la transmisión del ACK o
NACK?

• Soluciones complican el

protocolo
– Detección de errores para

ACK y NACK?

– Checksums que permitan

no solo detectar sino
corregir errores?

– Reenviar los datos si no

entiendo el ACK/NACK ??

• Nuevo problema:

paquetes duplicados

Emisor

Receptor

r_send(paq0)

paq0

r_recv(ack)
r_send(paq1)

r_recv(no se)
r_send(paq1)

r_recv(ack)
r_send(paq2)

r_recv(no se)
r_send(paq2)

ack

Ok 0

Paq1 corrompido

Mal 1

nack
nack corrompido

Ok 1

Ok 2

ack

paq2

ack

paq2

ack corrompido

ack

Paq 2
recibido 2 veces

14/44

5

a
c

Solución

,



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



i
t
á
m
e
e
T

l

i


a
í
r
e
n
e
g
n
I

e
d

a
e
r

Á

• Los protocolos más usados utilizan contra

esto numeros de secuencia del paquete

• El paquete va etiquetado con un numero de

secuencia que permite confirmralo/rechazarlo
indicando cual

• El numero de secuencia es un campo del
paquete por lo que podrá tener una serie
finita de valores

• Aunque es fácil asignar bits para que el

numero de secuencia pueda crecer mucho
antes de dar la vuelta, veamos primero las
bases con numeros de secuencia en rangos
limitados

a Protocolo con número de secuencia

• 1 bit para número de secuencia

Cada paquete de datos es secuencia 0 o 1
– Si llega el que esperamos mandamos ACK y lo entregamos
– Si llega el que no esperamos?

mandamos ACK pero no son datos nuevos

,

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



c

i
t

á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

a Protocolo con número de secuencia

c

i
t

• Estados del emisor

,

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



á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

15/44

16/44

17/44

6

a
c

Ejemplo

,

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



i
t
á
m
e
e
T

l

i


a
í
r
e
n
e
g
n
I

e
d

a
e
r

Á

• El receptor solo

entrega a la aplicación
el paquete correcto

• En lugar de enviar ACK

o NACK podria enviar
cual espero
– ACK + 0 = estoy

esperando el 0
(igual lo llamabais RR0
Ready to receive 0)

– ACK + 1 = estoy

esperando el 1

Emisor

Receptor

r_send(paq0)

paq0

r_recv(ack)
r_send(paq1)

r_recv(no se)
r_send(paq1)

r_recv(ack)
r_send(paq0)

r_recv(no se)
r_send(paq0)

Ok 0

ack

Paq1 corrompido

Mal 1

nack
nack corrompido

Ok 1

Ok 0

ack

paq0

ack

paq0

ack corrompido

ack

Esperado 1
Ack pero
ya lo tenia

18/44

Hasta ahora

• Protocolo

– Stop and wait
– Con numeros de secuencia para no

entregar duplicados

,

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

á
m
e
e
T

l



a

i

í
r
e
n
e
g
n

I


e
d



a
e
r

Á

– 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

a
c

i
t

Eficiencia

,
  • Links de descarga
http://lwp-l.com/pdf4237

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