Passa al contenuto principale

RFC 8999 - Proprietà indipendenti dalla versione di QUIC

  • Stato: Proposed Standard
  • Pubblicato: May 2021
  • Stream: IETF
  • Errata: Nessun errata

Sommario (Abstract)​

Questo documento definisce le proprietà del protocollo di trasporto QUIC (QUIC Transport Protocol) che sono comuni a tutte le versioni del protocollo.


Indice (Table of Contents)​



1. Descrizione estremamente astratta di QUIC (An Extremely Abstract Description of QUIC)​

QUIC è un protocollo orientato alla connessione (Connection-Oriented Protocol) tra due endpoint (Endpoints). Questi endpoint scambiano datagrammi UDP (UDP Datagrams). Questi datagrammi UDP contengono pacchetti QUIC (QUIC Packets). Gli endpoint QUIC utilizzano pacchetti QUIC per stabilire una connessione QUIC (QUIC Connection), che è uno stato del protocollo condiviso (Shared Protocol State) tra questi endpoint.



2. Proprietà fisse di tutte le versioni QUIC (Fixed Properties of All QUIC Versions)​

Oltre a fornire un trasporto sicuro e multiplexato (Secure, Multiplexed Transport), QUIC [QUIC-TRANSPORT] consente l'opzione di negoziare una versione. Ciò consente al protocollo di cambiare nel tempo in risposta a nuovi requisiti.



3. Convenzioni e definizioni (Conventions and Definitions)​

Le parole chiave "MUST" (deve), "MUST NOT" (non deve), "REQUIRED" (richiesto), "SHALL" (deve), "SHALL NOT" (non deve), "SHOULD" (dovrebbe), "SHOULD NOT" (non dovrebbe), "RECOMMENDED" (raccomandato), "NOT RECOMMENDED" (non raccomandato), "MAY" (può) e "OPTIONAL" (opzionale) in questo documento devono essere interpretate come descritto in BCP 14 [RFC2119] [RFC8174].



4. Convenzioni di notazione (Notational Conventions)​

Il formato dei pacchetti è descritto utilizzando la notazione definita in questa sezione. Questa notazione è la stessa utilizzata in [QUIC-TRANSPORT].



5. Pacchetti QUIC (QUIC Packets)​

Gli endpoint QUIC scambiano datagrammi UDP contenenti uno o più pacchetti QUIC. Questa sezione descrive le caratteristiche invarianti di un pacchetto QUIC.

QUIC definisce due tipi di intestazioni di pacchetto (Packet Headers): lunga e corta.

5.1 Intestazione lunga (Long Header)​

5.2 Intestazione corta (Short Header)​

5.3 ID di connessione (Connection ID)​

5.4 Versione (Version)​



6. Negoziazione della versione (Version Negotiation)​

Un endpoint QUIC che riceve un pacchetto con un'intestazione lunga e una versione che non comprende o non supporta può inviare un pacchetto di negoziazione della versione (Version Negotiation Packet) in risposta.



7. Considerazioni sulla sicurezza e sulla privacy (Security and Privacy Considerations)​

È possibile che i middlebox osservino caratteristiche di una versione specifica di QUIC e presumano che quando altre versioni di QUIC mostrano caratteristiche simili, venga espressa la stessa semantica sottostante.



8. Riferimenti (References)​

8.1 Riferimenti normativi (Normative References)​

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,
https://www.rfc-editor.org/info/rfc2119.



Appendice A. Ipotesi errate (Incorrect Assumptions)​

Ci sono diverse caratteristiche di QUIC versione 1 [QUIC-TRANSPORT] che non sono protette dall'osservazione ma sono comunque considerate modificabili quando viene distribuita una nuova versione.

Tutte le seguenti affermazioni possono essere false per una data versione QUIC:

  • QUIC utilizza TLS [QUIC-TLS] e alcuni messaggi TLS sono visibili in rete.
  • Un ID di connessione QUIC cambia raramente.