QUIC

クイック

UDPの上に再送や順序の管理、TLS 1.3による暗号化をまとめて実装した通信プロトコルです。IETFでRFC 9000として標準化され、HTTP/3の土台になっています。動画配信ではセグメントの取得を途切れにくくします。

規格
IETF RFC 9000(2021年5月)
関連するRFC
RFC 9001(TLSによる保護)、RFC 9002(損失検出と輻輳制御)
上で動くHTTP
HTTP/3(RFC 9114、2022年6月)
下のプロトコル
UDP(Webでは主に443番ポート)
暗号化
TLS 1.3をハンドシェイクに統合
映像向けの取り組み
Media over QUIC(IETFのmoqワーキンググループで策定中)

ブラウザの開発者ツールで通信の一覧を開くと、プロトコルの欄に「h3」と出る行があります。これはHTTP/3、つまりQUICで通信しているという意味です。QUICはTCPの代わりにUDPの上で動く通信の土台で、配信の遅延そのものを縮めるというより、動画を途切れにくくする効果のほうが大きいプロトコルです。

QUICが使われる場面

いま最も多く使われているのは、ブラウザとCDNの間のHTTP/3です。主要なブラウザと大手のCDNはHTTP/3に対応しており、HLSやMPEG-DASHの配信でも、プレイリストとセグメントの取得がQUICに乗っていることがあります。動画サービスではGoogleが早くから自社のQUICを使っており、それがIETFで標準化されてRFC 9000になりました。

効果が出やすいのは、電波が揺れるスマホでの視聴です。パケットが1つ失われても関係のない取得まで止まらず、Wi-Fiからモバイル回線へ切り替わっても接続が切れにくいので、再生の途中で止まる回数が減ります。映像の伝送そのものをQUICで行うMedia over QUIC(MoQ)もIETFで策定が進んでいますが、標準はまだ確定していません。仕組みの背景と今後の見通しは、QUICとHTTP/3を解説したコラムで詳しく扱っています。

QUICの仕組み

QUICが作り直したのは、TCPとTLSが別々に往復していた部分です。接続の確立と暗号鍵の交換を1往復で済ませ、一度つないだ相手には往復を待たずにデータを送れる0-RTTも用意しています。1本の接続の中に複数のストリームを持ち、あるストリームで失われたパケットが別のストリームを止めないようにしているのも特徴です。

接続はIPアドレスとポートの組ではなく、コネクションIDで見分けます。通信の中身はヘッダーの大部分まで暗号化されるため、途中の機器からは何をやり取りしているかがほとんど見えません。

QUIC・HTTP/3で通信しているか確かめる方法

確かめ方は次の通りです。

  • Chromeの開発者ツールのNetworkタブで、列の見出しを右クリックしてProtocolを表示し、h3と出るかを見る
  • サーバーの応答にAlt-Svcヘッダーがあり、h3が案内されているかを見る
  • CDNの管理画面で、HTTP/3が有効になっているかを確かめる

ブラウザは最初の接続をTCPで行い、Alt-Svcを見てから次の接続でQUICを試すのが一般的です。初回の読み込みではh2と表示され、再読み込みでh3に変わるのはこのためです。

QUICが使えない・遅いとき

社内や学校のネットワークでは、UDPの443番ポートがファイアウォールで止められていることがあります。この場合ブラウザは自動でHTTP/2に戻るので、動画は再生できても速くはなりません。ネットワーク機器によってはUDPの通信量を絞っていて、QUICのほうがかえって遅くなる例もあります。

サーバー側では、QUICは暗号化やパケットの処理をOSではなくアプリケーションの中で行うため、同じ通信量でもTCPよりCPUを多く使う傾向があります。自前の配信サーバーで有効にするときは、負荷を測ってから広げると安全です。

よくある質問

QUICとHTTP/3の違いは何ですか

QUICは通信の土台になるトランスポートのプロトコルで、HTTP/3はその上で動くHTTPの版です。HTTP/3を使うと、下では必ずQUICが動いています。

QUICを使うとライブ配信の遅延は短くなりますか

接続の往復が減り、パケットの損失に強くなるぶん、再生開始の速さや途切れにくさは改善します。ただしHLSやDASHの遅延の大部分はセグメントをためる方式から来るので、数十秒の遅延が数秒になるほどの効果は、QUICだけでは出ません。

QUICは何の略ですか

開発当初はQuick UDP Internet Connectionsの略とされていましたが、IETFで標準化されたQUICは略語ではなく、そのまま名前として扱われています。

この用語を扱ったコラム

似ている形式との違い

名前主に使う場面QUICとの違い
TCPHTTP/1.1とHTTP/2の土台接続の確立と暗号化の往復が別々で、パケットが1つ失われると同じ接続の後続データがまとめて止まる
SRT(伝送プロトコル)拠点間の映像伝送同じくUDPの上で再送を行うが、少数の拠点を結ぶ映像専用の伝送で、ブラウザでは使えない
WebRTC双方向の超低遅延配信1秒未満の遅延を狙う映像通話由来の仕組み。QUICはHTTPの配信を速くする土台で、遅延の桁は配信方式で決まる

関連する用語

最終更新