Hacker News new | ask | show | jobs
by mrfusion 1834 days ago
Is this what tcp/ip uses?
4 comments

No. TCP, IP and UDP are all using Internet Checksum (RFC 1071). Ethernet uses CRC.
I went and skimmed the rfc you're citing and it's fro 1988, it's old enough to have samples in C code where the "register" keyword is still used (afaik nowadays most compilers will ignore it) along with assembly code for motorola 68020, Cray CPUs and the IBM-370.

EDIT: for reference: https://datatracker.ietf.org/doc/html/rfc1071.html

All of these are techniques for verifying a message. Galileo also uses a 24-bit CRC to verify its messages after performing forward error correction.
TCP doesn't do forward error correction at all. It uses a retransmission scheme instead. TCP's error correction is not only to insure a consistent datastream, but also to more equitably share limited bandwidth.
Forward error correction is usually at the PHY layer, not the transport layer. So the more appropriate question is, does 10GbE/100GbE/WLAN/etc use RS coding? (and yes some of them do.)
No, but Reed-Solomon codes are used on on CDs.
Indeed, I think there's a 3 layers of encodings to protect against different corruption scenarios. Trick is some equipment only does a partial implementation, thus the need for a tool like cdparanoia to recovery data from corrupted CDs.