3 ms·
Isn't Ethernet's CRC-check symmetric? Like a 1-bit parity, except 32-bits? IE: A 1-bit Parity bit is symmetric, and will *NEVER* miss a single-bit error. 1-bit
by dragontamer 4y ago
Isn't Ethernet's CRC-check symmetric? Like a 1-bit parity, except 32-bits?
IE: A 1-bit Parity bit is symmetric, and will *NEVER* miss a single-bit error. 1-bit Parity can only miss 2-bit, 4-bit, 6-bit, 8-bit... errors.
I have an expectation for Ethernet's 32-bit CRC to have a similar property.
EDIT: I looked it up at the CRC Zoo. Ethernet is __NOT__ symmetric. https://users.ece.cmu.edu/~koopman/crc/c32/0x82608edb.txt https://users.ece.cmu.edu/~koopman/crc/c32/0x82608edb.txt
That means 1-bit, 3-bit, 5-bit (etc. etc.) errors can slip through.
- Arnt 4y agoI feel so virtuous now. I remember being curious about why the graph didn't look like a simple function of the packet length (linear or some other simple function), but I did not procrastinate by investigating the function and learning about why.
- dragontamer 4y agoEhhh, ish? The page I linked above clearly demonstrates that Ethernet-CRC32 is Hamming-distance 2 at 524288-bits (aka: 65536 bytes) of input, or 64kB. IE: Its still *impossible* to have a 1-bit error escape undetected on 64kB frames (let alone 9000-byte jumbo frames). I don't know where the 1-bit errors start to occur, but its well beyond 64kB (which is all the CRC-zoo tested for). -------- Maybe you're misremembering your graph / data? There's also CRC-16, or even CRC-5 (aka: USB uses CRC5). Based on various analysis, its clear that CRC32 is sufficient for any typical Ethernet frame of any size under 64kB (and probably for many frames of size larger).
- Arnt 4y agoOr what kind of error they were looking at. Bit insertions or removals perhaps. I can't find the thing I looked at. Another paper I found now writes that 64kB is far beyond the limit, though: ¨With Ethernet, the FCS computation uses a 32-bit cyclic redundancy check (CRC-32). CRC-32 error checking detects bit errors with a very high probability. But as frame size increases, the probability of undetected errors per frame may increase. Due to the nature of the CRC-32 algorithm, the probability of undetected errors is the same for frame sizes between 3007 and 91639 data bits (approximately 376 to 11455 bytes). Thus to maintain the same bit error rate accuracy as standard Ethernet, extended frame sizes should not exceed 11455 bytes." https://web.archive.org/web/20110807131142/staff.psc.edu/mathis/MTU/AlteonExtendedFrames_W0601.pdf https://web.archive.org/web/20110807131142/staff.psc.edu/mat... The thing I read at the time didn't agree that 11k and 9k have the same accuracy, though.