UDPプロトコル


【UDPプロトコルとは】

UDPプロトコルはIPプロトコルをコンテナとして運ばれる上位層プロトコルで
OSIの第4層のトランスポート層に相当する機能を持っています。
2つの機器間の論理的な通信を実行する機能を持っていますが、通信手順は
単純になっていて相手をアドレスで特定して単純に送受信するだけになって
います。
 つまり、相手との間の論理的な通信路を確立する手順を必要としないので、
複雑な手順が無く、単純な送受信となっています。
その代わり、誤りチェックや再送手順が無いので、高信頼な通信が必要な場合
には、アプリケーション側でそれを組み込む必要があります。

 しかし、手順が簡単なため、組み込みシステムの通信用には良く使われて
います。

【UDP通信とポート】

ポート番号は、各ステーションごとに仮想的に設けられる論理アドレスです。
UDP通信やTCP通信で相手を特定するとき、単にIPアドレスだけでなく、
「ポート番号」によりアドレスを拡張しています。

ポート番号ごとに機能を割り振っておくことで、数多くの機能を区分した送受信
が可能になります。
このポート番号は2バイト16ビットで指定できる範囲ですので非常に多くの
ポート番号が指定できますが、IEEE標準であらかじめ定められているポートが
あります。このあらかじめ定められているポート番号を「Well Known Port」と
呼んでその他の汎用ポートと区別しています。

ポートNo 区分 具体例 使用アプリ
0〜1023 Well Known Port 21/TCP FTP
23/TCP TELNET
25/TCP SMTP
43/TCP WHOIS
53/TCP DOMAIN NAME
67/UDP BOOTPS
68/UDP BOOTPC
80/TCP WWW-HTTP
110/TCP POP3
119/TCP NNTP
143/TCP IMAP
443/TCP HTTPS
514/TCP SYSLOG
1024〜5000 Ephemeral Port 一時利用
5001〜9999 ベンダー用 ベンダーで登録 専用用途
10000〜17000 未使用 自由に使用可能 ユーザーアプリ用
 〜65535 その他用途

ポート番号の詳細は下記で確認できます。

 ★ RFC Resourcebook
  この中の「TCP/UDP ports」として一覧表があります。



【UDPプロトコルのフレームフォーマット】

 UDPプロトコルの基本フレームフォーマットは下図の左側のようになっています。
実際のUDP部は比較的単純な構造となっています。これがUDPプロトコルの特徴で
セッションを張る手順が無いので送る相手を特定して単純に送受信するだけに
なっています。
UDP部分のデータの信頼性確保のためにUDP部分にチェックサムが設けられて
いますが、全体の信頼性をチェックするため、チェックサム用だけの仮想的なヘッダ
を考慮してチェックサムを計算しています。
このチェックサムのために、間違った相手との通信をする確率を減らすことが出来
ます。









まずIPヘッダ部は通常のIPヘッダのままですので、IPプロトコルのページを参照
して下さい。
さらにUDPヘッダ部の各フィールドの意味は下表のようになっています。

フィールド名称 機 能 と 内 容 備考
発信元ポート番号 UDPの送信側のポート番号です。 前述の汎用のポート番号を
使います。2バイトの数値で
指定します。
宛先ポート番号 受信側のポート番号です。
UDPデータ長 UDPヘッダ部とUDPデータ部の合計バイト数です。  
チェックサム 上図のような仮想ヘッダとUDPヘッダ、データ部を含めた
チェックサムの計算範囲で計算したチェックサムです。

但し、IPプロトコル区分の前は00Hの固定です。
計算方法はIPプロトコルの
ページにあります。
データ UDPで送受信されるデータ部そのもので、任意のデータ
とすることが可能です。
データ最大長はIPフレーム
の最大長で制限されます。


このようにして指定したポートとの間で、データ部が転送されることになるのですが、
データ部の内容については全くの自由なので、ポート毎に通信する相手同士で内容
の取り決めをすれば自由に使うことが出来ます。

 これを使って組み込みシステムなどの制御をインターネット経由で実現することが
可能になります。




【UDPフレームのチェックサム】

 UDPフレーム自身のデータ信頼度を上げる目的で、UDPフレームのチェックサム
があります。 このチェックサムの計算では、より信頼度を上げるために仮想の
ヘッダを考え、上図のようにIPヘッダ部にある送受信のIPアドレスをその中に
含めることで、間違いなく指定した機器同士が通信するようにしています。
仮想ヘッダ部の宛先IPの次は00H、11Hの固定です。

この仮想ヘッダはチェックサム専用ですので、送受信のフレームとして転送される
ことはありませんし、UDPデータ長に含まれることもありません。
 チェックサムの計算方法は前頁のIPプロトコルのページにあります。



        目次に戻る