にしのクエスト2

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

にしのクエスト2

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

今日から、ネスペのシラバスにある基本的な事柄を
噛み砕きまくって解説してみます。

応用情報やセスペを受ける方にもお役立ちになるか
な?という想定で書いています。

ネスペ合格レベルの方には簡単すぎる内容かもしれ
ませんが、お許しください。(ミスったら突っ込ん
でね!)

------------------------------
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。