ACK (一般)
読み:アック
外語:ACK: ACKnowledge

 情報通信における信号の一つで、肯定応答。
目次

概要
 通信における肯定的な応答で、一般には、通信がエラーなく到達したことを示す信号である。
 通知方法も様々あるが、物理層に近い層では信号線のHI/LOWで表現することが多く、上位層に近い層では専用に用意された制御コードや通信手段によって実現する。
 例えば、制御コードを用いる方法では、ASCIIでは0/6(0x06)を、EBCDICでは2/14(0x2e)を使うのが一般的である。
 また専用に用意された通信手段による例としては、TCPヘッダーACKフラグなどがある。このように何らかのプロトコルにおいて肯定的な返答を単にACKと呼ぶことがあり、そういった物も含めてACKの返信が戻ることを「ACKが返る」のように表現する。

特徴

重要性
 通信プロトコルにおいて、ACKの送受信は重要なものである。要求が正常に受け付けられたかどうかを判断せねば、安定した動作は期待できないからである。
 このため多くのプロトコルではACK返信の機能を持っている。単にACKの意味だけをもったパケットを返信する場合と、要求への対応完了応答などをACKとするものとがある。

複数機能を兼ねるもの
 I〓Cなどは、ACKを複数の目的に用いているものの一つといえる。
 送信の際にACKが返るが、シンプルな実装では無視されることが多い残念な信号である。
 受信(スレーブ→マスター)の場合は、マスター側がACKかNACKを送信するが、これは正常な受信の通知というだけでなく、続けてデータを要求するか否かという機能も兼ねている。

手法

レガシーな通信媒体
 レガシーな通信媒体ではACK文字を返信することでACKとする実装が多い。RS-232Cや類する媒体を用い、ほぼ物理層の規定のみで使われるような世界では、この方式が採用される。
 また、仮にプロトコルを用いていても、インターネット用プロトコルのような複雑なものは当時殆どなかった。このため、次のプロトコルはACK文字をACKに採用している。
 また、パラレルインターフェイス(プリンターポートやIEEE 1284など)では、ACK信号を送るための線を1本以上用意することで、これを実現することもある。

インターネット
 インターネットの世界では、TCPがヘッダー内にACKフラグを持ち、同時にデータを返信することができる。このことから、ここで使われる多くのプロトコルも同様に設計されることが多い。
 次のプロトコルは、ACKとして情報が返信される代表的な例である。
 DHCPDNSNTPなど、要求に応じて返信されるプロトコルは、その返信が一般にACKとして扱われる。

他の世界
 通信以外の世界でも、ACKは様々な表現として使われている。

再検索