Muitos erros de soma de verificação incorretos no TCPDUMP

23

Eu encontro muitos erros de soma de verificação incorretos de um TCPDUMP feito em um servidor GNU Linux de 64 bits. Existem quase 50% de chekcsums incorretos na exportação?

cksum 0xe61f (incorreto (-> 0x8c37)

Como podemos interpretar esses dados? Isso afeta muito o desempenho?

Vishal
fonte
4
Use tcpdump --dont-verify-checksumspara ignorá-los.
Willem

Respostas:

31

Você vê as somas de verificação "incorretas" devido a um recurso chamado descarregamento de soma de verificação TCP. Os campos de soma de verificação para pacotes TCP de saída não são pré-calculados pelo sistema operacional; em vez disso, são definidos como 0 e são deixados para o cálculo pelo processador da NIC. O FAQ do Wireshark tem uma explicação mais detalhada.

o wabbit
fonte
Vi isso, mas era específico para "Se os pacotes com somas de verificação TCP incorretas estiverem sendo enviados pela máquina na qual o Wireshark está sendo executado" e não ficou claro quantas falhas de soma de verificação legítimas afetariam o desempenho da rede.
Vishal
4
Você só verá somas de verificação incorretas nos pacotes enviados por sua máquina. Isso não é específico para o Wireshark, qualquer software de captura de pacote que trabalhe nesse nível produzirá resultados semelhantes. Se você ver que a soma de verificação falha nos pacotes recebidos, pode haver um problema - esses pacotes são descartados pela pilha TCP e acionam uma retransmissão e algoritmos de controle de congestionamento - que terão um impacto direto na taxa de transferência de dados.
the-wabbit
Os erros de soma de verificação estavam apenas nos pacotes enviados. Obrigado!
Vishal
Vejo somas de verificação incorretas em grandes pacotes SMB recebidos que precisam ser remontados. tcpdumpimprime um primeiro pacote com "soma de verificação incorreta" junto com o comentário "AVISO: o pacote continua nos segmentos TCP posteriores". Depois, há mais alguns com "soma de verificação incorreta" seguida de um comentário "" Pacote SMB-sobre-TCP: (dados brutos ou continuação?) ". Suponho que a soma de verificação no primeiro pacote do conjunto esteja correta se todas as subseqüentes pacotes (que realmente não têm nenhuma soma de verificação no local onde tcpdumpestá agarrando o valor de checksum) foram reagrupados em toda a sua ≤ 64KiB todo.
David Tonhofer