ACK番号 【確認応答番号】 acknowledgment number

概要

ACK番号(確認応答番号)とは、TCPによる通信で、受信側がどこまで受信したか送信側に知らせる番号。送信側から送られてきたシーケンス番号に受信が完了したバイト数を加算した数となっている。

TCPTransmission Control Protocol)はIPInternet Protocol)と併用されるトランスポート層プロトコルで、受信確認や再送制御などを信頼性の高い通信うことができる。Webコンテンツを伝送するHTTPメッセージ送受信などに使われる。

TCPではHTTPなどのアプリケーション層プロトコルから受け取ったメッセージを一定のサイズの「セグメント」に区切ってそれぞれ送信し、受信側で送信順に連結して元の状態に組み立て直す操作をう。送信側は各セグメントデータ全体のどの部分なのかを表す「シーケンス番号」を付与して送信する。

受信側は受け取ったセグメントシーケンス番号に受信したデータバイト数を加算して、ACK番号として送信側に受領確認のパケットを返信する。送信側は返信されたACK番号を次のセグメントシーケンス番号として送信する。データ全体を送り終えるまでこのやり取りを繰り返す。

再送制御

初期のTCP実装ではセグメントを一つ送るごとに受領確認を受け取る方式だったため、途中でセグメントが欠落して届かなかった場合、送信側は一定時間(RTO:Retransmission Time Out)待っても受領確認が届かない場合に伝送に失敗したとみなして同じセグメントを再送する。

現在は伝送を効率化するためセグメントを次々に送り出す方式が採用されている。この場合、受信側ではセグメントが到着する度に正しく受領できたバイト数までのACK番号を送り返す。送信側に3回続けて同じACK番号が返送されてきた場合には、その手前に送ったセグメントが届いていないとみなして再送する。

(2023.11.10更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる