「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ACKパケット

pointこの用語のポイント

point「いいよー」な、お返事パケットだよ

point3ウェイハンドシェイクの話で出てくるよ

point接続の話でも出てくるし、切断の話でも出てくるよ

スポンサーリンク

簡単に書くよ

ACKパケット(読:アックパケット 英:ACK packet)とは

「3ウェイハンドシェイク」と呼ばれるやり方で接続を確立するときや切断するときにやり取りされるデータのひとつ
であり

「いいよー」な返事に相当するデータ
です。
ちょっと小難しいけど正確に書くと

ACKフラグに1がセットされたパケット(通信用に細切れにされたデータ)のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「パケット」と「3ウェイハンドシェイク」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

パケットは「通信用に細切れにしたデータ」です。

ACKパケット

突然ですが、フランスパンを食べるところを想像してみてください。
一本丸々咥えたら息が詰まりますよね?

ACKパケット2

ですから、フランスパンを食べるときは、ちぎって少しずつ食べます。

ACKパケット3

通信も同じです。
一度にまとめて送ろうとすると、線が詰まってしまいます。
いえ、もしかしたら詰まらないかもしれませんが、なんか大変そうです。

そこで、通信するときは一旦データを細かく分割してから送ります。
細切れになって送られたデータは受け取り側で元の形に復元されます。

ACKパケット4

このときの

送るために細切れにしたデータ

がパケットです。

ACKパケット5

3ウェイハンドシェイクは「送っていい?」「いいよー。こっちも送っていい?」「いいよー」な手順を踏む接続のやり方です。

ACKパケット6

例えば、ピヨ太コンピュータピヨ太PCがピヨ子コンピュータピヨ子PCに接続するとしましょう。

まずはピヨ太PCピヨ子PCに対して「送っていい?」な質問パケットを送ります。

ACKパケット7

それに対して、ピヨ子PCピヨ太PCに「いいわよー」な返事パケットと「私も送っていい?」な質問パケットを合体させたパケットを返します。

ACKパケット8

それに対して、ピヨ太PCピヨ子PCに「いいよー」な返事パケットを送ります。

ACKパケット9

これで2人とも相手から「送っていいよー」な許可をもらいました。
相手から送られてきたデータを受け取る心の準備もバッチリです。

この状態は「接続が確立された状態」と言えます。

このような

1.「送っていい?」な質問パケットを送る
2.「いいわよー」な返事パケット+「送っていい?」な質問パケットを送る
3.「いいよー」な返事パケットを送る


の3回のやり取りを経て接続を確立させるのが3ウェイハンドシェイクです。

ACKパケット10

以上を踏まえて、3ウェイハンドシェイクでやり取りされた

1.「送っていい?」な質問パケット
2.「いいわよー」な返事パケット+「送っていい?」な質問パケット
3.「いいよー」な返事パケット


のうち

3.「いいよー」な返事パケット

が「ACKパケット」です。

ACKパケット11

あと、ついでなので書いておくと、

1.「送っていい?」な質問パケット

は「SYNパケット」と表現されます。
同様に

2.「いいわよー」な返事パケット+「送っていい?」な質問パケット

は「SYN+ACKパケット」と表現されたりします。
SYNパケットとACKパケットを合体させたパケットだからです。

ACKパケット12

とりあえず

「いいかなー?」な質問パケット:SYNパケット
「いいともー」な返事パケット:ACKパケット


を押さえておいてください。

以上で、ざっくりとした説明は終わりです。
なんとなく分かれば満足な人は、ここから先を読む必要は ありません。
次は、ここまでの説明と同じ内容を、もう少し細かく説明してみます。

先ほど同様、ピヨ太PCピヨ子PCに接続するとしましょう。
やり方は3ウェイハンドシェイクです。

まずはピヨ太PCピヨ子PCに対して「送っていい?」な質問パケットを送ります。
このとき送られるのは「SYN=1、ACK=0」のパケットです。

ACKパケット13

SYNは「送っていい?」な質問用の目印だと思ってください。
SYNが「1」のパケットは「送っていい?」な質問のパケットです。

ACKは「いいよー」な返事の目印だと思ってください。
ACKが「1」のパケットは「いいよー」な返事のパケットです。

次にピヨ子PCピヨ太PCに対して「いいわよー」な返事パケットと「私も送っていい?」な質問パケットを合体させたパケットを返します。
「SYN=1、ACK=1」のパケットです。

ACKパケット14

最後にピヨ太PCからピヨ子PCに対して「いいよー」な返事パケットが送られます。
「SYN=0、ACK=1」のパケットです。

ACKパケット15

これで接続が確立されました。

やり取りされたパケットは

1.「SYN=1、ACK=0」のパケット
2.「SYN=1、ACK=1」のパケット
3.「SYN=0、ACK=1」のパケット


です。

これが

1.「送っていい?」な質問パケット
2.「いいわよー」な返事パケット+「送っていい?」な質問パケット
3.「いいよー」な返事パケット


に相当します。

それぞれの呼び方が

1.SYNパケット
2.SYN+ACKパケット
3.ACKパケット


です。

ACKパケット16

気が向いたら、全部まとめて覚えてあげてください。

あっ、そうそう。

ACKパケットは接続を切るときにも登場します。
その場合も意味は「いいよー」な返事です。

「接続を切っていいですかー?」な質問に対する「いいよー」な返事としてACKパケットが送られます。


image piyo2

一言でまとめるよ

まぁ「ACKパケット」って単語が出てきたら「『いいよー』な返事パケット(通信用に細切れにされたデータ)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像074
書籍画像053

おまけ

■訳してみるよ

「ACK」は「acknowledgment(アクナレッジメント)」の省略表現だそうです。
「acknowledgment(アクナレッジメント)」の意味は「了承」とか「承認」とか「認知」とかです。
「packet(パケット)」の意味は「小包」とかです。
何となく くっつけると

了承の小包

となります。

小分けにしたデータを小包にして相手に送りつけるイメージですかね。

訳01


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた