QUIC

QUIC è un protocollo di trasporto generico definito in RFC 9000. Funziona sopra UDP e fornisce connessioni sicure e multiplexate con crittografia integrata. QUIC è il livello di trasporto su cui è basato il protocollo HTTP/3.

Funzionalità principali

QUIC introduce altri miglioramenti, maggiori dettagli: RFC9000.

Il motore utilizzato segue l'IOHandler TLS delle opzioni QUIC (SSLQUICOptions sul client, QUICOptions.SSLOptions sui server): con iohOpenSSL, il valore predefinito, viene usato lo stack QUIC integrato quando OpenSSL lo esporta (OpenSSL 3.5 o successivo); se OpenSSL non lo esporta ma espone l'API QUIC TLS di OpenSSL 3.5 (rilevata tramite IsOpenSSL_QUIC_TLS_Available), viene usato il motore sgc come fallback. Con iohNativeTLS viene sempre usato il motore sgc, con l'handshake TLS 1.3 eseguito sul motore TLS nativo del pack sgcCrypto. Il motore sgc supporta più stream per connessione, inclusi gli stream di controllo e QPACK aperti dal client HTTP/3. Con iohNativeTLS la protezione dei pacchetti è nativa (protezione di pacchetto e intestazione, derivazione e aggiornamento delle chiavi, tag di integrità Retry), senza bisogno di alcuna direttiva; insieme all'handshake TLS 1.3 nativo, QUIC e HTTP/3 funzionano senza alcun OpenSSL, vedere Eseguire senza OpenSSL. Con iohOpenSSL, la protezione dei pacchetti segue sgcCryptoBackend (o la direttiva SGC_NATIVE_CRYPTO).

Il listener si associa all'indirizzo indicato in Host. Un valore che contiene i due punti è un letterale IPv6, mentre qualsiasi altro valore, un letterale IPv4 o un nome host, viene risolto su entrambe le famiglie di indirizzi. Un Host vuoto si associa al wildcard dual-stack, quindi un solo listener serve i peer IPv4 e IPv6 sulla stessa porta.

Componenti