style_prompt 本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 秋期 ネットワークスペシャリスト 午前Ⅱ 問1 QUICのプロトコル特性
次世代トランスポートプロトコルQUICの基本構造を問う問題です。UDP上での実装理由と、低遅延を実現する接続確立の仕組みを理解することが解法の核となります。
【問題】 HTTP/3 のトランスポート層で利用されるプロトコルである QUIC の特徴として,適切なものはどれか。
ア TCP 上で動作し,暗号化には TLS 1.3 が必須である。 イ UDP 上で動作し,TLS 1.3 の機能を内包してセッション確立の高速化を図っている。 ウ コネクションレスのプロトコルであり,データの到達確認や再送制御は行わない。 エ 複数のストリームを多重化する機能はなく、1 接続につき 1 リクエストを処理する。
【解説】 QUIC(Quick UDP Internet Connections)は、Googleが開発し、RFC 9000として標準化されたプロトコルです。TCPが抱える「3ウェイ・ハンドシェイクによる遅延」や「ヘッドオブラインブロッキング(HOLB)」といった課題を解決するために設計されました。
1. UDPの採用 TCPはOSのカーネルに実装されているため、アップデートに時間がかかります。QUICは、OSを介さずアプリケーション層で迅速に機能拡張を行うため、既知のポートを通るUDPを基盤として採用しています。
2. 接続確立の高速化(0-RTT / 1-RTT) 従来のTCP+TLSでは、TCPの接続確立後にTLSのハンドシェイクを行うため、通信開始までに複数往復(RTT)が必要でした。QUICは、暗号化(TLS 1.3)のプロセスをトランスポート層のハンドシェイクと統合することで、初回の接続を1-RTT、再接続を0-RTTで実現します。
3. ストリーム多重化 1つのコネクション内で独立した複数のストリームを並行して転送できます。一部のパケットが損失しても、他のストリームの通信を妨げない構造になっています。
graph TD
A[HTTP/3] --> B[QUIC]
B --> C[UDP]
B --> D["TLS 1.3 内包"]
D --> E["高速ハンドシェイク"]
B --> F["ストリーム多重化"]
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | × | QUICはTCPではなく、UDP上で動作します。 |
| イ | 〇 | UDP上で動作し、TLS 1.3と統合することでハンドシェイクの往復回数を削減しています。 |
| ウ | × | UDPベースですが、QUIC自体が再送制御や到達確認の機能を持ち、信頼性を確保しています。 |
| エ | × | ストリーム多重化機能を備えており、1つのコネクションで複数のリクエストを並行処理できます。 |
【ポイント】
UDP上の実装:カーネルの制約を受けず、アプリケーション層で制御と進化を高速化するため。
TLS 1.3との統合:接続確立(ハンドシェイク)のRTTを削減し、低遅延化を実現する。
ヘッドオブラインブロッキングの解消:ストリーム単位の制御により、一部の欠損が全体を止めない。

