190 likes | 487 Views
GESTIONE ERRORI: CHECKSUM. Livello 4 Trasporto. La definizione di errore in un sistema di comunicazione a codifica binaria.
E N D
GESTIONE ERRORI: CHECKSUM Livello 4 Trasporto
La definizione di errore in un sistema di comunicazione a codifica binaria. • Un errore in un sistema di comunicazione a codifica binaria si verifica quando viene trasmesso dal controllore del canale un bit e dal decodificatore del ricevitore lo stesso bit viene stimato con il valore opposto.
Le tecniche a ridondanza di blocco • Molto utilizzate perché facilmente implementabili sia via HW che via SW. • Si basano sull’aggiunta di simboli calcolati valutando un blocco di parole. • Si prefiggono l’obiettivo di ottenere la più alta probabilità di rilevare l’eventuale errore introducendo la minor ridondanza. 11010110
La somma di controllo (checksum) • La parola di controllo si calcola effettuando la somma algebrica modulo 2 di tutti i codici delle singole parole. • Il gruppo originario viene trasmesso accodandovi la checksum. • Il ricevitore ripete la stessa operazione del trasmettitore e confronta la parola di controllo ricevuta con quella calcolata.
La costruzione della checksum • La checksum è utilizzata per trasmissioni su brevi distanze. • I byte da trasmettere vengono suddivisi in gruppi. • Si calcola l’OR esclusivo (XOR) per ciascun gruppo di bit. • Il risultato di questa operazione è un byte che viene trasmesso in coda.
La rilevazione dell’errore • Se la parola di controllo ricevuta e quella calcolata sono diverse allora è occorso un errore sicuramente. • Se la parola di controllo ricevuta e quella calcolata sono uguali allora è probabile che nessun errore sia occorso.
La non correzione dell’errore • Se ogni carattere è costituito da n bit allora sarà trasmessa una ulteriore configurazione di n bit indipendentemente dalla lunghezza del messaggio. • Questa tecnica non consente l’individuazione dell’errore.
Un primo esempio • La checksum si ottiene applicando la tabella di verità dell’XOR (OR esclusivo) per cui risulta: 110101+ 000111= 110010
Dati trasmessi 00110010 01010111 00001111 10110011 11110111 00000001 11001100 01101101 10001110 Dati ricevuti 00110010 01010111 00001111 10110011 11110111 00000001 11001100 01101101 10001110 Un secondo esempio: nessun errore!
Dati trasmessi 00111100 01010101 01110000 11001100 00011111 11001010 00000010 01101001 01101011 Dati ricevuti 00111100 01010100 01111000 01001100 00011111 11001010 00000010 01101001 11100010 Un terzo esempio: probabile errore!
Un primo esercizio • Verificare che la checksum del seguente blocco 10101010 00001111 00110011 01111110 11100111 00000001 01100110 vale 01101000.
Un secondo esercizio • Codificare la propria data di nascita in binario su otto bit (un byte) per ciascuna cifra decimale e aggiungere il byte di ridondanza secondo la tecnica della checksum. Suggerimento: consultare la tabella di conversione ASCII (American Standard Code Information Interchange).
Codice ASCII • Il codice ASCII viene rappresentato in una tabella Ascii con 128 caratteri (7bit). Il codice ASCII esteso e la sua relativa tabella estesa hanno una capacità di 256 caratteri (8bit). • L'ASCII standard è un codice a 7bit che inserito in un byte, ne rappresenta la parte meno significativa, da 0 a 128 appunto, con l'ottavo bit sempre a zero. I 128 caratteri ASCII rappresentati sono suddivisi in caratteridi controllo (i vari NULL CR Lf e seguenti) e 96 caratteri stampabili ( i caratteri alfanumerici). L’ottavo bit (meno significativo) è il primo partendo da destra!