ストリーミング寺子屋

音声・動画のストリーミング機能を
開発するエンジニアのための
実践的なナレッジベース

【Network技術-1】QUICについて教えて下さい。

QUICとは

QUICは、2013年にGoogle社から公表され、2021年にIETFによりRFC9000で標準化された、UDPをベースにした汎用トランスポートプロトコルです。TCPよりも通信を高速化しつつ、UDPの持つ通信の信頼性が低いという課題を、データの再送要求やパケットロスへの対策を仕様として制定することで、通信の信頼性と通信速度を両立したプロトコルになっています。

QUICとTCPの比較


TCPと比較した場合のQUICの特徴は以下です。

接続確立時ハンドシェイクの簡略化

QIUICでは接続確立時のハンドシェイクとしてTLSの1.3を利用しており、1往復目のパケットでハンドシェイクを行いつつ、ハンドシェイクの途中から通信の暗号化が可能です。また、一度通信が 確立された後は、1往復目からハンドシェイクを行いつつデータの送信も可能となるため、3wayハンドシェイクを使用するTCPと比較して高速な接続及び通信が可能です。

コネクション継続性の向上

コネクション中にIPアドレスやポート番号が変更された場合、TCPでは再接続が発生しますが、QUICの場合、コネクションの管理はコネクションIDを使って実施するため、モバイル通信のように接続先基地局の変更に伴いIPアドレス等の情報が変更されやすい環境でも、コネクションを維持することが可能です。

データ再送制御

TCPでは通信中に特定のパケットをロスした場合、受信側能力(Windowサイズ)まではデータ送信し、受信側能力を超えた場合は、ロスしたパケットを再送し正しく受信側に到達するまで次のパケットは送信されません。QUICの場合、パケットが複数のストリームフレームにて送信されており、パケットがロスした際には含まれていたデータのみを新しいストリームフレームとして再送信可能なため、転送待ちが生じません。

Q&A

製品情報