コネクションレス型で
オーバーヘッドが小さい「UDP」
UDP(User Datagram Protocol)は、TCP/IPプロトコルスタックのトランスポート層に属するプロトコルだ(図1)。コネクションレス型のプロトコルで、SYN/ACKといったコネクションの確立を行わない分、シンプルなフォーマットになっている。
|
図1● UDPヘッダのフォーマット。コネクションの確立を行わないので、発信元ポート番号や宛先ポート番号、データ長など、盛り込まれる情報は少ない |
|
実際のデータ以外に盛り込まれる情報が少ないため、効率よくデータを転送できるのが特徴だ。「オーバーヘッドが小さい」という表現があるが、「オーバーヘッド」とはデータ以外の情報を指しており、UDPはまさにオーバーヘッドの小さいプロトコルとなる。よって、動画や音声などのデータ容量の大きいマルチメディアデータを転送する際に活用される。
通信の正当性を確認するため
疑似ヘッダを付加してチェックする
では、ヘッダの内容を見てみよう。「送信元ポート番号」「送信先ポート番号」はTCPヘッダと同様、ポート番号でアプリケーション間の通信を行うための情報だ。0〜1023のサーバアプリケーションを識別する「ウェルノウンポート番号」と、1024以上のクライアントアプリケーションを識別する「ランダムポート番号」を使用する。
UDPで利用する主なウェルノウンポート番号は、次のものがあげられる。
DNS(Domain Name System):53
DHCP(Dynamic Host Configuration Protocol):67/68
SNMP(Simple Network Management Protocol):161/162
RIP(Routing Infomation Protocol):520
次にある「UDP長」は、UDPヘッダと実際のデータを含めた全体の長さを示す情報だ。バイト単位の値が記入される。
そして、「チェックサム」はUDPヘッダとデータを含めたエラーチェックを行うための情報だ。チェックサムの計算では、擬似ヘッダを付加して行う。UDP擬似ヘッダは、図2のとおりだ。
|
図2● UDP疑似ヘッダ。TCP/IP通信で必要なすべての要素の正確性をチェックするために付加する |
|
TCP/IPでは、次の5つの要素で通信を識別する。
・送信元IPアドレス
・宛先IPアドレス
・プロトコル
・送信元ポート番号
・宛先ポート番号
しかし、UDPでは「送信元ポート番号」および「宛先ポート番号」のチェックしか行うことができない。これでは通信の正当性を確認できたとは言えないため、擬似ヘッダを付加して、この5つの要素がすべて正しい、つまりTCP/IPの通信全体が正しく行われていることを確認するわけだ。
(C) Office N-Study http://www.n-study.com/
|