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. Acknowledgment characters 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 (␕). Protocol usage 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. 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) are examples. Still other protocols such as the RC-5, User Datagram Protocol (UDP), and X10 protocols perform blind transmission with no acknowledgement, often transmitting the same message multiple times in