QUIC
Quick
UDP
Internet Connections
Google
によって考案された
UDP
上で動作する
プロトコル
.
TCP
のような
信頼性
と
TLS
のような安全性を持ちながら
HTTP
で通信できる.
TLS_1.3
が採用されている.
UDP
を採用していながら,
TCP
と同様に
信頼性
がある.
TCP
と同様に
ACK
を行う.
DNS
や
SSH
,
RTP
でも利用が検討されている.
2021年
に
RFC
になっている.
RFC_9000
RFC_9001
RFC_9002
TCP
に比べて以下の長所がある.
5タプル
ではなく
コネクションID
を用いて
コネクション
を識別するため,
5タプル
が変わっても
TCPコネクション
を継続できる.
コネクションマイグレーション
の機能を持つ.
パケット
に番号を付しているため,
パケットロス
の際に再送する必要があるもののみを選択して
再送
できる.
パケット番号
を確認することで
パケットロス
を判断する.
ACK
を送る
確認応答
で受信できていない
パケット番号
を通知する.
TCP
を内部で利用するため,制御メッセージも
暗号化
される.
TCP
は下位で
TLS
を採用しているため,
TCP
の制御メッセージ自体は
暗号化
されず,観測されてしまう.
QUIC
では
暗号化
しない
通信
は行えない.
TCP
が
OS
で処理されるのに対して,
QUIC
は
ブラウザ
など
アプリケーション
で処理されるため,新機能の提供スパンが短い.
通信
の仕組み
QUICコネクション
として管理される.
コネクションID
を用いる.
QUICコネクション
内に仮想的な
通信
単位として
ストリーム
を持つ.
UDPパケット
の中に1つ以上の
QUICパケット
が格納される.
QUICパケット
は1つ以上の
フレーム
を持つ.
アンプ攻撃
に対する対策
受け取る
パケット
に対する
レスポンス
の増幅率を下げることが効果的.
QUICコネクション
確立時に送る
パケット
が1200
バイト
以上であることが規定されている.
QUICv1
で採用されなかった機能
FEC
MP-QUIC
Google QUIC
を発端とするが,
QUIC
とは大きく異なる.
#ネットワーク