「UDPって何?TCPとどう違うの?」
インターネットやネットワークの話題で「UDP」という言葉を聞いたことがある方も多いのではないでしょうか。
UDPは、インターネット通信を支える重要なプロトコル(通信規約)の1つで、動画配信やオンラインゲームなど、私たちが日常的に使うサービスの裏側で活躍しています。
この記事では、UDPの基本からTCPとの違い、実際の使われ方まで、分かりやすく解説していきます。
UDP(User Datagram Protocol)とは

まず、UDPの基本的な定義から理解していきましょう。
UDPの正式名称
UDPは、User Datagram Protocol(ユーザー・データグラム・プロトコル)の略称です。
日本語では「ユーザー・データグラム通信規約」などと訳されますが、通常は「UDP」とそのまま呼ばれます。
簡単に言うと
UDPは、インターネット上でデータを送受信するための方式の1つです。
身近な例え:
郵便に例えるなら、UDPは「簡易書留なしの普通郵便」のようなもの。
- 送ったら送りっぱなし
- 相手に届いたか確認しない
- 速いけど、たまに届かないこともある
インターネット通信の階層
UDPは、インターネット通信の「トランスポート層」という階層で動作するプロトコルです。
通信の階層(簡略版):
- アプリケーション層:Webブラウザやメールソフトなど
- トランスポート層:TCP、UDP ← ここ
- インターネット層:IP(インターネットプロトコル)
- ネットワークインターフェース層:物理的な通信
UDPは、アプリケーション(ソフトウェア)とネットワークの間で、データのやり取りを管理する役割を担っています。
UDPとTCPの違い
UDPとよく比較されるTCP(Transmission Control Protocol)との違いを理解しましょう。
基本的な違い
UDP(簡易・高速型):
- データを送りっぱなし
- 相手に届いたか確認しない
- エラー訂正なし
- 速い
TCP(信頼性重視型):
- データが届いたか確認する
- 届かなかったら再送する
- エラー訂正あり
- 確実だが、やや遅い
比較表
項目 | UDP | TCP |
---|---|---|
接続確立 | 不要(コネクションレス) | 必要(コネクション型) |
信頼性 | 低い | 高い |
速度 | 速い | やや遅い |
データの順序保証 | なし | あり |
エラー訂正 | 最小限 | 充実 |
再送機能 | なし | あり |
用途例 | 動画配信、ゲーム、DNS | Webサイト、メール、ファイル転送 |
宅配便の例えで理解する
UDP(メール便):
- 投函したら終わり
- 相手が受け取ったか分からない
- 速いけど、たまに紛失することも
- 安い(オーバーヘッドが少ない)
TCP(宅配便の対面受け取り):
- 相手が受け取るまで追跡
- サインをもらって確実に届ける
- 届かなかったら再配達
- 確実だけど時間とコストがかかる
UDPの特徴とメリット・デメリット
UDPの長所と短所を詳しく見ていきましょう。
メリット1:通信速度が速い
理由:
接続確立の手順(ハンドシェイク)がないため、すぐにデータ送信を開始できます。
例え:
電話で「もしもし、聞こえますか?」と確認せずに、いきなり本題を話し始めるイメージ。
メリット2:オーバーヘッドが小さい
オーバーヘッドとは、データ本体以外の余計な情報(ヘッダーなど)のこと。
UDPは、TCPに比べてヘッダー情報が小さいため、効率的にデータを送れます。
UDPヘッダー:8バイト(シンプル)
TCPヘッダー:20バイト以上(詳細な制御情報)
メリット3:ブロードキャスト・マルチキャストに対応
ブロードキャスト:1対多数への同時配信
マルチキャスト:特定の複数相手への同時配信
UDPは、1つのデータを複数の相手に同時に送ることができます。
例:
ライブ配信で、1つの映像を数千人に同時配信する場合など。
デメリット1:信頼性が低い
データが届いたか確認しないため、以下の問題が起こる可能性があります。
- パケットロス(データの損失):データが途中で消える
- 順序入れ替わり:送った順番と違う順序で届く
- 重複:同じデータが2回届く
デメリット2:通信制御がない
フロー制御や輻輳制御(ネットワークの混雑を避ける仕組み)がありません。
そのため、ネットワークに負荷をかけすぎる可能性があります。
デメリット3:セキュリティ機能が最小限
UDPそのものには、暗号化や認証の機能がありません。
セキュリティが必要な場合は、アプリケーション側で対策する必要があります。
UDPが使われる場面
UDPは、どのようなサービスや用途で活用されているのでしょうか。
用途1:動画・音声のストリーミング配信
YouTube、Netflix、Zoomなどのリアルタイム配信
理由:
- リアルタイム性が重要
- 少しくらいデータが欠けても気にならない(画質が一瞬荒くなる程度)
- 速度優先
動画や音声は、多少のデータ欠損があっても、人間の目や耳では気づきにくいため、UDPの特性と相性が良いです。
用途2:オンラインゲーム
FPS、格闘ゲーム、MMOなどのリアルタイムゲーム
理由:
- 瞬間の操作が重要
- わずかな遅延が致命的
- 古い情報は不要(最新の状態だけが必要)
例えば、0.1秒前のキャラクターの位置情報が遅れて届いても意味がないため、再送するより最新情報を優先します。
用途3:DNS(ドメインネームシステム)
Webサイトのアドレス変換
インターネットで「example.com」と入力した時、それをIPアドレスに変換するDNSの問い合わせにはUDPが使われます。
理由:
- 問い合わせは小さなデータ
- 速度が重要
- 失敗したら再度問い合わせればいい
用途4:VoIP(インターネット電話)
Skype、LINE通話、Discordなどの音声通話
理由:
- リアルタイム性が最優先
- 音声の一部が欠けても会話は成立
- 遅延を最小限に抑えたい
用途5:IoT機器のセンサーデータ送信
スマートホーム、気象観測、産業用センサーなど
理由:
- 大量の小さなデータを頻繁に送信
- 1つや2つのデータが欠けても問題ない
- 効率性が重要
用途6:ネットワーク管理プロトコル
SNMP(Simple Network Management Protocol)など
ネットワーク機器の状態監視や設定に使われます。
UDPの仕組みと構造

UDPがどのように動作しているか、もう少し詳しく見ていきましょう。
UDPヘッダーの構造
UDPは、データ本体の前に小さなヘッダー(8バイト)を付けて送信します。
ヘッダーに含まれる情報:
- 送信元ポート番号(2バイト):送信側のアプリケーションを識別
- 宛先ポート番号(2バイト):受信側のアプリケーションを識別
- パケット長(2バイト):データ全体の長さ
- チェックサム(2バイト):エラー検出用の簡単な検証値
これだけのシンプルな情報で通信が行われます。
データグラムとは
UDPで送られるデータの単位をデータグラムと呼びます。
特徴:
- 独立したデータの塊
- 他のデータグラムとの関連性なし
- それぞれが個別に送信される
手紙を1通ずつ別々に送るイメージです。
コネクションレス通信
UDPはコネクションレス型の通信です。
意味:
事前に接続を確立せず、いきなりデータを送り始める。
TCPとの違い(3ウェイハンドシェイク):
TCPでは、通信を始める前に「準備OK?」「OK」「じゃあ始めるね」という3回のやり取り(ハンドシェイク)が必要です。
UDPはこの手順を省略するため、速いのです。
ポート番号とUDP
UDPでは、ポート番号を使ってアプリケーションを識別します。
ポート番号とは
ポート番号は、1つのコンピュータ内で動作している複数のアプリケーションを区別するための番号です。
例え:
マンションの部屋番号のようなもの。
IPアドレスが「住所」なら、ポート番号は「部屋番号」です。
主要なUDPポート番号
ポート番号 | 用途 |
---|---|
53 | DNS(ドメインネーム解決) |
67/68 | DHCP(IPアドレス自動割り当て) |
123 | NTP(時刻同期) |
161/162 | SNMP(ネットワーク管理) |
514 | Syslog(ログ送信) |
5353 | mDNS(ローカルネットワークの名前解決) |
ゲームやVoIP:
多くのゲームやVoIPアプリは、独自のポート番号を使用します(例:Minecraftは25565など)。
UDPのセキュリティ
UDPを使う際のセキュリティ上の注意点です。
UDPの脆弱性
問題点:
- 送信元の偽装が容易(なりすまし)
- 増幅攻撃に悪用される(DDoS攻撃など)
- 暗号化なし(平文で送信)
UDP増幅攻撃(DDoS)
攻撃者が小さなリクエストを送ると、大量のデータが返ってくる特性を悪用した攻撃。
例:
DNSサーバーに小さな問い合わせを送ると、大きなレスポンスが返ってくる。
この仕組みを使い、攻撃対象に大量のトラフィックを送りつけます。
セキュリティ対策
DTLS(Datagram Transport Layer Security):
UDPに暗号化機能を追加したプロトコル。
WebRTC(ビデオ通話など)で使われています。
ファイアウォール設定:
必要なポートだけを開放し、不要なUDP通信をブロックします。
アプリケーション側での対策:
認証、暗号化、整合性チェックなどをアプリケーション層で実装します。
UDPとTCPの使い分け
どちらを使うべきか判断するポイントです。
UDPを選ぶべき場合
以下の条件に当てはまる場合、UDPが適しています:
- リアルタイム性が最優先
- 少しのデータ損失は許容できる
- 大量のデータを効率的に送りたい
- 低遅延が重要
具体例:
動画配信、音声通話、オンラインゲーム、センサーデータ
TCPを選ぶべき場合
以下の条件に当てはまる場合、TCPが適しています:
- データの完全性が重要
- 順序通りに届く必要がある
- エラーがあってはならない
- 多少の遅延は許容できる
具体例:
Webサイト閲覧、メール送受信、ファイルダウンロード、データベースアクセス
よくある質問
Q. UDPは信頼性が低いのに、なぜ使われるの?
A. 速度とリアルタイム性を優先する場合に適しているからです。
動画配信やゲームでは、古い情報を正確に受け取るより、最新の情報を素早く受け取る方が重要です。
多少データが欠けても、人間の目や耳では気づかない程度なら問題ありません。
Q. UDPで送ったデータは必ず届かない?
A. いいえ、多くの場合は正常に届きます。
UDPは確認しないだけで、実際にはほとんどのデータが正しく届きます。
ただし、ネットワークが混雑している場合や、通信経路に問題がある場合は、データが欠落する可能性があります。
Q. UDPとTCPは同時に使える?
A. はい、使えます。
1つのアプリケーションが、UDPとTCPの両方を同時に使うことも可能です。
例えば、オンラインゲームでは:
- ゲームプレイのリアルタイムデータ → UDP
- チャットメッセージやアカウント情報 → TCP
このように使い分けることがあります。
Q. 家庭用Wi-Fiルーターで、UDPをブロックすべき?
A. 基本的にはブロックしない方が良いです。
多くの一般的なサービス(DNS、動画配信、ゲームなど)がUDPを使っているため、ブロックすると不便になります。
ただし、セキュリティ上必要な場合は、特定のポートだけをブロックする設定が可能です。
Q. UDPは古い技術?
A. いいえ、現在も広く使われている現役の技術です。
インターネットの初期から存在する技術ですが、リアルタイム通信の需要が高まる現代において、むしろ重要性が増しています。
5G通信やIoT、リアルタイムAI処理など、最新技術でもUDPは活用されています。
まとめ:UDPは速度重視のシンプルなプロトコル
UDPは、インターネット通信を支える重要なプロトコルの1つです。
UDPの特徴:
- コネクションレス:接続確立なしで送信開始
- 高速:オーバーヘッドが小さく、遅延が少ない
- 信頼性は低い:データが届いたか確認しない
- シンプル:最小限の機能だけを持つ
TCPとの違い:
- UDP:速いが確実性は低い(速達便)
- TCP:確実だがやや遅い(書留郵便)
主な用途:
- 動画・音声のストリーミング配信
- オンラインゲーム
- DNS、DHCP、NTPなどの基本サービス
- VoIP(インターネット電話)
- IoTセンサーデータ送信
セキュリティ:
- 暗号化機能なし(DTLSなどで補完)
- DDoS攻撃に悪用される可能性
- ファイアウォールでの適切な管理が重要
UDPは、リアルタイム性が求められる現代のインターネットサービスに欠かせない技術です。
この記事を参考に、ネットワーク通信の基礎知識を深めてくださいね!
コメント