Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Acknowledgement (data networks)

From Wikipedia, the free encyclopedia
(Redirected fromAcknowledge character)
Signal confirming receipt of a message without errors
"Nak", "NAK", and "NACK" redirect here. For other uses, seeNak (disambiguation) andNack (disambiguation).

Indata networking,telecommunications, andcomputer buses, anacknowledgement (ACK) is asignal that is passed between communicatingprocesses,computers, or devices to signify acknowledgement, or receipt of message, as part of acommunications protocol. Correspondingly anegative-acknowledgement (NAK orNACK[1]) 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.

Acknowledgment signal types

[edit]

TheASCIIcode point for ACK is 0x06 (binary 0000 0110). By convention a receiving device sends an ACK to indicate it successfully received a message.ASCII also provides a NAK code point (0x15, binary 0001 0101) which can be used to indicate the receiving device cannot, or will not, comply with the message.[2]Unicode provides visible symbols for these ASCII characters, U+2406 (␆) and U+2415 (␕).

ACK and NAK symbols may also take the form of single bits orbit fields depending on the protocoldata link layer definition or even as a dedicated wire atphysical layer.

Protocol usage

[edit]

Many protocols are acknowledgement-based, meaning that they positively acknowledge receipt of messages. The internet'sTransmission Control Protocol (TCP) is an example of an acknowledgement-based protocol. When computers communicate via TCP, receivedpackets are acknowledged by sending a return packet with an ACK bit set.[3]

While some protocols send an acknowledgement per eachpacket received, other protocols such as TCP andZMODEM allow many packets to be transmitted before sending an acknowledgement for the set of them, a procedure necessary to fill highbandwidth-delay product links with a large number of bytes in flight.

Some protocols are NAK-based, meaning that they only respond to messages if there is a problem. Examples include manyreliable multicast protocols which send a NAK when the receiver detects missing packets[4] or protocols that usechecksums to verify the integrity of thepayload andheader.

Still other protocols make use ofboth NAKs and ACKs.Binary Synchronous Communications (Bisync) and Adaptive Link Rate (forEnergy-Efficient Ethernet) are examples.

The acknowledgement function is used in theautomatic 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 avoidoverflow orunderrun at the receiver, and to become aware of any missedframes.

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

ACK and NAK based methodologies are not the only protocol design paradigms. Some protocols such as theRC-5,User Datagram Protocol (UDP), andX10 protocols performblind transmission with no acknowledgement, often transmitting the same message multiple times in hopes that at least one copy of the message gets through.

Hardware acknowledgment

[edit]

Somecomputer buses have a dedicated acknowledge wire in thecontrol bus used to acknowledge bus operations: DACK used forISA DMA; DATACK used in theSTEbus, the data transfer acknowledge pin of theMotorola 68000 that inspired the title ofDTACK Grounded, etc. Some computer buses do not wait for acknowledgement of every transmission, see for instanceposted write.

TheI²C serial bus has a time slot for an acknowledgment bit after each byte.[5][6]

See also

[edit]

References

[edit]
  1. ^Negative-Acknowledgment (NACK)-Oriented Reliable Multicast (NORM) Building Blocks. November 2004.doi:10.17487/RFC3941.RFC3941.
  2. ^"Control characters in ASCII and Unicode". Retrieved2020-03-04.
  3. ^Postel, Jon (September 1981).Transmission Control Protocol.doi:10.17487/RFC0793.RFC793.
  4. ^Diot, C.; Dabbous, W.;Crowcroft, J. (April 1997)."Multipoint communication: A survey of protocols, functions, and mechanisms"(PDF).IEEE Journal on Selected Areas in Communications.15 (3):277–290.doi:10.1109/49.564128.
  5. ^"I2C Bus Specification".
  6. ^"Understanding the I2C Bus"(PDF). Figure 8.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Acknowledgement_(data_networks)&oldid=1313912608"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp