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.