No siempre puede confiar en que cada enlace de datos entre puntos finales tendrá un enlace de suma de verificación. El problema era aún más frecuente en los primeros días de TCP. El tema se discute en IEN 45, de junio de 1978.
Las sumas de verificación se incluyen en los paquetes para poder detectar los errores encontrados durante la transmisión. Para protocolos de Internet como TCP [1,9], esto es especialmente importante porque los paquetes pueden tener que cruzar redes inalámbricas como la Red de radio por paquetes [2] y la Red de satélite del Atlántico [3] donde los paquetes pueden estar dañados. Los protocolos de Internet (p. Ej., Aquellos para la transmisión de voz en tiempo real) pueden tolerar un cierto nivel de errores de transmisión y técnicas de corrección de errores de reenvío o posiblemente ninguna suma de verificación podría ser mejor. El enfoque en este documento está en las funciones de suma de verificación para protocolos como TCP, donde la entrega confiable requerida se logra por retransmisión.
Incluso si la suma de comprobación parece buena en un mensaje recibido, el mensaje puede contener un error no detectado. La probabilidad de esto está limitada por 2 ** (- C) donde C es el número de bits de suma de verificación. Los errores pueden surgir del mal funcionamiento del hardware (y el software), así como los errores de transmisión. Los errores inducidos por hardware generalmente se manifiestan de ciertas maneras bien conocidas y es deseable tener esto en cuenta en el diseño de la función de suma de verificación. Idealmente, ningún error del tipo de “falla de hardware común” no se detectaría.
- ¿Cómo funciona el modelo TCP IP?
- ¿Por qué es el protocolo de control de congestión TCP aunque existe congestión en la capa de red?
- Cómo hacer que mi IP sea estática
- ¿Por qué no puedo establecer tcp_max_tw_bucket en 0 en un servidor web de producción?
- ¿Cómo asigno múltiples direcciones IP públicas en un servidor de nube de datos F (x)?
Un ejemplo de una falla que la función de suma de verificación actual maneja con éxito es detectar un bit en la interfaz de red (o buses de E / S, canal de memoria, etc.). Esto siempre hará que la suma de verificación sea incorrecta. Para un ejemplo de cómo la función actual es inadecuada, suponga que una señal de control deja de funcionar en la interfaz de red y la interfaz almacena ceros en lugar de los datos reales. Estos mensajes de “todo cero” parecen tener sumas de verificación válidas. El ruido en la línea “There Your Bit” de la interfaz ARPANET [4] puede pasar desapercibido porque la entrada de bits adicionales puede perturbar (es decir, desplazar) la suma de comprobación de la misma manera que los datos.
Aunque los mensajes que contienen errores no detectados se pasarán ocasionalmente a niveles superiores de protocolo, es probable que no tengan sentido en ese nivel. En el caso de TCP, la mayoría de estos mensajes se ignorarán, pero algunos podrían hacer que se cancele una conexión. Los datos ilegibles podrían verse como un problema para una capa de protocolo por encima de TCP que en sí misma puede tener un esquema de suma de verificación.