ユーザー データグラム プロトコル (UDP)
ユーザー データグラム プロトコル (UDP) は RFC 768 『ユーザー データグラム プロトコル (UDP)』で定義されている TCP/IP 規格です。UDP は TCP/IP ホスト間で、高速かつ低負荷で信頼性をあまり必要としないデータ通信を実現するために、一部のプログラムによって TCP の代わりに使用されます。
UDP はコネクションレスなデータグラム サービスを提供し、配信には最善の努力をします。つまり、UDP は確実にデータが届くことを保証しませんし、データグラムの順序の検証も行いません。信頼性のある通信を必要とする送信元ホストは、TCP を使用するか、順序確認と受信確認のサービスを独自に用意したプログラムを使用する必要があります。
UDP メッセージは、次の図のように、IP データグラムにカプセル化されて送信されます。
.gif)
UDP ポート
UDP ポートは、UDP メッセージの送信と受信を行う場所を提供します。UDP ポートは、プロトコルのポート番号で指定されるプログラムが送信先となるすべてのデータグラムを受信する単一のメッセージ キューとして機能します。このため、UDP ベースのプログラムは一度に複数のメッセージを受信できます。
UDP を使用する各プログラムのサーバー側は、使用している既知のポート番号に到着するメッセージをリッスンします。1024 未満のすべての UDP サーバー ポート番号および 1024 以上の一部のポート番号は、IANA (Internet Assigned Numbers Authority) によって予約および登録されています。
UDP サーバー ポートは、予約されたポート番号または既知のポート番号で識別されます。次の表は、標準的な UDP ベースのプログラムが使用する既知の UDP サーバー ポート番号の一部です。
|
UDP ポート番号
|
説明
|
|---|
53 | DNS 名クエリ |
69 | 簡易ファイル転送プロトコル (TFTP) |
137 | NetBIOS ネーム サービス |
138 | NetBIOS データグラム サービス |
161 | 簡易ネットワーク管理プロトコル (SNMP) |
520 | 通信経路選択情報プロトコル (RIP) |
現在登録されているすべての既知の UDP ポートの最新の完全な一覧については、Internet Assigned Numbers Authority (IANA) の Web サイトを参照してください。
注
UDP と TCP
一般に、UDP と TCP によるデータ配信の違いは、電話とはがきの違いに似ています。TCP は、送信先が利用可能で通信の準備が整っていることを確認するので、電話に似ています。UDP は、メッセージ量も少なく、配信のされ方も確実に届くことが保証されない点で、はがきに似ています。
通常、UDP は、データを少しずつ送信するプログラムや、リアルタイムを要件とするプログラムによって使用されます。これらの場合は、UDP の処理負荷の軽さと、1 つのデータグラムを多数の宛先に送信できる UDP のマルチキャスト機能の方が、TCP よりも適しています。
UDP が提供するサービスと機能は、TCP と対照的です。次の表は、データの転送に UDP と TCP のどちらを使用するかによって TCP/IP 通信の処理にどのような違いがあるかを比較したものです。
|
UDP
|
TCP
|
|---|
コネクションレス サービス。ホスト間にセッションは確立されません。 | コネクション指向サービス。ホスト間にセッションが確立されます。 |
UDP は、配信の保証も確認も行わず、データのシーケンス化も行いません。 | TCP は、受信確認の使用と、データのシーケンシャルな配信により、配信を保証します。 |
UDP を使用するプログラムは、データの転送に信頼性が必要な場合、独自に実現する必要があります。 | TCP を使用するプログラムは、信頼性のあるデータ転送を保証されます。 |
UDP は高速であり、処理負荷が小さく、ポイント ツー ポイント通信とポイント ツー マルチポイント通信のどちらもサポートできます。 | TCP は UDP よりも低速で、処理負荷が大きく、ポイント ツー ポイント通信だけをサポートしています。 |
UDP と TCP のどちらも、各 TCP/IP プログラムの通信の識別にポートを使用します。