Acknowledgement (data networks)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
"Nak" and "NAK" redirect here. For other uses, see Nak (disambiguation).

In data networking and telecommunications, an acknowledgement (or acknowledgment or ACK) is a signal passed between communicating processes or computers to signify acknowledgement, or receipt of response, as part of a communications protocols. For instance, ACK packets are used in the Transmission Control Protocol (TCP) to acknowledge the receipt of SYN packets when establishing a connection, data packets while a connection is being used, and FIN packets when terminating a connection.

The NAK (or NACK; standing for negative-acknowledgement) protocol message is sent in many communications protocols to negatively acknowledge or reject a previously received message, or to indicate some kind of error. A special case of the NAK protocol message is the negative-acknowledge character.

Acknowledge character[edit]

An acknowledge character (ACK) is a control character transmitted by the receiving station as an acknowledgement, i.e. an affirmative response to the sending station, perhaps in response to the sending station's transmission of an ENQ.

In the ASCII code, the ACK character is 6 (decimal), or ^F. Unicode also provides a visible representation at U+2406(␆).

"ACK" is also used as a slang abbreviation in internet forums and chats (mainly technology) for "Acknowledged".[1]

Negative-acknowledge character[edit]

A negative-acknowledge character is a control character sent by a station as a negative response to the station with which the connection has been set up.

In the ASCII code, the NAK character is 21 (decimal), or ^U (CTRL-U). EBCDIC uses 0x3D. Unicode also defines a visible representation at U+2415(␕).

Protocol usage[edit]

Many protocols are acknowledgement (ACK)-based, meaning that they positively acknowledge receipt of messages. Transmission Control Protocol (TCP) is an example of an ACK-based protocol. Other protocols are NAK-based, meaning that they only respond to messages if there is a problem. Examples include most reliable multicast protocols which send a NAK when the receiver detects missing packets. Still other protocols make use of both NAKs and ACKs. Binary Synchronous Communications (Bisync) and Adaptive Link Rate (for Energy-Efficient Ethernet) is an example.

The acknowledgement function is used in the automatic repeat-request (ARQ) function. Acknowledgement frames are numbered in coordination with the frames that have been received, and then sent to the transmitter. This allows the transmitter to remain within the window size of the receiver's buffers, and to become aware of any missed frames.

In Bisync, the NAK is used to indicate that a transmission error was detected in the previously received block and that the receiver is ready to accept retransmission of that block. Bisync does not use a single ACK character, but has two control sequences for alternate even/odd block acknowledgement.

In Point-to-multipoint communication, the NAK is used as the not-ready reply to a poll.[citation needed]

See also[edit]

References[edit]

  1. ^ ACK, a Jargon File entry