In data networking, telecommunications, and computer buses, an acknowledgment (ACK) is a signal that is passed between communicating processes, computers, or devices to signify acknowledgment, or receipt of message, as part of a communications protocol. The negative-acknowledgement (NAK or NACK) is a signal that is sent to reject a previously received message or to indicate some kind of error. Acknowledgments and negative acknowledgments inform a sender of the receiver's state so that it can adjust its own state accordingly. Many protocols contain checksums to verify the integrity of the payload and header. Checksums are used to detect data corruption. If a message is received with an invalid checksum (that is, the data received would have a different checksum than the message had), the receiver can know that some information was corrupted. Most often, when checksums are employed, a corrupted message received will either not be served an ACK signal, or will be served a NAK signal. ASCII code includes an ACK character (00001102 or 616) which can be transmitted to indicate successful receipt and a NAK character (00101012 or 1516) which can be transmitted to indicate an inability or failure to receive. Unicode provides visible symbols for these characters, U+2406 (␆) and U+2415 (␕). Many protocols are acknowledgement-based, meaning that they positively acknowledge receipt of messages. The internet's Transmission Control Protocol (TCP) is an example of an acknowledgement-based protocol. When computers communicate via TCP, received packets are acknowledged by sending back a packet with an ACK bit set. The TCP protocol allows these acknowledgements to be included with data that is sent in the opposite direction. Some protocols send a single acknowledgement per packet of information. Other protocols such as TCP and ZMODEM allow many packets to be transmitted before receiving acknowledgement for any of them, a procedure necessary to fill high bandwidth-delay product links with a large number of bytes in flight.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related courses (5)
MATH-448: Statistical analysis of network data
A first course in statistical network analysis and applications.
PHYS-754: Lecture series on scientific machine learning
This lecture presents ongoing work on how scientific questions can be tackled using machine learning. Machine learning enables extracting knowledge from data computationally and in an automatized way.
CS-451: Distributed algorithms
Computing is nowadays distributed over several machines, in a local IP-like network, a cloud or a P2P network. Failures are common and computations need to proceed despite partial failures of machin
Show more
Related lectures (33)
Protein Structure Prediction: AlphaFold Evolution and OpenFold Insights
Explores the evolution of protein structure prediction with AlphaFold models and introduces OpenFold insights.
Statistical Analysis of Network Data
Introduces network data structures, models, and analysis techniques, emphasizing permutation invariance and Erdős-Rényi networks.
Stochastic Blockmodel Estimation
Explores Stochastic Blockmodel estimation, spectral clustering, network modularity, Laplacian matrix, and k-means clustering.
Show more
Related publications (24)
Related concepts (7)
Sliding window protocol
A sliding window protocol is a feature of packet-based data transmission protocols. Sliding window protocols are used where reliable in-order delivery of packets is required, such as in the data link layer (OSI layer 2) as well as in the Transmission Control Protocol (TCP). They are also used to improve efficiency when the channel may include high latency. Packet-based systems are based on the idea of sending a batch of data, the packet, along with additional data that allows the receiver to ensure it was received correctly, perhaps a checksum.
Retransmission (data networks)
Retransmission, essentially identical with automatic repeat request (ARQ), is the resending of packets which have been either damaged or lost. Retransmission is one of the basic mechanisms used by protocols operating over a packet switched computer network to provide reliable communication (such as that provided by a reliable byte stream, for example TCP). Such networks are usually "unreliable", meaning they offer no guarantees that they will not delay, damage, or lose packets, or deliver them out of order.
End-to-end principle
The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the communicating end nodes of the network. Intermediary nodes, such as gateways and routers, that exist to establish the network, may implement these to improve efficiency but cannot guarantee end-to-end correctness.
Show more

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.