Zbyt wiele niepoprawnych błędów sumy kontrolnej w TCPDUMP

23

Znalazłem zbyt wiele niepoprawnych błędów sum kontrolnych z TCPDUMP wykonanych na 64-bitowym serwerze GNU Linux. W eksporcie jest prawie 50% niepoprawnych czeków?

cksum 0xe61f (niepoprawny (-> 0x8c37)

Jak możemy interpretować te dane? Czy to ma duży wpływ na wydajność?

Vishal
źródło
4
Użyj, tcpdump --dont-verify-checksumsaby je zignorować.
Willem,

Odpowiedzi:

31

Wyświetlane są „nieprawidłowe” sumy kontrolne z powodu funkcji zwanej odciążaniem sumy kontrolnej TCP. Pola sumy kontrolnej dla wychodzących pakietów TCP nie są wstępnie obliczane przez system operacyjny, lecz ustawione na 0 i pozostawione do obliczenia przez procesor NIC. Wireshark FAQ ma bardziej szczegółowe wyjaśnienie.

the-wabbit
źródło
Widziałem to, ale było to specyficzne dla „Jeśli wszystkie pakiety, które mają nieprawidłowe sumy kontrolne TCP, są wysyłane przez komputer, na którym działa Wireshark” i nie było jasne, jak wiele prawidłowych sum kontrolnych zawiodłoby, wpłynęłoby na wydajność sieci.
Vishal,
4
Powinieneś widzieć tylko nieprawidłowe sumy kontrolne na pakietach wysyłanych przez twoje urządzenie. Nie jest to specyficzne dla Wireshark, każde oprogramowanie do przechwytywania pakietów działające na tym poziomie da podobne wyniki. Jeśli zauważysz, że suma kontrolna nie powiedzie się na otrzymanych pakietach, może istnieć problem - pakiety te są odrzucane przez stos TCP i wyzwalają retransmisję oraz algorytmy kontroli przeciążenia - co będzie miało bezpośredni wpływ na przepływ danych.
the-wabbit
Błędy sumy kontrolnej dotyczyły tylko wysłanych pakietów. Dzięki!
Vishal,
Widzę nieprawidłowe sumy kontrolne na dużych przychodzących pakietach SMB, które należy ponownie złożyć. tcpdumpwypisuje pierwszy pakiet z „niepoprawną sumą kontrolną” wraz z komentarzem „OSTRZEŻENIE: Pakiet jest kontynuowany w późniejszych segmentach TCP”. Potem jest jeszcze kilka z „niepoprawną sumą kontrolną”, po której następuje komentarz „„ Pakiet SMB-over-TCP: (surowe dane czy kontynuacja?) ”. Przypuszczam, że suma kontrolna w pierwszym pakiecie zestawu będzie poprawna, jeśli wszystkie kolejne pakiety (które w rzeczywistości nie mają sumy kontrolnej w miejscu, w którym tcpdumppobierana jest wartość sumy kontrolnej) zostały ponownie złożone w całość o wartości ≤ 64 KB.
David Tonhofer