にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

ネスペちゃん01 「TCP」(1)3WAYハンドシェイク

<ネスペちゃん01について>
ネスペちゃん01はネットワークの用語やセキュリテ
ィのお話について、「難しい」イメージから「意外と
面白い」に変えるのが目的です。そのため、あえて大
胆なたとえや、表現を使っています。

そんなわけで、結果的に、緻密さを犠牲にする部分が
あります。詳しく知りたい方は、さらに勉強しよう!
ってことで。よろしくお願いします。(にしの)


----

f:id:koharuwest:20190608231544j:plain

TCPの働きは3つあるけど、
知ってるにゃ?


(1)通信路を確立すること
(2)データを送信すること
(3)エラーがあれば、再送すること


なんだけど、まずは、今回(1)通信路を確立する、
について。述べたいと思う。

通信路をどうやって確立するか。それはTCP自身
はレイヤー4なので、具体的なことは下位のレイヤ
ーたち、IPとかに委ねてるから
TCPはよく知らない。

f:id:koharuwest:20190601223724p:plain
知らんのかい。早くも連載の雲行きが怪しいだろ。


けど、通信路を確立する。すなわち相手と通信でき
る状況にあるかを確認するのはTCPのお仕事だと
いえる。

相手が通信できる状況にあるか、確認しないでデー
タを送信しても、相手は困惑するんで確認が必要な
のよ。


アポなしで食事に誘うようなもんだな。

確認の方法はいろいろあるんだけど。通常、サーバ
とクライアントがお互いにデータをやり取りする場
合は


手順A
1 クライアントがサーバに通信していいか聞く
2 おっけーだよ
3 送信するね

手順B 
4 サーバがクライアントに通信していいか聞く
5 おっけーだよ
6 送信するね


めんどくさ!

そうそう。合計6手かかるからね。これはいちいち
なので。3WAYハンドシェイクで確認する。


(3WAYハンドシェイクの手順)
1 (クライアント)サーバさん、僕通信したいな。
2 (サーバ)いいけど、僕からも通信していい?
3 (クライアント)もちろん!オッケーだよ!


これで双方向の通信が可能になる。

なるほど、2手目でOKと確認を同時に出してんの
か。


どうやってつながってるかは知らないくせに、こう
してTCPは通信路を確立するにゃ。

f:id:koharuwest:20190608232358j:plain

f:id:koharuwest:20190526083949p:plain
不思議すぎるな。TCP。