# Logical link control

Modello OSI :
| 7. | Livello di applicazione |
| 6. | Livello di presentazione |
| 5. | Livello di sessione |
| 4. | Livello di trasporto |
| 3. | Livello di rete |
| 2. | Livello di collegamento dati Sottolivello LLC Sottolivello MAC |
| 1. | Livello fisico |
In telecomunicazioni, nell'ambito delle reti di calcolatori, il Logical Link Control (LLC) è un protocollo di comunicazione che fa parte della famiglia IEEE 802, sottolivello superiore del livello datalink del modello ISO/OSI. È definito dal gruppo di lavoro IEEE 802.2. LLC contiene due indirizzi (DSAP e SSAP) che identificano il protocollo di livello superiore con cui le peer entity stanno comunicando.

## Descrizione

Come in tutti i modelli stratificati in ricezione fornisce alcuni servizi di comunicazione al livello superiore, avvalendosi dei servizi messi a sua disposizione dai livelli inferiori. Ciascun livello è definito solo dalle sue interfacce verso l'alto (più astratto, verso le applicazioni) e verso il basso (più concreto, verso il mezzo di trasmissione) ed è indipendente da tutti i livelli non direttamente collegati.
Nello schema seguito dalla IEEE, il protocollo LLC costituisce la parte superiore del livello collegamento dati (data link, livello 2 del modello ISO/OSI). Il livello superiore è quello di rete (network, livello 3 ISO/OSI), mentre il livello inferiore non coincide con quello fisico ISO/OSI (physical, livello 1), ma si avvale del Media Access Control che costituisce la parte inferiore del livello collegamento dati.
Al livello inferiore possono essere usati indifferentemente protocolli quali IEEE 802.3 (Ethernet), IEEE 802.11 (WLAN), ecc. Il ruolo di LLC, infatti, è di nascondere al livello di rete le differenze che esistono tra i vari protocolli 802. In questo modo, il livello di rete viene completamente isolato dal mezzo trasmissivo attraverso il quale avviene la trasmissione dei dati. I dati provenienti dal livello superiore vengono incapsulati in una unità di trasmissione (Protocol Data Unit, PDU) del livello LLC e opportunamente trasferiti al livello MAC, che ne cura la trasmissione sul mezzo fisico prescelto; viceversa, le unità di trasmissione provenienti dal livello MAC vengono elaborate secondo i criteri definiti dal protocollo e quindi inoltrate al livello superiore.

### Modalità di servizio

A seconda delle implementazioni, l'LLC può fornire al livello superiore tre distinte modalità di servizio:
* Tipo 1 (logical data link) è un servizio non affidabile e non orientato alla connessione, costituito da singoli datagrammi che vengono trasmessi in modo indipendente l'uno dall'altro e senza richiedere alcuna comunicazione preliminare. È possibile la trasmissione verso una sola stazione (unicast), più stazioni (multicast) o l'intera rete (broadcast). D'altra parte, non è garantita la consegna dei singoli elementi e neppure che sia rispettata la sequenza di trasmissione. Inoltre, non è prevista alcuna forma di correzione degli errori né di controllo di flusso; qualora tali funzioni siano necessarie, devono essere fornite dai protocolli di livello superiore.
* Tipo 2 (data link connection) è un servizio affidabile e orientato alla connessione, che richiede l'apertura di un canale di comunicazione tra una stazione sorgente e una destinazione (unicast o punto-punto) per consentire lo scambio dei dati. Sono presenti meccanismi di correzione degli errori e di sequenziamento che garantiscono la consegna dei dati inviati nella sequenza di trasmissione. Si tratta di una connessione simmetrica, in cui ciascuno dei due interlocutori è responsabile dei dati di cui è l'origine. È concettualmente analogo ad altri protocolli affidabili di livello 2 quale HDLC.
* Tipo 3 è una modalità di servizio logical data link alternativa, che pur essendo non orientata alla connessione prevede una conferma di ricezione (acknowledge) per i datagrammi inviati e garantisce la consegna ordinata dei dati trasmessi. Anche in questo caso non sono richieste comunicazioni preliminari allo scambio dei dati. La consegna di ricezione può essere indipendente o sfruttare eventuali datagrammi di risposta.

### Struttura della PDU

Una PDU del protocollo LLC è costituita dai seguenti elementi:
* DSAP address (indirizzo Service Access Point di destinazione): 8 bit, di cui il meno significativo indica se fa riferimento a un SAP individuale o di gruppo;
* SSAP address (indirizzo Service Access Point di origine): 8 bit, di cui il meno significativo indica se il messaggio costituisce un comando o una risposta;
* Control (Controllo): 8 bit per le modalità di connessione che non richiedono un numero di sequenza, 16 bit altrimenti;
* Information (Dati): 0 o più byte (non è stabilito un limite massimo, ma PDU troppo grandi potrebbero essere frammentate dal livello MAC).