QUIC는 RFC 9000에 정의된 범용 전송 프로토콜입니다. UDP 위에서 실행되며 암호화가 내장된 안전하고 다중화된 연결을 제공합니다. QUIC는 HTTP/3 프로토콜이 구축되는 전송 계층입니다.
QUIC는 다른 개선 사항도 도입합니다. 자세한 내용: RFC9000.
QUIC에는 OpenSSL 3.5 이상이 필요하며, 이는 이러한 컴포넌트에서 사용하는 QUIC 구현을 제공합니다.
엔진은 컴포넌트 속성이 아니라 QUIC 옵션의 TLS IOHandler를 따릅니다. iohOpenSSL(기본값)에서는 로드된 OpenSSL 라이브러리가 내장 QUIC 스택(OSSL_QUIC_client_method, OpenSSL 3.5 이상)을 제공하면 qmBuiltin이 사용되고, 그렇지 않고 OpenSSL 3.5 QUIC TLS API(SSL_set_quic_tls_cbs)를 제공하면 대체 경로로 sgc 엔진인 qmCustom이 사용됩니다. 둘 다 없으면 예외가 발생합니다. iohNativeTLS에서는 항상 qmCustom이 사용되며, TLS 1.3 핸드셰이크는 sgcCrypto 팩의 네이티브 TLS 엔진에서 실행됩니다. 세션 티켓, 재개, 0-RTT는 OpenSSL에서와 동일하게 동작합니다. 서버는 시작 시 선택한 엔진을 읽기 전용 QUICMode 속성으로 보고합니다. iohNativeTLS를 사용하면 sgc 엔진이 정의 없이 연결마다 패킷 및 헤더 보호(AES-128-GCM, AES-256-GCM, ChaCha20-Poly1305), 키 파생, 키 업데이트, Retry 무결성 태그를 OpenSSL 대신 sgcCrypto에서 처리합니다. 네이티브 TLS 1.3 핸드셰이크와 함께 사용하면 QUIC와 HTTP/3는 OpenSSL 없이 완전히 동작합니다. OpenSSL 없이 실행하기를 참조하십시오. iohOpenSSL에서는 패킷 보호가 sgcCryptoBackend(또는 SGC_NATIVE_CRYPTO 정의)를 따릅니다.