De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

En redes de datos , telecomunicaciones y buses de computadora , un acuse de recibo ( ACK ) es una señal que se transmite entre procesos de comunicación , computadoras o dispositivos para indicar el acuse de recibo o la recepción de un mensaje, como parte de un protocolo de comunicaciones . El reconocimiento negativo ( NAK o NACK [1]) se envía la señal para rechazar un mensaje recibido previamente o para indicar algún tipo de error. Los reconocimientos y los reconocimientos negativos informan al remitente del estado del receptor para que pueda ajustar su propio estado en consecuencia.

A menudo, los mensajes de datos en telecomunicaciones contienen sumas de comprobación para verificar la integridad de la carga útil y el encabezado . Las sumas de verificación funcionan de tal manera que si un solo bit de los datos está dañado, la suma de verificación tendría un valor diferente, por lo que pueden proporcionar una forma computacionalmente económica de verificar la integridad ( probable ) de la señal. Si se recibe un mensaje con una suma de comprobación no válida (es decir, los datos recibidos tendrían una suma de comprobación diferente a la que tenía el mensaje), el receptor puede saber que parte de la información está dañada. Muy a menudo, cuando se emplean sumas de comprobación, un mensaje dañado recibido no recibirá una señal ACK o recibirá una señal NAK.

Caracteres de reconocimiento [ editar ]

El código ASCII incluye un carácter ACK (0000110 2 o 6 16 ) que se puede transmitir para indicar una recepción exitosa y un carácter NAK (0010101 2 o 15 16 ) que se puede transmitir para indicar una incapacidad o falta de recepción. [2] Unicode proporciona símbolos visibles para estos caracteres, U + 2406 (␆) y U + 2415 (␕).

Uso del protocolo [ editar ]

Muchos protocolos se basan en acuse de recibo, lo que significa que reconocen positivamente la recepción de mensajes. El Protocolo de control de transmisión (TCP) de Internet es un ejemplo de protocolo basado en reconocimiento. Cuando las computadoras se comunican a través de TCP, los paquetes recibidos se reconocen enviando un paquete con un conjunto de bits ACK. El protocolo TCP permite que estos reconocimientos se incluyan con los datos que se envían en la dirección opuesta.

Algunos protocolos envían un solo acuse de recibo por paquete de información. Otros protocolos como TCP y ZMODEM permiten que se transmitan muchos paquetes antes de recibir el acuse de recibo de cualquiera de ellos, un procedimiento necesario para llenar enlaces de productos de alto retardo de ancho de banda con una gran cantidad de bytes en vuelo.

Otros protocolos están basados ​​en NAK, lo que significa que solo responden a los mensajes si hay un problema. Los ejemplos incluyen los protocolos de multidifusión más confiables que envían un NAK cuando el receptor detecta paquetes faltantes. Otros protocolos hacen uso tanto de NAK como de ACK. Las comunicaciones binarias síncronas (Bisync) y la velocidad de enlace adaptable (para Ethernet de bajo consumo ) son ejemplos.

Otros protocolos como el RC-5 , el Protocolo de datagramas de usuario (UDP) y los protocolos X10 realizan una transmisión a ciegas sin reconocimiento, a menudo transmitiendo el mismo mensaje varias veces con la esperanza de que al menos una copia del mensaje llegue.

La función de reconocimiento se utiliza en la función de solicitud de repetición automática (ARQ). Las tramas de acuse de recibo se numeran en coordinación con las tramas que se han recibido y luego enviado al transmisor. Esto permite que el transmisor evite el desbordamiento o falta de alcance en el receptor y se dé cuenta de los cuadros perdidos.

En comunicaciones binarias síncronas , el NAK se utiliza para indicar que se detectó un error de transmisión en el bloque recibido anteriormente y que el receptor está listo para aceptar la retransmisión de ese bloque. Bisync no utiliza un solo carácter ACK, pero tiene dos secuencias de control para el reconocimiento de bloques pares / impares alternativos.

Reconocimiento de hardware [ editar ]

Algunos buses de computadora tienen un cable de reconocimiento dedicado en el bus de control que se usa para reconocer las operaciones del bus: DACK usado para ISA DMA ; DATACK utilizado en STEbus , el pin de reconocimiento de transferencia de datos del Motorola 68000 que inspiró el título de DTACK Grounded , etc. Algunos buses de computadora no siempre reconocen cada escritura; algunas o todas las escrituras usan una escritura publicada .

El bus serie I²C tiene un intervalo de tiempo para un bit de reconocimiento después de cada byte. [3] [4]

Ver también [ editar ]

  • Códigos de control C0 y C1
  • Control de flujo (datos)

Referencias [ editar ]

  1. ^ Bloques de construcción de multidifusión confiable (NORM) orientados al reconocimiento negativo (NACK) . Noviembre de 2004. doi : 10.17487 / RFC3941 . RFC 3941 .
  2. ^ "Caracteres de control en ASCII y Unicode" . Consultado el 4 de marzo de 2020 .
  3. ^ "Especificación de bus I2C" .
  4. ^ "Comprensión del bus I2C" (PDF) . Figura 8.
  •  Este artículo incorpora  material de dominio público del documento de la Administración de Servicios Generales : "Norma Federal 1037C" .(en apoyo de MIL-STD-188 )

Enlaces externos [ editar ]

  • Peter Rukavina. "ACK vs. NAK" . Consultado el 4 de marzo de 2020 .