Che cos'è un livello di collegamento?
Il livello di collegamento è uno dei livelli concettuali più bassi e fondamentali nelle comunicazioni digitali. Fondamentalmente, è dove risiede tutta la logica per gestire un collegamento dati. Funziona in una sorta di gerarchia, fungendo da interfaccia, in questo caso, tra il livello più basso, il livello fisico che trasmette il flusso grezzo di uno e zeri e gli strati superiori. In molti casi, il termine è usato in modo intercambiabile con "livello di collegamento", che in genere indica il secondo livello del modello OSI (Open Systems Interconnection), il livello di collegamento dati, utilizzato nella rete di computer. Esistono numerosi protocolli di comunicazione che operano a livello di collegamento, ma le sue funzioni essenziali sono la preparazione dei pacchetti di dati destinati al trasporto e l'interpretazione di qualsiasi ingresso tramite il collegamento dati.
Esistono tre tipi di collegamenti dati che devono essere gestiti da un livello di collegamento: simplex, half-duplex e full duplex. Con un collegamento simplex, i dati viaggiano in una direzione, ad esempio una rete di trasmissione, in cui vi sono un mittente e un destinatario dedicati e il destinatario non deve inviare nulla al mittente. Con half-duplex, i dati possono andare in entrambe le direzioni, ma non contemporaneamente. Le comunicazioni full duplex consentono ai dati di viaggiare simultaneamente in entrambe le direzioni, il che richiede maggiori sforzi da parte del livello di collegamento per risolvere le comunicazioni che vanno e vengono.
Per fare gran parte del suo lavoro, il livello di collegamento utilizza una tecnica nota come framing. Ciò comporta il virare su un identificatore aggiuntivo che indica dove inizia o finisce il frame nel flusso di bit. Sebbene esistano altri metodi di inquadratura, nella maggior parte dei casi, si tratta semplicemente di un bit aggiuntivo aggiunto allo stream durante incrementi specifici. All'estremità ricevente, il livello di collegamento sincronizza i bit di framing nel flusso per aiutare a separare i frame, estrarre i pacchetti originali e passarli sugli altri livelli, se necessario. La sincronizzazione tra le estremità di invio e di ricezione è importante, perché se il livello del collegamento di ricezione capita di raccogliere il flusso tra i frame, può semplicemente attendere fino all'inizio del frame successivo, scartando tutti i bit inutilizzabili che non appartengono a un frame.
Il livello di collegamento dati del modello OSI rileva ulteriormente due sottostrati al livello di collegamento. Uno è indicato come controllo del collegamento logico (LLC), mentre l'altro è il controllo dell'accesso ai media (MAC). Il sottostrato superiore LLC si occupa di problemi come il controllo del flusso e la correzione degli errori nella trasmissione. A seconda del tipo di comunicazione, alcuni metodi di correzione dell'errore potrebbero non essere impiegati. Ad esempio, con la rete wireless, il livello di collegamento ha la possibilità di richiedere di inviare nuovamente pacchetti errati, il che è molto più raro nelle comunicazioni cablate in cui il livello di collegamento si occupa solo di rilevare errori e annullare pacchetti non validi.
Il sottostrato MAC inferiore è quindi responsabile dell'identificazione dell'indirizzo fisico del dispositivo, comunemente indicato come indirizzo MAC. È anche in grado di mantenere qualsiasi accodamento dei pacchetti di dati, nonché di pianificare la loro consegna e garantire la qualità della trasmissione. Questo è anche il punto in cui avviene la sincronizzazione dei frame, nonché i protocolli che impediscono la collisione dei flussi.