1. Introduzione (Introduction)
Dal punto di vista del livello di rete, un flusso è una sequenza di pacchetti inviati da una particolare sorgente a una particolare destinazione unicast, anycast o multicast che un nodo desidera etichettare come flusso. Dal punto di vista dei livelli superiori, un flusso potrebbe consistere in tutti i pacchetti in una direzione di una specifica connessione di trasporto o flusso multimediale. Tuttavia, un flusso non è necessariamente mappato 1:1 a una connessione di trasporto.
Tradizionalmente, i classificatori di flusso si sono basati sulla 5-tupla dell'indirizzo sorgente, indirizzo di destinazione, porta sorgente, porta di destinazione e tipo di protocollo di trasporto. Tuttavia, alcuni di questi campi potrebbero non essere disponibili a causa della frammentazione o della crittografia, o individuarli oltre una catena di intestazioni di estensione IPv6 potrebbe essere inefficiente. Inoltre, se i classificatori dipendono solo dalle intestazioni del livello IP, l'introduzione successiva di protocolli di livello di trasporto alternativi sarà più facile.
L'uso della tripletta composta da Etichetta di Flusso (Flow Label), Indirizzo Sorgente (Source Address) e Indirizzo di Destinazione (Destination Address) consente una classificazione efficiente del flusso IPv6, dove vengono utilizzati solo i campi dell'intestazione principale IPv6 in posizioni fisse.
L'etichetta di flusso può essere utilizzata sia in scenari stateless che stateful. Uno scenario stateless è uno in cui qualsiasi nodo che elabora l'etichetta di flusso in qualsiasi modo non ha bisogno di memorizzare alcuna informazione su un flusso prima o dopo l'elaborazione di un pacchetto. Uno scenario stateful è uno in cui un nodo che elabora il valore dell'etichetta di flusso deve memorizzare informazioni sul flusso, incluso il valore dell'etichetta di flusso. Uno scenario stateful potrebbe anche richiedere un meccanismo di segnalazione per informare i nodi a valle che l'etichetta di flusso viene utilizzata in un certo modo e per stabilire lo stato del flusso nella rete. Ad esempio, RSVP [RFC2205] e General Internet Signaling Transport (GIST) [RFC5971] possono segnalare i valori dell'etichetta di flusso.
L'etichetta di flusso può essere utilizzata più semplicemente in scenari stateless. Questa specifica si concentra sul modello stateless e su come può essere utilizzato come meccanismo predefinito. I dettagli dei modelli stateful, della segnalazione, dei metodi specifici di stabilimento dello stato del flusso e dei loro modelli di servizio correlati sono fuori dall'ambito di questa specifica. Il requisito di base per i modelli stateful è stabilito nella Sezione 4.
Il livello minimo di supporto del flusso IPv6 consiste nell'etichettare i flussi. Un obiettivo specifico è abilitare e incoraggiare l'uso dell'etichetta di flusso per varie forme di distribuzione del carico stateless, specialmente attraverso percorsi Equal Cost Multi-Path (ECMP) e/o Link Aggregation Group (LAG). ECMP e LAG sono metodi per raggruppare più collegamenti fisici utilizzati per procurare la capacità richiesta necessaria per trasportare un carico offerto maggiore della larghezza di banda di un singolo collegamento fisico. Ulteriori dettagli si trovano in un documento separato [RFC6438]. I nodi sorgente IPv6 dovrebbero essere in grado di etichettare flussi noti (ad esempio, connessioni TCP e flussi di applicazioni), anche se il nodo stesso non richiede alcun trattamento specifico del flusso. I requisiti dei nodi per l'etichettatura del flusso stateless sono forniti nella Sezione 3.
Questo documento sostituisce [RFC3697] e la Sezione 6 e l'Appendice A di [RFC2460]. Una motivazione per le modifiche apportate è documentata in [RFC6436]. Il presente documento include anche una correzione a [RFC2205] riguardante l'etichetta di flusso.
Le parole chiave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" e "OPTIONAL" in questo documento devono essere interpretate come descritto in [RFC2119].