COMUNICACION DE DATOS

1. CORRECCIÓN DE ERRORES (MÉTODOS Y MECANISMOS)
Corrección de errores
Hasta el momento, los mecanismos que hemos estudiado se encuadran dentro de los métodos de detección de errores, con capacidad de detección pero no de corrección.

A continuación vamos a desarrollar los métodos de corrección de errores.
La corrección de errores se puede tratar de dos formas:

• Cuando se detecta el error en un determinado fragmento de datos, el receptor solicita al emisor la retransmisión de dicho fragmento de datos.

• El receptor detecta el error, y si están utilizando información redundante suficiente para aplicar el método corrector, automáticamente aplica los mecanismos necesarios para corregir dicho error.

• Bits redundantes. Teóricamente es posible corregir cualquier fragmento de código binario automáticamente. Para ello, en puesto de los códigos detectores de errores utilizando los códigos correctores de errores, de mayor complejidad matemática y mayor número de bits redundantes necesarios. La necesidad de mayor número de bits redundantes hace que a veces la corrección de múltiples bits sea inviable e ineficiente por el elevado número bits necesarios. Por ello normalmente los códigos correctores de error se reducen a la corrección de 1,2 ó 3 bits.

• Distancia Hamming. La distancia Hamming H entre dos secuencias binarias S1yS2 de la misma longitud, viene definida por el número de bits en que difieren.

• Código Hamming. Código corrector de errores, desarrollado por R.W. Hamming en 1950, y se basa en los conceptos de bits redundantes y Distancia Hamming.
Un Hamming puede utilizarse en mensajes de caracteres de cualquier longitud, aunque ilustraremos su utilización con caracteres ASCII de 7 bits y paridad par. Necesitamos 4 bits (24 > 7 + 4 + 1), que se situaran en las posiciones 1, 2,4 y 8 (posiciones potencia de 2). Nos referimos a los bits redundantes como r1, r2, r4 y r8.

• En este apartado vamos a centrarnos en un tipo concreto de código corrector de errores: los códigos Reed-Solomon

Los códigos detectores y correctores de error se refieren a los errores de transmisión en las líneas se deben a mucho a diversos factores, como el ruido térmico, ruido impulsivo y ruido de intermodulación. Dependiendo del medio de transmisión y del tipo de codificación empleado, se pueden presentar otros tipos de anomalías como ruido de redondeo y atenuación, así como cruce de líneas y eco.

El nivel de enlace de datos (en inglés data link level) o capa de enlace de datos es la segunda capa del modelo OSI, el cual es responsable de la transferencia fiable de información a través de un circuito de transmisión de datos. Recibe peticiones de la capa de red y utiliza los servicios de la capa física.
El objetivo de la capa de enlace es conseguir que la información fluya, libre de errores, entre dos máquinas que estén conectadas directamente (servicio orientado a conexión).

Para lograr este objetivo tiene que montar bloques de información (llamados tramas en esta capa), dotarles de una dirección de capa de enlace, gestionar la detección o corrección de errores, y ocuparse del control de flujo entre equipos (para evitar que un equipo más rápido desborde a uno más lento).
Cuando el medio de comunicación está compartido entre más de dos equipos es necesario arbitrar el uso del mismo. Esta tarea se realiza en la subcapa de control de acceso al medio.

Dentro del grupo de normas IEEE 802, la subcapa de enlace lógico se recoge en la norma IEEE 802.2 y es común para todos los demás tipos de redes (Ethernet o IEEE 802.3, IEEE 802.11 o Wi-Fi, IEEE 802.16 o WiMAX, etc.); todas ellas especifican un subcapa de acceso al medio así como una capa física distinta.
Otro tipo de protocolos de la capa de enlace serían PPP (Point to point protocol o protocolo punto a punto), HDLC (High level data link control o protocolo de enlace de alto nivel), por citar dos.
En la práctica la subcapa de acceso al medio suele formar parte de la propia tarjeta de comunicaciones, mientras que el subcapa de enlace lógico estaría en el programa adaptador de la tarjeta (driver en inglés).