トップ > 用語解説 > ネットワーク関係 > プロトコル > UDP(User Datagram Protocol)
UDP(User Datagram Protocol)は、インターネットで標準的に使われているプロトコルの一種です。 インターネット・プロトコル(IP)を使ったネットワークにおいて、アプリケーション同士が最小限の仕組みでデータを送受信できるように考案された、 シンプルなプロトコルです。 OSI参照モデルにおけるトランスポート層のプロトコルで、 その仕様は1980年8月に公開されたRFC768で定められています。
UDPには、送受信されるデータの誤りや順序の違いなどを検出する機能がありません。 またTCPのように、 コネクションが確立しているかどうかを確認する状態(ステート)がないため、 「ステートレスのプロトコル」と言われています。 TCPに比べてプロトコルが簡素なため、信頼性には劣りますが、 通信の処理にかかるコストが少ないというUDPの性質から、 DNS(Domain Name System)やDHCP(Dynamic Host Configuration Protocol)、NTP(Network Time Protocol)、 SNMP(Simple Network Management Protocol)などといった、 応答性の良さを優先したい通信や、 その他に音声や動画のストリーミングなどといった、リアルタイム性が重要視される通信で使われています。 一方その仕様上、送信者アドレスの偽装が容易であるため、DNSなどを使ったDDoS攻撃で使われることが多いプロトコルとなっています。
UDPには複数の相手に同時にデータを送信できるという特徴があります。 IPには、ユニキャスト、ブロードキャスト、マルチキャストの3種類の通信形態があります。 TCPは1対1の通信しかできないためユニキャストしかサポートしませんが、 UDPではブロードキャストやマルチキャストが利用できます。
UDPはTCPよりもリアルタイム性に優れています。 TCPはデータを確実に届けるためにロストしたパケットを再送するため、リアルタイム性が損なわれる場合があります。 また、TCPはネットワークが混雑時にデータ送信量を減らす輻輳制御を行うため、これによってもリアルタイム性が損なわれています。 しかし、UDPにはリアルタイム性を損なう再送や輻輳制御がないため、リアルタイム性に優れています。 これらの特徴を生かすアプリケーションとして、映像や音声のストリーミング、IP電話などのVoIP(Voice over IP)に利用されています。