情報通信における制御コードの一つで、肯定的な返答や通信に対する応答を意味する。一般には、通信がエラーなく到達したことを示すメッセージのこと。
ASCIIでは0/6(0x06)を、EBCDICでは2/14(0x2e)を使うのが一般的である。
また派生して、TCPのACKフラグが立ったパケットや、あるいは何らかのプロトコルにおいて肯定的な返答について、それをACKと呼ぶこともあり、そういった物も含めてACKの返信が戻ることを「ACKが返る」のように表現する。
通信プロトコルにおいて、ACKの送受信は重要なものである。要求が正常に受け付けられたかどうかを判断せねば、安定した動作は期待できないからである。
このため多くのプロトコルではACK返信の機能を持っている。単にACKの意味だけをもったパケットを返信する場合と、要求に対応応答をACKとするものとがある。
レガシーな通信媒体ではACK文字を返信することでACKとする実装が多い。RS-232Cや類する媒体を用い、ほぼ物理層の規定のみで使われるような世界では、この方式が採用される。
また、仮にプロトコルを用いていても、インターネット用プロトコルのような複雑なものは当時殆どなかった。このため、次のプロトコルはACK文字をACKに採用している。
また、パラレルインターフェイス(プリンタポートやIEEE 1284など)では、ACK信号を送るための線を1本以上用意することで、これを実現することもある。
インターネットの世界では、TCPがヘッダ内にACKフラグを持ち、同時にデータを返信することができる。このことから、ここで使われる多くのプロトコルも同様に設計されることが多い。
次のプロトコルは、ACKとして情報が返信される代表的な例である。
DHCP、DNS、NTPなど、要求に応じて返信されるプロトコルは、その返信が一般にACKとして扱われる。
通信以外の世界でも、ACKは様々な表現として使われている。