ネットワーク編 第2章 / 全8章
TCPとは
ティーシーピー ・ Transmission Control Protocol
3ウェイハンドシェイクポイント
- いきなり送らず、まず3回のあいさつで「つながった」ことを確認する
- 届かなかったデータは送り直す
- 順番がバラバラに届いても、正しく並べ直す
名前の由来
送信をきちんと管理するための約束ごと。
仕事の現場では
くわしく(正確な話)
- SYN → SYN+ACK → ACK の3つのパケットで接続が成立する。
- シーケンス番号で順序を管理し、確認応答(ACK)がなければ再送する。
- 宛先はIPアドレスとポート番号の組で決まる(HTTPSなら443番)。
- 確認を省いて速さを優先するのがUDP。
うまれ:ヴィントン・サーフとロバート・カーンが1974年に原型を発表。
単純化しています。実際にはSYNもファイアウォールを通り、接続相手はロードバランサーであることがよくあります。
この章の用語(意味と語源)
- TCP ティーシーピー
確実に届けるための通信ルール。
接続を確立してから送り、届かなければ再送し、順番も正しく並べ直します。Webやメールなど、正確さが必要な通信で使われます。
覚えておく:コネクション型 / 再送 / 順序保証
語源Transmission Control Protocol の頭文字。transmission(送ること)を control(管理する)protocol(約束ごと)。
- SYN シン
「通信を始めましょう」の合図。
TCPで最初に送るパケットです。お互いの「通し番号(シーケンス番号)の数え始め」をそろえる役目があります。
覚えておく:TCPの1通目
語源synchronize(同期する=タイミングや数をそろえる)の略。syn- はギリシャ語で「一緒に」、chronos は「時間」。
- ACK アック
「受け取りました」の返事。
TCPでは、データを受け取るたびに ACK を返します。送った側は ACK が来なければ「届いていない」と判断して送り直します。
覚えておく:確認応答
語源acknowledgement(受け取ったことを認めること・確認)の略。
- 3ウェイハンドシェイク スリーウェイハンドシェイク
TCPで接続を始めるときの、3回のあいさつ。
SYN(始めたい)→ SYN+ACK(了解、こちらも始めたい)→ ACK(了解)の順にやり取りし、双方向で通信できることを確かめます。
覚えておく:SYN → SYN+ACK → ACK
語源3-way(3回の)+ handshake(hand 手 + shake 振る=握手)。3回のやり取りで握手を交わすイメージ。
- パケット Packet
データを小分けにした小包。
大きなデータはそのまま送らず、小さな単位に分けて送ります。それぞれに宛先や順番の情報(ヘッダー)が付き、受け取った側で元に戻します。
覚えておく:ヘッダー + データ本体
語源古いフランス語 pacquet(小さな包み)から。pack(包む)+ -et(小さいもの)。
- プロトコル Protocol
通信するときの約束ごと。
話す順番や言葉づかいを決めておくことで、メーカーの違うコンピューター同士でも会話ができます。TCP・HTTP などの最後の P は、この Protocol の P です。
覚えておく:TCP / UDP / HTTP / DNS
語源ギリシャ語 prōtokollon(巻物の最初に貼った1枚)から。そこから「外交上の取り決め・儀礼」の意味になり、通信の約束ごとにも使われるようになりました。
- シーケンス番号 Sequence Number
データに付ける通し番号。
バラバラの順番で届いても、この番号を見れば正しく並べ直せます。抜けている番号があれば、送り直しを頼めます。
語源sequence(順番・連続)。ラテン語 sequi(あとに続く)から。