否定応答
否定応答(ひていおうとう、英: negative-acknowledgement, NAK, NACK)は制御文字の一つである。
BSC手順において、以下の場合に使用される。
- 送信側から問い合わせを受信したとき、受信側がデータ受信ができる状態でないことを送信側に通知する。
- 受信側において、データリンク層がその前に受信したブロックで伝送エラーを検出し、受信側がそのブロックの再送を受信する準備ができたことを送信側に通知する。
否定応答文字は、ASCIIとUnicodeでは十進数で21、十六進数で0x15に割り当てられている[1]。 EBCDICでは0x3Dに割り当てられている。キャレット記法では ^U
と表され、Unicodeでは制御文字の図形表現として ␕ (U+2415)が定義されている。
他の通信プロトコルにおける NAK
[編集]多くの通信プロトコルは肯定応答(ACK)ベースである。これは、受信のたびに、正しく受信できたことを明確に受信側から送信側へ伝えるものである。例えばTransmission Control Protocol (TCP)はACKベースのプロトコルである。
ACKベースに対するNAKベースのプロトコルでは、受信側で何か問題があったときだけ送信側にメッセージを送る。例えば高信頼マルチキャストプロトコルはNAKベースであり、受信側はパケットの欠損を検出したときにNAKを送信側へ送る。
関連項目
[編集]- 肯定応答 (ACK)
出典
[編集]- ^ “The Linux Programmer's Manual”. 2016年3月22日閲覧。
- この記事にはパブリックドメインである、アメリカ合衆国連邦政府が作成した次の文書本文を含む。Federal Standard 1037C. アメリカ合衆国連邦政府一般調達局.(MIL-STD-188内)