CORRECCIÓN DE ERRORES
CONTROL DE ERRORES
Debido a las indiferencias, ruidos y distorsiones que aparecen en la linea los datos al llegar a la estación destino pueden haber sufrido alguna modificación y no corresponder exactamente con los que fueron emitidos.
Para detectar estos errores se emplean diversas técnicas, que dependen del protocolo elegido.
Los métodos mas utilizados para el control de errores son:
- Método de paridad
- Método de redundancia cíclica.
Método de paridad
Este método, también llamado geométrico, concite en añadir un bit (bit de paridad) a cada uno de los caracteres enviados. Este bit debe tener el valor de cero o uno, y sera tal que haga que el carácter contando el bit de paridad, tenga un numero par de bits con valor uno (en el caso de la paridad par) o que tenga un numero impar de unos(en el caso de la paridad impar).
La estación destino cuenta el numero de bits uno de cada carácter recibido y, si el valor calculado coincide con el correspondiente a la paridad utilizada, la transmisión ha sido correcta, pero si no ha sido así, solicita a la estación emisora que repita el envío.
Este bit de paridad (par o impar) que se añade al final de cada carácter también recibe los nombres de bit de paridad transversal, bit de paridad vertical o comprobación de redundancia vertical(VRC).
He aquí un ejemplo de paridad de paridad par en el que se indican en cursiva los bits de paridad:
11100010
00011101
11001001
01101100
Este método cuenta con el problema de que únicamente se puede detectar el error si se ha modificado un solo bit. Pero si se modifica un numero par de bits, no se detectará el error . Para evitar este problema, se puede incluir al final de cada paquete un bit de comprobación de error que hará que la suma de unos "1" de de cada columna de bits corresponda con la paridad par o impar que se está utilizando.
A este bit se le denomina carácter de comprobación horizontal, suma de comprobación (checksum), paridad horizontal o comprobación de redundancia horizontal (LRC).
Si se emplea la paridad vertical y la horizontal, se podrían llegar a detectar todos los errores de un bit que produzcan.
MÉTODO DE REDUNDANCIA CÍCLICA
Este método consiste en que la estación estación emisora agrega al final de cada bloque de datos, una información calculada de acuerdo con una formula polinómica cuyas variables son los ceros y unos enviados en el bloque de datos (se divide el valor binario numérico total por un valor constante definido por el protocolo, se desecha el cociente y es el resto lo que se añade al final del bloque de datos).
La estación destino realiza el mismo calculo. Si le produce el mismo resultado la transmisión es correcta, pero si no ha sido así, solicita a la estación emisora que repita el proceso.
Este metodo recibe el nombre de Codigo de Redundancia Ciclica (CRC) y a los valores añadidos al bloque de datos se les denomina Carácter de Comprobación de Bloque (BCC) o simplemente redundancia.
La ventaja de este método estriba en que el número de bits que se añade a cada bloque de datos es mucho menor que el del método anterior.
RETRANSMISIÓN DE BLOQUES ERRÓNEOS
Normalmente la estación destino no corrige los bloques de daros erróneos, si no que se limita a detectar la existencia del error, pidiéndole a la estación emisora que vuelva a emitir dicho bloque de datos. Para la retransmisión del bloque de datos erróneo existen dos técnicas:
- Parada y Espera
- Envió continuo
Esta técnica consiste en que la estación emisora, después de enviar el bloque de datos, espera a recibir una respuesta de confirmación o de error del envió.
Si la transmisión es correcta, la estación receptora envía un mensaje de confirmación (ACK)y, si la transmisión es errónea envía un mensaje de rechazo (NAK). Al recibir el mensaje de rechazo, la estación emisora a retransmitir el bloque de datos erróneo.
El inconveniente de esta técnica es el tiempo que pierde la estación emisora en esperar el mensaje de la estacó receptora antes de proceder a un nuevo envió.
ENVIÓ CONTINUO
Esta técnica consiste en que la estación emisora esta enviando bloques de datos continuamente sin tener que permanecer a la espera de la confirmación de la estación receptora. Para poder realizar-lo identifica a cada bloque de datos con un código numérico.
Cuando se produce un error, la estación receptora solicita el reenvió del bloque erróneo y se pueden producir dos modalidades:
Envió continuo no selectivo. En este método la estación emisora vuelve a retransmitir todos los bloques enviados desde aquel en el que se produjo el error. Esto provoca el reenvió de bloques que se podía haber recibido correctamente.
Envió continuo selectivo. En este modo, la estación emisora vuelve a retransmitir únicamente aquel bloque en el que se produjo el error.
RECUPERACIÓN ANTE FALLOS
En el caso de que se produjera un envió de bloque de datos, la estación emisora estará esperando el mensaje de confirmación o error, si la estación receptora se desconectara o se perdiera dicho mensaje, la estación emisora estaría esperando indefinidamente dicha contestación
En este caso el protocolo debería de proceder de la siguiente manera:
Establecer un tiempo de espera de dicha contestación.
Solicitar una nueva respuesta cuando haya finalizado dicho tiempo de espera.
Limitar el numero de intentos, después de los cuales el fallo se da por irrecuperable y finalizara los transmisión de datos con dicha estación.
No hay comentarios:
Publicar un comentario