ACKとNAKについて
公開日:
:
最終更新日:2013/11/12
電脳メガネ
ACKとNAKについてここでしっかりと押さえておく。
パケット毎にデータを送る機能を実現するには、送信側、受信側の役割を次のように分担すればよい。まず、送信側はパケットを送り出す。受信側は、パケットを受け取る。これらは当然の処理である。 しかし、実際はデータが化けたり抜けたりして、正常に送受できないことがある。このような場合には、受信側から送信側に、データが受け取れなかったとか、正しく受け取れたとか、知らせてやることになる。このような応答のことを、アクノリッジという。
アクノリッジには2種類ある。データを正常に受け取ったという合図のためのアクノリッジのことを、ポジティブアクノリッジ(ACK)と呼ぶ。 これは要するにOKという意味である。 これに対して、データが正しく受け取れなかった、すなわち に異常があったことを知らせる合図のためのアクノリッジを、 ネガティブアクノリッジ(NAK)という。これは要するにNGという意味である。
送信側は、NAKが戻ってきた場合には、それに応じて適切な処理をしなければならない。おそらく、もう一度パケットを送信するか、処理を全て中断するかである。 このようにNAKの判断は重要であるが、ACKが戻ってきた場合は、基本的に次々とデータを送っていればよい。
ACKやNAKに用いられるキャラクタ、あるいはデータは、コントロールコードのACK、NAKだけではなく、プロトコルによって異なっている。
なるほど。理解した。
関連記事
- PREV
- コマンドログを解析してみる
- NEXT
- cuからのコマンド送信・値取得に成功!!