LIVELLO DATA LINK (DI LINEA) 1 TRASMISSIONE 2 FRAMING 3 CONTROLLO DEGLI ERRORI 4 CONTROLLO DI FLUSSO 1 Asincrona 2 Sincrona 1 Orientata al byte 2 Orientata al bit 1 Codici correttori 2 Codici Rivelatori 1 Stop and wait 2 Sliding windows 3 Nack PROTOCOLLI DI LINEA 1 Punto a punto 5 NEI COLLEGAMENTI 2 Multipunto 1 Aloha 2 CSMA 6 ALLOCAZIONE DEL CANALE 3 Prenotazione 1 Go back n 2 Selective repeat
7 APPLICAZIONE 6 PRESENTAZIONE 5 SESSIONE 4 TRASPORTO 3 RETE 2 LINEA 1 FISICO Suddivisione in frame Aggiunta codice di controllo
Trasmissione 1. Asincrona Intervallo di tempo tra due frame imprecisato 2. Sincrona SYNC sincronizza la stazione ricevente sulla velocità della stazione trasmittente
Framing Suddivisione in frame del messaggio da trasmttere Orientata al byte (mantiene la suddivisione in byte) DLE STX FRAME DLE ETX DLE STX DLE DLE ETX DLE STX DLE DLE DLE ETX DLE Data Link Escape STX ETX Start of Text End of Text Orientata al bit 01111110 FRAME 01111110 01111110 01111110 01111110 01111110 011111010 01111110 Se nei dati compare la sequenza 01111110, dopo 5 1 consecutivi viene sempre inserito uno 0, che viene eliminato in ricezione.
Controllo degli errori 1. Codici correttori: permettono di correggere l'errore Codice di Hamming 2. Codici rivelatori: permettono solo di rivelare l'errore, ma non di correggerlo CRC (Controllo a Ridondanza Ciclica) Servizio affidabile non affidabile frame corretto (linea simplex) ritrasmesso scartato
Controllo di flusso Riguarda un Servizio affidabile (correttezza dati) orientato alla connessione (ordine frame) Tecnica Stop and wait Nell'esempio sottostante vediamo cosa succede nel caso di perdita o danneggiamento di un frame durante la sua trasmissione. Se il mittente non riceve il riscontro riinvia il frame Nell'esempio sottostante vediamo cosa succede nel caso di perdita o danneggiamento di un riscontro durante la sua trasmissione. Se il mittente non riceve il riscontro riinvia il frame
Tecnica Sliding windows finestra mittente ricevente Numeri dei frame spediti ma per cui non ha ancora ricevuto il riscontro Numero dei frame inviati ma per cui non ha ancora inviato il riscontro Per ogni posizione nella finestra serve un buffer buffer Lato mittente: mittente ricevente frame di cui non ha ricevuto il riscontro frame non ancora passati al livello di rete Se viene raggiunta la dimensione massima per la finestra di trasmissione, il livello di data link non può più accettare dal livello di rete altri pacchetti da spedire. Quando il mittente riceve un riscontro, il lato inferiore della finestra viene aumentato di 1 e viene liberato il buffer corrispondente. All'invio di ogni frame viene fatto partire un timer, se il timer scade prima che venga ricevuto un riscontro, il frame viene rispedito. Quando si riceve un riscontro per un frame, vengono considerati ricevuti anche tutti i riscontri per i frame precedenti. Si accorge che deve rispedire un frame quando scade il timer corrispondente Lato ricevente: La dimensione della finestra del ricevente è fissa ed è pari al numer di buffer disponibili. I numeri contenuti nella finestra indicano la sequenza dei numeri progressivi di frame attesi. Ogni volta che arriva un frame, si controlla se il suo numero prograssivo cade all'interno della finestra, se è così viene memorizzato nel buffer, ma non viene passato al livello di rete finchè tutti i frame con numeri più bassi non sono stati ricevuti.
Sliding windows di tipo GO BACK N Sliding windows di tipo selective repeat Tecnica Nack (frame di riscontro negativo) Se il ricevente si accorge di aver ricevuto un frame errato, invece di aspettare che scada il timer del mittente, manda un nack con la richiesta di ritrasmettere il frame. Tecnica Piggybacking Quando una stazione riceve un frame dati, invece di inviare immediatamente un riscontro, aspetta di dover inviare a sua voltaun frame di dati e inserisce il riscontro in un campo del frame di dati, mandando un unico frame invece di due.
Protocolli di linea Collegamento punto a punto: tra ogni coppia di stazioni vi è una linea Collegamento multipunto: più stazioni slave sono collegate a una stazione master mediante derivazioni di una stessa linea Per collegamenti punto a punto multipunto metodo a contesa (l'iniziativa della trassmissione può essere presa da una qualsiasi delle stazioni collegate) polling/selecting (Il controllo della trasmissione è a carico della stazione master che interroga ciclicamente le stazioni slave per verificare se hanno messaggi da inviare o se sono pronte a ricevere) Protocollo HDCL (High Level Data Link Control) Orientato al bit Di solito usa un servizio connesso (garantisce che i frame arrivino ordinati) e affidabile (garantisce la consegna e la correttezza dei dati). Per il controllo di flusso usa la tecnica della finestra scorrevole e per l'invio degli ack la tecnica del piggybacking. Si può usare sia nel collegamento punto a punto che multipunto. Protocollo PPP (Point-to-Piont Protocol) Orientato al byte Di solito usa un servizio non affidabile (non garantisce la consegna e la correttezza dei dati) Utilizzato come standard Internet per i collegamenti punto a punto. Permette di trasportare più tipi di protocolli su un'unica connessione. Permette l'autenticazione.
Allocazione del canale multiaccesso Il livello data link stabilisce chi deve usare il canale quando c'è un conflitto per utilizzarlo. Aloha In caso di collisione la stazione aspetta un tempo casuale e poi riprova a spedire CSMA (Carrier Sense Multiple Access- accesso multiplo con rilevamento del canale) La stazione ascolta il canale se è libero trasmette il frame Prenotazione della trasmissione Le stazioni si possono prenotare durante il loro slot temporale, poi trasmetteranno in ordine di prenotazione. Token ring Usato nelle reti ad anello La stazione che vuole trasmettere deve impadronirsi del gettone.