UDP 【User Datagram Protocol】

概要

UDP(User Datagram Protocol)とは、インターネットなどのIPネットワークで、IP(Internet Protocol)の上位層であるトランスポート層のプロトコル(通信規約)として標準的に使われるものの一つ。シンプルで低遅延だが信頼性は低い。

ネットワーク層のIPと、DHCPなど各用途ごとに固有のアプリケーション層のプロトコルとの橋渡しをするもので、「ポート番号」という識別番号を用いて、各IPデータグラムが運んでいるデータがどの上位プロトコルのものであるかを識別し、担当のソフトウェアに振り分ける。

UDPは仮想的な伝送路の確立(ハンドシェイク)を行わないコネクションレス型のプロトコルで、送信先が確実にデータを受領したかを確認したり、データの欠落を検知して再送したり、受信データを送信順に組み立て直すといった制御を行わず、データを「送りっぱなし」にする。

このため、UDP自体はデータの配達に関して特に信頼性を保証しないが、このような制御を行わない分だけ転送効率が高く、遅延が発生しにくい。データに多少の損失が生じても高速性や即時性(リアルタイム性)を重視する用途(通話、放送など)、信頼性はアプリケーション層で確保するためとにかくシンプルにデータを伝送してほしい用途などで用いられる。

UDPでのデータの送信単位は「データグラム」(UDPデータグラム)で、前半8バイトが制御情報を記したヘッダ、残りの後半部分が伝送するデータ本体(アプリケーション層から伝送を依頼されたデータ)であるペイロードとなる。ヘッダ構造は極めてシンプルで、先頭から2バイトずつ送信元ポート番号、宛先ポート番号、(データグラム全体の)データ長、チェックサム(誤り検出符号)となっている。

UDPはインターネット開発の初期に考案され、1980年にRFC 768として標準化された。高信頼性のTCPTransmission Control Protocol)と共に主要なトランスポート層プロトコルとして広く普及している。標準的なアプリケーション層プロトコルはTCPを利用するものが多いが、DNSやSNMP、DHCP、NTPなどがUDPを利用することでよく知られる。動画や音声のストリーミング配信などはUDPを用いることが多い。

(2022.4.5更新)

IPの用語一覧