ネットワーク通信において、TCP と UDP は最も基本的かつ重要なプロトコルです。
どちらも「トランスポート層(OSI第4層)」で動作しますが、通信の信頼性・速度・用途に大きな違いがあります。
この記事では、TCPとUDPの違いを初心者にもわかりやすく解説し、どのような場面で使われるのかを整理します。
目次
🔹 TCPとUDPの位置づけ(OSI参照モデル)
OSI層 | 主な役割 | プロトコル例 |
---|---|---|
第7層 アプリケーション層 | HTTP, FTP, DNSなどのアプリ通信 | HTTP, HTTPS, FTP, SMTP |
第6層 プレゼンテーション層 | データの形式変換や暗号化 | SSL/TLS など |
第5層 セッション層 | 通信の確立・維持・終了管理 | NetBIOS など |
第4層 トランスポート層 | 信頼性制御・分割・再送 | TCP / UDP |
第3層 ネットワーク層 | 経路選択とIPアドレス管理 | IP, ICMP |
第2層 データリンク層 | 同一ネットワーク内の転送 | Ethernet, PPP |
第1層 物理層 | 電気信号・光信号の伝送 | ケーブル, 無線波 |
TCPとUDPはいずれも、アプリケーション層のデータを分割して相手に届ける役割を担っています。
あわせて読みたい


OSI 7 層とは何か?各層の役割と実例を徹底解説
概要 ネットワークを理解するうえで避けて通れないのが OSI 参照モデル(OSI 7層モデル) です。「通信がどのように行われているか」を 7つの階層に分けて考えることで…
🔹 TCP(Transmission Control Protocol)とは
特徴
TCPは信頼性の高い通信を実現するプロトコルです。
データの順序・欠落・重複を自動的に制御する仕組みを持っています。
特徴 | 内容 |
---|---|
コネクション型通信 | 通信開始前に「コネクション(接続)」を確立(3ウェイハンドシェイク) |
信頼性が高い | 再送制御・順序制御・誤り検出によりデータを正確に届ける |
遅延が発生しやすい | 確認応答(ACK)を待つため、リアルタイム性は低い |
代表的なポート番号 | 80(HTTP)、443(HTTPS)、22(SSH)、25(SMTP)など |
TCP通信の流れ(3ウェイハンドシェイク)
クライアント → サーバ
SYN (接続要求)
サーバ → クライアント
SYN-ACK (要求受理・応答)
クライアント → サーバ
ACK (接続確立)
この3段階のやり取りによって、TCPは確実な通信路を確立します。
TCPを利用する代表的なサービス
サービス | 用途 | ポート番号 |
---|---|---|
HTTP / HTTPS | Webアクセス | 80 / 443 |
SSH | サーバリモート接続 | 22 |
SMTP / POP3 | メール送受信 | 25 / 110 |
FTP | ファイル転送 | 21 |
🔹 UDP(User Datagram Protocol)とは
特徴
UDPは速度重視・シンプル設計のプロトコルです。
TCPのような接続確立や再送制御を行わないため、通信のオーバーヘッドが少なく高速です。
特徴 | 内容 |
---|---|
コネクションレス通信 | 接続確立を行わず、送りっぱなし(相手が受け取った保証なし) |
軽量・高速 | TCPより処理が軽く、リアルタイム性が高い |
信頼性は低い | パケットの欠落・順序の保証なし |
代表的なポート番号 | 53(DNS)、67/68(DHCP)、123(NTP)など |
UDP通信の流れ(シンプル構造)
クライアント → サーバ
データ送信(完了)
通信相手が受け取ったかどうかは確認しません。
その代わり、一方通行で高速な通信が可能です。
UDPを利用する代表的なサービス
サービス | 用途 | ポート番号 |
---|---|---|
DNS | 名前解決 | 53 |
DHCP | IPアドレス割り当て | 67 / 68 |
NTP | 時刻同期 | 123 |
SNMP | 機器監視 | 161 |
VoIP / Zoom など | 音声・映像通信 | 動的ポート |
🔹 TCPとUDPの比較表
比較項目 | TCP | UDP |
---|---|---|
通信方式 | コネクション型 | コネクションレス型 |
信頼性 | 高い(再送・順序制御あり) | 低い(保証なし) |
通信速度 | 遅い(オーバーヘッド大) | 速い(オーバーヘッド小) |
エラー処理 | 自動で再送 | アプリ側で必要 |
利用例 | Web、メール、SSH | DNS、音声通話、映像配信 |
パケット順序保証 | あり | なし |
🔹 TCPとUDPの使い分け方
状況 | 適したプロトコル | 理由 |
---|---|---|
正確な通信が必要(ファイル転送・メール) | TCP | 信頼性重視 |
高速・リアルタイム通信(通話・動画配信) | UDP | 遅延を最小化 |
軽量な通信(監視・ブロードキャスト) | UDP | 少量データに適する |
🔹 図で見るTCPとUDPのイメージ
TCP通信(信頼性重視)
[送信者] →─→─→ [受信者]
│ ←── ACK(確認応答)──┘
UDP通信(速度重視)
[送信者] →→→ [受信者]
※応答なし、送るだけ
🔹 まとめ
要点 | 内容 |
---|---|
TCPは信頼性重視 | 再送・順序制御により確実な通信を実現 |
UDPは速度重視 | 確認応答なしでリアルタイム通信に最適 |
アプリに応じて使い分けが重要 | Web・メールはTCP、動画や音声はUDP |
🔹 まとめ図
プロトコル | 通信方式 | 強み | 弱み | 主な用途 |
---|---|---|---|---|
TCP | コネクション型 | 確実に届く | 遅延がある | Web、メール、SSH |
UDP | コネクションレス | 高速・軽量 | 信頼性が低い | 通話、配信、DNS |
次回記事では、TCP/UDPに続くテーマとして「ポート番号の仕組みと覚え方」を解説予定です。
ネットワーク通信の理解をさらに深めるために、各アプリケーションとポートの関係も整理していきましょう。