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