|Integer ASCII code:||6|
|Binary code:||0000 0110|
Unicode symbol: ␆, int code: 9222 (html ␆) hex code: 2406 (html ␆)
Answer (indication) to an ENQ of successful message receipt.
An acknowledgement (or simply ASK) is widely used in data networking, telecommunications, computer buses. It's a signal that is transmitted between communicating processes, computers, or devices in order to designate acknowledgement, or message receipt. It makes only one section of a communications protocol. The negative-acknowledgement (NAK or NACK) signal has a function of rejecting a message that was received earlier. There is one more function of indicating some kind of error. Acknowledgements and negative acknowledgements show a sender the state of the receiver. This way it can respectively adjust its own state.
Each very terminal has a function of sending an enquiry character in order to check the condition of the other one, when the ASCII code is used to communicate between computer terminals. The one, who received this character, can answer either with ACK (00001102 or 616) to show that it works properly, or NAK (00101012 or 1516) to show that there is some error. Unicode has visible symbols for these characters, U+2406 (␆) and U+2415 (␕).
Lots of protocols are somehow based on the acknowledgement. That means that they positively acknowledge the message receipt. The good example of the protocol based on the acknowledgement is the internet's Transmission Control Protocol (TCP). When computers communicate with each other with the help of TCP, received packets of information are confirmed by sending back a packet with an ACK bit set. Such confirmations are let to be included with data that is sent in the opposite direction by TCP protocol.
There can be different cases. One group of protocols sends just one confirmation per packet of information. The other group of protocols, for example TCP and ZMODEM are OK to send lots of packets before receiving acknowledgement for any of them. This procedure must necessary fill high bandwidth-delay product links with a great number of bytes in flight.
All the other unmentioned protocols are based on NAK. This way they only respond to messages in case of a problem. The most credible multicast protocols which send a NAK when the receiver finds out that there are packets, included in the example. Nevertheless, other protocols normally use both NAKs and ACKs. The examples are Binary Synchronous Communications (Bisync) and Adaptive Link Rate (for Energy-Efficient Ethernet)
There are some protocols, for example the RC-5, User Datagram Protocol (UDP), and X10 protocols, that blindly send information with no acknowledgement of the received information. They frequently send the same message for a couple of times. Doing this, they hope that at least one copy of the message will be received.
The function of acknowledgement is also used in the automatic repeat request (ARQ) function. Acknowledgement frames are of the same number that the received frames are. Later they are sent to the transmitter. This way the transmitter avoids overflow or underrun at the receiver. Besides, he becomes aware of any missed frames.
The NAK is also used in Binary Synchronous Communications. Here its function is to show the transmission error that occurred in the previously received block and that the receiver is ready to accept retransmission of that block. Bisync doesn't use ACK characters at all. Instead of it, it has two control sequences in order to rotate even/odd block acknowledgement.
|input value||base||type||output hash|