プロトコル補足

QUIC くいっく

UDPHTTP/3TLS 1.3トランスポート層多重化低遅延
QUICについて教えて

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

インターネット通信の「高速道路」を作り直したプロトコルだよ!従来のTCPという仕組みは渋滞が起きやすかったんだけど、QUICはそれをすっ飛ばして「複数車線・信号なし」で爆速通信できる次世代の道路なんだ!


QUICとは

QUIC(Quick UDP Internet Connections) は、Googleが2012年頃に開発を始め、その後IETFによって標準化されたトランスポート層プロトコルです。従来のウェブ通信を支えてきたTCP(Transmission Control Protocol) の課題を解決するために設計されており、特にページ読み込みの速度改善や不安定な回線でのパフォーマンス向上に大きく貢献します。

QUICの最大の特徴は、UDP(User Datagram Protocol) の上に構築されながらも、TCPが持っていた「信頼性のある通信」や「暗号化」の機能を自前で実装している点です。さらに TLS 1.3 による暗号化が最初から組み込まれており、接続確立にかかるラウンドトリップ(通信の往復回数)を大幅に削減します。2022年にRFC 9000として正式標準化され、HTTP/3 の基盤プロトコルとしても採用されています。


QUICの仕組みと特徴

特徴内容
ベースプロトコルUDP上で動作(TCPではない)
暗号化TLS 1.3が標準組み込み(オプションではない)
接続確立初回は1-RTT、再接続は0-RTTで完了
多重化複数ストリームを並列処理(HOLブロッキングなし)
接続移行IPアドレスが変わっても接続を維持できる

HOLブロッキングって何?

HOLブロッキング(Head-of-Line Blocking) とは、先頭のデータが届くまで後続のデータが全部待たされてしまう問題のこと。TCPでは1本の「パイプ」にデータを順番に流すので、先頭のパケットが詰まると全体が止まってしまいます。QUICは複数の独立したストリームでデータを並行送受信するため、1つが詰まっても他には影響しません。

接続確立の速さで比べると

プロトコル接続確立のラウンドトリップ数
TCP + TLS 1.23-RTT(TCPで1、TLSで2)
TCP + TLS 1.32-RTT(TCPで1、TLSで1)
QUIC(初回)1-RTT
QUIC(再接続)0-RTT(即座にデータ送信!)

歴史と背景

  • 2012年 — Googleが社内プロジェクトとして実験的にQUICを開発開始
  • 2013年 — ChromeブラウザとGoogleサーバー間での実験的な運用開始
  • 2015年 — IETFに提案。標準化の議論が始まる
  • 2018年 — HTTP over QUICが「HTTP/3」と改名され、IETFのドラフト仕様として整備が進む
  • 2021年 — HTTP/3がRFC 9114として公開(QUICを下位プロトコルとして採用)
  • 2022年RFC 9000としてQUICが正式標準化。主要なクラウドサービス・CDNが対応

TCPとQUICの比較

TCP(従来)とQUIC(新世代)の構造を並べて見てみましょう。

TCP + TLS(従来) QUIC(新世代) HTTP/1.1 or HTTP/2 アプリケーション層 TLS 1.2 / 1.3 暗号化(別途オプション) TCP 信頼性・順序制御 IP ネットワーク層 HTTP/3 アプリケーション層 QUIC 信頼性 + 多重化 TLS 1.3 暗号化 内蔵 HOLブロッキングなし 接続移行サポート UDP トランスポート層(軽量) IP ネットワーク層 比較 ⚠ HOLブロッキングあり・暗号化が別 ✅ 低遅延・暗号化内蔵・接続移行対応

実務でQUICが使われている場面

  • Google系サービス(Gmail, YouTube, Google検索) — QUICを最も積極的に使っているサービス
  • Cloudflare, AWS CloudFront — HTTP/3対応CDNとしてQUICを採用
  • Meta(Facebook) — 独自のMVFSTというQUIC実装を運用
  • モバイル通信Wi-Fiから4G/5Gへ切り替わっても接続が途切れない「接続移行」が特に有効

関連する規格・RFC

規格・RFC番号内容
RFC 9000QUICトランスポートプロトコルの主仕様(2022年)
RFC 9001QUICにおけるTLS 1.3の使用方法
RFC 9002QUICの損失検出・輻輳制御アルゴリズム
RFC 9114HTTP/3(QUICをベースとしたHTTPの次世代仕様)
RFC 8446TLS 1.3(QUICが内部で使用する暗号化プロトコル)

関連用語

  • UDP — QUICが基盤として採用している軽量トランスポートプロトコル
  • TCP — QUICが置き換えを目指す従来のトランスポートプロトコル
  • HTTP/3 — QUICを下位プロトコルとして採用したHTTPの最新バージョン
  • TLS — QUICに内蔵されている通信暗号化の仕組み(バージョン1.3)
  • HTTP/2 — TCP上で多重化を実現したHTTPの前世代(HOLブロッキングの課題が残る)
  • CDN — QUICに対応したコンテンツ配信ネットワーク。CloudflareやAWSが採用
  • RTT — Round-Trip Time。接続確立の速さを測る指標でQUICの性能比較に使われる
  • 輻輳制御 — ネットワークの混雑を制御する仕組み。QUICは独自実装を持つ