【てぃーしーぴー】

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は「取り決め・ルール」。送信を制御するルールという意味だよ
← 用語集にもどる