Elementi di Reti per Telecomunicazioni (Parte II) Corso di Telecomunicazioni Anno Accademico 2008/2009
Interfacciamento di Reti di Monitoraggio Ambientale Rete A Rete B Gateway: device di interfacciamento tra due reti. Si deve occupare di gestire il trasferimento dati tra le due reti tenendo conto della diversità degli indirizzi, del protocollo in uso e dei servizi offerti. Si possono distinguere tre tipi fondamentali di Gateway: Repeater Bridge Router
Repeater Forniscono connessione fisica tra segmenti della stessa rete. Sono entità non intelligenti (senza software) e copiano semplicemente i bit di informazione tra un segmento di rete ed il successivo. Un repeater è, ad esempio, un Hub all interno di una LAN Application Presentation Session Transport Network Data Link Physical Stack protocollare Network Network Data Link Data Link Physical Physical Application Presentation Session Transport Network Data Link Physical
Bridge Interconnettono due reti a livello data-link. Possono essere utilizzati per interfacciare due reti identiche o due reti differenti ma con lo stesso strato di rete. Sono trasparenti alla rete e non necessitano di un indirizzo. (IEEE 802 LAN) Application Presentation Session Transport Network Data Link Physical Stack protocollare Network Network Data Link Data Link Physical Physical Application Presentation Session Transport Network Data Link Physical
Router Sono utilizzati per interconnettere reti che abbiano lo stesso strato di trasporto ma differente strato di rete (IEEE LAN / X-25). Un router ha un indirizzo per ogni rete interconnessa. Application Presentation Session Transport Network Data Link Physical Stack protocollare Network Network Data Link Data Link Physical Physical Application Presentation Session Transport Network Data Link Physical
Controllo degli Errori Error concealment: con tale strategia è possibile individuare gli errori e scartare l informazione corrotta. Tecnica largamente adottata nei sistemi di comunicazione audio-video, con bassi tassi di errore. Automatic Repeat ReQuest (ARQ): come prima gli errori vengono individuati e viene richiesta la ri-trasmissione dei dati corrotti. Tale strategie permette di avere bassi tassi tassi d errore con una complessità relativamente ridotta. Forward Error Correction: in questo caso simboli addizionali vengono aggiunti al messaggio in modo che sia possibile ricostruire l informazione corrotta dal canale.
Error Detection Header Data FCS Trasmissione Se il Frame Check Sequence (FCS) è diverso da quello che il destinatario si aspetta, è presente un errore. Viceversa la trasmissione è avvenuta in maniera corretta. Se la funzione che costituisce l FCS è tale da rivelare solo un numero dispari di errori (bit di parità), quando gli errori occorsi sono in numero pari essi sono trasparenti al destinatario
ARQ Stop and Wait: viene trasmesso un messaggio alla volta. Il messaggio successivo viene inviato solamente all atto della ricezione di un ACK. Quando si verifica un errore viene ritrasmesso il pacchetto corrotto. Go Back N: al verificarsi di un errore, l algoritmo torna indietro fino al pacchetto corrotto (N) e ri-trasmette nuovamente tutti i pacchetti da N in poi. Selective Repeat: i pacchetti sono numerati sequenzialmente in modo che sia possibile ri-trasmettere solamente il pacchetto che contiene l errore. Mittente Destinatario Data header ACK Trasmissione Ricezione ACK Data header ACK Tempo
ARQ vs. FEC ARQ prevede la ri-trasmissione del pacchetto in cui si è verificato un errore. Tale strategia è efficace quindi, quando la probabilità di commettere un errore in trasmissione è relativamente bassa. ARQ è preferibile nel caso il canale introduca pochi errori ma pesanti (ovvero che richiederebbero troppa ridondanza con uno schema FEC). FEC fornisce informazioni di ridondanza per la ricostruzione dell informazione danneggiata. Tale ridondanza deve essere dimensionata in base al peggiore dei casi possibili. Ciò ovviamente si traduce in un peggioramento della capacità di canale. La strategia FEC risulta essere più complessa di una ARQ, in quanto è sicuramente più facile realizzare una error detection piuttosto che una error correction.
Codifica di Canale Le modifiche che introduce il canale sul messaggio da trasmettere non sono note se non in senso statistico. Nasce l esigenza di definire un codice che permetta, in ricezione, di individuare gli errori e di correggerli. Si aggiunge ridondanza (informazione aggiuntiva) al messaggio da trasmettere. La codifica di canale è, quindi, l operazione mediante cui una trasmissione, in forma numerica, può essere protetta dagli effetti dei disturbi (soprattutto il rumore termico) introdotti dal canale e dagli apparati che elaborano il segnale. Più precisamente, attraverso una opportuna strutturazione della sequenza dei simboli trasmessi, è possibile, in ricezione, rivelare la presenza di errori o, ancora meglio,correggerne fino a un numero prefissato, dipendente dalle caratteristiche del codice.
Codifica di Canale La codifica di canale è volta a garantire che i bit da trasmettere arrivino a destinazione senza errori durante l attraversamento del mezzo trasmissivo. Questo si realizza con l aggiunta di bit ridondanti, ovvero che non contengono informazione, ma che consentono, una volta giunti a destinazione, di verificare se ci siano stati errori. Si hanno così i codici ad individuazione di errore e i codici a correzione di errore. La ridondanza (intesa come sequenza di simboli nota) deve essere aggiunta in modo da rendere efficiente la codifica: ovvero deve essere tale da differenziare (distanziare) i messaggi trasmessi sul canale.
Esempio Applicativo Alfabeto Fonico Un esempio è dato dall alfabeto fonico; in pratica la ridondanza aggiunta deve essere tale da rendere differenti (distanti) due parole di codice molto simili (vicine). L error correction viene realizzata scegliendo, tra tutte le parole di codice valide, quella a minor distanza dalla parola di codice ricevuta. A d c d d B d c d min =d d + d c
Distanza di un codice Distanza di Hamming: numero di bit di cui differiscono le parole di codice. 110 111 110 111 100 101 100 101 010 011 011 010 000 001 000 001 Il primo codice ha una distanza minima pari a 1. Non può correggere od individuare errori (ogni errore forma una nuova parola di codice valida). Il secondo codice ha una distanza minima pari a 2. Può individuare un singolo errore ma non correggerlo (010 potrebbe essere 000, 011, 110).