Passa al contenuto principale

6.1.1.2 Robust TCP Initialization with an Echoed Reserved Field (Inizializzazione TCP robusta con un campo riservato ripetuto)

6.1.1.2 Robust TCP Initialization with an Echoed Reserved Field (Inizializzazione TCP robusta con un campo riservato ripetuto)

Una domanda è perché abbiamo scelto di avere il TCP che invia il SYN che imposta due flag relativi a ECN nel campo Reserved dell'intestazione TCP nel pacchetto SYN, mentre il TCP rispondente che invia il SYN-ACK imposta solo un flag relativo a ECN nel pacchetto SYN-ACK. Questa asimmetria è necessaria per una negoziazione robusta della capacità ECN con alcune implementazioni TCP già distribuite. Esiste almeno un'implementazione TCP difettosa in cui il ricevitore TCP riflette semplicemente il campo Reserved dell'intestazione TCP del pacchetto ricevuto nel campo Reserved dell'intestazione TCP nei pacchetti ACK (e quindi anche nei SYN-ACK). Poiché il pacchetto TCP SYN imposta i flag ECN-Echo e CWR per indicare la capacità ECN, mentre il pacchetto SYN-ACK imposta solo il flag ECN-Echo, il TCP mittente interpreta correttamente il comportamento del ricevitore di riflettere semplicemente i propri flag nel campo Reserved come indicazione che il ricevitore non supporta ECN. Il TCP mittente non viene ingannato da un pacchetto SYN-ACK inviato da un'implementazione TCP difettosa che riflette semplicemente il campo Reserved del pacchetto SYN in arrivo.