Reti di calcolatore e Applicazioni Telematiche – Livello Dati Lezioni di supporto al corso teledidattico E.Mumolo. DEEI [email protected] Funzioni del livello dati • • • • Fornisce una interfaccia al livello di rete Divisione in trame Controllo d’errore Controlle di flusso Funzioni del livello dati Relazione tra pacchetti e frame. Divisione in frame mediante conteggio Trasmissione di una stringa di caratteri (a) Senza errori (b) Con un errore Divisione in frame con flag byte Flag byte: sequenza di 8 bit: 01111110 Se nei dati c’è una sequenza di cinque “1” consecutivi, il trasmettitore inserisce uno zero Il ricevitore, se vede cinque “1” sequiti da “0”, toglie lo zero Divisione in frame con flag byte (a) Dati (b) Trasmesso (c) Ricostruito Divisione in frame con violazione codifica Alcune codifiche di bit richiedono una alternanza di livelli positivo e negativo Manchester Violando questa regola si ottiene una sicura delimitazione di frame Codifiche di bit NRZ NRZ RZ RZ Manchester Codifiche di bit Manchester/Manchester differenziale 4B/5B ogni sequenza di bit ha almeno due transizioni Trattamento degli errori • Codici correttori • • • Hamming Reed/Solomon Codici di rilevazione • • • CRC Parità Checksum Codici per rilevare errori: CRC Stringhe binarie polinomi M(x) con coefficienti binari Polinomio generatore G(x) di grado r Divisione xrM(x)=Q(x)G(x)+R(x) Calcolo T(x)=xrM(x)-R(x) Trasmissione T(x)…ricezione T(x)+E(x) Il ricevitore divide [T(x)+E(x)]/G(x) Se il resto è diverso da zero errore Controllo di flusso Continua Semplice protocollo per canale senza errori Stop-and-Wait Protocollo per un canale rumoroso Continua