読み方 : ナック
NACK【Negative ACKnowledgement】否定応答/NAK
概要

ネットワーク上を流れるデータは、回線のノイズや混雑などによって途中で壊れたり欠落したりすることがある。通信プロトコルの多くは受信の成否を送信側へ知らせる仕組みを備えている。受信側がデータの誤りや欠落を検知した場合はNACKを、正常に受信できた場合はACKを返すことで、送信側はデータが正しく届いたかどうかを把握できる。送信側はNACKを受け取ると、該当するデータを再送する。
プロトコルの仕様により、ACKとNACKは両方用意される場合と、いずれか一方のみが用意される場合がある。ACKのみの方式では一定時間内に応答がなければ失敗とみなし、NACKのみの方式では何も返ってこなければ成功とみなす。併用する方式では失敗を積極的に通知するため再送までの時間を短縮できる利点がある。一部だけ受信に失敗した場合に「Selective ACK」という通知を送るシステムも存在する。
NACKの表現形式はプロトコルによって異なる。古くはASCII制御コードの21番(16進数で15)を送ることで伝達していたが、現代の通信システムではフレームやパケットのヘッダ内の特定ビットを立てる形で表現することが多い。また、シリアル通信ではデータを受け取ったものの処理できない状態を伝える用途でも使われ、この場合はエラー通知ではなく受信側の状態を示す信号として機能する。
(2026.5.2更新)