SYNパケット
パケットだよ
「送っていい?」な質問だよ
3ウェイハンドシェイクの話で出てくるよ
簡単に書くよ
SYNパケット(読:シンパケット 英:SYN packet)とは
「3ウェイハンドシェイク」と呼ばれるやり方で接続を確立するときにやり取りされるデータのひとつ
であり
「こっちから何か送っても、いいかなー?」な質問に相当するデータ
です。
ちょっと小難しいけど正確に書くと
SYNフラグに1がセットされたパケット
(通信用に細切れにされたデータ)のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「パケット」と「3ウェイハンドシェイク」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
パケットは「通信用に細切れにしたデータ」です。
突然ですが、フランスパンを食べるところを想像してみてください。
一本丸々咥えたら息が詰まりますよね?
ですから、フランスパンを食べるときは、ちぎって少しずつ食べます。
通信も同じです。
一度にまとめて送ろうとすると、線が詰まってしまいます。
いえ、もしかしたら詰まらないかもしれませんが、なんか大変そうです。
そこで、通信するときは一旦データを細かく分割してから送ります。
細切れになって送られたデータは受け取り側で元の形に復元されます。
このときの
送るために細切れにしたデータ
がパケットです。
3ウェイハンドシェイクは「送っていい?」「いいよー。こっちも送っていい?」「いいよー」な手順を踏む接続のやり方です。
例えば、ピヨ太コンピュータ(ピヨ太PC)がピヨ子コンピュータ(ピヨ子PC)に接続するとしましょう。
まずはピヨ太PCがピヨ子PCに対して「送っていい?」な質問パケットを送ります。
それに対して、ピヨ子PCはピヨ太PCに「いいわよー」な返事パケットと「私も送っていい?」な質問パケットを合体させたパケットを返します。
それに対して、ピヨ太PCはピヨ子PCに「いいよー」な返事パケットを送ります。
これで2人とも相手から「送っていいよー」な許可をもらいました。
相手から送られてきたデータを受け取る心の準備もバッチリです。
この状態は「接続が確立された状態」と言えます。
このような
1.「送っていい?」な質問パケットを送る
2.「いいわよー」な返事パケット+「送っていい?」な質問パケットを送る
3.「いいよー」な返事パケットを送る
の3回のやり取りを経て接続を確立させるのが3ウェイハンドシェイクです。
以上を踏まえて、3ウェイハンドシェイクでやり取りされた
1.「送っていい?」な質問パケット
2.「いいわよー」な返事パケット+「送っていい?」な質問パケット
3.「いいよー」な返事パケット
のうち
1.「送っていい?」な質問パケット
が「SYNパケット」です。
あと、ついでなので書いておくと、
3.「いいよー」な返事パケット
は「ACKパケット」と表現されます。
同様に
2.「いいわよー」な返事パケット+「送っていい?」な質問パケット
は「SYN+ACKパケット」と表現されたりします。
SYNパケットとACKパケットを合体させたパケットだからです。
とりあえず
「いいかなー?」な質問パケット:SYNパケット
「いいともー」な返事パケット:ACKパケット
を押さえておいてください。
以上で、ざっくりとした説明は終わりです。
なんとなく分かれば満足な人は、ここから先を読む必要は ありません。
次は、ここまでの説明と同じ内容を、もう少し細かく説明してみます。
先ほど同様、ピヨ太PCがピヨ子PCに接続するとしましょう。
やり方は3ウェイハンドシェイクです。
まずはピヨ太PCがピヨ子PCに対して「送っていい?」な質問パケットを送ります。
このとき送られるのは「SYN=1、ACK=0」のパケットです。
SYNは「送っていい?」な質問用の目印だと思ってください。
SYNが「1」のパケットは「送っていい?」な質問のパケットです。
ACKは「いいよー」な返事の目印だと思ってください。
ACKが「1」のパケットは「いいよー」な返事のパケットです。
次にピヨ子PCはピヨ太PCに対して「いいわよー」な返事パケットと「私も送っていい?」な質問パケットを合体させたパケットを返します。
「SYN=1、ACK=1」のパケットです。
最後にピヨ太PCからピヨ子PCに対して「いいよー」な返事パケットが送られます。
「SYN=0、ACK=1」のパケットです。
これで接続が確立されました。
やり取りされたパケットは
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パケット」って単語が出てきたら「『送っていい?』な質問パケット
(通信用に細切れにされたデータ)なんだな~」と お考えください。
おまけ
■訳してみるよ
「SYN」は多分「synchronize(シンクロナイズ)」の略です。
「synchronize(シンクロナイズ)」の意味は「同期する」とか「同時に起こる」とかです。
「packet(パケット)」の意味は「小包」とかです。
何となく くっつけると
同期用の小包
となります。
小分けにしたデータを小包にして相手に送りつけるイメージですかね。
■検索してみる?






