FUNDAMENTOS DE REDES - 4.2 Tratamiento de Errores
  Home
  Libro de visitantes
  UNIDAD IV
  => 4.1.1 FUND. CAPA FISICA
  => Propiedades Mecánicas Eléctricas Ópticas Medio Transmisión
  => 4.2 Tratamiento de Errores
  => 4.2.1 Ruido
  => 4.2.2 Interferencia
  => 4.2.3 Diafonía
  => 4.2.4 Atenuación
  => 4.2.5 Distorsión
  => 4.3 Sentido Comunicación en Línea
  => 4.3.1 Simplex
  => 4.3.2 Half duplex
  => 4.3.3 Full duplex
  UNIDAD V

 

CORRECCION Y DETECCION DE ERRORES

Técnica de detección de errores:

BIT de paridad

LRC (Código de redundancia longitudinal)

CRC (Código de redundancia cíclica)

Hamming

Actualmente la técnica que mas se utiliza es la CRC esta técnica consiste en lo siguiente:

Se toma el bloque de información a enviar (I) como una secuencia de bits que forman un polinomio sin importar cuantos bits sean.

Se divide esta secuencia que esta multiplicada por 2 n entre un polinomio predefinido (p) de orden n(NFL) bits, usando la aritmética modulo 2.

El residuo ( R) es un polinomio de grado n-1, que se denomina CRC (n bits)

Se transmite la secuencia de bits 2n*I+R.

En el extremo receptor se realiza la división de todos los bits recibidos (La información mas el CRC entre el mismo polinomio que se utilizo para calcular el CRC). Si el residuo obtenido es 0, se toma la trama de información como valida.

CÓDIGO DE DETECCIÓN DE ERRORES Y REGISTROS

Se aplican a las señales binarias, y se dividen en dos.

  1. Por BIT de paridad.- Es el más utilizado.
  2.  Por BIT de parada.- aparte de detectar los errores, intenta corregirlo.

No se utiliza un circuito para mandar el estado de un bit, se usa un registro más y una vez llegada y comprobada la información y si es correcto todo se desecha el registro de estado.
Código de detección de errores.- Detecta el error y busca cual es el BIT que esta fallando, para arreglarlo.
Registros.- Grupo de celdas binarias agrupadas entre si, para obtener un código especificó.




Es imposible crear un sistema fiable al 100%. Ni siquiera las RAMs se salvan: en el ambiente hay muchos tipos de radiación capaces de alterar el bit preciso para que nuestro programa cuelgue irremisiblemente el ordenador. Si bien la probabilidad de que ocurra es bastante baja para una sola celda de memoria (del orden de varios millones de años), cuando agrupamos varios millones de ellas para formar los tan comunes 4 megas, dicha probabilidad sube, hasta situarse en unos 20 días. Esta es la razón de que los grandes ordenadores incluyan un código de control en sus memorias.

El problema se agrava cuando no es solo nuestra paciencia la que depende de esos datos, sino, por ejemplo, los miles de millones de dólares invertidos en una misión espacial (la misión VOYAGER a los planetas exteriores), la seguridad económica de un país (transacción electrónica de capital entre bancos), la salud de una persona (transferencia electrónica de partes clínicos entre hospitales) o la reputación de un sistema de grabación de música revolucionario (el Compact Disc). En estos casos, un error en un solo bit puede dar al traste con todo, por lo que se hace necesario el poder detectarlos y corregirlos.

Se han ideado multitud de sistemas de detección y corrección de errores. Si bien en general son muy distintos entre sí, todos se basan en añadir información extra a los datos originales, de tal forma que permitan detectar si han sido o no dañados, y recuperar la información original.

El sistema más simple de detección de errores es el llamado Checksum, o suma de comprobación. Se basa simplemente en añadir al final del bloque de datos la suma de todos ellos. El receptor debe comprobar que este dato se corresponde efectivamente con la suma de los datos recibidos. De no ser así, es que ha ocurrido un error, por lo que debe pedir al transmisor que repita el bloque de datos.

Normalmente, este sistema se aplica a pequeñas porciones del bloque total a transmitir; por ejemplo, cada 256 bytes o 1 Kbyte. De este modo, si sucede un error, la cantidad de datos a repetir es menor.

Un segundo sistema es el control de paridad. Se basa en añadir a cada porción del bloque un bit extra, el cual tomará el valor adecuado de forma que el número de bits a cero o a uno de la porción sea siempre par, o siempre impar, según sea el tipo de paridad escogido.

Este sistema se usa, por ejemplo, en las memorias de los PCs compatibles, para detectar si algún bit ha sido alterado. Sin embargo, el uso más común se le da en la transmisión de textos ASCII vía MODEM. Dado que el ASCII usa solo 7 bits, se suele aprovechar el octavo para fijar la paridad del byte que se transmite. De ese modo se puede saber si algún carácter ha resultado alterado. En caso de trabajar con textos en EBDIC, que son de ocho bits por carácter, es necesario usar un bit extra para la paridad, por lo que no se suele aplicar.

Estos dos métodos, si bien son de simple aplicación, tienen el inconveniente de que necesitan que les sea retransmitida la información errónea, con el consiguiente aumento de tiempo en la transmisión, así como la mayor complejidad del protocolo de comunicación.

Si bien con un MODEM no es muy problemático emplear unas centésimas de segundo para pedir de nuevo el bloque, en otros casos no se puede permitir tal pérdida de tiempo. Tal es el caso de, por ejemplo, las sondas espaciales destinadas a otros planetas del sistema solar, en las que una señal puede tardar en llegar al ingenio de entre 1,2 segundos (Luna) hasta más de cuatro horas (Neptuno y Plutón). En estos casos, además, debido a la naturaleza dinámica de la información a enviar, cuando llegue la señal de pedido, puede ser ya demasiado tarde.

Otro caso es, por ejemplo, los lectores de Compact Disc, o de CD-ROM. En ellos, los errores son muy frecuentes debidos a pequeños rayazos o partículas de polvo, que llegan a cubrir cientos de bits. Aquí no se puede volver a leer un sector, pues es seguro que el error permanecerá. Asimismo, debido a la naturaleza mecánica del medio, puede tardarse tanto en reposicionar la cabeza de lectura, que la pausa sea perceptible por el oído.

Es aquí donde los códigos de corrección de errores encuentran su mayor aplicación, pues, aunque aumentan la cantidad de información a transmitir, permiten recuperar los datos dañados a partir del bloque recibido, sin necesidad de volver a transmitirlo.

El sistema más simple de corrección de errores se basa en la fuerza bruta: consiste en repetir la información tres veces, de modo que si se pierde uno de los datos, quedarán los otros dos para descubrir cual era el adecuado. Tiene el grave inconveniente de que triplica la cantidad de los datos a transmitir, por eso no es muy utilizado.

Existe otro sistema mucho más fiable, consistente en añadir unas palabras de control intercaladas entre los datos. Es un sistema de redundancia cíclica. Sin embargo, no debemos confundirlo con el CRC, pues el CRC es sólo un sistema de detección de errores, pero no permite su corrección a partir de los datos recibidos, sino que estos deben ser reenviados.

Hay varias maneras de generar estas palabras. La más simple es coger dos datos adyacentes e intercalar entre ellos su suma. De este modo, si tenemos n datos de m bits cada uno, le añadiremos n-1 datos de m+1 bits cada uno. Luego, si se produce un error en una palabra, será fácil detectar cual es y recuperar su valor original con una simple resta.

Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis