El control de errores hace referencia a los mecanismos necesarios para la detección y la corrección de errores que aparecen en una transmisión de tramas. Como se ha considerado hasta ahora, los datos se envían en base a una secuencia de tramas, las cuales se reciben en el mismo orden en que fueron enviadas y cada una de ellas, con carácter previo a su recepción, sufre un retardo arbitrario y posiblemente variable. Se contemplan dos tipos de errores potenciales:
- Tramas perdidas: se produce cuando una trama enviada no llega al otro extremo. Así, por ejemplo, una ráfaga de ruido puede dañar una trama de manera que el receptor no se percate siquiera de su transmisión.
- Tramas dañadas: ocurre cuando una trama se recibe con algunos bits erróneos (modificados durante la transmisión).
Las técnicas más usuales para el control de errores se basan en algunas o todas las siguientes aproximaciones:
- Detección de errores: haciendo uso de códigos de comprobación de redundancia cíclica (CRC, Cyclic Redundancy Check).
- Confirmaciones positivas: el destino devuelve una confirmación positiva por cada trama recibida con éxito, libre de errores.
- Retransmisión tras la expiración de un temporizador: la fuente retransmite las tramas que no se han confirmado tras un periodo de tiempo predeterminado.
- Confirmación negativa y retransmisión: el destino devuelve una confirmación negativa para aquellas tramas en las que se detecta la ocurrencia de errores. El origen retransmitirá de nuevo dichas tramas.
Estos mecanismos se denominan genéricamente solicitud de repetición automática (ARQ, Automatic Repeat reQuest); el objetivo de un esquema ARQ es convertir un enlace de datos no fiable en fiable. Hay tres variantes ARQ estandarizadas:
- ARQ con parada y espera.
- ARQ con vuelta atrás N.
- ARQ con rechazo selectivo.
6.1.5.1. ARQ con parada y espera
Si existe un error en el envío de la trama (por que llegue dañada -CRC no coincidente- o se pierda -expire el temporizador-), se vuelve a transmitir.
6.1.5.2. ARQ con vuelta atrás N
El emisor va enviando las tramas que tiene en su ventana deslizante. Si existe un error en el envío de la trama (por que llegue dañada -CRC no coincidente- o se pierda -expire el temporizador-) se vuelve a transmitir esa trama y todas las siguientes aunque ya hayan sido enviadas previamente.