【UDPの機能について】

                このHPはUDPの機能についてまとめたものです。


1ー1 UDPの目的と特徴

「UDP」は信頼性を実現するための制御を行わないトランスポート層の「コネクションレス型プロトコル」。「UDP」は複雑な制御は提供せず、「IP」を用いてのコネクションレス的な通信サービスを提供する。

UDPは、TCPの様な「コネクションの確立」、「確認応答」、「再送制御」や「フロー制御」等の機能を持たない。このため、パケットが途中で紛失しても、受信側のホストのUDPではわからない。

「UDP」は単にデータの前にポート番号等のデータを付加して送るだけのもの。そのため、「UDP」で使用する「データグラム」のフォーマットは、以下の様に非常にシンプル。






◆送信元ポート番号【16ビット】
 送信元のポート番号。パケットの送信元のUDPの、上位階層に位置するアプリケーションを識別する番号が入る。指定しない場合は全て「0」にする。

◆宛先ポート番号【16ビット】
 宛先のポート番号。パケット送信先のUDPの、上位階層に位置するアプリケーションを識別する番号が入る。

◆パケット長【16ビット】
UDPヘッダを含む、パケット全体の長さを合わせた値。長さの単位はオクテット。

◆チェックサム【16ビット】
UDPのヘッダとデータが正しく届いているかどうかを確認するための値を書き込む。




■ UDPのメリット

「TCP」を使用した場合、「TCP」ではエラー制御やフロー制御が行われるため、その処理に手間がかかり速度が遅くなってしまったり、データ転送に関する制御を上位のプロトコル(アプリケーション)から細かく制御できないという欠点もある。

例として、画像・動画データの様に、多少データが抜けても実害がない場合には、細かなエラー制御を省いて、より高速なデータを転送を行いたいという要求などがある。


そこで、「TCP」の様な細かな制御を省いたプロトコルとして「UDP」が用意されている。「UDP」はアプリケーションへの転送の他には、「何もしない」プロトコルであるため、オーバーヘッドが小さくて済む。





1-2 UDPの用途

「UDP」では、データ転送の細かな制御を行う機能が省かれているため、エラー制御など、通信に関する細かな作業を上位のプロトコルで行う必要が出てくる。

その代わりに、目的に応じた細かなデータ転送制御が可能になる。例として以下の様なものがある。

・動画や音声など、マルチメディア系の通信
・同報性が必要な通信
・高信頼性確保の必要がなく、データ量の小さな通信
・信頼性よりも、高速転送が重要視される場合