User Datagram Protocol
User Datagram Protocol(ユーザ データグラム プロトコル、UDP)はIPネットワーク上のアプリケーション間データグラム送信を実現する通信プロトコルである。
UDPは2つの機能のみを提供する。
ホスト内通信振り分け: ポート
データグラム完全性チェック: チェックサム
IPはホスト間通信を可能にするが、そのままだとホストへの全信号を1つのアプリケーションのみが受け取る。UDPはポート機能を提供することで1ホスト内複数アプリケーションへの通信振り分けを可能にする。またIPはヘッダチェックサムによる宛先誤り検出を可能にするが、そのままだとペイロードの破壊を検出できない。UDPはIPアドレス・ポート・ペイロードに基づくチェックサムを提供することで単一データグラムのルーティング誤りおよびデータ破壊を (100%ではないが) 検出できる。
すなわちUDPはアプリケーション間通信を可能にし、パケットトランザクション(all-or-nothing通信)を提供する。
次の表はIP、UDP/IPスタック、TCP/IPスタックが提供する機能の比較である。
すなわちUDP/IPは「ネットワークのネットワークにおけるトランザクション指向のアプリケーション間データグラム送信」を実現する。UDPはこれを最小限のプロトコルで実現するよう意図されているため、UDP/IPはTCP/IPより少ない機能のみを提供する。単一パケットの到達保証や複数パケットに渡る流量制御・順序制御はサポートしていない(データグラムモデル)。このため、UDPを Unreliable Datagram Protocol(信頼できないデータグラム・プロトコル)と呼ぶこともある。