Troppi errori di checksum errati in TCPDUMP


23

Trovo troppi errori di checksum errati da un TCPDUMP fatto su un server GNU Linux a 64 bit. Ci sono quasi chekcsum errati al 50% nell'esportazione?

cksum 0xe61f (errato (-> 0x8c37)

Come possiamo interpretare questi dati? Influisce molto sulle prestazioni?


4
Utilizzare tcpdump --dont-verify-checksumsper ignorarli.
Willem,

Risposte:


31

Vengono visualizzati i checksum "errati" a causa di una funzionalità chiamata offload di checksum TCP. I campi di checksum per i pacchetti TCP in uscita non sono pre-calcolati dal sistema operativo ma invece impostati su 0 e lasciati per il calcolo dal processore NIC. Le FAQ di Wireshark hanno una spiegazione più dettagliata.


L'ho visto, ma era specifico di "Se i pacchetti con checksum TCP errati vengono inviati dalla macchina su cui è in esecuzione Wireshark" e non era chiaro quanti errori di checksum legittimi avrebbero un impatto sulle prestazioni della rete.
Vishal,

4
Dovresti vedere solo checksum errati sui pacchetti inviati dalla tua macchina. Questo non è specifico per Wireshark, qualsiasi software di acquisizione pacchetti funzionante a questo livello produrrà risultati simili. Se vedi che il checksum fallisce sui pacchetti ricevuti, potrebbe esserci effettivamente un problema - questi pacchetti vengono scartati dallo stack TCP e attivano una ritrasmissione così come gli algoritmi di controllo della congestione - che avranno un impatto diretto sul throughput dei dati.
the-wabbit

Gli errori di checksum erano solo sui pacchetti inviati. Grazie!
Vishal,

Vedo checksum errati su pacchetti SMB di grandi dimensioni in arrivo che devono essere riassemblati. tcpdumpstampa un primo pacchetto con "checksum errato" insieme al commento "ATTENZIONE: il pacchetto è continuato nei segmenti TCP successivi". Poi ce ne sono altri con "checksum errato" seguito da un commento "" Pacchetto SMB-over-TCP: (dati grezzi o continuazione?) ". Suppongo che il checksum nel primo pacchetto dell'insieme sarà corretto se tutte le successive i pacchetti (che in realtà non hanno checksum nel punto in cui si tcpdumpsta rilevando il valore di checksum) sono stati riassemblati nel loro intero ≤ 64 KiB intero.
David Tonhofer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.