stringtranslate.com

Acuse de recibo (redes de datos)

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

Tipos de señales de reconocimiento

El punto de código ASCII para ACK es 0x06 (binario 0000 0110). Por convención, un dispositivo receptor envía un ACK para indicar que recibió un mensaje con éxito. ASCII también proporciona un punto de código NAK (0x15, binario 0001 0101) que se puede utilizar para indicar que el dispositivo receptor no puede o no quiere cumplir con el mensaje. [2] Unicode proporciona símbolos visibles para estos caracteres ASCII, U+2406 (␆) y U+2415 (␕).

Los símbolos ACK y NAK también pueden tomar la forma de bits individuales o campos de bits dependiendo de la definición de la capa de enlace de datos del protocolo o incluso como un cable dedicado en la capa física .

Uso de protocolo

Muchos protocolos se basan en acuse de recibo, lo que significa que acusan recibo de los mensajes de forma positiva. 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 confirman enviando un paquete de retorno con un bit ACK establecido. [3]

Mientras que algunos protocolos envían un acuse de recibo por cada paquete recibido, otros protocolos como TCP y ZMODEM permiten que se transmitan muchos paquetes antes de enviar un acuse de recibo para el conjunto de ellos, un procedimiento necesario para llenar enlaces de productos con un gran retardo de ancho de banda con una gran cantidad de bytes en vuelo.

Algunos protocolos están basados ​​en NAK, lo que significa que sólo responden a los mensajes si hay un problema. Los ejemplos incluyen muchos protocolos de multidifusión confiables que envían un NAK cuando el receptor detecta paquetes faltantes [4] o protocolos que usan sumas de verificación para verificar la integridad de la carga útil y el encabezado .

Otros protocolos más utilizan tanto NAK como ACK. Las comunicaciones síncronas binarias (Bisync) y la velocidad de enlace adaptable (para Ethernet de bajo consumo energético ) son ejemplos.

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 recibieron y luego se enviaron al transmisor. Esto permite que el transmisor evite el desbordamiento o la insuficiencia de datos en el receptor y se dé cuenta de cualquier trama perdida .

En IBM Binary Synchronous Communications , el NAK se utiliza para indicar que se detectó un error de transmisión en el bloque recibido previamente 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 alternativo de bloques pares/impares.

Las metodologías basadas en ACK y NAK no son los únicos paradigmas de diseño de protocolos. Algunos protocolos, como el RC-5 , el Protocolo de datagramas de usuario (UDP) y los protocolos X10 , realizan transmisiones ciegas sin reconocimiento y, a menudo, transmiten el mismo mensaje varias veces con la esperanza de que llegue al menos una copia del mensaje.

Confirmación de hardware

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 esperan el reconocimiento de cada transmisión, consulte, por ejemplo, la escritura publicada .

El bus serie I²C tiene un intervalo de tiempo para un bit de confirmación después de cada byte. [5] [6]

Ver también

Referencias

  1. ^ Bloques de construcción de multidifusión confiable (NORM) orientada al reconocimiento negativo (NACK). Noviembre de 2004. doi : 10.17487/RFC3941 . RFC 3941.
  2. ^ "Control de caracteres en ASCII y Unicode" . Consultado el 4 de marzo de 2020 .
  3. ^ Postel, Jon (septiembre de 1981). "rfc793".
  4. ^ Diot, C.; Dabbous, W.; Crowcroft, J. (abril de 1997). "Comunicación multipunto: un estudio de protocolos, funciones y mecanismos" (PDF) . Revista IEEE sobre áreas seleccionadas de las comunicaciones . 15 (3): 277–290. doi :10.1109/49.564128.
  5. ^ "Especificación del bus I2C".
  6. ^ "Comprensión del bus I2C" (PDF) . Figura 8.

enlaces externos