Cos'è FCS (Frame Check Sequence) nel networking?
FCS (Frame Check Sequence) è un valore 32-bit Cyclic Redundancy Check (CRC) aggiunto alla fine di un frame del data link layer (es. Ethernet, Wi-Fi, PPP, HDLC) per rilevare errori di trasmissione.
Come funziona
- Trasmettitore: Calcola CRC32 (polinomio
0x04C11DB7) sull'intero frame (header + payload + opzionalmente preambolo/SFD esclusi). Aggiunge i 4 byte FCS. - Trasmissione: Il frame viaggia attraverso il medium; i bit possono capovolgersi a causa di rumore, interferenze, attenuazione.
- Ricevitore: Ricalcola CRC32 sul frame ricevuto (incluso l'FCS ricevuto).
- Verifica:
- Risultato = 0xC704DD7B (residuo per polinome corretto) → Frame accettato.
- Risultato ≠ atteso → Frame scartato (silenziosamente; nessuna ritrasmissione al Livello 2—affidato a livelli superiori come TCP).
Proprietà chiave
- Rileva: Tutti gli errori singolo/doppio bit, tutti gli errori bit dispari, tutti gli errori burst ≤ 32 bit, 99.99999998% di burst più lunghi.
- Non Corregge: Nessuna correzione di errore in avanti (FEC); puramente rilevazione.
- Posizione: Trailer Livello 2 (Data Link)—ultimi 4 byte prima dell'inter-frame gap.
- Standard: IEEE 802.3 (Ethernet), 802.11 (Wi-Fi), PPP, HDLC, Frame Relay.
Limitazione
FCS può non rilevare errori se i capovolgimenti di bit si annullano matematicamente (estremamente raro). Fornisce integrità, non autenticità (nessuna sicurezza crittografica).