[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: openbsd@sikurezza.org
Soggetto: Re: tcp_sack/fack
Mittente: David Coppa
Data: 6 Feb 2002 19:14:49 -0000
On Wednesday 06/02/2002 at 11:49:11, goony@OpenBEER.it wrote:
> Salve a tutti...
> mi chiedevo (dopo aver letto faq/man) a cosa servono
> le options TCP_SACK e TCP_FACK? 
> 
> - TCP_SACK - Turns on selective acknowledgements. 
> - TCP_FACK - Turns on forward acknowledgements allowing a more precise
> estimate of outstanding data during the fast recovery phase by using SACK
> information. This option can be used together with TCP_SACK. 
> 
> Piu' che una traduzione in italiano, mi servirebbe una "traduzione
> tecnica". 

Sono entrambi algoritmi, aggiunti come estensioni al TCP, per un controllo 
piu' efficiente delle network congestion.
Nelle specifiche originarie di Jonathan Postel, il TCP usa uno schema di 
acknowledgement di tipo "cumulativo", secondo il quale i segmenti ricevuti 
che non si trovano al limite sinistro della window di ricezione non vengono 
riconosciuti. Questo schema costringe il sender ad aspettare un intero rtt 
per "ritrovare" ogni pacchetto perso, o a ritrasmettere inutilmente segmenti 
che erano gia' stati correttamente ricevuti dal receiver. 
Il SACK, invece, e' uno schema di tipo selettivo ed e' stato introdotto 
proprio per ovviare a questo problema. Gli acknowledgement di tipo SACK 
contengono informazioni addizionali sui segmenti che sono stati ricevuti. 
Quando al receiver giungono segmenti out-of-order, manda dei SACK al sender 
informandolo dei segmenti che ha ricevuto. A questo punto il sender deve 
ritrasmettere solamente i segmenti che si sono realmente persi.
Il FACK (algoritmo sviluppato da due ricercatori del Pittsburgh Supercomputing 
Center) e' un'evoluzione del SACK che usa le informazioni di quest'ultimo per
implementare un controllo ancora piu' preciso dei dati in transito durante 
la fase di recupero dei segmenti persi.
Tutto cio' in estrema sintesi...

Lo RFC di riferimento del SACK e' il 2018: 
http://www.rfc-editor.org/rfc/rfc2018.txt

Per il FACK leggi:
http://www.psc.edu/networking/ftp/papers/Fack.9608.ps

Io ce l'ho messa tutta: se ho scritto qualche cavolata fatemelo sapere :)

> p.s. sapete dopo si posso trovare moduli per kernel openbsd? qualcuno di
>      voi smanettoni ha scritto qualcosa? :)

Vedi questo vecchio post di PigPen su ml@sikurezza:
http://www.sikurezza.org/ml/05_00/msg00460.html

E anche questo paper (piu' generale):
http://www.daemonnews.org/200109/openbsd-lkm.html

Ciao

--
David "caff" Coppa <caff AT openbeer DOT it>
Fingerprint: 2EF5 C87B 96EF 555F 79CB  31B0 3D44 1DEC B285 16AD
PubKey: http://www.openbeer.it/keys/caff.asc
"no coffee and no play make me a dull boy"

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005