TCP(Transmission Control Protocol)は、届いたことを確認しながら、順番どおりにデータを送り届けるための代表的な通信プロトコルです。Web、API、SSH、メールなど「正確に届いてほしい通信」のほとんどが TCP の上で動いています。
やっていることは、①通信を始める前に相手と接続を確立し(3ウェイハンドシェイク)、②届いたかを確認応答で確かめ、③欠けたら送り直し、④順番が入れ替わったら直す——という面倒見の良さです。そのぶん、軽さより確実さに寄った設計になっています。
まず押さえたいポイント
- コネクション型:通信前に接続を確立してから送る
- 順番保証と再送があるので、データが欠けない
- 混雑時に送信量を自動で調整する輻輳制御を持つ
- 確認のやりとりがあるぶん、遅延には弱い
近い用語との違い
対になるのが UDP です。TCP=確実さ優先、UDP=速さ優先と覚えるのが基本ですが、「TCPだから安全(セキュア)」ではない点は誤解されがちです。届く確実さと、暗号化・認証はまったく別の話で、盗聴対策は TLS の役目です。両者の詳しい比較は TCPとUDPの違い で整理しています。
実務で見るポイント
トラブル時は接続数・再送・タイムアウトを見ることになります。また、近年は「Webは必ずTCP」ではなくなりました。HTTP/3 は QUIC という UDP ベースの仕組みを使い、TCP の接続確立の遅さを回避しています。とはいえ HTTP/1.1・HTTP/2 は TCP の上で動いており、業務システムを含め依然として主役です。どのポートで待ち受けるかは ポート番号とは(80・443・22) を参照してください。