Protocol Layers — Framing and Packet Structure
Overview
Il framing è il meccanismo con cui un protocollo delimita, identifica e struttura le unità di informazione trasmesse sul canale. Un frame non è solo un contenitore di dati: è una struttura semantica che permette al ricevitore di interpretare correttamente il contenuto, rilevare errori, sincronizzarsi e gestire la comunicazione in modo affidabile.
Questa pagina introduce gli elementi fondamentali della struttura di un frame, i meccanismi di framing e i principali failure modes.
Frame Structure
Un frame tipico è composto da tre macro‑sezioni:
1. Header
Contiene metadati necessari al protocollo:
- identificatori (ID, indirizzi, tipo di messaggio)
- lunghezze e offset
- flag di controllo
- numeri di sequenza
- informazioni di priorità o QoS
L’header è critico perché guida l’intero processo di parsing.
2. Payload
Contiene i dati applicativi o i campi informativi del livello superiore. La sua struttura può essere:
- fissa
- variabile
- segmentata in più blocchi
3. Trailer / Integrity Field
Include tipicamente:
- CRC
- checksum
- codici di protezione
Serve a verificare l’integrità del frame prima che venga accettato.
Framing Mechanisms
I protocolli utilizzano diversi metodi per delimitare i frame:
1. Length‑Based Framing
L’header contiene la lunghezza del payload o dell’intero frame. Vantaggi:
- parsing semplice
- throughput elevato Svantaggi:
- vulnerabile a errori nella lunghezza
2. Marker‑Based Framing
Il frame è delimitato da sequenze speciali (es. start‑of‑frame, end‑of‑frame). Vantaggi:
- robusto a errori di lunghezza Svantaggi:
- richiede escaping o encoding per evitare collisioni
3. Code‑Violations / Symbol‑Based Framing
Usato in protocolli fisici (es. 8b/10b, 64b/66b). La delimitazione avviene tramite simboli riservati non validi come dati.
4. Hybrid Framing
Combinazione di marker + length + CRC. Tipico dei protocolli moderni ad alta affidabilità.
Parsing Pipeline
Il ricevitore esegue una pipeline di parsing che include:
- Frame detection Identificazione del punto di inizio.
- Header extraction Lettura dei metadati e validazione dei campi critici.
- Payload extraction Interpretazione dei dati applicativi.
- Integrity verification Verifica CRC o checksum.
- Acceptance / Rejection Il frame viene accettato o scartato.
Failure Modes
I principali errori legati al framing includono:
1. Misalignment
Il ricevitore perde la sincronizzazione e interpreta i dati con offset errato.
2. Header Corruption
Campi critici corrotti portano a:
- lunghezze errate
- parsing fuori limite
- interpretazioni errate del payload
3. Payload Corruption
Rilevata tramite CRC o checksum.
4. Marker Loss or Collision
Nei protocolli marker‑based:
- perdita del marker
- collisione con dati non escapati
5. Length Mismatch
Il payload termina prima o dopo il previsto.
Safety Considerations
Il framing è un punto critico per la safety perché:
- un header corrotto può causare parsing fuori limite
- un marker perso può portare a interpretare dati casuali come frame validi
- un CRC non copre il framing stesso
- un errore di lunghezza può causare overflow o underrun
I protocolli safety‑critical adottano:
- header ridondanti
- CRC multipli
- delimitatori robusti
- sanity checks su lunghezze e campi
- watchdog sul parsing
Related Technical Pages
Protocol Layer Fundamentals
- Protocol Layering — Architecture Fundamentals
- Protocol Layers & Packet Processing – Overview & Families