Search code examples
networkinggeneratorcrcerror-detectiondata-link-layer

How do two routers agree upon which CRC generator to use?


In a CRC (Cyclic Redundancy Check), usually two nodes agree on an r+1 bit generator. This r is usually 32, and is configured in devices (routers). What happens if two routers have different r bit generators configured (for example one router has a 16-bit generator configured and another has a 32-bit generator configured)? How do they agree upon which generators to use?


Solution

  • They agree in a standards document written by a committee. See section 3.2.9 in this ethernet standards document for the link layer.

    It's more than just the number of bits. They had to agree on the polynomial, the bit ordering, the initial value, and the post processing. It's all there.