9.1.1 The Limited-functionality and Full-functionality Options (Le opzioni a funzionalità limitata e completa)
9.1.1 The Limited-functionality and Full-functionality Options (Le opzioni a funzionalità limitata e completa)
L'opzione a funzionalità limitata (limited-functionality option) per l'incapsulamento ECN nei tunnel IP è impostare il codepoint not-ECT nell'intestazione esterna (incapsulante), indipendentemente dal valore del campo ECN nell'intestazione interna (incapsulata). Con questa opzione, il campo ECN nell'intestazione interna non viene modificato durante la decapsulazione. Lo svantaggio di questo approccio è che il flusso non ha supporto ECN nella parte del percorso che utilizza il tunnel IP, anche se il pacchetto incapsulato (dal mittente TCP originale) supporta ECN. Cioè, se il pacchetto incapsulato arriva a un router congestionato con capacità ECN, e il router potrebbe decidere di scartare o contrassegnare il pacchetto come indicazione di congestione ai nodi finali, al router non sarebbe permesso impostare il codepoint CE nell'intestazione del pacchetto, e dovrebbe invece scartare il pacchetto.
L'opzione a funzionalità completa (full-functionality option) per l'incapsulamento ECN è che all'incapsulazione, il codepoint ECN dell'intestazione interna viene copiato nell'intestazione esterna se l'intestazione interna è not-ECT o ECT, e il codepoint ECN dell'intestazione esterna viene impostato a ECT(0) se il codepoint ECN dell'intestazione interna è CE. Alla decapsulazione, se il codepoint CE è impostato nell'intestazione esterna, allora il codepoint CE viene impostato anche nell'intestazione interna. Altrimenti, il codepoint ECN nell'intestazione interna viene lasciato invariato. Cioè, per il supporto ECN completo, il trattamento di incapsulamento e decapsulazione coinvolge quanto segue: All'ingresso del tunnel, l'opzione a funzionalità completa imposta il codepoint ECN nell'intestazione esterna. Se il codepoint ECN nell'intestazione interna è not-ECT o ECT, viene copiato nel codepoint ECN nell'intestazione esterna. Se il codepoint ECN nell'intestazione interna è CE, il codepoint ECN nell'intestazione esterna viene impostato a ECT(0). Alla decapsulazione all'uscita del tunnel, se il codepoint CE è impostato nell'intestazione esterna, l'opzione a funzionalità completa imposta il codepoint CE nell'intestazione interna. Altrimenti, non viene apportata alcuna modifica a questo campo dell'intestazione interna.
Con l'opzione a funzionalità completa, un flusso può sfruttare ECN nella parte del percorso che potrebbe utilizzare un tunnel IP. Dal punto di vista della sicurezza, lo svantaggio dell'opzione a funzionalità completa è che il tunnel IP non può proteggere il flusso da alcune modifiche ai bit ECN nell'intestazione IP all'interno del tunnel. I potenziali pericoli della modifica dei bit ECN nell'intestazione IP sono descritti in dettaglio nelle Sezioni 18 e 19.
(1) I tunnel IP DEVONO modificare il trattamento del byte del campo DS agli endpoint del tunnel IP implementando l'opzione a funzionalità limitata o completa.
(2) Facoltativamente, i tunnel IP POSSONO consentire agli endpoint del tunnel IP di negoziare una scelta tra le opzioni a funzionalità limitata e completa per ECN nel tunnel.
Il requisito minimo per rendere ECN disponibile ai tunnel IP è l'opzione a funzionalità limitata, che impedisce l'abilitazione di ECN nell'intestazione esterna del tunnel. Il supporto completo per ECN richiede l'uso dell'opzione a funzionalità completa. In assenza di meccanismi opzionali per la negoziazione tra gli endpoint del tunnel di una scelta tra le opzioni ECN a funzionalità limitata o completa, potrebbe esserci un accordo preesistente tra gli endpoint del tunnel su se supportare l'opzione ECN a funzionalità limitata o completa.
Tutti i tunnel IP DEVONO implementare l'opzione a funzionalità limitata, e DOVREBBERO supportare l'opzione a funzionalità completa.
Inoltre, si raccomanda che se il punto di uscita del tunnel di un tunnel che utilizza l'opzione a funzionalità limitata riceve un pacchetto con il codepoint CE impostato nell'intestazione esterna, o se il punto di uscita del tunnel di un tunnel che utilizza l'opzione a funzionalità completa ma con il codepoint not-ECT impostato nell'intestazione interna riceve un tale pacchetto, DOVREBBE scartare questi pacchetti. Questo è guidato dalla compatibilità all'indietro e per garantire che non si verifichi una modifica non autorizzata del campo ECN, che verrà ulteriormente discusso nella prossima sezione (9.1.2).