Checksum offloads and protocol ossification
Checksum offloads and protocol ossification
Posted Dec 8, 2015 21:19 UTC (Tue) by yootis (subscriber, #4762)Parent article: Checksum offloads and protocol ossification
Is there even value in checksums in headers anymore? All of the transport mechanisms like ethernet already have much more powerful CRCs. I've never heard of packets getting delivered with bad checksums, so why are they even used?
Posted Dec 8, 2015 21:45 UTC (Tue)
by josh (subscriber, #17465)
[Link]
Some protocol in the stack needs to have *cryptographic* integrity; for instance, TLS provides cryptographic integrity guarantees. However, at the lower levels, a quick checksum to confirm valid packet delivery allows the network stack to say "didn't get that, send it again", transparently to the application, as part of the normal ACK/NAK process.
Also see https://en.wikipedia.org/wiki/End-to-end_principle .
Posted Dec 9, 2015 9:13 UTC (Wed)
by paulj (subscriber, #341)
[Link]
I've seen weird driver bugs where chunks of packets were being dropped after being sent by userspace. The L2 CRC was fine, but the kernel applied header checksum was wrong. Turned out to be a subtle bug in the proprietary forwarding hardware driver, on raw sockets, iirc.
Checksum offloads and protocol ossification
Checksum offloads and protocol ossification