インターネットについて調べていると、「UDP」という言葉を目にすることがあります。
UDPは、インターネット通信で使われる代表的な通信プロトコル(データをやり取りするためのルール)の一つです。
この記事では、「UDPとは何か」「仕組みや特徴」「TCPとの違い」「メリット・デメリット」「具体的な用途」まで初心者向けにわかりやすく解説します。
UDPとは?

UDP(User Datagram Protocol/ユーザーデータグラムプロトコル)とは、
インターネットなどのIPネットワーク上で、コンピューターやアプリケーション同士がデータを送受信するために使われる通信プロトコルです。

簡単に言うと、TCPの高速版のようなものでしょうか。

UDPは、OSI参照モデルでいうトランスポート層(第4層)で動作します。
トランスポート層とは、送信元のアプリケーションから送信先のアプリケーションまで、データを届ける役割を担う階層です。
UDPは、できるだけ余分な処理をせず、シンプルにデータを送信するよう設計されています。
そのため、通信相手との接続を確立する処理や、データが届いたかどうかの確認などを行わずに通信できます。
RFC768(インターネット技術の標準仕様や運用ルールを記した公式な文書)では、UDPについて「最小限のプロトコル機構」でメッセージを送信する仕組みとして定義されています。
UDPを身近な例で考えると?
UDPを宅配便にたとえてみましょう。
TCPは、
「荷物を送りました」
↓
「届きました」
↓
「次の荷物を送ります」
というように、確認しながら荷物を届けるイメージです。
一方、UDPは、
「荷物を送ります」
↓
「次の荷物を送ります」
↓
「さらに次の荷物を送ります」
というように、確認に時間をかけず次々に送るイメージです。
そのため、多少の荷物が届かなくても、「とにかく次の情報を早く届けたい」という場面ではUDPが活躍します。
UDPの仕組み
UDPの通信を簡単に表すと、次のようなイメージです。
送信側 → データを送信 → 受信側
TCPの場合は、通信相手との接続を確認したり、データが正しく届いたかを確認したりします。
一方、UDPは基本的に、
「このデータを送ります」→「送信」
というシンプルな流れで通信します。
UDPでは、送信したデータが必ず届くことや、送信した順番どおりに届くことは保証されません。
RFC 768でも、配送や重複防止は保証されないとされています。
このような特徴があるため、UDPは「確実性」よりも「速さ」や「リアルタイム性」を優先したい通信で利用されます。
ポート番号も利用する
UDPでは、ポート番号を使って通信するアプリケーションを識別します。
ポート番号とは、同じコンピューターの中で「どのアプリケーションにデータを渡すのか」を識別するための番号です。

例えば、IPアドレスが「建物の住所」だとすると、ポート番号は「建物の中の部屋番号」のようなものと考えると分かりやすいでしょう。

UDPのヘッダーには、送信元ポート、宛先ポート、データ長、チェックサムなどの情報が含まれています。

UDPのメリット
UDPには、主に次のようなメリットがあります。
通信処理がシンプル
UDPはTCPのような接続確立や再送制御などを基本的に行いません。
そのため、通信に必要な処理を少なくできます。
リアルタイム通信に向いている
UDPは、データを受信したかどうかを毎回確認する必要がないため、リアルタイム性が求められる通信に適しています。
例えば、音声や映像などでは、一部のデータが失われても「通信を止めて再送する」より、最新のデータを送り続けるほうが適している場合があります。
通信の遅延を抑えやすい
遅延(レイテンシ)とは、データを送信してから相手に届くまでの時間のことです。
UDPは確認処理などが少ないため、用途によっては低遅延な通信を実現しやすくなります。
UDPのデメリット
便利なUDPですが、注意点もあります。
データが届く保証がない
UDPは、送信したデータが相手に必ず届くことを保証しません。
途中でデータが失われても、UDP自体がTCPのように自動で再送してくれるわけではありません。
データの順番が保証されない
複数のデータを送った場合、送信した順番とは異なる順番で届く可能性があります。
そのため、順番どおりのデータが必要なアプリケーションでは、必要に応じてアプリケーション側で制御する必要があります。
信頼性が必要な通信には向かない場合がある
ファイル転送など、「データが1つでも欠けると困る」通信では、UDPよりもTCPなどの仕組みが適している場合があります。
TCPとUDPの違い
UDPを理解するには、TCPとの違いを知っておくことが重要です。
| 比較項目 | TCP | UDP |
|---|---|---|
| 信頼性 | 高い | 低め |
| データの再送 | あり | 基本的になし |
| データの順序 | 保証される | 保証されない |
| 通信処理 | 多い | 少ない |
| リアルタイム性 | UDPより不利な場合がある | 高い |
| 主な用途 | Web、メール、ファイル転送など | DNS、音声・動画、オンラインゲームなど |
簡単に覚えるなら、
TCP=確実性を重視
UDP=速さ・リアルタイム性を重視
と考えると分かりやすいでしょう。
ただし、「UDPは必ずTCPより速い」という単純な意味ではありません。
UDPは接続確立や再送などの仕組みを持たないため、余分な処理を少なくできることが大きな特徴です。
RFC 8085でも、UDPはエンドツーエンドの接続を確立せず、接続確立・終了に伴うオーバーヘッドがないことが特徴として説明されています。

UDPはどんなところで使われる?
UDPは、さまざまな通信で利用されています。
DNS
DNS(Domain Name System)は、ドメイン名をIPアドレスに変換する仕組みです。

例えば、「example.com」のようなドメイン名から、通信先のIPアドレスを調べるときに利用されます。


DNSでは、短い問い合わせと応答を素早くやり取りする必要があるため、UDPが利用される代表的な例です。
音声・動画通信
音声通話や動画など、リアルタイム性が重要な通信でもUDPが利用されます。
例えば、一瞬の映像が欠けることよりも、通信が止まらずリアルタイムで映像が流れることを優先したいケースがあります。
オンラインゲーム
オンラインゲームでは、プレイヤーの操作やゲーム内の状態などをリアルタイムにやり取りする必要があります。
そのため、状況によってはUDPのような低遅延を重視できる通信方式が適しています。
UDPは「信頼性がない」のではなく、用途に合わせて使う
「UDPはデータが届かないから悪いプロトコル」と考えるのは正しくありません。
UDPは、そもそもTCPのような信頼性確保の機能を最小限にして、効率的なデータ送信を行うことを目的としています。
必要な信頼性をアプリケーション側で実装することも可能です。
つまり、重要なのは、
「確実に届ける必要があるのか」
「多少の欠落よりリアルタイム性を優先するのか」
という目的に応じてTCPとUDPを使い分けることです。
まとめ:UDPとは速さやリアルタイム性を重視した通信プロトコル
UDPとは、User Datagram Protocolの略で、インターネット通信などで利用されるシンプルな通信プロトコルです。
UDPのポイントをまとめると、次のとおりです。
UDPは「確実に届ける」ことよりも、余分な処理を減らして効率よくデータを送ることを重視したプロトコルです。
ネットワークを理解するうえでは、UDP単体だけでなく、対になる存在であるTCPとの違いも覚えておくと理解が深まります。


