メインメニューを開く

否定応答(ひていおうとう、: negative-acknowledgement, NAK, NACK)は制御文字の一つである。

BSC手順英語版において、以下の場合に使用される。

  • 送信側から問い合わせを受信したとき、受信側がデータ受信ができる状態でないことを送信側に通知する。
  • 受信側において、データリンク層がその前に受信したブロック英語版で伝送エラーを検出し、受信側がそのブロックの再送を受信する準備ができたことを送信側に通知する。

否定応答文字は、ASCIIUnicodeでは十進数で21、十六進数で0x15に割り当てられている[1]EBCDICでは0x3Dに割り当てられている。キャレット記法では ^U と表され、Unicodeでは制御文字の図形表現として ␕ (U+2415)が定義されている。

他の通信プロトコルにおける NAK編集

多くの通信プロトコルは肯定応答(ACK)ベースである。これは、受信のたびに、正しく受信できたことを明確に受信側から送信側へ伝えるものである。例えばTransmission Control Protocol (TCP)はACKベースのプロトコルである。

ACKベースに対するNAKベースのプロトコルでは、受信側で何か問題があったときだけ送信側にメッセージを送る。例えば高信頼マルチキャスト英語版プロトコルはNAKベースであり、受信側はパケットの欠損を検出したときにNAKを送信側へ送る。

関連項目編集

出典編集

  1. ^ The Linux Programmer's Manual”. 2016年3月22日閲覧。