TCP/UDPの仕組み

UDP ゆーでぃーぴー

UDPUser Datagram Protocolコネクションレスリアルタイム通信データグラム
UDPについて教えて

簡単に言うとこんな感じ!

「届かなくてもいいから速く!」を優先するプロトコルだよ。ビデオ会議やオンラインゲームで使われていて、多少データが欠けても遅延のほうが困るような場面で大活躍なんだ!


UDPとは

UDP(User Datagram Protocol)は、インターネットのトランスポート層で動作するコネクションレス型のプロトコルです。1980年にRFC 768として標準化され、TCPと並ぶトランスポート層の主役として今日も広く使われています。

UDPの最大の特徴は「送りっぱなし」であることです。TCPのように接続確立や確認応答を行わず、データを一方的に送信します。その分オーバーヘッドが小さく、遅延が少ないため、動画ストリーミング・音声通話・オンラインゲーム・DNSクエリなど、速度や即時性が優先される通信に適しています。

「届かなくてもいい」というわけではありませんが、1パケット欠けても視聴者が気づかない程度の動画や、再送するより最新データを優先したいリアルタイムゲームでは、TCPの再送待ちが逆効果になります。UDPはそのような場合に選ばれます。


TCPとUDPの比較

項目TCPUDP
接続方式コネクション型(3ウェイハンドシェイクコネクションレス型
信頼性高い(再送・順序保証あり)低い(再送・順序保証なし)
速度相対的に遅い速い
ヘッダサイズ最小20バイト8バイト固定
フロー制御ありなし
輻輳制御ありなし
主な用途Web, メール, ファイル転送動画配信, ゲーム, DNS, VoIP

歴史と背景

  • 1980年:RFC 768でUDPが標準化。非常にシンプルな仕様のまま現在に至る
  • 1996年:RealNetworkがストリーミング配信にUDPを活用し普及が進む
  • 2000年代:VoIP(IP電話)の普及でUDPの重要性が高まる
  • 2010年代:オンラインゲームのリアルタイム通信でUDPが標準的に使われる
  • 2018年:HTTP/3の基盤プロトコルQUICがUDP上に構築されることで再注目

UDPのデータグラム構造

UDPデータグラム構造(ヘッダは8バイト固定) 送信元ポート番号(16bit) 宛先ポート番号(16bit) パケット長(16bit) チェックサム(16bit) データ部(ペイロード:可変長) ヘッダはたった4フィールド・8バイト。シンプルさが速度の秘訣

UDPヘッダはわずか8バイト。送信元・宛先ポート番号、パケット長、チェックサムのみで、TCPと比べ非常にシンプルです。


主な利用シーン

用途理由
DNS クエリ応答1往復の短いやりとり。再送よりリトライのほうが速い
VoIP・ビデオ会議遅延が致命的。多少の欠けは許容できる
オンラインゲーム最新の位置情報が重要。古いパケットの再送は不要
動画ストリーミングバッファリングで多少の欠けを吸収できる
QUIC (HTTP/3)アプリ層で信頼性を実装することで柔軟性を確保
NTP(時刻同期)軽量なやりとりで十分

関連する規格・RFC

規格・RFC番号内容
RFC 768UDP の基本仕様(1980年)
RFC 8085UDPの利用ガイドライン
RFC 9000QUIC(UDPベースのHTTP/3基盤)

関連用語