Raccolta di howto, informazioni, consigli, trucchi e documentazione di varia utilità per ricordare tante cose utili

lunedì 16 novembre 2009

Checksum Offloading

Grazie all'uso delle moderne schede di rete i sistemi operativi moderni possono delegare il calcolo delle checksum UDP/TCP direttamente al chipset della scheda sgravando parzialmente il lavoro della CPU. Tuttavia almeno due inconvenienti possono capitare: il primo (che può capitare solo alle persone più tecnice e che quindi dovrebbero conoscere problema e risposta) e che andando a effettuare uno sniff dei pacchetti di rete in uscita si rileva una "cheksum error", errore per altro non più presente sulla macchina di destinazione.
Il secondo e che in taluni casi kernel e driver possono essere ingannati dalle schede e cercare di utilizzare il "checksum offloading" anche con schede di rete non in grado di supportarlo con conseguenti rallentamenti e malfunzionamenti di rete

Sotto Linux il "checksum offloading" è presente in tutti i kernel 2.6 a seconda del driver della scheda di rete utilizzato, è tuttavia possibile disabilitarlo con il comando
ethtool -K eth0 rx on tx off

Sotto Windows questa caratteristica esiste a partire da XP/server 2003. Il "checksum offloading" è abilitato/disabilitato a livello di driver, per tanto in caso di malfunzionamenti è opportuno cercare un driver più aggiornato o verificare se il diver supporta l'abilitazione/disabilitazione della caratteristica.
Per fare questo occorre andare nelle proprietà della scheda di rete, premere il pulsante "Configura" accanto al nome della scheda, andare nel tab "Avanzate" e cercare un proprietà con un nome del tipo del tipo "UDP/TCP checksum offload" oppure del tipo "TCP offload".

E opportuno disabilitare queste opzioni solo in caso di effettivi problemi, altrimenti il risultato è esclusivamente un appesantimento del carico della CPU con conseguente rallentamento del sistema

Nessun commento: