ACK - tectijuana/redes7a-Archived GitHub Wiki
#ACK El acrónimo ACK son las siglas en inglés de Acknowledgement, cuyo significado en español se traduce como Acuse de Recibo.
##¿Qué es ACK? ACK es un mensaje corto para informar al transmisor que han llegado datos al destino deseado. El mensaje puede indicar que los datos llegaron sin novedad, o que los datos tuvieron problemas hasta llegar a su destino. En redes de datos, un acuse o reconocimiento de recibo es una señal pasado entre procesos o dispositivos que se comunican. La función de acuse de recibo se utiliza en la función de repetición de solicitud automática (ARQ). Las tramas de acuse de recibo se numeran en coordinación con las tramas que han sido recibidas y luego se envían al transmisor. Esto permite que el transmisor permanezca dentro del tamaño de la ventana de buffers en el receptor para tomar conciencia de los marcos de pérdidas.
El término de acuse de recibo es amplio y hace referencia a distintas situaciones comunicacionales que pueden darse en persona, por correo, vía email o en otros escenarios tecnológicos. Esta función de retorno asegura que el mensaje ha sido recibido correctamente y que no ha habido en la comunicación errores, ni problemas ni otros inconvenientes que pueden ser de orden circunstancial, técnico o personal. En el modelo de la comunicación tradicional se cuentan además del mensaje, un emisor y un receptor, un canal a través del cual el mensaje es enviado, un contexto que implica un entorno particular de transmisión y un código que es conocido por el destinador y el destinatario a la hora de comunicarse. Una comunicación insatisfactoria o que no es exitosa debe cualquier problema al "ruido" en la transmisión, que puede ser de orden técnico (por ejemplo, la conexión telefónica se encuentra averiada) u orden humano (por ejemplo, el receptor se niega a recibir el mensaje). La norma del acuse de recibo se creó fundamentalmente con el propósito de asegurarle al emisor que su comunicación ha sido recibida con efectividad, es decir, que la relación de transmisión se ha entablado con éxito.
##¿Qué es NACK? Según el protocolo que se usa, también puede existir una contrapartida a este tipo de mensajes llamado NACK (Negative Acknolodgement, o acuse negativo), que se envía cuando se detectan errores o falta de datos en el mensaje original. Esta circunstancia se detecta gracias a que la trama de datos estaba protegida con un código detector de errores; o porque se define de esta forma en las normas del protocolo.
Para proceder al reenvio existen distintas técnicas, como las de rechazo simple y rechazo selectivo, conocidas como técnicas de ARQ, Automatic Repeat Request (solicitud automática de reenvío).
Puede tomarse como el contrario de ACK.
##ARQ ARQ (Automatic Repeat-reQuest) o protocolos de solicitud de repetición automática. Son protocolos utilizados para el control de errores en la transmisión de datos, garantizando la integridad de los mismos. Quiere decir que con estos protocolos se intenta convertir un enlace no fiable en fiable.
##Tipos de ARQ
###ARQ con parada y espera
El método de Parada y espera (Stop-and-wait) es un tipo de protocolo ARQ para el control de errores en la comunicación entre dos hosts basado en el envío de tramas o paquetes, de modo que una vez se envía un paquete no se envía el siguiente paquete hasta que no se recibe el correspondiente ACK (confirmación de la recepción) y en caso de recibir un NACK (rechazo de la recepción) se reenvía el paquete anterior.
###ARQ con vuelta atrás N(Rechazo Simple)
Es casi igual al método anterior solo que esta técnica cuenta con ventana deslizante. Las tramas recibidas (bien con RRnº de la siguiente trama, bien con piggy-backing).
Si el receptor detecta error, ahora puede avisar al emisor mediante un mensaje (REJect) de confirmación negativa.
Nota: Piggybacking es una técnica de transmisión de datos bidireccional en la capa de enlace de datos (Modelo OSI). Con esta técnica, en vez de enviar ACK en un paquete individual, éste es incluido dentro del próximo paquete a enviar.
###ARQ con rechazo selectivo
Evita la retransmisión de tramas correctamente recibidas cuando ha habido algún error en las precedentes. Ahora cuando el receptor detecta un error en la trama recibida, en vez de enviar REJ, transmite la trama SREJ (Selective REJect) que ordena su retransmisión. El emisor obedece, pero continúa la comunicación a partir de donde la dejó, sin suponer que el resto de tramas enviadas y aún pendientes de confirmación hayan sido también erróneas.
Referencias:
•CAVSI. "¿Qué significa ACK (Acuse de Recibo)? Definición", CAVSI[Online] disponible en http://www.cavsi.com/preguntasrespuestas/ack-acuse-de-recibo/ [Accessed 26 Jan. 2017]
•DefiniciónABC. "Definición de Acuse de recibo", DefiniciónABC [Online] disponible en http://www.definicionabc.com/comunicacion/acuse-de-recibo.php [Accessed 26 Jan. 2017]
•Alberto, J. 2013, "NACK", Wikipedia[Online] disponible en https://es.wikipedia.org/wiki/NACK [Accessed 26 Jan. 2017]
•Herrera, E. 2013, "ARQ-Protocolos", WordPress[Online] disponible en https://arqprotocolos.wordpress.com [Accessed 26 Jan. 2017]