UDP

目次

UDPとは

UDP(User Datagram Protocol)は、TCPと同じくトランスポート層で動作するプロトコルです。
TCPは信頼性を重視しますが、UDPは「速さ」や「リアルタイム性」を重視しています。

TCPは通信を始める前に相手とコネクションを確立します(コネクション型通信)
一方、UDPはコネクションを確立せずにいきなりデータを送ります(コネクションレス型通信)

そのため、TCPのような再送制御や順序制御はありません。
データが失われたり順番が入れ替わる可能性はありますが、動作がシンプルなので非常に高速です。

UDPヘッダのフォーマット

UDPのヘッダはシンプルで、以下の4つのフィールドだけで構成されています。

各フィールドビット数説明
送信元ポート番号16 bitデータを送ったアプリケーションを識別
宛先ポート番号16 bitデータを受け取るアプリケーションを識別
パケット長16 bitヘッダ+データ全体の長さ
チェックサム16 bitエラーチェック用の値

UDPの特徴

UDPは以下のような特徴を持ちます。

  • コネクションレス型の通信方式
  • 信頼性は低い(データが欠けても再送しない)
  • 転送速度が速い
  • ヘッダが小さい(8バイト)ので効率的

初心者向けイメージ

TCP=宅配便(必ず届くように確認して届けるが時間がかかる)
UDP=新聞配達(ポストに入れるだけ。確認はしないので早いが、なくなる可能性もある)

UDPの用途

  1. 音声・映像などリアルタイム通信
     通話や動画配信は少しの遅延が致命的になるため、信頼性よりスピード重視でUDPが使われます。
  2. 複数宛先への同時配信
     マルチキャストやブロードキャスト通信では、コネクションレスのUDPが適しています。
  3. 少量データのやり取り
     DNSの名前解決など、1回の問い合わせと1回の応答で完了する通信に使われます。

TCPとUDPの比較

項目TCPUDP
通信方式コネクション型コネクションレス型
信頼性高い低い
転送速度遅い速い
上位プロトコルHTTP, FTP, SMTP, POP などDNS, NTP, DHCP, SNMP など
主な用途Web閲覧、メール、ファイル転送音声通話、動画配信、マルチキャスト通信、ブロードキャスト通信

TCPは「必ず正しく届けたい通信」、UDPは「速さを優先したい通信」で使い分けられます。

◆まとめスライド

目次