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. Opera 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 zero, 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 di interconnessione dei sistemi aperti (OSI), il livello di collegamento dati, utilizzato nelle reti di computer. Esistono numerosi protocolli di comunicazione che operano a livello di collegamento, ma le sue funzioni essenziali sono preparare i pacchetti di dati destinati al trasporto nonché interpretare qualsiasi ingresso tramite il collegamento dati.

Esistono tre tipi di collegamenti dati che un livello di collegamento deve gestire: simplex, half-duplex e full duplex. Con un collegamento simplex, i dati viaggiano in una direzione, come una rete di trasmissione, dove c’è un mittente e un destinatario dedicati e il destinatario non ha bisogno di restituire 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 in entrambe le direzioni contemporaneamente, il che richiede uno sforzo maggiore da parte del livello di collegamento per risolvere le comunicazioni che vanno e vengono.

Per svolgere gran parte del suo lavoro, il livello di collegamento utilizza una tecnica nota come framing. Ciò comporta l’aggiunta di un identificatore aggiuntivo che indica dove inizia o finisce il frame nel flusso di bit. Sebbene esistano altri metodi di framing, nella maggior parte dei casi, questo è semplicemente un bit in più aggiunto al flusso durante incrementi specifici. Sul lato ricevente, il livello di collegamento sincronizza i bit di frame nel flusso per aiutare a separare i frame, estrarre i pacchetti originali e passarli agli altri livelli, se necessario. La sincronizzazione tra le estremità di invio e ricezione è importante, perché se il livello di collegamento ricevente rileva il flusso tra i frame, può semplicemente attendere l’inizio del frame successivo, scartando eventuali bit inutilizzabili che non appartengono a un frame.

Il livello di collegamento dati del modello OSI percepisce inoltre due sottolivelli al livello di collegamento. Uno è indicato come controllo del collegamento logico (LLC), mentre l’altro è il controllo dell’accesso ai media (MAC). Il sottolivello 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 degli errori potrebbero non essere utilizzati. Ad esempio, con la rete wireless, il livello di collegamento ha la capacità di richiedere l’invio di pacchetti errati, il che è molto più raro nelle comunicazioni cablate in cui il livello di collegamento si occupa solo di rilevare errori e cancellare i pacchetti non validi.

Il sottolivello MAC inferiore è quindi responsabile dell’identificazione dell’indirizzo fisico del dispositivo, comunemente denominato indirizzo MAC. È inoltre in grado di mantenere l’eventuale accodamento dei pacchetti di dati, nonché di programmarne la consegna e garantire la qualità della trasmissione. Questo è anche il luogo in cui avviene la sincronizzazione dei frame, nonché i protocolli che impediscono la collisione dei flussi.