5. Prueba

1. Concepto de control de errores

En una comunicación digital, los datos se transmiten a través de un medio físico en forma de señales eléctricas, ópticas o electromagnéticas. Durante esa transmisión pueden aparecer errores debido a ruido, interferencias, atenuación, distorsión, fallas de sincronismo, problemas de hardware o pérdidas temporales de señal.

La Capa de Enlace de Datos trabaja con unidades llamadas tramas. Por lo tanto, el control de errores en esta capa no se analiza bit por bit de manera aislada, sino en función de si una trama llegó correctamente, llegó dañada, no llegó o debió retransmitirse.

El control de errores es el conjunto de mecanismos utilizados para detectar y, cuando corresponde, corregir o recuperar errores producidos durante la transmisión de tramas.

En forma conceptual:

Control de errores = detección de errores + recuperación o corrección

Su objetivo es lograr que la comunicación entre dos estaciones conectadas por un enlace sea más confiable.

Detección de errores

Bit Paridad, FCS

Confirmaciones positivas

ACK

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.

 

2. Detección y corrección de errores

Dentro del control de errores existen dos ideas principales:

Detección de errores

La detección de errores permite identificar que una trama llegó dañada o que su contenido no coincide con el original transmitido.

Ejemplos de mecanismos de detección:

  • bit de paridad;
  • checksum;
  • FCS;
  • CRC.

La detección no siempre permite saber exactamente qué bit está mal. En muchos casos sólo permite determinar que la trama no es confiable.

Corrección o recuperación de errores

La corrección de errores busca recuperar la información correcta.

Esto puede hacerse de dos formas generales:

  1. Corrección hacia adelante, cuando el receptor tiene información redundante suficiente para corregir el error sin pedir retransmisión.
  2. Retransmisión, cuando el receptor o el transmisor detectan que una trama debe enviarse nuevamente.

En Capa de Enlace, los mecanismos más comunes se basan en detección de errores y retransmisión. Esta estrategia se denomina generalmente ARQ, del inglés Automatic Repeat reQuest.

3. Modelo de transmisión de tramas en orden

Para estudiar el control de errores se considera un modelo simplificado donde dos estaciones se comunican mediante un enlace directo.

Estación A  ____________________  Estación B
Transmisor                         Receptor

En este modelo:

  • los datos se envían como una secuencia de tramas;
  • las tramas se reciben en el mismo orden en que fueron transmitidas;
  • cada trama puede sufrir un retardo de propagación;
  • pueden aparecer pérdidas o daños;
  • no se consideran múltiples caminos alternativos.

Este modelo permite estudiar los errores básicos de Capa de Enlace sin introducir todavía problemas propios de redes con enrutamiento, múltiples saltos o caminos alternativos.

4. Tipos de errores considerados

En el modelo de control de errores de Capa de Enlace se consideran principalmente dos tipos de errores.

4.1. Tramas perdidas

Una trama perdida es una trama que fue transmitida por el origen pero nunca llega al receptor.

Puede ocurrir por:

  • pérdida de señal;
  • interferencia intensa;
  • colisión en medios compartidos;
  • falla temporal del enlace;
  • descarte por congestión o saturación;
  • error severo que impide reconocer la trama.

Ejemplo:

A envía F4  ----------------X       B no recibe F4

En este caso, el receptor no tiene forma directa de confirmar esa trama. Por eso, el transmisor necesita un mecanismo de temporización para detectar que pasó demasiado tiempo sin recibir confirmación.

4.2. Tramas dañadas

Una trama dañada es una trama que sí llega al receptor, pero llega con uno o más bits alterados.

Ejemplo:

Trama enviada:  10110010
Trama recibida: 10100010
                  ↑
             bit alterado

El receptor puede detectar este problema si la trama incluye información redundante de verificación, como un bit de paridad, un FCS o un CRC.

Cuando una trama llega dañada, normalmente se descarta y se solicita o espera una retransmisión.

5. Técnicas generales de control de errores

Las técnicas más comunes de control de errores en Capa de Enlace incluyen:

  • detección de errores;
  • confirmaciones positivas;
  • temporizadores;
  • confirmaciones negativas;
  • retransmisiones.
5.1. Detección por bit de paridad

El bit de paridad es una técnica simple de detección de errores. Consiste en agregar un bit adicional a un conjunto de bits para que la cantidad total de unos sea par o impar, según el criterio utilizado.

Paridad par

En paridad par, se agrega un bit para que la cantidad total de unos sea par.

Ejemplo:

Datos: 1011001
Cantidad de unos: 4
Bit de paridad par: 0

Trama enviada: 10110010

Paridad impar

En paridad impar, se agrega un bit para que la cantidad total de unos sea impar.

Ejemplo:

Datos: 1011001
Cantidad de unos: 4
Bit de paridad impar: 1

Trama enviada: 10110011

La paridad simple permite detectar errores de un número impar de bits, pero no todos los errores posibles. Por ejemplo, si se alteran dos bits, la paridad puede seguir coincidiendo y el error no será detectado.

Fórmula conceptual para paridad par
P = \begin{cases} 0, & \text{si el numero de unos en los datos es par} \\ 1, & \text{si el numero de unos en los datos es impar} \end{cases}

Donde:

 P = \text{bit de paridad}

5.2. FCS — Frame Check Sequence

La FCS, o Frame Check Sequence, es un campo agregado a la trama para permitir la detección de errores.

El transmisor calcula un valor a partir de los bits de la trama y lo coloca en el campo FCS. Cuando el receptor recibe la trama, realiza nuevamente el cálculo. Si el resultado no coincide, se considera que la trama llegó dañada.

Conceptualmente:

Transmisor:

Datos + cálculo de verificación → FCS → Trama transmitida

Receptor:

Trama recibida → recalcula FCS → compara → acepta o descarta

En tecnologías reales, como Ethernet, el FCS suele implementarse mediante un CRC de 32 bits.

5.3. CRC — Cyclic Redundancy Check

El CRC es una técnica de detección de errores basada en división polinómica binaria. Es más robusta que la paridad simple y se utiliza ampliamente en redes de datos.

En CRC, el mensaje se interpreta como un polinomio binario. El transmisor divide ese polinomio por un polinomio generador. El resto de la división se agrega como información redundante. El receptor realiza una verificación equivalente para detectar errores.

Modelo general
T(x) = M(x) \cdot x^r + R(x) Donde: T(x) = \text{trama transmitida} M(x) = \text{mensaje original} G(x) = \text{polinomio generador} r = \text{grado del polinomio generador} R(x) = \text{resto de la división} El resto se calcula como: R(x) = \left[ M(x) \cdot x^r \right] \bmod G(x)

La condición de recepción correcta puede expresarse como:

T(x) \bmod G(x) = 0

Si el resto no es cero, se detecta error:

T(x) \bmod G(x) \neq 0

5.4. Confirmaciones positivas — ACK

Una confirmación positiva, o ACK, indica que una trama fue recibida correctamente.

Funcionamiento básico:

A envía trama 0  -------------------->  B
A recibe ACK 0  <--------------------  B
A envía trama 1  -------------------->  B

El ACK permite que el transmisor sepa que puede continuar enviando nuevas tramas o liberar del buffer la trama ya confirmada.

En protocolos de ventana deslizante, una confirmación puede validar varias tramas de manera acumulativa.

5.5. Temporizadores

Un temporizador permite detectar que una confirmación no llegó dentro de un tiempo razonable.

Funcionamiento:

  1. El transmisor envía una trama.
  2. Inicia un temporizador.
  3. Si llega el ACK antes de que venza el temporizador, la trama se considera confirmada.
  4. Si el temporizador vence, el transmisor asume que la trama o el ACK se perdió.
  5. La trama se retransmite.

Representación:

A envía F0  -------------------->  B
A inicia temporizador
A no recibe ACK
Vence temporizador
A retransmite F0

El tiempo de espera debe elegirse cuidadosamente. Si es demasiado corto, se producirán retransmisiones innecesarias. Si es demasiado largo, se incrementará el retardo ante pérdidas reales.

Una aproximación conceptual es:

T_{\text{timeout}} > RTT + T_{\text{proc}} Donde: T_{\text{timeout}} = \text{tiempo de espera antes de retransmitir} RTT = \text{tiempo de ida y vuelta} T_{\text{proc}} = \text{tiempo de procesamiento}

En un modelo simplificado:

RTT \approx 2T_p

Por lo tanto:

T_{\text{timeout}} > 2T_p

5.6. Confirmaciones negativas — NACK / REJ

Una confirmación negativa indica que el receptor detectó un error y solicita la retransmisión de una trama.

Según el protocolo, esta confirmación puede llamarse:

  • NACK;
  • NAK;
  • REJ;
  • SREJ.

Ejemplo:

A envía F4  -------------------->  B
B detecta error en F4
A <------------------------------ B envía REJ 4
A retransmite F4 --------------->  B

El uso de confirmaciones negativas puede acelerar la recuperación, porque el transmisor no necesita esperar a que venza el temporizador.

6. Solicitud de repetición automática — ARQ

ARQ, del inglés Automatic Repeat reQuest, es una familia de mecanismos que combinan detección de errores, confirmaciones y retransmisiones.

La idea principal es:

Si una trama no llega o llega dañada, se retransmite.

Un sistema ARQ suele utilizar:

  • números de secuencia;
  • ACK;
  • NACK o REJ;
  • temporizadores;
  • buffers de transmisión;
  • retransmisión de tramas.
Secuencia general ARQ
  1. El transmisor envía una trama.
  2. El receptor verifica si la trama llegó correctamente.
  3. Si llegó correctamente, envía ACK.
  4. Si llegó dañada, puede descartarla y enviar NACK/REJ.
  5. Si la trama o el ACK se pierde, el temporizador del transmisor vence.
  6. El transmisor retransmite la trama.
Tipos principales de ARQ

En las próximas unidades se estudiarán con más detalle tres variantes:

Técnica ARQ

Descripción general

ARQ con parada y espera

Envía una trama y espera ACK antes de continuar.

ARQ con vuelta atrás N

Usa ventana deslizante; ante un error, retransmite desde la trama fallida en adelante.

ARQ con rechazo selectivo

Retransmite sólo las tramas que presentan error o cuyo temporizador expira.

7. Relación entre control de flujo y control de errores

El control de flujo y el control de errores están relacionados, pero no son equivalentes.

  • El control de flujo evita que el transmisor sature al receptor.
  • El control de errores permite detectar tramas dañadas o perdidas y recuperar la información mediante retransmisiones o corrección.

Ambos mecanismos pueden usar señales similares, como ACK, pero con objetivos distintos.

Aspecto

Control de flujo

Control de errores

Objetivo

Evitar sobrecarga del receptor

Detectar y recuperar errores

Problema principal

Receptor saturado

Trama perdida o dañada

Mecanismos

ACK, ventana, pausa

FCS, CRC, ACK, NACK, temporizador

Resultado buscado

Regular el ritmo de envío

Asegurar recepción correcta

8. Ejemplo conceptual: trama dañada

Supongamos que A envía una trama a B:

A envía F0  -------------------->  B

Durante la transmisión, algunos bits se alteran. B recibe la trama, calcula el FCS y detecta que no coincide. Entonces B descarta la trama.

Si el protocolo usa NACK:

B envía REJ 0  <----------------  A
A retransmite F0 -------------->  B

Si el protocolo no usa NACK, A espera hasta que venza su temporizador:

A no recibe ACK
Vence temporizador
A retransmite F0

9. Ejemplo conceptual: trama perdida

Supongamos que A transmite F1, pero la trama no llega a B.

A envía F1  ------------X         B

Como B nunca recibió la trama, no puede enviar ACK. Entonces el temporizador de A vence:

A espera ACK
No llega ACK
Vence temporizador
A retransmite F1

La retransmisión permite recuperar la información.

10. Ejemplo conceptual: ACK perdido

Supongamos que A envía F2 y B la recibe correctamente.

A envía F2  -------------------->  B

B envía un ACK, pero el ACK se pierde:

A             X------------------  B envía ACK

A no sabe que B recibió correctamente F2. Cuando vence su temporizador, A retransmite F2.

Esto genera una trama duplicada en B.

Para resolver este problema, los protocolos usan números de secuencia. De esta manera, el receptor puede reconocer que la trama ya fue recibida y descartar el duplicado.

11. Importancia de los números de secuencia

Los números de secuencia permiten identificar cada trama transmitida.

Sirven para:

  • detectar duplicados;
  • confirmar tramas específicas;
  • ordenar tramas;
  • diferenciar tramas nuevas de retransmisiones;
  • permitir mecanismos de ventana deslizante.

En ARQ con parada y espera puede bastar con numerar las tramas alternadamente como 0 y 1.

Ejemplo:

F0 → ACK1
F1 → ACK0
F0 → ACK1
F1 → ACK0

La numeración alternada permite distinguir si una trama retransmitida es nueva o duplicada.

12. Fórmulas principales de la unidad

Probabilidad de trama sin errores

Si se supone que cada bit tiene probabilidad de error p y que los errores son independientes, la probabilidad de que una trama de L bits llegue sin errores es:

P_{\text{sin error}} = (1-p)^L Donde: p = \text{probabilidad de error de bit} L = \text{longitud de la trama en bits}
Probabilidad de que una trama tenga al menos un error
P_{\text{error trama}} = 1 - (1-p)^L
Eficiencia considerando retransmisiones

Si la probabilidad de éxito de una trama es P_s, el número esperado de transmisiones necesarias es:

E[N] = \frac{1}{P_s} Si: P_s = 1 - P_{\text{error trama}} entonces: E[N] = \frac{1}{1 - P_{\text{error trama}}}
Tiempo de espera aproximado
T_{\text{timeout}} > RTT + T_{\text{proc}} Con: RTT \approx 2T_p se puede aproximar: T_{\text{timeout}} > 2T_p + T_{\text{proc}}
Condición de verificación CRC
T(x) \bmod G(x) = 0 Si el resultado no es cero: T(x) \bmod G(x) \neq 0

la trama se considera dañada.

13. Actividades de comprensión

Definimos el control de errores como el conjunto de mecanismos necesarios para la detección y corrección de errores en la transmisión de tramas, considerando principalmente tramas perdidas y tramas dañadas. Además, en protocolos reales como PPP con entramado tipo HDLC, el FCS se utiliza para detección de errores y puede ser de 16 o 32 bits. 

Actividad 1

Explique con sus palabras qué diferencia existe entre una trama perdida y una trama dañada.

Actividad 2

Indique si las siguientes afirmaciones son verdaderas o falsas.

Afirmación

V/F

Justificación

El control de errores busca detectar y recuperar errores en la transmisión de tramas.

   

Una trama perdida llega al receptor con bits alterados.

   

Una trama dañada puede detectarse usando FCS o CRC.

   

Un ACK indica recepción correcta.

   

Un temporizador permite retransmitir si no llega confirmación.

   

ARQ significa Automatic Repeat reQuest.

   
Actividad 3

Una trama tiene 1000 bits y la probabilidad de error de bit es:

p = 10^{-6}

Calcule:

P_{\text{sin error}} = (1-p)^L

y:

P_{\text{error trama}} = 1 - (1-p)^L
Actividad 4

Explique qué ocurre si una trama llega correctamente al receptor, pero el ACK se pierde.

Actividad 5

Explique por qué los números de secuencia son necesarios en los mecanismos ARQ.

14. Cierre de la unidad

El control de errores es una función esencial de la Capa de Enlace de Datos. Permite detectar tramas dañadas, recuperar tramas perdidas y evitar que las capas superiores reciban información incorrecta.

Las técnicas de detección, como paridad, FCS y CRC, permiten decidir si una trama es confiable. Las confirmaciones, temporizadores y retransmisiones permiten recuperar la información cuando ocurre un problema.

El concepto de ARQ integra estos mecanismos y constituye la base de varios protocolos de recuperación de errores. En la próxima unidad se estudiarán con mayor detalle las variantes de ARQ: parada y espera, vuelta atrás N y rechazo selectivo.

5 links interesantes para los alumnos

  1. IBM — OSI Model: recurso claro para ubicar el control de errores dentro de las funciones generales de la Capa de Enlace de Datos. (IBM)
  2. IETF RFC 1662 — PPP in HDLC-like Framing: referencia técnica sobre PPP con entramado tipo HDLC; útil para ver FCS en un protocolo real de enlace. (IETF Datatracker)
  3. RFC Editor — RFC 1662: versión oficial del RFC anterior, conveniente para citar documentos normativos de Internet. (RFC Editor)
  4. IEEE 802.3 — Media Access Control Frame Structure: material técnico donde se menciona que el CRC se usa para generar el valor del campo FCS. (IEEE 802)
  5. GeeksforGeeks — Frame Check Sequence: lectura didáctica para alumnos sobre qué es el FCS y cómo se usa para detectar errores en tramas. (geeksforgeeks.org)