RFC 768 J. Postel ISI 28 August 1980 User Datagram Protocol ---------------------- 導入 ---- このユーザデータグラムプロトコル (UDP: User Datagram Protocol) は、一 組のコンピュータネットワークが相互接続された環境で、パケット交換コンピュ ータ通信のデータグラムモードを利用可能にするために定義される。このプロ トコルは、下位プロトコルとしてインターネットプロトコル(IP: Internet Protocol)[1] が使用されることを想定している。 このプロトコルは、最小限のプロトコルメカニズムで、メッセージを他のプロ グラムに送信するためのアプリケーションプログラムの手続きを提供する。こ のプロトコルはトランザクション指向で、配送や重複を防ぐことは保証されな い。信頼できる順序でのデータストリームの配送を必要とするアプリケーショ ンは、転送制御プロトコル (TCP: Transmission Control Protocol)[2] を使 用すべきである。 形式 ---- 0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Source | Destination | | Port | Port | +--------+--------+--------+--------+ | | | | Length | Checksum | +--------+--------+--------+--------+ | | data octets ... +---------------- ... ユーザデータグラムヘッダ形式 フィールド ---------- Source Port は任意のフィールドであり、意味を持つ場合は送信側プロセスの ポートを示す。これは他の情報が存在しない場合に、応答の宛先にすべきポー トであると仮定してもよい。もし使用しないならば、0 の値が挿入される。 Destination Port は、ある特定のインターネット宛先アドレスのコンテキス トの範囲で意味を持つ。 Length は、このヘッダとデータを示している、このユーザデータグラムのオ クテット長である。(これは、Length の最小値が 8 であることを意味する)。 Checksum は、IP ヘッダや UDP ヘッダ、データからの情報の擬似ヘッダの 1 の補数の和の 16 ビットの 1 の補数である。擬似ヘッダは、(もし必要なら ば) 2 オクテットの倍数とするために最後に 0 のオクテットでパディングさ れる。 擬似ヘッダは、概念的に UDP ヘッダの前に付けられ、送信元アドレス、宛先 アドレス、プロトコル、UDP 長を含む。この情報を用いて、誤った経路で送ら れたデータグラムを遮断する。このチェックサムの手続きは、TCP で使用され ているものと同じである。 0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | source address | +--------+--------+--------+--------+ | destination address | +--------+--------+--------+--------+ | zero |protocol| UDP length | +--------+--------+--------+--------+ もし算出したチェックサムが 0 ならば、全て 1 (1 の補数演算と同等)として 転送される。全て 0 で転送されるチェックサムは、送信者がチェックサムを 生成しなかったことを意味する (デバッグのためか、あるいは上位レベルのプ ロトコルが気にしないため)。 ユーザインタフェース -------------------- ユーザインタフェースは、以下を可能にすべきである。 新しい受信ポートの生成 受信ポート上でデータオクテットを返却し、送信元ポートと送信元アドレス を通知する受信操作。 データや送信する送信元と宛先ポートとアドレスを指定して、データグラム の送信を可能にする操作。 IP インタフェース ----------------- UDP モジュールは、インターネットヘッダから送信元と宛先のインターネット アドレスと、プロトコルフィールドを決定できなければならない。一つのあり 得る UDP/IP インターフェースは、受信操作に応じて、インターネットヘッダ の全てを含んでいるインターネットデータグラム全体を返却するだろう。その ようなインタフェースは、送信するヘッダ付きの完全なインターネットデータ グラム全体を、UDP が IP に渡すことも可能にするだろう。IP はあるフィー ルドの一貫性を確認し、インターネットヘッダのチェックサムを算出するだろ う。 プロトコルアプリケーション -------------------------- このプロトコルが主に使われているのは、インターネットネームサーバ [3] と簡易ファイル転送 [4] である。 プロトコル番号 -------------- インターネットプロトコルで使用される場合、プロトコル番号は 17 (8進数で 21) である。他のプロトコル番号は、[5] で一覧化されている。 参照 ---- [1] Postel, J., "Internet Protocol," RFC 760, USC/Information Sciences Institute, January 1980. [2] Postel, J., "Transmission Control Protocol," RFC 761, USC/Information Sciences Institute, January 1980. [3] Postel, J., "Internet Name Server," USC/Information Sciences Institute, IEN 116, August 1979. [4] Sollins, K., "The TFTP Protocol," Massachusetts Institute of Technology, IEN 133, January 1980. [5] Postel, J., "Assigned Numbers," USC/Information Sciences Institute, RFC 762, January 1980.