UDP
UDP が保証しないものを 3 つ挙げよ。
配送(届くこと)、順序、重複の防止。RFC 768 は配送と重複防止を保証しないと明記しており、 順序付きで信頼できる配送が必要なら TCP を使うべきだとしている。
UDP のヘッダは TCP のヘッダと比べてどうか。
UDP のヘッダは 8 オクテットで、TCP の 20 オクテットより小さい。
UDP はコネクションレスのトランスポート層プロトコルで、配送・順序・重複防止をいずれも保証せず、ヘッダは 8 オクテットである。
| ヘッダのフィールド | 内容 |
|---|---|
| 送信元ポート | 任意のフィールド。意味を持つ場合は送信側プロセスのポートを示し、返信先として使える |
| 宛先ポート | 特定のインターネット宛先アドレスの文脈の中で意味を持つ |
| 長さ | オクテット単位。最小値は 8 |
| チェックサム | 16 ビットの 1 の補数 |
| 合計 | 8 オクテット |
RFC 768 は UDP を「トランザクション指向であり、配送と重複防止は保証されない」と述べている。 順序についても保証はなく、順序付きで信頼できる配送を必要とするアプリケーションは TCP を使うべきだとしている。
ヘッダは上の図の 4 フィールドで構成され、合計 8 オクテットである。送信元ポートは任意のフィールドで、 意味を持つ場合は送信側プロセスのポートを示し、返信の宛先として使えるとされている。 宛先ポートは、特定のインターネット宛先アドレスという文脈の中で意味を持つ。
TCP との違い
| 観点 | UDP(このノート) | TCP |
|---|---|---|
| 接続 | コネクションレス | コネクション型 |
| 通信開始前のやり取り | 不要 | 3 ウェイハンドシェイクが要る |
| 配送と順序の保証 | なし | あり |