TCP と UDP の違い
データを“確実に届ける”TCPと、“とにかく速く送る”UDP。信頼性を取るか速度を取るかで使い分ける2大トランスポート。
基礎TCPUDPトランスポート層最終更新: 2026-06-04
TL;DR要点だけ先に
- 1.TCP は 確実さ重視:接続を確立し、順序保証・再送・再順序化で“必ず正しく届ける”。
- 2.UDP は 速さ重視:接続なし・保証なしで投げっぱなし。軽量で遅延が小さい。
- 3.使い分け:Web/メール/ファイルは TCP、音声・動画・ゲーム・DNS は UDP が定番。
TCP:確実さ重視
TCP(Transmission Control Protocol)は、送る前に コネクションを確立 し、届いたことを確認しながら通信します。
- 3ウェイハンドシェイク(SYN → SYN/ACK → ACK)で接続を開始
- 順序保証:バラバラに届いても元の順番に並べ直す
- 再送制御:欠けたら送り直す(ACK が来ない=届いていない)
- フロー制御 / 輻輳制御:相手やネットワークの状況に合わせて流量を調整
→ 結果として「正しく・全部・順番どおり」届く。代わりにオーバーヘッドと遅延が増えます。
UDP:速さ重視
UDP(User Datagram Protocol)は、コネクションを張らず にデータ(データグラム)を投げっぱなしにします。
- 確認応答・再送・順序保証は なし(必要ならアプリ側で実装)
- ヘッダが小さく 軽量・低遅延
- 1対多(ブロードキャスト/マルチキャスト)も得意
→ 「速いが、欠けるかもしれない」。少々の欠落より遅延ゼロが大事な用途に向く。
比較表
| 観点 | TCP | UDP |
|---|---|---|
| 接続 | あり(ハンドシェイク) | なし(コネクションレス) |
| 信頼性 | 順序保証・再送あり | 保証なし(投げっぱなし) |
| 速度/遅延 | オーバーヘッド大 | 軽量・低遅延 |
| 向く用途 | Web/メール/ファイル転送 | 音声・動画・ゲーム・DNS |
| 代表例 | HTTP(1.1/2)・SMTP・SSH | DNS・DHCP・QUIC(HTTP/3)・RTP |
HTTP/3 は UDP の上
「信頼性が要る Web なら必ず TCP」ではありません。HTTP/3 は QUIC(UDPベース) で再送や順序制御をアプリ側に持ち、接続確立を高速化しています。境界は固定ではない好例。
ポート番号
TCP/UDP はどちらも ポート番号 で「どのアプリ宛か」を区別します。
- 80(HTTP)・443(HTTPS)・22(SSH)… は TCP
- 53(DNS)・67/68(DHCP)… は主に UDP(DNS は応答が大きいと TCP も使う)
DNS は UDP だけではない
DNS は通常 UDP/53 ですが、応答が大きい場合(ゾーン転送・DNSSEC 等)は TCP/53 にフォールバックします。「DNS=UDP」と決め打ちしないこと。
どっちを選ぶ?
- 欠落が許されない(決済・ファイル・ページ表示)→ TCP
- 遅延が命・多少の欠落は許容(通話・ライブ配信・対戦ゲーム)→ UDP
- 速度と信頼性を両取りしたい最新Web → HTTP/3 (QUIC)
ネットワーク Article
TCP と UDP の違いを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
TCP
比較で見る軸
難易度: basic / カテゴリ: ネットワーク / タグ数: 3
導入後に効く点
UDP は 速さ重視:接続なし・保証なしで投げっぱなし。軽量で遅延が小さい。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
数字・仕様の読み方
- 難易度
- basic
- カテゴリ
- ネットワーク
- タグ数
- 3
判断チェックリスト
- 自社の用途が「TCP / UDP」に近いか確認する。
- 強みである「TCP は 確実さ重視:接続を確立し、順序保証・再送・再順序化で“必ず正しく届ける”。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。