UDPとは?TCPとの違いを初心者にもわかりやすく解説

3 min 916 views

UDPという言葉を聞いたことはありますか?

インターネットの世界では、私たちが普段何気なく使っているオンラインゲームやビデオ通話の裏側で、このUDPが重要な役割を果たしています。

でも、「UDP」と聞くと、なんだか難しそうで近寄りがたい印象を受けますよね。

実は、UDPは私たちの日常のインターネット利用を支える、とても重要な「配達屋さん」のようなものなんです。

この記事では、ネットワークの知識がない方でもわかるように、UDPについてわかりやすく解説していきます。

UDPとは?

速度計が付いたフォルダが勢いよく進んでいるイラスト(UDPとはの節の扉絵)

インターネットで、例えば動画を見たり、オンラインゲームをプレイしたりするとき、あなたのコンピューターは他のコンピューターとデータのやり取りをしています。

そのデータのやり取りをスムーズに行うための方法(プロトコル)の一つが UDP です。

UDPは、データを小さなパケットに分割して、宛先を書き、インターネットという広大なネットワークに送り出すようなものです。

例えて言うなら、UDPは手紙を送るようなものです。

  1. あなたのコンピューターは、送りたいデータ(手紙の内容)を封筒(パケット)に入れます。
  2. 宛先(IPアドレスとポート番号)を封筒に書き、切手を貼ります。
  3. そして、ポスト(インターネット)に投函します。

UDPは、返事のいらない絵はがきを次々に出すようなものです。

相手に届いたかどうかを確認しません

そのため、もし手紙が途中で紛失してしまっても、再送はされません

「え、じゃあちゃんと届くか心配…」そう思うかもしれません。

しかし、UDPは スピードが命 の通信に最適なのです。

例えば、オンラインゲームでキャラクターを動かすとき、わずかな遅延も許されません。

もし、「届きましたか?」と毎回確認していたら、動きがカクカクしてしまいます。

UDPは、このようなリアルタイム性が重要な場面で力を発揮します

UDPの特徴

その前に位置づけを確認しておきます。UDPは、TCP/IP の4つの階層のうち、上から2番目の「トランスポート層にあるプロトコルです。同じ場所には TCP があり、どちらか一方が使われます

UDPの主な特徴

UDPは、スピード重視でデータを送信することに特化したプロトコルです。

例えば、ビデオ通話やオンラインゲームのように、リアルタイム性が重要な通信で活躍します。

メリット
  • 高速な通信
  • シンプルな構造
デメリット
  • 信頼性が低い
  • セキュリティリスク

高速な通信

データの確認作業を省くことで、TCPなどの他のプロトコルに比べて高速にデータを送信できます。

シンプルな構造

ヘッダー情報が少なく、処理が軽いので、機器への負担が小さいです。

信頼性が低い

データが正しく届いたかを確認する機能がないため、データが途中で消失したり、順番が入れ替わったりする可能性があります。

セキュリティリスク

TCPと違って通信を始めるときの手続きが無いぶん、送信元を偽りやすいという性質があります。そのため、他人になりすました攻撃の踏み台に使われることがあります。

UDPとTCPの違い

2種類の書類を虫めがねで見比べているイラスト(UDPとTCPの違いの節の扉絵)

UDPとよく比較されるプロトコルに、TCP(Transmission Control Protocol)があります。

TCPは、データの信頼性を重視したプロトコルで、データが確実に相手に届くように、確認作業を丁寧に行います。

そのため、TCPはファイル転送やメール送信など、データの正確性が求められる通信に適しています。

一方、UDPはスピードを重視するため、データの確認作業を省きます。

そのため、TCPに比べて信頼性は低いですが、その分高速にデータを送信することができます。

UDPが使われている場面

動画・通話・地図など様々な用途のアイコンが円形に集まったイラスト(UDPが使われている場面の節の扉絵)

UDPは、以下のような場面で利用されています。

  • ビデオ通話・ライブ配信
  • オンラインゲーム
  • DNS
  • VoIP
  • 時刻合わせ(NTP)

ビデオ通話・ライブ配信

相手とその場でやり取りするビデオ通話や、遅れが致命的なライブ配信で使われます。数コマ抜けても会話は続きますが、待たされると会話になりません。届かなかったぶんを取り返すより、先へ進むほうが得だからです。

⚠ ややこしいのですが、YouTube やNetflix のような「録画済みの動画配信」は事情が違います。こちらは途切れないことのほうが大事なので、あらかじめ数秒ぶんをためながらTCP(または、UDPの上で届いたかを確認する新しい仕組み QUIC)で運ばれるのが一般的です。

オンラインゲーム

キャラクターの動きや音声などをリアルタイムに送受信するために、UDPが利用されます。

DNS

ドメイン名とIPアドレスを照合するDNSクエリで、高速な応答を実現するためにUDPが利用されます。

VoIP

インターネット回線を使った音声通話で、遅延を少なくするためにUDPが利用されます。

時刻合わせ(NTP)

パソコンやスマホの時計を合わせる NTP も、UDPの123番を使います。時刻のやり取りは「いま何時か」が最優先で、届いたかを確認している間に時間が過ぎてしまっては意味がありません。ここでもUDPの速さが効いています。

UDPの通信を実際に見てみる

ここまで読んで「本当に自分のパソコンでも UDP が使われているの?」と思ったら、実際に見ることができます

Windowsのコマンドプロンプトで netstat というコマンドを使うと、いま通信しているものの一覧が出ます。そこに UDP と書かれた行があれば、それがこの記事で説明してきた通信です。

ずらりと並ぶので最初は驚きますが、TCP と UDP が混ざって動いていることが目で確かめられます。使い方は次の記事にまとめてあります。

なお、一覧に出てくる番号はポート番号です。UDP と TCP では番号が別々に管理されているので、同じ53番でも UDP の53番と TCP の53番は別のものとして扱われます。

まとめ

この記事では、UDPについて、以下のような点を解説しました。

  • UDPは、スピード重視でデータを送信するためのプロトコルである。
  • UDPは、ビデオ通話やオンラインゲームなど、遅れが致命的な通信で利用される。
  • UDPは、TCPに比べて信頼性は低いが、高速にデータを送信できるというメリットがある。

この記事が、UDPについて理解する上で少しでもお役に立てれば幸いです。

参考: User Datagram Protocol – Wikipedia

関連記事