De Cyclic Redundancy Check (CRC)-waarde in een netwerkframe wordt berekend op basis van het gegevensgedeelte van het frame zelf . Het is geen afzonderlijk veld dat onafhankelijk aan het frame wordt toegevoegd.
Hier is een overzicht:
1. Gegevenslading: De CRC-berekening maakt gebruik van de gegevens die worden verzonden (de payload van het frame). Dit omvat de headerinformatie (behalve de CRC zelf) en de gegevens die worden overgedragen.
2. Algoritme: Een specifiek wiskundig algoritme (zoals CRC32 of CRC16) wordt op de gegevens toegepast. Dit algoritme voert in wezen een polynomiale verdeling van de databits uit.
3. Rester: Het restant van deze polynoomverdeling is de CRC-waarde.
4. Het CRC toevoegen: Deze rest (de CRC) wordt vervolgens vóór verzending aan het einde van de gegevens toegevoegd.
5. Verificatie: De ontvanger voert dezelfde CRC-berekening uit op de ontvangen gegevens (inclusief de header, maar exclusief de ontvangen CRC). Als de berekende CRC overeenkomt met de ontvangen CRC, worden de gegevens als foutloos beschouwd (met grote waarschijnlijkheid). Een mismatch duidt op een fout tijdens de verzending.
Daarom komt de CRC niet uit een aparte bron; het is afgeleid *van* de gegevens die het moet beschermen. |