UDPとは?

トランスポート層通信プロトコルであるUDPは、音声および動画トラフィック用の非常に一般的なプロトコルです。

Share facebook icon linkedin icon twitter icon email icon

UDP / IP

学習目的

この記事を読み終えると、以下のことができます。

  • UDP / IPを定義する
  • UDPのユースケースを紹介する

ユーザーデータグラムプロトコル(UDP/IP)とは?

UDPは、インターネット全体で動画再生やDNSルックアップなど、特に時間が重要となる伝送に使用される通信プロトコルです。「ハンドシェイク」と呼ばれるものを必要とせず、受信側が通信に同意する前にデータを転送できるため、通信が高速化できます。これにより、プロトコルが非常に迅速に動作し、悪用の可能性が生まれます。

TCP vs UDP Communication

Webページコンテンツの読み込みに一般的に使用されるTCP接続では、データが送信される前に受信者が通信に同意するハンドシェイクが必要です。要求が不正であっても、UDPは確認なしでデータを送信します。


UDPにはTCPのエラーチェックおよび順序付け機能がないため、エラーチェックが不要で速度が重要な場合の利用に最適です。この内在する信頼性の欠如が、UDPが「Unreliable Datagram Protocol」と呼ばれることもある理由です。

1980年に導入されたUDPは、現在も使用されているネットワークプロトコルの中では古い類です。UDPを利用するアプリケーションは、エラー、損失、および複製に耐えることができなければなりません。これは理想的とは言えませんが、より高速で信頼性の低いプロトコルが最良の選択であるアプリケーションがいくつかあります。

UDPに依存しているサービスの種類は?

UDPは、待機するよりも時にパケットをドロップする方が適切な、時間が重要となる通信でよく使用されます。音声と動画のトラフィックはともに時間が重要であり、ある程度の損失に対応するように設計されているため、このプロトコルを使用して送信されます。たとえば、多くのインターネットベースの電話サービスで使用されるVoIP(Voice over IP)は、UDP上で動作します。これは、ノイズ交じりの通話のほうが、明瞭でも大幅な遅延のある通話よりも望ましいためです。このため、UDPはオンラインゲームにとっても理想的なプロトコルです。同様に、DNSサーバーとNTPサーバーはどちらも高速で効率的である必要があるため、UDPを介して動作します。DNS増幅NTP増幅などの帯域幅消費型DDoS攻撃はこうしたサーバーの脆弱なインスタンスを利用することで、標的をUDPトラフィックで飽和させようとします。

undefined