【てぃーしーぴー】

TCP とは?

💡 データを確実に届ける「配達確認付き宅配便」
📌 このページのポイント
TCP 3ウェイハンドシェイク クライアント サーバー ① SYN (接続要求) ② SYN-ACK (受諾+確認) ③ ACK (確認) 接続確立!通信開始
TCPは3回のやりとりで接続を確立する
ひよこ ひよこ

TCPって何?

ペンギン先生 ペンギン先生

データをインターネットで確実に届けるための「ルール」だよ。宅配便の「配達確認サービス」みたいなものだね。

ひよこ ひよこ

確認って、どうやって確認するの?

ペンギン先生 ペンギン先生

送る側が「届いた?」って聞いて、受け取った側が「届いたよ!」って返事するんだ。これを「ACK(アック)」って言うよ。返事が来なかったら、もう一回送り直す。

ひよこ ひよこ

じゃあUDPとは何が違うの?

ペンギン先生 ペンギン先生

UDPは確認なしで一方的に送りっぱなし。TCPは確実さを重視するけど、その分UDPより少し遅い。動画ストリーミングや音声通話みたいに「少し欠けてもリアルタイムが大事」な場合はUDPを使うことが多いよ。

ひよこ ひよこ

おもしろい!TCPってどうやって繋がるの?

ペンギン先生 ペンギン先生

「3ウェイハンドシェイク」っていう手順で繋がるんだ。①「繋いでいい?(SYN)」→ ②「いいよ、そっちもどう?(SYN-ACK)」→ ③「ありがとう(ACK)」って3回やり取りして接続が確立するんだよ。

ひよこ ひよこ

TCPの「輻輳制御」って聞いたんだけど、難しそう…

ペンギン先生 ペンギン先生

これはネットワーク慣れしてる人でも正確に説明できる人が少ないところだよ。ざっくり言うと「ネットワークが混雑してきたら、自分から送る量を自動で減らす」機能のこと。「スロースタート」という仕組みから始めて、少しずつ送る量を増やしていくんだけど、パケットロスを検知したら一気に送信量を減らす。この「どのくらい送っていいか」を動的に調整するアルゴリズムが何種類もあって、Renoとか Cubicとか、OSによって使ってるものが違うんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「TCP」って出てきたら「データを確実・順番通りに届けてくれる通信ルールのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Transmission Control Protocol」 = 伝送制御プロトコル
💬 Transmissionは「送信・伝送」、Controlは「制御」、Protocolは「取り決め・ルール」。送信を制御するルールという意味だよ
← 用語集にもどる