Passa al contenuto principale

4.3. Meccanismi di recupero dalla perdita

Un certo numero di algoritmi di recupero dalla perdita che estendono la ritrasmissione rapida e il recupero rapido sono stati suggeriti dai ricercatori su TCP e specificati nella serie RFC. Mentre alcuni di questi algoritmi si basano sull'opzione di riconoscimento selettivo (SACK) di TCP [RFC2018], come [FF96], [MM96a], [MM96b] e [RFC3517], altri non richiedono SACK, come [Hoe96], [FF96] e [RFC3782]. Gli algoritmi non-SACK utilizzano "riconoscimenti parziali" (ACK che coprono dati non precedentemente riconosciuti, ma non tutti i dati in sospeso nel momento in cui la perdita è stata rilevata) per attivare le ritrasmissioni. Sebbene questo documento non standardizzi nessuno degli algoritmi specifici che possono migliorare la ritrasmissione rapida/recupero rapido, questi algoritmi avanzati sono implicitamente consentiti, purché seguano i principi generali dei quattro algoritmi di base delineati sopra.

Vale a dire, quando viene rilevata la prima perdita in una finestra di dati, ssthresh DEVE (MUST) essere impostato a un valore non superiore a quello dato dall'equazione (4). In secondo luogo, finché tutte le perdite nella finestra di dati in questione non sono state riparate, il numero di segmenti trasmessi in ciascun RTT DEVE (MUST) essere non superiore alla metà del numero di segmenti in sospeso nel momento in cui la perdita è stata rilevata. Infine, dopo che tutte le perdite nella finestra di segmenti considerata sono state ritrasmesse con successo, cwnd DEVE (MUST) essere impostato a un valore non superiore a ssthresh e DEVE (MUST) essere utilizzata la prevenzione della congestione per aumentare ulteriormente cwnd. La perdita in due finestre di dati successive, o la perdita di una ritrasmissione, dovrebbe essere considerata come due indicazioni di congestione e, pertanto, in questo caso cwnd (e ssthresh) DEVONO (MUST) essere abbassati due volte.

RACCOMANDIAMO (RECOMMEND) che gli implementatori di TCP impieghino una qualche forma di recupero avanzato dalla perdita in grado di far fronte a perdite multiple in una finestra di dati. Gli algoritmi dettagliati in [RFC3782] e [RFC3517] sono conformi ai principi generali sopra delineati. Osserviamo che, sebbene questi non siano gli unici due algoritmi conformi ai principi generali di cui sopra, questi due algoritmi sono stati vagliati dalla comunità e sono attualmente sul percorso di standardizzazione (Standards Track).