Detección y Corrección de Errores

Anuncio
Detección y Corrección de Errores
Recordar: Los errores de transmisión ocurren debido a
las limitaciones del medio físico, interferencias y ruido
Como resultado de los procesos físicos que los
generan, los errores en algunos medios de transmisión
se producen en ráfagas (burst) en lugar ocurrir
aleatoriamente en bits aislados.
Esto tiene ventajas y desventajas ¿puede nombrarlas?
Existen dos estrategias principales para la detección y
corrección de errores:
Control de errores hacia adelante (Forward Error Correction,
FEC)
Control de errores por retroalimentación o retrospectivo
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
1
Control de Errores hacia adelante (FEC)
Cada caracter o trama transmitida contiene información
adicional (redundancia) que permite detectar y
determinar la posición del error.
El bloque se corrige invirtiendo los símbolos en las
posiciones erróneas.
El número de bits requerido para lograr un control de
errores confiable aumenta conforme al número de bits
de información.
La complejidad del sistema aumenta con la capcidad
de corrección del sistema.
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
2
Control de Errores hacia adelante (FEC)
codificador
Información
Información
redundancia
decodificador
Información
Errores o ruido durante la transmisión
Métodos típicos de FEC:
Códigos de bloque (Ej. Hamming, BCH, Reed-Solomon)
•El procesamiento de datos se realiza por bloques, uno a la vez
•Usado principalmente en la corrección de errores en ráfagas
Códigos convolucionales (Ej. Viterbi)
•Usado para corregir errores aleatorios
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
3
Control de Errores por realimentación
Cada caracter o trama transmitida contiene sólo la
información adicional que permite detectar la presencia de
errores.
Se emplea un esquema de control de retransmisiones para
solicitar el envio de otra copia de la información.
Consiste de dos partes:
Las técnicas uitlizadas para lograr una detección confiable.
Paridad, suma de chequeo, verificación de redundancia cíclica
(CRC)
Los algoritmos de control para los esquemas de retransmisión
asociados.
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
4
Distancia Hamming y capacidad de detección
y corrección de errores
Distancia Hamming: Número de posiciones de bits en las
cuales dos palabras del mismo código difieren.
Distancia Hamming mínima: La mínima de todas las
distancias Hamming entre palabras de un mismo código.
Para detectar d errores se requiere un código de distancia
mínima d +1
Para corregir d errores se necesita de un código con
distancia mínima de 2d + 1
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
5
Detección de errores por paridad
Se agrega un bit a cada palabra para que el número de
unos en la palabra sea par (o impar)
Esto hace que la distancia mínima sea 2
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
6
Suma de Verificación
(Checksum)
Se utiliza cuando se transmiten bloques de caracteres.
Se agrega un caracter al final del bloque (checksum)que
consiste en el complemento a dos de la suma modulo 256
de todos los caracteres del bloque.
La verificación la realiza el receptor sumando todos los
caracteres recibidos incluyendo el checksum:
Si el resultado es cero, no hay errores
Ejemplo: Transmisión de un registro HEX- Intel:
03 00 00 00 02 07 50 A4
(03+00+00+00+02+07+50)mod 100 = 5C
NOT(5C)+1= A4 (complemento a 2)= checksum
(A4 + 5C)mod 100 = 00
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
7
Verificación de redundancia cíclica
(Cyclic Redundancy Check, CRC)
Más adecuado cuando se presentan ráfagas de errores
Basado en códigos polinomiales:
Las cadenas de bits se tratan como los coeficientes de un
polinomio
Una cadena de k bits se representa como un polinomio de grado
k-1.
Ej: 1101101 se representa como: x6 + x5 + x3 + x2 + 1
El emisor y receptor utilizan el mismo polinomio generador
G(x)
Estos polinomios son estandarizados.
El emisor calcula un checksum a partir de la información a
transmitir y el polinomio generador, que se agrega a los datos a
enviar.
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
8
Verificación de redundancia cíclica
(Cyclic Redundancy Check, CRC)
Algoritmo:
1. Sea r el grado de G(x). Agregar r bits cero a las posiciones
menos significativas de la trama.
2. Dividir el polinomio que representa la trama extendida por
los ceros por G(x) usando aritmética módulo 2.
3. El residuo es el checksum que se añade al final de la
trama original antes de transmitirla.
En el receptor, la verificación se realiza dividiendo el
polinomio que representa a los bits recibidos por G(x).
Si el residuo es cero, no ocurrieron errores
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
9
Polinomios CRC estandarizados
CRC-12:
x12 + x11 + x3 + x2 + x + 1
CRC-16:
x16 + x15 + x2 + 1
CRC-CCITT:
x16 + x12 + x5 + 1
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
10
Verificación de redundancia cíclica
Ejemplo (T:pp189)
residuo
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
11
Protocolos elementales de enlace
Recordar:
¿Qué es un protocolo?
Reglas para intercambiar información.
Criterios de Calidad:
Producitividad (Throughput)
¿Cuanta información realmente se está transmitiendo?
Tasa de errores
Retardo
90% de complejidad para cubrir el 1% de las
situaciones reales.
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
12
Protocolos elementales de enlace
Recordar:
Primitivas de servicio
Primitivas de “saludo” (handshake)
Primitiva
Significado
Petición
Una entidad requiere que el servicio ejecute una tarea
Indicación
Una entidad es informada acerca de un evento
Respuesta
Una entidad desea responder a un evento
Confirmación La respuesta a una petición anterior ha llegado
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
13
Primitivas de servicio
Petición
Tiempo
Indicación
Primario
Secundario
Respuesta
Confirmación
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
14
Protocolo Simplex sin restricción
Los datos se transmiten en una sola dirección
Las capas de red del emisor y el receptor siempre están listas
Se ignora el tiempo de procesamiento
Hay un espacio de memoria (buffer) infinito
EL canal nunca daña los datos ni pierde tramas
El primario simplemente envía datos a la máxima velocidad
El secundario simplemente espera por un evento (llegada de una
trama sin errores)
Al llegar, la toma de la capa física y entrega la parte de datos a la capa de
red.
Repite el ciclo de esperar por evento
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
15
Protocolo Simplex sin restricción
typedef enum {frame_arrival} event_type;
#include "protocol.h"
void sender1(void)
{
frame s;
packet buffer;
/* buffer for an outbound frame */
/* buffer for an outbound packet */
while (true) {
from_network_layer(&buffer);
/* go get something to
send */
s.info = buffer;/* copy it into s for transmission */
to_physical_layer(&s);
/* send it on its way */
}
}
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
16
Protocolo Simplex sin restricción
void receiver1(void)
{
frame r;
event_type event; /* filled in by wait, but not used here */
while (true) {
wait_for_event(&event); /* only possibility is
frame_arrival */
from_physical_layer(&r);/* go get the inbound frame */
to_network_layer(&r.info);
/* pass the data to
the network layer */
}
}
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
17
Protocolo Simplex parar-y-esperar
Los datos se transmiten en una sola dirección
EL canal nunca daña los datos ni pierde tramas
El primario envía una trama y espera por la confirmación (ACK)
El secundario simplemente espera por un evento (llegada de una
trama sin errores)
Al llegar, la toma de la capa física y entrega la parte de datos a la capa de
red.
Envía un ACK al primario
Repite el ciclo de esperar por evento
La comunicación es alterna en ambas direcciones
Half-duplex
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
18
¿Qué sucede si el canal no es ideal?
Petición
información
Tiempo
Indicación
ACK
Respuesta
P
S
Tiempo máximo
(timeout)
Petición
Error
información
Duplicado!
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
19
Protocolo de RQ inactiva
Se utilizan los números de secuencia:
para evitar duplicados y tramas perdidas
Sirven como mecanismo para el control del flujo
Los números de secuencia son enteros con un rango
limitado
Se asignan a las tramas-I
Existen el el receptor y en el transmisor (diferentes)
Similar al protocolo simplex parar-y-esperar
P pone en marcha un temporizador cada vez que envia una trama-I
Si se supera el tiempo máximo sin recibir ACK P retransmite la
trama
Las tramas con errores o duplicada se desechan
Luis Tarazona, DIP UNEXPO Barquisimeto
ELT-51123 - Redes de Computadores 2001
20
Descargar