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

SYN+ACKパケット

pointこの用語のポイント

pointSYNパケットとACKパケットが合体したパケットだよ

point「いいよー」な返事と「送っていい?」な質問が混ざっているよ

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

スポンサーリンク

簡単に書くよ

SYN+ACKパケット(読:シン+アックパケット 英:SYN+ACK packet)とは

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

「いいよー」な返事に相当するデータと「こっちからも送って、いいかなー?」な質問に相当するデータが合体したデータ
です。
ちょっと小難しいけど正確に書くと

SYNパケットとACKパケットが合体したパケット(通信用に細切れにされたデータ)のこと
であり

SYNフラグとACKフラグに1がセットされたパケットのこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

パケット
3ウェイハンドシェイク
SYNパケット
ACKパケット


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

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

SYN+ACKパケット

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

SYN+ACKパケット2

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

SYN+ACKパケット3

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

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

SYN+ACKパケット4

このときの

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

がパケットです。

SYN+ACKパケット5

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

SYN+ACKパケット6

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

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

SYN+ACKパケット7

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

SYN+ACKパケット8

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

SYN+ACKパケット9

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

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

このような

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


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

SYN+ACKパケット10

この3ウェイハンドシェイクの流れでやり取りされた

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


のうち

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

を「SYNパケット」と言います。

SYN+ACKパケット11

2を飛ばしますが

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

を「ACKパケット」と言います。

SYN+ACKパケット12

以上を踏まえて

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

が「SYN+ACKパケット」です。
SYNパケットとACKパケットを合体させたパケットだから「SYN+ACK」です。

SYN+ACKパケット13

まとめて書くと

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


となります。

SYN+ACKパケット14

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

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

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

SYN+ACKパケット15

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

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

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

SYN+ACKパケット16

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

SYN+ACKパケット17

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

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

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パケット


です。

SYN+ACKパケット18

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


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

「SYN」は多分「synchronize(シンクロナイズ)」の略です。
「synchronize(シンクロナイズ)」の意味は「同期する」とか「同時に起こる」とかです。
「ACK」は「acknowledgment(アクナレッジメント)」の省略表現だそうです。
「acknowledgment(アクナレッジメント)」の意味は「了承」とか「承認」とか「認知」とかです。
「packet(パケット)」の意味は「小包」とかです。
何となく くっつけると

同期用+了承の小包

となります。

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

訳01


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング