Internet checksum
# Internet checksum

L'internet checksum è un metodo per il calcolo di somme di controllo utilizzato per verificare l'integrità dei dati contenuti nei pacchetti trasmessi sulla rete, come ad esempio negli header IP.

La definizione dell'algoritmo per il calcolo dell'internet checksum è il seguente:

* I bit da trasmettere vengono considerati come una sequenza di interi su 16 bit
* Questi interi vengono sommati usando l'aritmetica in complemento a uno su 16 bit
* Il complemento a uno del risultato della somma è il checksum

Per verificare l'integrità di un pacchetto si calcola l'internet checksum sulla sequenza di bit ricevuta, ma invece di fare il complemento a uno alla fine si somma il valore del checksum. Se il risultato è composto da tutti 1, il pacchetto è valido.

L'internet checksum è di semplice calcolo ed è indipendente dall'ordinamento dei byte di macchina. Un'altra importante proprietà è che in caso di modifica di una parte del pacchetto è possibile ricalcolare il checksum in modo incrementale, ovvero a partire dai soli dati modificati. Questa funzionalità è utile per tutti quei dispositivi che necessitano di aggiornare i pacchetti mentre li reindirizzano, come alcuni router.

