Reconocimiento (redes de datos)

Señal que confirma la recepción de un mensaje sin errores

En redes de datos , telecomunicaciones y buses de computadora , un reconocimiento ( ACK ) es una señal que se transmite entre procesos , computadoras o dispositivos que se comunican para indicar el reconocimiento o la recepción de un mensaje, como parte de un protocolo de comunicaciones . En consecuencia, un reconocimiento 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 reconocimientos y los reconocimientos negativos informan al remitente del estado del receptor para que pueda ajustar su propio estado en consecuencia.

Tipos de señales de reconocimiento

El 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 correctamente. ASCII también proporciona un 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 del protocolo

Muchos protocolos se basan en el reconocimiento, es decir, reconocen positivamente la recepción de mensajes. El Protocolo de Control de Transmisión (TCP) de Internet es un ejemplo de un protocolo basado en el reconocimiento. Cuando las computadoras se comunican a través de TCP, los paquetes recibidos se reconocen enviando un paquete de retorno con un bit ACK activado. [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 gran retardo de ancho de banda con una gran cantidad de bytes en vuelo.

Algunos protocolos se basan en NAK, lo que significa que solo responden a los mensajes si hay un problema. Algunos 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 utilizan tanto NAK como ACK. Algunos ejemplos son las comunicaciones binarias síncronas (Bisync) y la velocidad de enlace adaptativa (para Ethernet de eficiencia energética ).

La función de confirmación se utiliza en la función de solicitud de repetición automática (ARQ). Las tramas de confirmación 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 la falta de señal en el receptor y que esté al tanto de las tramas que faltan .

En IBM Binary Synchronous Communications , 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, sino que 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 acuse de recibo y, a menudo, transmiten el mismo mensaje varias veces con la esperanza de que se transmita al menos una copia del mensaje.

Reconocimiento 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 usado 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, vea por ejemplo la escritura publicada .

El bus serial I²C tiene un espacio de tiempo para un bit de reconocimiento después de cada byte. [5] [6]

Véase también

Referencias

  1. ^ Bloques de construcción de multidifusión confiable orientada al reconocimiento negativo (NORM). 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. ^ Postel, Jon (septiembre de 1981). Protocolo de control de transmisión. doi : 10.17487/RFC0793 . RFC 793.
  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 en comunicaciones . 15 (3): 277–290. doi :10.1109/49.564128.
  5. ^ "Especificación de bus I2C".
  6. ^ "Entendiendo el bus I2C" (PDF) . Figura 8.
  • Pedro Rukavina. "ACK contra NAK" . Consultado el 4 de marzo de 2020 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Reconocimiento_(redes_de_datos)&oldid=1245586908"