TCP checksum offload

Hallo,

wann entsteht bei einem TCP Pkt der Fehler „TCP checksum offload“? Welcher Fehler tritt hier auf bzw. ist die Checksum zwar richtig berechnet worden und wird sie nur falsch interpretiert?

In meinem Fall ist es so, dass von einem Rechner mit 100MBit Karte Pkt mit diesem Fehler verschickt werden an einen REchner mit einer Gbit-Karte (auf diesem Rechner ist auch Wireshark installiert).

Gruß
patrick

Hallo,

wann entsteht bei einem TCP Pkt der Fehler „TCP checksum
offload“?

„TCP checksum offload“ ist erstmal keine Fehlermeldung, sondern eine erfreuliche Eigenschaft einer Netzwerkkarte.

Welcher Fehler tritt hier auf bzw. ist die Checksum
zwar richtig berechnet worden und wird sie nur falsch
interpretiert?

Das ist - ohne die Beteiligten zu kennen - schwer zu sagen. Lesestoff?

http://en.wikipedia.org/wiki/Tcp_checksum_offload

HTH,

Sebastian

Hallo,

wann entsteht bei einem TCP Pkt der Fehler „TCP checksum
offload“?

„TCP checksum offload“ ist erstmal keine Fehlermeldung,
sondern eine erfreuliche Eigenschaft einer Netzwerkkarte.

Welcher Fehler tritt hier auf bzw. ist die Checksum
zwar richtig berechnet worden und wird sie nur falsch
interpretiert?

Das ist - ohne die Beteiligten zu kennen - schwer zu sagen.
Lesestoff?

http://en.wikipedia.org/wiki/Tcp_checksum_offload

soviel steht hier leider nicht dazu.

Das Problem ist, dass nicht alle Pakete mit dieser Meldung ausgestattet sind. Beim TCP Verbindungsaufbau ist das SYN-ACK ohne und das anschließende ACK der ersten Message im Established Zustand mit dieser Fehlermeldung ausgestattet. Lieg ich richtig in der Annahme, dass die Netzwerkkarte entweder alle Pakete falsch oder gar keins mit dieser Meldung darstellt?

Hast du noch mehr infos - warum diese Meldung auftritt, was genau kann die Netzwerkkarte nicht so schnell berechnen? Bricht diese einfach die Berechnung ab???

Gruß
patrick

Hi…

In meiner zerkratzten Kristallkugel sehe ich, daß die vollständige Meldung etwa so aussieht:

checksum: 0x1234 [incorrect, should be 0x4321 (maybe caused by „TCP checksum offload“?)]

Richtig? Dann hätte ich auch eine Erklärung dazu:

Nehmen wir an, die Netzwerkkarte in Deinem Rechner beherrscht checksum offload. Dann erzeugt die CPU beim Senden Pakete ohne gültige Checksumme und gibt sie an die Netzwerkkarte weiter, diese berechnet die richtige Checksumme und schickt die Pakete ab.
Der Punkt, an dem Wireshark die Pakete abgreift, liegt zwischen CPU und Netzwerkkarte, d.h. Pakete, die in Richtung Außenwelt unterwegs sind haben in diesem Moment noch eine ungültige Checksumme, was Wireshark natürlich anzeigt. Gleich mit dem Hinweis, daß das nicht unbedingt etwas Schlimmes sein muß, denn es könnte einfach nur am checksum offload liegen.

genumi

Hallo,

checksum: 0x1234 [incorrect, should be 0x4321 (maybe caused by
„TCP checksum offload“?)]

Richtig? Dann hätte ich auch eine Erklärung dazu:

richtig!

Nehmen wir an, die Netzwerkkarte in Deinem Rechner beherrscht
checksum offload. Dann erzeugt die CPU beim Senden Pakete ohne
gültige Checksumme und gibt sie an die Netzwerkkarte weiter,
diese berechnet die richtige Checksumme und schickt die Pakete
ab.

nicht ganz: Rechner A hat eine solche Netzwerkkarte (mit TCP Checksum Offload) und der andere Rechner B hat dies nicht. Teilweise sind die Pakete von Rechner B an den Rechner A mit TCP Checksum Offload belegt. Allerdings auch nur die ACKs - alle anderen Pakete (TCP) sind ohne diesem Zusatz.

gruß
patrick