Comunicación de Datos I
PRÁCTICO 2
NIVEL DE ENLACE DE DATOS
DELIMITADOR DE FRAMES
DETECCIÓN DE ERRORES
CONTROL DE FLUJO
Framing
 Al enviar información, en vez de enviar un stream
continuo de información, se utilizan frames.
 Así es posible detectar errores por frame, y de existir un
error, se puede retransmitir sólo el frame problemático.
 Para delimitar los frames existen diversos métodos:

Cuenta de caracteres.

Delimitación de frame por caracteres.
Delimitación de frame por bits.

5 3 4 2 4 3 3 7 2 8
 Por lo general se utilizan combinaciones de éstos...
Framing
Determine, para la siguiente información a enviar, cómo
será transportada a través del vínculo de transmisión y
cómo será entregada al receptor luego de eliminar los
caracteres producidos por el proceso de framing:
23-7D-03-5E-45-5E-5E-7E
Delimitadores de bloques: 7E
Caracter de transparencia: 7D
Procedimiento en el emisor
Cuando se quiere transmitir 7E, se envía 7D-5E
Cuando se quiere transmitir 7D, se envía 7D-5D
Cuando se quiere transmitir 00..1F, se envía 7D-caracter+20
Framing
Se desea transmitir como dato:
23-7D-03-5E-45-5E-5E-7E
El emisor agrega inicio de bloque, transparencia, y fin
de bloque
7E- 23-7D-5D-7D-23-5E-45-5E-5E-7D-5E-7E
El receptor busca inicio de bloque, caracteres de
transparencia, y fin de bloque
23-7D-03-5E-45-5E-5E-7E
Framing
Utilizando delimitación de bloque por secuencia de bits,
para los bits de información:
1011011111010111111110101 determine como será
transportada.
Delimitación: Se utilizan flags de tipo: 01111110
Transparencia: Cuando en los datos aparecen 5 unos
seguidos se le agrega un 0 luego del 5to bit.
EJ. 001111111010 --> 0011111011010
Entonces: 1011011111010111111110101 será transportado
como:
01111110 101101111100101111101110101 01111110
Detección de Errores
Suponga un código cíclico, con 5 bits de información y tres de
redundancia, cuyo polinomio generador es x**3+x**2+x+1, y que se
desea enviar la secuencia de bits 10011.
Info
I(x)
Info
Errores
Compr. redund
Gener. redund
R(x)
Redund
Emisor
M(x)
Redund
Info
M’(x)
Medio de Transmisión
Redund
Info
Receptor
Recordando el esquema de paridad simple, en una ráfaga de errores
vamos a poder detectar solo el 50% de los errores. No muy aceptable,
ya que aceptaríamos como buenos la mitad de los frames con errror.
Detección de Errores
Suponga un código cíclico, con 5 bits de información y tres de redundancia, cuyo
polinomio generador es x**3+x**2+x+1, y que se desea enviar la secuencia de bits
10011.
G(x)= x³+x²+x+1 = Los coeficientes: 1111 (existen todos los términos)
Redundancia r = grado Polinomio=3
I(x)= 10011 Información (5 bits)
La idea es hacer que el frame a transmitir sea divisible por el polinomio Generador
G(x), en caso de que no lo sea, el frame contendrá un error.
Para esto, el emisor agrega los bits de redundancia al final del frame con la
información, generando un nuevo frame de tamaño i + r bits (5 + 3 bits) de forma
tal que el nuevo frame sea efectivamente divisible por G(x).
M (x) = I (x) * x ** r + Resto [ I (x) * x ** r / G (x) ]
Así, sólo se envían múltiplos de G(x)
Detección de Errores
Suponga un código cíclico, con 5 bits de información y tres de
redundancia, cuyo polinomio generador es x**3+x**2+x+1, y que
se desea enviar la secuencia de bits 10011.
Desarrolle en forma de polinomios los pasos que seguirá el emisor
para generar redundancia y el receptor para verificar la validez de
la secuencia de bits recibida.
G(x)= x³+x²+x+1 = 1111 (existen todos los términos)
I(x)= 10011 Información (5 bits)
1) Se agregan la I(x) r bits (3bits) en 0, --> 10011000
2) Se divide por G(x), se obtiene el resto, y luego es restado para que
sea divisible por G(x).
M(x) = I(x) *x^r
Detección de Errores
... y el receptor para verificar la validez de la secuencia de bits recibida.
Recibimos: 10011001 Dividiendo por X³+X²+X+1 (1111)
10011001
1111
1101
1111
0100
0000
1000
1111
1111
1111
000 -> Resto es “0” Asumo que recibí OK
Detección de Errores
Verifique la validez de la secuencia recibida, cuando en la
línea ocurren errores que responden al polinomio
x**5+x**3+1
E(x)= 101001
Recibimos: M'(x)= M(x) + E(x) = 10011001 + 101001 = ?
=
10011001
+ 101001
10110000
M'(x)= 10110000
Detección de Errores
Verifique la validez de la secuencia recibida, cuando en la línea
ocurren errores que responden al polinomio x**5+x**3+1
10110000
1111
1000
1111
1110
1111
0010
0000
0100
0000
100 -> Resto no es “0”! Error
Detección de Errores
Rehaga el punto b) considerando que el polinomio de
error es x**3+x**2+x+1. Explique lo sucedido.
E(x)= 1111
Recibimos: M'(x)= M(x) + E(x) = 10011001 + 1111 = ?
10011001
+ 1111
= 10010110
M'(x)= 10010110
Detección de Errores
Rehaga el punto anterior considerando que el polinomio de error es
x**3+x**2+x+1. Explique lo sucedido.
10010110
1111
1100
1111
0111
0000
1111
1111
0000
0000
000 -> Resto es “0” Asumo que recibí OK
Lo que sucede en este caso es que el error que se introdujo es un múltiplo del
polinomio generador. Por este motivo, no es posible detectar el error.
Control de Flujo
 El control de flujo es necesario para no saturar al
receptor de uno a más emisores
 Se utilizan mecanismos de confirmaciones
 Existen distintas técnicas
 Parada y Espera
 Ventana Fija
 Ventana Deslizante
Parada y Espera
 El emisor envía una trama cada vez
 Hasta que no recibe confirmación
(ACK=Acknowledgement) no envía la siguiente
 El proceso continúa hasta enviar el fin de
transmisión
 En caso de recibir un NACK (rechazo de la recepción
NO Acknowledgement) se reenvía el paquete
anterior.
Eficiencia e = Tb / (Tb + Tok + 2 * dp)
Parada y Espera
Parada y Espera.
Parada y Espera
Ventana Fija
 Se envía una cantidad W
de paquetes (tamaño de
ventana), y se espera a
que se reciba el ACK de
todos los paquetes.
 Aumenta eficiencia de
Parada y Espera
¿Preguntas?
Descargar

pptx