La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Presentazioni simili


Presentazione sul tema: "Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo."— Transcript della presentazione:

1 Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo

2 Sistemi e Tecnologie della Comunicazione Lezione 1: introduzione e generalita’ sulle reti di trasmissione dati

3 Informazioni generali Docente: Alessandro Brunengo e-mail: alessandro.brunengo@ge.infn.it telefono: [353] 6317 lab: Dipartimento di Fisica, PF1, L107 orario preferenziale: prendere appuntamento Sito del corso: http://www.ge.infn.it/~brunengo/STC

4 Informazioni generali Orario delle lezioni: mercoledi’ ore 14-16 aula 711 venerdi’ ore 9-11 aula 711 Valutazione: prova orale 20-30 minuti, 2 domande (3 se necessario) non e’ prevista una prova intermedia Esami in date da definire (appelli a giugno, luglio, settembre, febbraio)

5 Testi di riferimento Lucidi delle lezioni (sul sito del corso) A. S. Tanenbaum, “Reti di calcolatori”, IV ed., Prentice Hall W. Stallings, “Trasmissione dati e reti di computer”, Jackson W.Stevens, “Unix network programming”, Prentice Hall

6 Programma Generalita’ sulle reti di comunicazione Architettura delle reti e modelli di riferimento (OSI, TCP/IP) Phisycal Layer Funzionalita’ del livello fisico Caratterizzazione di dati, segnali, trasmissione Serie e trasformate di Fourier Caratterizzazione del segnale in frequenza Caratterizzazione del canale Alterazione delle trasmissioni dati Trasmissione dei segnali e codifica dei dati Multiplexing Mezzi trasmissivi

7 Programma (2) Data Link Layer (connessioni punto-punto) Funzionalita’ del livello di data link Framing Checksum e controllo errori Gestione della trasmissione Controllo di flusso Esempi di protocolli

8 Programma (3) Data Link Layer (connessioni broadcast) Protocolli di accesso al canale Protocolli Ethernet Altri protocolli LAN Wireless Bridging e switching Virtual LAN

9 Programma (4) Network Layer Funzionalita’ del livello di rete Algoritmi di routing Routing gerarchico Routing multicast e broadcast Controllo congestione Tunneling

10 Programma (5) Network Layer in TCP/IP IP: struttura del pacchetto ed indirizzamento ICMP ARP/RARP/BOOTP Protocolli di routing (RIP/OSPF/BGP) IPV6 (cenni)

11 Programma (8) Transport Layer Funzionalita’ del livello di trasporto Indirizzamento Connessione Controllo di flusso Il trasporto in TCP/IP (Protocolli TCP ed UDP) Cenni sulle librerie socket

12 Programma (9) Cenni sullo sviluppo di Internet Cenni sulla struttura della rete di Dipartimento e della rete Universitaria Cenni sulla struttura della rete di ricerca nazionale ed internazionale

13 Generalita’ sulle reti Esigenza emergente nel XX secolo: raccolta, trasferimento, archiviazione ed accesso ad informazioni (di tutti i tipi) Le reti di comunicazione telefono radio televisione Le reti di computer Convergenza della rete di comunicazione verso la rete di computer

14 Scopi ed applicazioni delle reti di calcolatori Condivisione delle risorse stampanti, scanner, fax, programmi, dati Accesso a risorse centralizzate potenza di calcolo, database, area di storage, accesso alla rete esterna, modelli client-server Affidabilita’ e performance ridondanza dei servizi condivisi distribuzione del carico su piu’ server Scalabilita’

15 Reti e sistemi distribuiti Una rete di computer e’ un insieme di calcolatori interconnesso L’accesso ad una risorsa remota presuppone la connessione esplicita verso un calcolatore della rete (es. terminale remoto, file transfer) Un sistema distribuito e’ un sistema di calcolatori (interconnesso) e software che appaiono all’utente come una unica risorsa L’esistenza di diversi calcolatori e’ resa trasparente all’utente tramite software (e hardware) opportuno (es. database, WWW)

16 Evoluzione verso i servizi Servizi bancari/economici/finanziari acquisti, fatturazione, operazioni bancarie Servizi di accesso ad informazioni riviste, giornali, biblioteche, WWW Comunicazione tra individui posta elettronica, video conferenza, chat, newsgroop Intrattenimento video on demand, giochi distribuiti, realta’ virtuale condivisa

17 Componenti di una rete Calcolatori dedicati alla esecuzione dei programmi utente (host o end system) Sistema di interconnessione degli host (sottorete), costituito da linee di trasmissione (canali) elementi di commutazione (IMP: Interface Message Processor, Intermediate System)

18 Caratteristiche di una rete Velocita’ di trasmissione Affidabilita’ Flessibilita’ Scalabilita’ Costi

19 Unita’ di misura bit: quantita’ minima di informazione (0 o 1) byte: insieme di 8 bit carattere: gruppo di bit costituente una informazione unitaria (generalmente pari a 1 byte) velocita’ di trasmissione dei dati: b/s = 1 bit al secondo (anche bps) Kb/s = 1000 b/s (Kbps) Mb/s = 1000 Kb/s (Mbps) Gb/s = 1000 Mb/s (Gbps) velocita’ di trasmissione dei simboli: baud = 1 simbolo al secondo se 1 simbolo trasporta N bit di informazione, 1 baud = N b/s

20 Unita’ di misura (2) Misure di tempo secondo (s): misura base millisecondo (ms): 0.001 s ( s) microsecondo (µs): 0.001 ms ( s) nanosecondo (ns): 0.001 µs ( s) picosecondo (ps): 0.001 ns ( s) Misure di occupazione disco: kilobyte (KB): bytes (1.024 bytes) megabyte (MB): bytes (1.048.576 bytes) gigabyte (GB): bytes (1.073.741.824 bytes) terabyte (TB): bytes

21 Topologie di rete La topologia della rete e’ la configurazione con cui gli host e gli IMP sono interconnessi. Esistono sostanzialmente due categorie di topologie: broadcast: gli oggetti connessi in rete condividono lo stesso mezzo trasmissivo (lo stesso canale) punto a punto: ogni canale connette direttamente tra loro solo due oggetti

22 Topologie broadcast

23 Reti broadcast La trasmissione dei dati di un host raggiunge tutti gli altri. Sono possibili: trasmissioni unicast (verso un singolo host) trasmissioni multicast (verso gruppi di host) trasmissioni broadcast (per tutti gli host connessi) Protocolli semplici, alta affidabilita’ Va gestito il problema di allocazione del canale Frequente nelle reti di piccole dimensioni

24 Topologie per reti punto a punto

25 Reti punto a punto Fino ad alcuni anni fa, utilizzata nelle reti di grandi dimensioni; ora alcune topologie (albero) sono diffuse anche per reti di piccole dimensioni Nelle topologie non completamente interconnesse va gestito il recapito dei dati dalla sorgente alla destinazione tramite l’inoltro a nodi intermedi, eventualmente attraverso cammini multipli

26 Reti locali (LAN) Reti che coprono un edificio o un campus (fino a qualche Km), tipicamente di proprieta’ e gestite da una unica organizzazione (private) In passato quasi esclusivamente di tipo broadcast – ora realizzate anche con topologie a stella e ad albero Velocita’ trasmissive elevate (da 10 Mb/s a 10 Gb/s) un tempo irraggiungibili su distanze elevate Bassi tassi di errori trasmissivi Esempi di protocolli: Ethernet/Fast Ethernet/Gigabit Ethernet (bus ed albero) FDDI (anello e doppio anello) Token bus e token ring (bus ed anello)

27 Reti geografiche (WAN) Copertura di aree estese (una regione, una nazione, un continente, il pianeta) Topologie punto a punto Tassi di errore piu’ elevati (ma in calo con lo sviluppo della tecnologia) Velocita’ in passato piu’ basse che nelle LAN, ma lo sviluppo della tecnologia ha reso possibili velocita’ paragonabili o superiori Costituiscono spesso la sottorete di interconnessione tra reti locali Generalmente pubbliche

28 Reti metropolitane (MAN) Le reti metropolitane coprono distanze dell’ordine di decine di Km (tipicamente una citta’) Spesso sono una evoluzione in crescita di una o piu’ reti locali, o una infrastruttura (generalmente pubblica) per l’interconessione di reti locali della stessa area geografica

29 Interconnessione di reti Per interconnessione di reti (internet) si intende un insieme di reti (LAN, MAN, WAN) potenzialmente differenti nella struttura e nei protocolli utilizzati, interconnesse. L’interconnessione e’ realizzata attraverso opportune apparecchiature (gateway) capaci eventualmente di convertire i protocolli di una rete nei protocolli dell’altra Il termine Internet definisce la internet globale che tutti conoscono

30 Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

31 Standardizzazione Una tecnologia di interesse prima o poi viene prodotta a livello industriale L’esistenza di diversi produttori con implementazioni indipendenti ed incompatibili genera caos La definizione di standard e’ indispensabile: per poter far cooperare oggetti di produttori diversi perche’ aumenta il mercato dei prodotti che aderiscono allo standard Esistono standard de jure e de facto

32 ITU International Telecommunication Union Nasce come esigenza di definire uno standard per le telecomunicazioni tra i diversi paesi gia’ nel 1865 (prima telegrafia, poi telefonia) Nel 1947 diviene organismo delle Nazioni Unite Diviso in tre settori: ITU-R (comunicazioni radio) ITU-T (telecomunicazioni, noto fino al 1993 come CCITT) ITU-D (ricerca e sviluppo)

33 ITU (2) Costituito essenzialmente da governi nazionali e membri di settore (societa’ telefoniche, produttori di hardware, produttori di servizi nel settore) Ministreo delle Comunicazioni, FastWeb, Alcatel, TIM, Telecom Italia, Vodafone Omnitel, Wind Produce delle raccomandazioni (suggerimenti che i governi possono adottare o meno) ma spesso diventano standard riconosciuti Esempi: V.24 (EIA RS-232): comunicazione via porta seriale CCITT X.25: standard per la comunicazione dati di tipo circuit switching V.90: standard per la comunicazione via modem a 56 Kbps

34 ISO International Standard Organization Organizzazione che produce e pubblica gli standard internazionali (su tutto) Membri: gli organismi di standardizzazione nazionali dei paesi membri (89 nel 2004) ANSI (per gli USA) uno dei membri principali UNI (Ente Nazionale Italiano di Unificazione) per l’Italia L’ISO e’ membro dell’ITU

35 IEEE Institute of Electrical and Electronics Engineers La piu’ grossa organizzazione professionale del mondo Sviluppa ricerca e produce standards nei settori di ingegneria elettrica e computers I suoi standard spesso vengono adottati come standard internazionali. Ad es., sulle reti locali: IEEE 802.3 (Ethernet) IEEE 802.5 (Token ring) IEEE 802.11 (Comunicazione wireless)

36 Standard di Internet Molti degli standard adottati in Internet sono un esempio di standard de facto Alla creazione della prima rete embrionale Arpanet e’ stato creato un comitato per la sua supervisione (IAB: Internet Activities Board) In seguito all’ampliamento della rete si trasforma in organismo per “orientare gli sviluppatori” con nuovo acronimo (Internet Architecture Board) I rapporti tecnici che produce si chiamano RFC (Request For Comment), numerati sequenzialmente. Non hanno formalmente valore di standard, ma di fatto lo sono. Con la realizzazione di Internet l’informalita’ della gestione non regge piu’: vengono creati due organismi: IRTF (ricerca a lungo termine) IETF (soluzioni rapide a problemi specifici) Infine e’ stata creata la Internet Society, che elegge i membri di IAB. E’ piu’ una associazione di interessati che un organismo di standardizzazione.

37 Architettura di rete Una rete e’ costituita da componenti hardware (cavi, interfacce, circuiti integrati, processori, RAM,…) e componenti software (per la implementazione di algoritmi finalizzati al trasferimento dei dati non realizzabili in hardware). L’architettura di una rete definisce le specifiche con cui si vuole realizzarla

38 Architettura strutturata Per ridurre la complessita’ del problema lo si spezza in parti Si definisce l’insieme di compiti che ogni parte deve eseguire Si definiscono i meccanismi con cui le diverse parti interagiscono tra loro Si maschera la implementazione di ciascuna parte alle altre parti

39 Architettura stratificata Una strutturazione ritenuta idonea per una architettura di rete e’ la stratificazione La rete viene strutturata in livelli (strati, o layer), visti come una pila di oggetti Ciascuno strato ha come compito quello di fornire un servizio allo strato superiore. La definizione delle regole di accesso ai servizi offerti da uno strato costituisce la interfaccia tra quello strato e lo strato superiore, ed e’ l’unica cosa che lo strato superiore deve conoscere Ciascuno strato realizza i servizi per lo strato superiore comunicando logicamente con lo strato paritario del nodo remoto, attraverso un insieme di regole dette protocollo. Lo scambio di dati con lo strato paritario viene realizzato fisicamente utilizzando i servizi dello strato sottostante. I dettagli implementativi di come i servizi che lo strato N fornisce allo strato N+1 vengano realizzati (il protocollo di strato N) sono sconosciuti agli altri strati

40 Struttura a strati

41 Lo strato Uno strato e’ definito quando sono definite le sue funzioni Uno strato puo’ occuparsi dello scambio dei dati tra due applicazioni, senza occuparsi di questioni relative al modo in cui i dati debbano viaggiare sulla rete, o alla codifica dei dati Un altro strato puo’ occuparsi di come recapitare i dati attraverso i vari nodi della sottorete, senza occuparsi ne’ del significato dei dati, ne’ del modo in cui vanno codificati i bit sul mezzo trasmissivo Un terzo strato puo’ infine occuparsi della comunicazione tra nodi adiacenti, senza preoccuparsi di quale sia il destinatario finale dei dati, ne’ del significato dei dati stessi

42 Il protocollo Un protocollo e’ un insieme di regole che definiscono la comunicazione tra due (o piu’) entita’ Esempio: protocollo per trasferimento di file il client comunica al server “voglio trasferire un file” ed attende la risposta dal server il server risponde “e tu chi sei?” ed attende la comunicazione dal client il client invia lo username il server risponde non sei autorizzato dammi la password nel primo caso il client chiude, nel secondo invia la password il client comunica il nome del file che vuole trasferire il server fornisce il file il client legge il file e lo copia localmente alla fine il server chiude la comunicazione

43 Protocol Data Unit Il protocollo definisce quindi le modalita’ con cui due entita’ comunicano Generalmente un protocollo prevede lo scambio di dati e di informazioni di controllo per gestire la comunicazione; ad esempio: informazioni di controllo per negoziare le caratteristiche della comunicazione (la dimensione dei pacchetti, la velocita’, …) informazioni di riscontro (acknowledge) sulla ricezione dei dati Il pacchetto unitario (dati o informazioni di controllo) che si scambiano due strati pari e’ detto PDU Normalmente ci si riferisce alla PDU dello strato X con la sigla X-PDU, o XPDU

44 Il servizio Il servizio offerto da uno strato allo strato superiore definisce cosa lo strato superiore puo’ ottenere dallo strato inferiore; ad esempio: servizio di recapito dei dati affidabile o non affidabile servizio orientato alla connessione o connection less lo strato puo’ implementare il controllo di flusso servizi di comunicazione multicast o broadcast Il servizio e’ sostanzialmente la definizione di un rapporto client-server, dove il client e’ lo strato superiore ed il server e’ lo strato inferiore

45 L’interfaccia L’interfaccia tra due strati adiacenti definisce le modalita’ con cui lo strato superiore puo’ usufruire dei servizi offerti allo strato inferiore L’interfaccia e’ specificata dalla definizione di primitive di servizio, che istruiscono lo strato inferiore ad eseguire determinate azioni L’interfaccia definisce anche i parametri che gli strati si scambiano (ad esempio un puntatore alla PDU che lo strato superiore deve inviare o ched lo strato inferiore deve recapitare) nel caso di implementazioni software, le primitive di servizio sono di fatto chiamate a funzione, ed i parametri sono gli argomenti delle funzioni

46 Definizione della architettura L’architettura della rete si realizza con la definizione degli strati (partizionamento delle funzionalita’), dei protocolli (come comunicano i processi paritari) e delle interfacce tra gli strati (quali servizi offre uno strato allo strato superiore e come lo strato superiore accede allo strato inferiore)

47 Flusso dei dati

48 Flusso dei dati (2) Ogni livello organizza la sua comunicazione come se avvenisse direttamente con il processo paritario, secondo il protocollo (flusso virtuale). I dati in realta’ scorrono dal livello superiore al livello inferiore nel nodo che trasmette, ed in senso inverso nel nodo che riceve In generale un livello N preleva la PDU del livello N+1, e costruisce la propria PDU: se necessario spezza la PDU dello strato superiore in pezzi aggiunge in testa a ciascun pezzo un header con informazioni di controllo se deve, aggiunge in coda a ciascun pezzo un trailer con informazioni di controllo ciscun pezzo cosi’ formato costituisce una PDU del livello N Il livello N accede quindi ai servizi dello strato N-1 per inviare i dati al processo paritario N sul nodo remoto

49 Servizi orientati alla connessione La comunicazione si sviluppa in tre fasi: attivazione della connessione: in questa fase non ci si scambiano “dati”, ma si eseguono le operazioni necessarie al successivo scambio di dati (si allocano le risorse, ci si accorda sulle modalita’ di comunicazione, eventualmente si rifiuta la connessione, …) trasferimento dati: non e’ necessario che i dati siano indirizzati, in quanto la loro destinazione e’ determinata dall’appartenenza ad una connessione. rilascio della connessione: il rilascio lo si fa in modo che entrambi i lati della connessione siano consapevoli di cio’, e rilascino le risorse L’esempio classico di servizio connection oriented e’ la comunicazione telefonica

50 Servizi non orientati alla connessione La comunicazione non prevede una fase iniziale, ne’ una fase finale: i dati vengono inviati alla controparte senza sapere se e’ pronta a riceverli. Ogni blocco di dati deve riportare l’indirizzo del destinatario (e del mittente) Il servizio non orientato alla connessione funziona come il servizio postale

51 Qualita’ del servizio Servizio affidabile garantisce che i dati arrivino correttamente a destinazione, nell’ordine giusto il servizio connection less puo’ implementare un servizio affidabile utilizzando riscontri sulla ricezione (esempio: posta raccomandata). Il meccanismo dei riscontri (ed eventuale ritrasmissione dei dati) introduce ritardi nella ricezione dei dati Servizio inaffidabile non si occupa di garantire la riuscita del trasferimento dei dati, o dell’ordinamento degli stessi: qualora fosse necessario, si occuperanno della cosa gli strati superiori.

52 Qualita’ del servizio (2) I servizi orientati alla connessione si possono classificare: flusso affidabile di messaggi (servizio affidabile orientato al messaggio: una sequenza di pagine di un libro, fax) flusso affidabile di byte (servizio affidabile orientato al byte: trasferimento file) connessione inaffidabile (servizio non affidabile: telefonia) I servizi non orientati alla connessione si possono classificare: servizio di datagramma inaffidabile (servizio inaffidabile: accesso ad un database) servizio di datagramma affidabile (protocolli di data link layer)

53 Modello OSI Nel 1977 l’ISO ha costituito un gruppo che producesse uno standard universale per le architetture di rete Il modello e’ stato pubblicato nel 1983 col nome OSI (Open System Interconnection) Lo scopo e’ quello di definire una architettura (strati, protocolli, interfacce) in modo sufficientemente preciso da consentire implementazioni indipendenti ma interoperanti in realta’ il modello non definisce esattamente i protocolli ed i servizi, ma piu’ in generale quello che ogni strato deve fare; le specifiche di protocolli e servizi sono state definite e pubblicate a parte.

54 Livelli del modello OSI

55 Livelli OSI: fisico Lo strato fisico si occupa della trasmissione dei bit sul mezzo trasmissivo La sua funzione e’ di fare in modo che un bit 0 sia ricevuto dal livello fisico del nodo remoto come bit 0, e non come 1 Problemi tipici di questo livello sono: la codifica (i valori delle tensioni, la durata dei bit) proprieta’ meccaniche dei connettori specifiche elettriche dei circuiti dell’interfaccia

56 Livelli OSI: data link Lo strato di data link si occupa di trasformare una trasmissione di bit grezzi tra nodi adiacenti in una linea di trasmissione priva di errori non riconosciuti Esegue funzioni quali divisione dei dati in frame controllo degli errori conferma della ricezione (acknowledge) controllo del flusso controllo di accesso al mezzo trasmissivo in caso di canali condivisi (substrato MAC: Medium Access Control)

57 Livelli OSI: network Lo strato di network si occupa del recapito dei dati tra nodi non necessariamente adiacenti (quindi del funzionamento della sottorete di comunicazione) Funzioni caratteristiche sono: suddivisione dei dati in pacchetti indirizzamento dei nodi della rete recapito a destinazione (su quale canale uscente inoltrare i dati provenienti da un canale), solitamente basandosi su tabelle modalita’ di definizione ed aggiornamento delle tabelle controllo della congestione, dei ritardi, dei tempi di transito

58 Livelli OSI: transport Lo strato di trasporto deve prelevare dati dallo strato superiore, eventualmente suddividerli in unita’ piu’ piccole, ed inviarli (tramite lo strato di rete) la nodo remoto occupandosi di controllare che le unita’ arrivino al processo pari del nodo remoto nell’ordine di trasmissione E’ il primo protocollo end-to-end Deve occuparsi del tipo di servizio offerto allo strato superiore (affidabile, non affidabile) OSI specifica solo un servizio connection oriented Affronta diverse problematiche simili a quelle del livello di data link

59 Livelli OSI: session Lo strato di sessione si occupa del controllo del dialogo controllo su quale delle due parti abbia diritto di trasmettere supervisione di una connessione lunga con eventuale ripristino della connessione in caso di fallimento del livello sottostante

60 Livelli OSI: presentation Il livello di presentazione si occupa essenzialmente di rendere trasparente eventuali rappresentazioni differenti dei dati codifiche differenti dei dati (ASCII/EBCDIC, …) ASCII: American National Standard Code for Information Interchange EBCDIC: Extended Binary Coded Decimal Interchange Code compressione crittografia

61 Livelli OSI: application Il livello di applicazione si occupa di definire le specifiche che le applicazioni utente possono utilizzare per accedere alla rete L’ISO ha fornito specifiche su sole tre applicazioni: FTAM (file transfer) X.400 (posta elettronica) X.500 (servizio di directory)

62 Schema del modello OSI

63 Service Access Point Uno strato puo’ fornire servizio a piu’ entita’ dello strato superiore Per essere identificabili queste entita’ devono avere un indirizzo L’indirizzo generico di accesso ad uno strato si chiama Service Access Point (SAP) L’indirizzo di accesso allo strato di Network e’ detto NSAP, allo strato di trasporto TSAP Lo strato N del computer ricevente deve sapere a quale entita’ dello strato N+1 deve recapitare le informazioni, quindi ricevere dal pari l’informazione del SAP dello strato N+1 destinatario

64 Primitive di servizio Nel modello OSI ci sono 4 categorie di primitive: request: una entita’ chiede al servizio di fare qualcosa indication: una entita’ deve essere informata su un qualche evento response: una entita’ vuole rispondere ad un evento confirm: una entita’ deve essere informata sulla sua richiesta

65 Esempio In una comunicazione orientata alla connessione tra due computer si avra’ la seguente sequenza: connect.request: lo strato N chiede che venga stabilita una connessione connect.confirm: lo strato N-1 informa sulla realizzazione della connessione data.request: lo strato N chiede di inviare dati disconnect.request: lo strato N chiede di chiudere la connessione connect.indication: lo strato N viene informato sulla richiesta di connessione connect.response: lo strato N accetta (o rifiuta) la connessione data.indication: lo strato N viene avvisato che sono arrivati dati disconnect.indication: allo strato N viene notificata la richiesta di disconnessione 1 2 3 4 5 6 7 8

66 Sistemi e Tecnologie della Comunicazione Lezione 3: Architettura TCP/IP

67 Commutazione di circuito Una rete estesa, a topologia irregolare, deve occuparsi di come fare a realizzare una comunicazione tra nodi distanti La tecnologia a commutazione di circuito prevede che si stabilisca a priori un percorso dedicato alla trasmissione dei dati, definendo la sequenza di linee punto punto che costituiranno il cammino verso la destinazione Le risorse dedicate alla trasmissione vengono allocate e dedicate a quella specifica trasmissione, e vengono rilasciate alla fine della trasmissione dati Una volta stabilito il circuito, i dati vengono instradati da ogni nodo intermedio verso il canale di uscita predisposto, senza introdurre ritardi

68 Schema di commutazione di circuito

69 Commutazione di pacchetto La tecnologia a commutazione di pacchetto segue una logica completamente differente nessuna risorsa viene preventivamente allocata per la trasmissione dei dati i dati vengono separati in pacchetti, ciascuno dei quali viene inviato indipendentemente dagli altri i pacchetti possono arrivare a destinazione in tempi diversi, con ritardi e perdite, lungo cammini potenzialmente differenti ogni nodo della rete riceve il pacchetto, lo memorizza, prende una decisione su dove instrararlo e lo invia

70 Schema di commutazione di pacchetto

71 Considerazioni sulla commutazione La commutazione di circuito ha le caratteristiche preallocazione risorse, quindi non c’e’ congestione predefinizione del circuito, quindi non c’e’ ritardo per la trasmissione La commutazione di pacchetto e’ caratterizzata da maggiore efficienza perche’ le risorse inutilizzate sono disponibili per altri maggiore flessibilita’ per guasti sulla rete: i pacchetti successivi al guasto possono trovare un’altra strada

72 Modello TCP/IP Il modello nasce da un progetto del Dipartimento della Difesa USA per la realizzazione di una rete di trasmissione solida per le necessita’ del DoD (Advanced Research Project Agency) Lo scopo era quello di realizzare una rete di trasmissione dati dotata delle caratteristiche: Solidita’ rispetto a potenziali eventi distruttivi di una parte della rete Possibilita’ di mettere in comunicazione reti differenti sparse sul territorio L’ARPA decise di progettare e sviluppare una rete a commutazione di pacchetto

73 Architettura del TCP/IP Il TCP/IP e’ nato come realizzazione di un insieme di pezzi che svolgessero determinate funzioni Questi pezzi sono stati sviluppati talvolta per risolvere problemi circostanziati, senza un disegno architetturale a priori Solo dopo la sua realizzazione si e’ tentato di fornire una descrizione in termini di architettura stratificata, in modo analogo al modello OSI La stratificazione risulta tuttavia meno precisa e meno vincolante rispetto al modello OSI (ad esempio, non e’ rigoroso l’impiego di tutti i livelli)

74 Strati del TCP/IP TCP/IP ha una architettura stratificata, come OSI, ma a soli 3 livelli: Application: livello che si occupa di fornire un accesso alla rete alle applicazioni. E’ un livello che equivale ai livelli 5, 6 e 7 di OSI. Transport: livello di trasporto end-to-end, equivalente al livello 4 di OSI Internet: livello di interconnessione di reti, sostanzialmente equivalente nelle funzioni al livello 3 di OSI Sotto al livello internet, non viene specificato nulla se non che deve esistere un modo per recapitare i pacchetti del livello internet; questo talvolta e’ indicato come ulteriore livello, detto di accesso alla rete (host to network)

75 Il livello internet Il livello internet si occupa di come recapitare i dati nella sottorete (routing), e di inviarli infine nella rete di destinazione. E’ specificato un protocollo non orientato alla connessione: IP (Internet Protocol) Il protocollo richiede che per ogni computer connesso alla rete sia definito un indirizzo univoco (indirizzo IP) Questo protocollo suddivide i dati in pacchetti e li instrada utilizzando tabelle che fanno corrispondere ad ogni indirizzo IP un canale in uscita Funzione di questo livello e’ anche la costruzione ed il mantenimento dinamico delle tabelle; sono definiti per questa funzione protocolli che possono essere inseriti in questo strato, anche se utilizzano IP come se fosse un sottolivello

76 Il livello di trasporto Il modello definisce due protocolli differenti per il trasporto: TCP (Transmission Control Protocol) che realizza un servizio di trasporto end-to-end affidabile orientato alla connessione. Questo protocollo si occupa di tutte le questioni caratteristiche del livello di trasporto di OSI UDP (User Datagram Protocol) che realizza un servizio inaffidabile connection less Le applicazioni accedono a questi protocolli tramite i punti di accesso al servizio, che nel modello si chiamano porte (port) Entrambi i protocolli segmentano i dati del livello di applicazione, aggiungono un header, e passano i segmenti al livello di internet

77 Livello di applicazione Originariamente le applicazioni disponibili erano terminale remoto, file transfer e posta elettronica Esistono oggi innumerevoli applicazioni basate su TCP/IP terminale remoto: telnet, rsh, ssh file transfer: ftp, sftp trasferimento pagine di ipertesto: http trasferimento messaggi: smtp, nntp controllo remoto dei nodi della rete: snmp trasporto di interfacce grafiche: X conversione nomi-indirizzi: dns sincronizzazione tra computer: ntp …

78 Flusso dei dati in TCP/IP

79 Schema dei livelli del TCP/IP

80 Considerazioni sui modelli Il modello OSI e’ stato pensato a lungo, ed architettato con cura, ed e’ stato realizzato con una chiara definizione delle funzionalita’ e dei confini tra le sue componenti Tuttavia la complessita’ e la mancanza di esperienza sul campo hanno reso difficile la implementazione pratica funzionale del protocollo Lo standard e’ arrivato troppo tardi: il mondo aveva gia’ preso un’altra strada Alcuni strati sono sostanzialmente inutili, altri molto pesanti Molte funzionalita’ vengono ripetute in modo inefficiente in strati differenti, e mancano funzionalita’ utili (un servizio connection less a livello di trasporto) E’ stata realizzata una implementazione che ha avuto una certa diffusione: Decnet/OSI (dalla DEC): questa e’ stata utilizzata per alcuni anni nella rete di ricerca internazionale, ed in seguito abbandonata Nonostante dichiarazioni di intenti (il DoD affermo’ che avrebbe pensionato i protocolli TCP/IP per una migrazione verso OSI) questa architettura non ha sfondato

81 Considerazioni sui modelli (2) Il modello TCP/IP gode i frutti di una solida esperienza sul campo Il suo utilizzo, diffuso anche grazie alla diffusione del sistema operativo Unix che utilizza TCP/IP come protocollo di rete nativo, si e’ ampliato fino a sbaragliare la concorrenza La sua architettura non e’ ben definita nelle separazioni delle funzioni, e il concetto di stratificazione e’ violato (o violabile) in molte circostanze Il modello e’ inadatto a descrivere protocolli differenti dal TCP/IP, quindi e’ legato alla implementazione specifica Manca totalmente una definizione di come si debba fare per accedere al mezzo fisico (in pratica e’ incompleto)

82 Confronto tra i modelli

83 Apocalisse dei due elefanti

84 Modello ibrido Spesso per parlare di reti si prende come punto di riferimento l’architettura OSI, ma si prende atto che i livelli di session e presentation sono sostanzialmente inutili, e si adotta una struttura a 5 livelli: applicazione trasporto rete data link strato fisico In questo modo si puo’ parlare delle architetture OSI e TCP/IP disponendo di una corrispondenza uno a uno tra gli strati, assumendo che il modello TCP/IP raggruppi nello strato di accesso alla rete i primi due strati OSI (che poi e’ quello che accade in pratica) Nel corso adotteremo questa struttura, fermandoci al livello di trasporto

85 Sistemi e Tecnologie della Comunicazione Lezione 4: strato fisico: caratterizzazione del segnale in frequenza; formula di Nyquist

86 Lo strato fisico Le principali funzioni dello strato fisico sono definizione delle interfacce meccaniche (specifiche dei connettori) tra il mezzo trasmissivo ed il computer definzione delle interfacce elettriche o ottiche (definizione dei livelli di tensione, lunghezze d’onda dei segnali) codifica del segnale (rappresentazione dei dati in termini delle caratteristiche del segnale, modulazione) amplificazione e rigenerazione del segnale definizione delle specifiche del mezzo trasmissivo (cavi, fibre) Lo strato fisico riceve dal livello superiore un insieme di bytes (frame) e lo trasmette sul mezzo trasmissivo come un flusso di bit indipendenti

87 Trasmissione delle informazioni Le informazioni nella trasmissione dati vengono inviate tramite propagazione di segnali elettromagnetici (tensioni, onde radio, luce, …) utilizzando diversi mezzi trasmissivi (cavi in rame, fibre ottiche, aria, spazio vuoto) L’informazione trasmessa viene codificata tramite la variazione di caratteristiche del segnale trasmesso, ed interpretata in ricezione secondo le stesse regole

88 Esempio Possiamo ad esempio pensare di trasmettere la sequenza di bit 0101100100100 tramite un segnale ad impulsi quadri di lunghezza T in modo che al bit 0 corrisponda un valore di tensione 0, al bit 1 corrisponda un valore di tensione V

89 Segnali periodici Nella trasmissione dati hanno particolare importanza i segnali periodici Caratteristiche: ampiezza (A): livello massimo del segnale fase (φ): misura della posizione relativa del segnale ad un dato istante periodo (T): intervallo temporale della periodicita’ frequenza (f): inverso del periodo

90 Caratteristiche dei segnali periodici

91 Altre caratteristiche Per i segnali sinusoidali si definiscono anche: lunghezza d’onda (λ): la distanza in metri tra due punti di uguale fase in periodi adiacenti (la distanza tra due creste d’onda) velocita’ di propagazione (v): la velocita’ con cui si sposta una cresta d’onda nello spazio In base alle definizioni si ha: Velocita’ delle onde elettromagneliche: Per la luce si ha

92 Somma di onde sinusoidali La somma di onde sinusoidali le cui frequenze sono multipli di una di esse e’ ancora un segnale periodico La frequenza piu’ bassa si chiama fondamentale La frequenza si chiama armonica n-esima La frequenza del segnale risultante e’ pari alla frequenza fondamentale

93 Caratterizzazione dei segnali in frequenza In generale un segnale trasmesso in un certo modo in ricezione si presenta differente a causa di effetti dovuti alla trasmissione La trattazione dei segnali in termini della loro evoluzione temporale si rivela complessa Come vedremo in seguito puo’ caratterizzare la risposta della trasmissione dei segnali in funzione della frequenza di un segnale sinusoidale generato in trasmissione Poiche’ non tutti i segnali sono sinusoidali, ne’ periodici, risulta di fondamentale importanza ricondurre la trattazione di un qualsiasi segnale in termini di segnali sinusoidali (a frequenza definita) Esiste una teoria matematica, elaborata da Fourier, che ci permette di considerare ogni segnale come somma di segnali sinusoidali

94 Serie di Fourier Data una qualsiasi funzione periodica di periodo T continua con derivata continua a tratti e limitata, e’ possibile scriverla come somma di seni e coseni: dove f 0 = 1/T e’ la frequenza della funzione I coefficienti dello sviluppo sono dati dalle relazioni:

95 Esempio 1: funzione coseno Eseguiamo lo sviluppo di Fourier della funzione I coefficienti sono: Quindi lo sviluppo e’:

96 Forma esponenziale della serie di Fourier La serie di Fourier puo’ essere scritta in modo piu’ generale (anche per funzioni complesse) nella forma: Per le funzioni reali si ha:

97 Esempio 2: onda quadra L’onda quadra e’ definita come:

98 Esempio 2: onda quadra Il calcolo di coefficienti per l’onda quadra fornisce:

99 Altra rappresentazione La serie di Fourier si rappresenta anche come serie di soli coseni: dove

100 Segnali non periodici Benche’ improprio, si puo’ pensare ad un segnale non periodico come ad un segnale periodico di periodo infinito La frequenza fondamentale (quindi la distanza tra le armoniche) si riduce a zero La rappresentazione del segnale tramite serie di Fourier, in questo limite, sara’ costituita da somma di frequenze sempre piu’ vicine all’aumentare del periodo La serie di Fourier si trasforma da somma in integrale

101 Trasformata di Fourier Data una funzione v(t) integrabile, non periodica e tale che: si ha: dove si dice trasformata di Fourier di v

102 Rappresentazione spettrale di un segnale Il grafico delle ampiezze rispetto alle frequenze di cui e’ composto il nostro segnale si chiama rappresentazione spettrale Le righe della rappresentazione spettrale mostrano il contributo alla ampiezza del segnale dovuto alle relative frequenze Se il segnale ha un valore medio non nullo (cioe’ il coefficiente a 0 non e’ nullo) il segnale ha una componente continua (a frequenza nulla)

103 Spettri continui e discreti Una funzione periodica e’ esprimibile come somma di funzioni sinusoidali a frequenze che sono multipli interi della frequenza del segnale, quindi ha uno spettro discreto, cioe’ costituito da un insieme discreto di frequenze Una funzione non periodica e’ esprimibile come integrale di funzioni sinusoidali; le sue componenti possono avere qualsiasi frequenza, quindi avra’ uno spettro continuo

104 Esempio di spettro continuo Il segnale di impulso quadro di ampiezza A e periodo T ha per trasformata di Fourier la funzione il cui spettro e’ mostrato in figura

105 Potenza di un segnale Si definisce potenza media del segnale periodico la quantita’: In base alle trasformazioni di Fourier, si puo’ dimostrare che la potenza media del segnale periodico e’ data da (teorema di Parseval): Spesso la rappresentazione spettrale viene fatta graficando il modulo dei coefficienti di Fourier dello sviluppo, evidenziando il contributo alla potenza del segnale dovuto alle diverse armoniche Al limite per n ∞ il contributo alla potenza delle armoniche tende a zero (quindi i contributi principali vengono dalle armoniche piu’ basse)

106 Spettro dei contributi alla potenza

107 Larghezza di banda di un segnale La larghezza di banda di un segnale e’ data dall’intervallo delle frequenze di cui e’ composto il suo spettro Generalmente un segnale ha banda infinita Tuttavia spesso la potenza del segnale e’ contenuta per la maggior parte in un insieme limitato di frequenze Questo intervallo limitato di frequenze si dice banda efficace del segnale

108 Limitazione della banda in trasmissione Nella trasmissione dei segnali e’ impossibile trasmettere tutte le frequenze di cui e’ composto il segnale stesso Il mezzo trasmissivo, la tecnologia che genera il segnale o scelte volontarie impongono una limitazione alla banda utilizzabile La trasmissione di un numero limitato delle armoniche del segnale fa si che in ricezione il segnale apparira’ differente Maggiore e’ il numero di armoniche trasmesse, migliore apparira’ il segnale in ricezione

109 Effetto della limitazione di banda Supponiamo di voler trasmettere il carattere ASCII ‘B’, che secondo la codifica e’ dato dalla sequenza di bit 01100010, ad una velocita’ di trasferimento di 2000 bps Il segnale che rappresenta il carattere di 8 bit avra’ un periodo di 8/2000 secondi, quindi una frequenza fondamentale pari a 250 Hz La trasmissione su un canale con banda limitata permettera’ di trasmettere solo le prime armoniche Vediamo nella figura seguente come un canale con 2 KHz di banda (8 armoniche) permette una ricostruzione agevole del segnale inviato, mentre un canale con banda ridotta a 500 Hz (2 armoniche) rende molto piu’ problematica la ricostruzione dei bit trasmessi, che diventa impossibile lasciando passare solo la prima armonica

110 Effetti della limitazione di banda

111 Velocita’ di trasmissione e larghezza di banda Con lo stesso esempio possiamo vedere come la presenza di un canale a banda limitata, di fatto limita la velocita’ di trasmissione dati ottenibile sul canale Supponiamo di avere una linea telefonica, la cui larghezza di banda e’ circa 3.1 KHz, e di trasmettere il carattere di prima alla velocita’ di B bit al secondo La frequenza del segnale (cioe’ la frequenza della prima armonica) sara’ B/8 Hz Ne segue che l’armonica piu’ alta che potra’ attraversare il canale avra’ n=3000/(B/8), cioe’ 24000/B. Da questo consegue che, ad esempio, una trasmissione a 9600 bps lascera’ passare soltanto le prime due armoniche, compromettendo la ricostruibilita’ dei bit in ricezione, mentre una trasmissione a 2400 o 4800 bps sara’ efficace.

112 Formula di Nyquist Nyquist ha dimostrato una relazione tra la velocita’ di trasmissione ottenibile attraverso un canale a banda limitata: il tasso di trasmissione dati massimo ottenibile attraverso un canale privo di rumore con larghezza di banda H e’ dato da Se si trasmettono segnali multilivello, con molteplicita’ M, il tasso di trasmissione massimo e’ dato da:

113 Sistemi e Tecnologie della Comunicazione Lezione 5: strato fisico: caratterizzazione del canale in frequenza; capacita’ del canale

114 Una linea di trasmissione dati puo’ essere vista come un circuito che fa corrispondere ad un segnale in ingresso un segnale in uscita Il comportamento di un circuito viene descritto dalla sua risposta in frequenza, vale a dire dalle caratteristiche del segnale in uscita in corrispondenza ad un segnale sinusoidale in ingresso Si definisce funzione di trasferimento il rapporto tra il segnale in uscita e quello in ingresso, che in genere dipendera’ dalla frequenza del segnale in ingresso Linee di trasmissione e circuiti

115 Circuiti lineari Un circuito lineare soddisfa le seguenti caratteristiche: detto I il segnale di ingresso e U il segnale in uscita: U = f(I) f(I1+I2) = f(I1)+f(I2) f(aI) = af(I) La risposta di un circuito lineare ad un segnale sinusoidale sara’ in generale un segnale sinusoidale alla stessa frequenza, con fase ed ampiezza differenti L’effetto del circuito sul segnale di ingresso cambiera’ al variare della frequenza del segnale di ingresso Il comportamento in funzione della frequenza e’ la caratterizzazione del circuito in frequenza (cioe’ la definizione di come variano l’ampiezza e la fase dell’uscita in funzione della frequenza)

116 Root Mean Square Amplitude La potenza di un segnale sinusoidale del tipo: dove V e’ l’ampiezza ed f la frequenza, e’ data da: Il valore e’ detto ampiezza quadratica media del segnale Ad esempio, l’alimentazione elettrica domestica e’ data da un segnale di tensione a 50 Hz, con V RMS =220 volt

117 Decibel Per confrontare potenze o ampiezze relative si fa utilizzo di una misura del rapporto in scala logaritmica, detto decibel: In caso di segnali sinusoidali, il decibel si puo’ esprimere come: Ad esempio:

118 Diagrammi di Bode La rappresentazione grafica della funzione di trasferimento e’ realizzata tipicamente graficando il suo modulo in dB in funzione della frequenza, anch’essa in scala logaritmica (diagramma di Bode) e la sua fase, anch’essa in funzione della frequenza sempre espressa in scala logaritmica

119 Esmpio: circuito RC Come esempio, calcoliamo la funzione di trasferimento di un circuito RC misurando la tensione in uscita ai capi del condensatore; qui ed in seguito si esprimera’ la frequenza in termini di pulsazione:

120 Diagramma del circuito RC

121 Frequenza di taglio Il circuito RC di esempio lascia passare pressoche’ inalterate le frequenze inferiori ad un certo valore, mentre attenua l’ampiezza di quelle superiori Il circuito si comporta quindi come un filtro che elimina le alte frequenze I filtri di questo tipo si chiamano filtro passa basso Si definisce frequenza di taglio la frequenza per la quale si ha un valore di -3dB del rapporto tra le ampiezze (corrispondente al dimezzamento del livello del segnale) Nel caso del circuito RC visto ora, la frequenza di taglio corrisponde alla frequenza

122 Filtro passa alto Analizzando la risposta ad un circuito RC misurando la tensione ai capi della resistenza si ha:

123 Filtro passa alto In questo caso le frequenze che passano inalterate sono quelle alte, mentre vengono filtrate le basse frequenze La frequenza di taglio, valutata sempre come la frequenza a -3 dB, vale ancora

124 Diagramma filtro passa alto

125 Filtro passa banda Un filtro passa banda e’ un circuito che lascia passare solo le frequenze entro un certo intervallo In questo caso avremo due frequenze di taglio, e si definisce banda passante del circuito:

126 Canali trasmissivi come filtri Un canale trasmissivo e’ sostanzialmente un circuito dotato della sua funzione di trasferimento Le condizioni ideali per la trasmissione dati e’ che la funzione di trasferimento abbia le seguenti caratteristiche: Modulo di H piatto ed indipendente dalla frequenza (per non alterare in ricezione il rapporto di intensita’ delle diverse armoniche del segnale) Fase di H funzione lineare della frequenza. Infatti:

127 Esempio di canale ideale

128 Effetti della non linearita’ Un circuito la cui risposta non sia lineare presenta un comportamento che non puo’ essere descritto come abbiamo visto Per dare una idea di cosa puo’ accadere, in approssimazione di piccoli segnali di input la risposta (temporale) puo’ essere approssimata da un polinomio L’effetto dei termini non lineari si evidenzia nel caso di segnale sinusoidale in ingresso: ponendo si ottengono in uscita termini a frequenza 2ω, 3ω, 4ω, …, cioe’ armoniche della frequenza del segnale in ingresso

129 Alterazioni dovute alla trasmissione dei segnali La trasmissione dei segnali e’ sempre accompagnata da alterazioni, che essenzialmente si distinguono in attenuazione (riduzione della intensita’ e distorsione) distorsione di ritardo rumore Queste alterazioni comportano la possibilita’ di commettere errori in ricezione, ed in generale stabiliscono un limite alla distanza che puo’ percorrere un segnale ed alla velocita’ di trasmissione che possiamo ottenere su una larghezza di banda limitata

130 Attenuazione Qualunque segnale viene attenuato per effetto del suo trasferimento su un mezzo trasmissivo, tanto piu’ quanto piu’ e’ grande la distanza che deve attraversare nei mezzi guidati in genere l’attenuazione ha un andamento logaritmico con la distanza nei mezzi non guidati e’ il risultato di molti fattori la cui analisi e’ piuttosto complessa (distanza, umidita’ dell’aria, pioggia, dispersione, …)

131 Attenuazione (cont.) Vanno considerati alcuni aspetti nella trattazione della attenuazione: un segnale deve essere ricevuto con una intensita’ tale da essere rilevato dai circuiti in ricezione, e deve essere distinguibile dal rumore (vedi oltre) l’effetto della attenuazione e’ una funzione che dipende dalla frequenza del segnale (da cui la distorsione in ricezione) Per ovviare al primo problema non e’ possibile semplicemente aumentare la potenza del segnale, per motivi di costi e perche’ al crescere della potenza compaiono effetti non lineari nel comportamento dei circuiti (in trasmissione o in ricezione) adibiti alla generazione o elaborazione del segnale

132 Attenuazione (amplificatori e ripetitori) Poiche’ oltre una certa distanza il segnale si attenua troppo, si ovvia a questo in due modi, a seconda del tipo di trasmissione nella trasmissione analogica vengono introdotti nel canale degli amplificatori, che aumentano la potenza del segnale il problema a cui si va incontro in questo caso e’ che un amplificatore amplifica anche il rumore, quindi oltre un certo limite amplificare diventa inutile nella trasmissione digitale vengono introdotti nel canale dei ripetitori, che ricostruiscono il segnale digitale e lo rigenerano ex-novo la rigenerazione ripulisce il segnale da tutti gli effetti distorsivi che lo hanno modificato fino a quel punto della trasmissione

133 Attenuazione (equalizzatori) La dipendenza della attenuazione dalla frequenza comporta una distorsione legata al fatto che le diverse armoniche che costituiscono il segnale originato vengono alterate in modo differente La somma delle armoniche attenuate non sara’ solo un segnale uguale attenuato, bensi’ un segnale differente (distorto) questo problema spesso viene limitato utilizzando delle tecniche di equalizzazione, che in base alla conoscenza delle caratteristiche del canale, possono amplificare in modo differenziato le diverse frequenze, correggendo l’effetto di distorsione (tipico nelle applicazioni foniche)

134 Effetto della equalizzazione

135 Distorsione di ritardo La distorsione di ritardo e’ conseguente al fatto che i segnali a diversa frequenza viaggiano nel mezzo trasmissivo a velocita’ diversa Questo comporta che in ricezione le diverse componenti arrivano in tempi diversi, cioe’ sfasate tra loro, quindi si ha una distorsione del segnale E’ un fenomeno tipico dei mezzi guidati Nel caso di trasmissioni di bit, alcune componenti del segnale relative ad un certo bit possono ritardare (o anticipare) ed interferire con le componenti relative a bit diversi (interferenza intersimbolica) anche in questo caso si adottano spesso tecniche di equalizzazione per correggere il comportamento del canale

136 Effetto della equalizzazione

137 Rumore Per rumore si intende un segnale presente sul canale (in ricezione) che non fa parte del segnale trasmesso Il rumore si divide in rumore termico (o rumore bianco) rumore di intermodulazione diafonia rumore impulsivo

138 Rumore termico Il rumore termico e’ dovuto alla agitazione degli elettroni dovuta alla temperatura Il rumore termico e’ presente sia nei circuiti dedicati alla generazione o ricezione del segnale, sia nel mezzo trasmissivo E’ caratterizzato da avere una intensita’ indipendente dalla frequenza (da qui il nome di rumore bianco) Non puo’ essere eliminato (nell’elettronica dei circuiti puo’ essere limitato aumentando il livello qualitativo della realizzazione dell’elettronica) si combatte aumentando il livello del segnale per quanto possibile

139 Rumore di intermodulazione Spesso si utilizza lo stesso mezzo trasmissivo per trasmettere segnali indipendenti che occupano diverse bande di frequenza disponibile su quel mezzo (multiplexing in frequenza, lo vedremo piu’ avanti) In questa circostanza sul canale ci saranno contemporaneamente, ad esempio, due segnali indipendenti a frequenza f 1 ed f 2 Effetti di non linearita’ possono generare segnali a frequenze multiple di (f 1 +f 2 ) o (f 1 -f 2 ), e questi potrebbero andare ad interferire con un terzo segnale contemporaneo trasmesso intorno a quelle frequenze Questi effetti possono essere conseguenza di malfunzionamenti o invecchiamento dell’elettronica, eccesso di potenza nel segnale trasmesso

140 Diafonia La diafonia e’ un fenomeno di accoppiamento elettrico tra mezzi trasmissivi vicini non isolati adeguatamente Il segnale trasmesso su un cavo genera per induttanza un segnale corrispondente nel cavo vicino, che si sovrappone al segnale trasmesso in quest’ultimo Si puo’ verificare anche nella trasmissione con mezzi non guidati, quando un segnale emesso da una antenna si disperde durante la propagazione nell’aria; la parte dispersa puo’ guingere in prossimita’ di un’altra antenna

141 Rumore impulsivo Questa categoria di rumore e’ conseguenza di fenomeni sporadici che possono generare segnali indesiderati nell’elettronica o nel mezzo trasmissivo Esempi possono essere l’accensione di dispositivi elettricomagnetici (monitor, forni a microonde) o sbalzi di tensione della alimentazione elettrica in vicinanza dei circuiti o del mezzo trasmissivo A differenza degli altri, l’effetto del rumore impulsivo non e’ prevedibile a priori, ed e’ spesso molto piu’ elevato in intensita’ Ha un effetto limitato nelle trasmissioni analogiche, ma grave in quelle digitali (un picco di energia di 0.01 secondi su una linea telefonica non ha effetti sulla comunicazione vocale, ma fa perdere 560 bit in una comunicazione dati a 56 kbps)

142 Effetto del rumore nella trasmissione dati

143 Capacita’ del canale Quello che interessa nella trasmissione dati e’: dato un canale con determinate caratteristiche, e definito un tasso di errore accettabile, quale velocita’ di trasferimento dati posso ottenere? La legge di Nyquist (per un canale esente da rumore) dice che la capacita trasmissiva di un canale a banda B con livello di modulazione M e’ data da Tuttavia non si puo’ aumentare la banda a piacere (per motivi di costi, di impossibilita’ pratica o di scelta deliberata) Non si puo’ nemmeno aumentare a piacere il tasso di modulazione (M): aumentare il tasso di modulazione significa rendere piu’ complesso in ricezione distinguere il valore trasmesso, e fenomeni di distorsione o di rumore farebbero aumentare gli errori in ricezione

144 Legge di Shannon Shannon ha sviluppato e dimostrato una relazione relativa alla capacita’ trasmissiva massima di un canale in presenza di solo rumore bianco Detto SNR (Signal to Noise Ratio) il rapporto di potenza tra il segnale ed il rumore, la massima capacita’ in assenza di errori su un canale di banda B e’ data da: Questo e’ un limite massimo teorico, in pratica irraggiungibile (ad esempio perche’ non tiene conto di altri fattori distorsivi)

145 Commenti alla legge di Shannon Secondo la relazione vista, sembrerebbe possibile aumentare il tasso di trasferimento dati aumentando il livello del segnale Questo e’ vero, ma come gia’ osservato l’aumento del livello del segnale comporta l’aumento di effetti come la non linearita’ che vanno ad accrescere il tasso di errore in ricezione Quindi effettivamente la limitazione di banda costituisce un limite alla velocita’ di trasferimento dei bit

146 Esempio Supponiamo di avere un canale trasmissivo la cui banda sia da 3 a 4 MHz, ed il cui rapporto segnale su rumore sia 24 dB: La legge di Shannon dice che la capacita’ trasmissiva massima in assenza di errori e’ Con quale livello di modulazione posso ottenere questo tasso? Ce lo dice la legge di Nyquist:

147 Sistemi e Tecnologie della Comunicazione Lezione 6: strato fisico: trasmissione digitale in banda base e modulazione

148 Tipizzazione di dati e segnali Dati analogici: assumono valori continui in un determinato intervallo voce video dati raccolti da sensori quali temperatura, pressione, tensione o corrente elettrica,… Dati digitali: dati che assumono valori discreti in un certo intervallo testo (caratteri, rappresentati da codifiche opportune, come codice Morse, ASCII) numeri interi Segnali analogici: segnale elettromagnetico che varia le sue caratteristiche con continuita’ Segnali numerici: segnale elettromagnetico costituito da una sequenza di impulsi

149 Relazione tra dati e segnali Un dato analogico puo’ essere rappresentato con un segnale analogico che occupa lo stesso spettro. il segnale che rappresenta la voce nel sistema telefonico tradizionale e’ un segnale analogico con frequenza compresa tra 300 Hz e 3400 Hz, che riproduce lo spettro del suono emesso Un dato digitale puo’ essere rappresentato con un segnale digitale che identifichi i numeri con livelli di ampiezza degli impulsi E’ possibile rappresentare dati digitali con segnali analogici (modem) e dati analogici con segnali digitali (codec) la comunicazione tra calcolatori attraverso una linea telefonica: il dato numerico viene trasformato dal modem in segnale analogico, e ricostruito in ricezione nuovamente come dato numerico da un altro modem la comunicazione telefonica attraverso una linea ISDN: la voce viene digitalizzata mediante campionamenti da un codec, trasmessa come insieme di dati numerici, rigenerata come segnale analogico in ricezione

150 Trasmissione dei segnali La trasmissione dei segnali e’ detta analogica se il segnale viene trasmesso senza curarsi del suo significato in questo caso la trasmissione si limita a recapitare il segnale, eventualmente amplificandolo in intensita’ quando necessario la trasmissione digitale tiene conto del contenuto dei dati se si deve intervenire per amplificare il segnale il segnale non viene semplicemente amplificato, ma viene interpretato, si estrae il contenuto informativo e si rigenera il segnale tramite apparati detti ripetitori questo puo’ essere fatto a prescindere dal tipo di segnale (numerico o analogico), che a sua volta puo’ rappresentare dati analogici o numerici vantaggi della trasmissione digitale: immunita’ maggiore alla alterazione dei dati verso lunghe distanze omogeneizzazione della trasmissione per diverse tipologie di dato sicurezza e riservatezza svantaggi della trasmissione digitale costi superiori maggiore complessita’ dell’elettronica richiede rinnovo di infrastrutture gia’ esistenti

151 Trasmissione in banda base e modulata Una volta generato il segnale da trasmettere, questo puo’ essere immesso direttamente sul canale; in questo caso si parla di trasmissione in banda base: il segnale che trasporta le informazioni ed il segnale sulla linea sono identici Vi sono diverse circostanze che rendono opportuno trasmettere il segnale in modo che occupi una banda differente di frequenze; questo tipo di trasmissione si realizza tramite un processo di modulazione

152 Codifica dei dati numerici La rappresentazione di dati numerici con segnali numerici e’ normalmente fatta tramite sequenze di impulsi discreti di tensione di una certa durata temporale. Il dato binario e’ codificato in modo da far corrispondere al valore di un bit un determinato livello del segnale Il ricevitore deve sapere quando inizia e finisce il bit, leggere il valore del segnale al momento giusto, determinare il valore del bit in base alla codifica utilizzata La migliore valutazione si ottiene campionando il segnale al tempo corrispondente a meta’ bit

153 Caratteristiche delle codifiche Sono possibili diverse scelte di codifica, con caratteristiche differenti che possono migliorare le prestazioni della trasmissione Le caratteristiche determinanti sono: spettro del segnale: componenti ad alta frequenza richiedono una banda maggiore l’assenza di componente continua e’ preferibile spettro concentrato nel centro della banda

154 Caratteristiche delle codifiche Altre caratteristiche determinanti sono: sincronizzazione temporale: il ricevitore deve essere sincronizzato con il trasmettitore per identificare i bit; alcune codifiche facilitano questa funzione rilevazione di errore: funzione caratteristica dei livelli superiori, ma puo’ essere utile anche a livello fisico solidita’ del segnale rispetto ad interferenza o rumore costo e complessita’ di realizzazione

155 Codifica unipolare RZ ed NRZ La codifica unipolare RZ (Return to Zero) prevede la trasmissione di un segnale di lunghezza T per ogni bit. Il segnale e’ nullo in corrispondenza del bit 0, mentre e’ un impulso di tensione di durata T/2 per il bit 1 La codifica unipolare NRZ (Non Return to Zero) differisce dalla RZ perche’ il livello di tensione per il bit 1 rimane alto per tutta la durata del bit

156 Caratteristiche della codifica NRZ La codifica NRZ ha i pregi: facile da progettare e realizzare utilizzo efficiente della larghezza di banda (la potenza e’ concentrata tra 0 ed R/2, dove R e’ la capacita’ trasmissiva in bit/s (transmission rate) Difetti: esiste una componente continua lunghe sequenze di bit di uguale valore producono un segnale continuo senza transizioni: il ricevitore puo’ perdere la sincronia

157 Codifica NRZ-L ed NRZI Per migliorare le caratteristiche si fa utilizzo di una codifica (NRZ-L: Non Return to Zero Level) che prevede un segnale a +V per il bit 1, ed a –V per il bit 0 questo riduce l’impatto della componente continua, ma non la annulla Altra tecnica: codifica differenziale (NRZI: NRZ Invert on ones): il segnale cambia in occasione di un bit 1

158 Codifica multilivello binario Le codifiche a multilivello binario utilizzano tre livelli: lo zero indica il bit 0, mentre il bit 1 e’ identificato con segnali a +V e –V alternati (AMI bipolare: Alternate Mark Inversion) La codifica pseudoternaria e’ la stessa, con 1 e 0 invertiti

159 Caratteristiche della codifica AMI La codifica AMI ha i seguenti vantaggi rispetto alla NRZ: risolve il problema della sequenza di bit 1, che presentano sempre una transizione utilizzabile in ricezione per sincronizzare (ma resta il problema per sequenze di 0) La componente continua e’ di fatto azzerata utilizza a parita’ di transmission rate una larghezza di banda inferiore errori isolati possono essere evidenziati come violazione del codice Vi sono anche svantaggi: utilizza 3 livelli, quindi ogni simbolo potrebbe trasportare piu’ informazione (log 2 (3) = 1.58) a parita’ di bit rate richiede circa 3 dB in piu’ rispetto alla NRZ Utilizzata in diversi casi su linee punto-punto (ISDN)

160 Codifica Manchester La codifica Manchester utilizza due livelli di tensione; il bit 1 e’ rappresentato da un segnale -V per mezzo periodo, +V per il seguente mezzo periodo; il bit 0 e’ rappresentato in modo opposto (+V per il primo mezzo periodo, -V per il restante mezzo periodo) La codifica Manchester differenziale utilizza lo stesso tipo di rappresentazione, ma rappresenta il bit 1 come variazione rispetto alla codifica del bit precedente

161 Caratteristiche della codifica Manchester Vantaggi: sincronizzazione: ogni bit ha una transizione in mezzo, che puo’ essere utilizzata per la sincronizzazione dal ricevitore totale assenza di componente continua rivelazione di errore (in assenza della transizione prevista) Svantaggi: richiede un segnale a frequenza doppia rispetto al bit rate: 1 bit richiede 2 baud, quindi richiede una banda doppia L’utilizzo piu’ diffuso della codifica Manchester e’ negli standard 802.3 (ethernet) e 802.5 (token ring) sia su coassiale che su doppino

162 Codifica B8ZS Una modifica della AMI per risolvere il problema della sequenza di zeri e’ la B8ZS (Bipolar with 8 Zeros Substitution): ogni sequenza di 8 zeri viene codificata come 000+-0-+ se l’ultimo impulso e’ stato positivo 000-+0+- se l’ultimo impulso e’ stato negativo in questo modo scompaiono lunghe sequenze di zeri, e la sequenza e’ identificata da due violazioni del codice AMI Utilizzata nel Nord America

163 Codifica HDB3 Stessa logica per la HDB3 (High Density Bipolar 3 zeros): ogni sequenza di 4 zeri viene codificata come se la polarita’ dell’ultimo impulso e’ stata negativa: 000- se c’e’ stato numero dispari di 1 dall’ultima sostituzione +00+ se c’e’ stato un numero pari di 1 dall’ultima sostituzione se la polarita’ dell’ultimo impulso e’ stata positiva: 000+ per un numero dispari di 1 dall’ultima sostituzione -00- per un numero pari di 1 dall’ultima sostituzione anche in questo caso scompaiono lunghe sequenze di zeri, e la sequenza e’ identificata da violazioni opportune del codice AMI Utilizzata in Europa e Giappone

164 Caratteristiche di B8ZS ed HDB3 Le due codifiche hanno sempre componente continua nulla (le violazioni sono alternate) Hanno un efficiente utilizzo della banda, con la potenza concentrata a meta’ della banda come con AMI, e’ possibile riconoscere gli errori singoli Generalmente utilizzate nella trasmissione dati ad elevata distanza

165 Spettro delle codifiche numeriche in banda base

166 Modulazione La modulazione e’ un processo con il quale il segnale da trasmettere (segnale modulante) viene utilizzato per modificare nel tempo le caratteristiche di un segnale ausiliario sinusoidale (portante) Questa operazione ha la caratteristica di generare un segnale che ha una occupazione di banda dell’ordine di grandezza di quella del segnale modulante, centrata pero’ intorno alla frequenza del segnale portante Utilizzando una portante ad alta frequenza si puo’ quindi spostare la banda necessaria alla trasmissione delle informazioni in un intervallo piu’ opportuno per la trasmissione stessa

167 Vantaggi della modulazione Spesso per la trasmissione sono preferibili determinati intervalli di frequenza ad esempio, la trasmissione via ponte radio (a vista) richiede una antenna; la dimensione della antenna deve essere dello stesso ordine di grandezza della lunghezza d’onda; per trasmissioni a 1 KHz l = 300 Km, per trasmissioni a 1 GHz l = 30 cm per trasmettere i segnali radio si puo’ sfruttare la riflessione multipla dalla ionosfera, che riflette bene frequenze di 5-30 MHz Un altro vantaggio e’ legato alla possibilita’ di trasmettere piu’ comunicazioni differenti e contemporanee sullo stesso mezzo, trasferendo le bande relative alle diverse comunicazioni in zone differenti della banda utile per la trasmissione (multiplexing a divisione di frequenza)

168 Tecniche di modulazione Il segnale modulante viene utilizzato per modulare le caratteristiche della portante: ampiezza: il segnale viene utilizzato per modificare il valore della ampiezza della portante (modulazione di ampiezza) frequenza: il segnale modulante modifica istante per istante la frequenza della portante (modulazione di frequenza) fase: il segnale modulante cambia la fase della portante (modulazione di fase)

169 Esempi di modulazione

170 Modulazione analogica di ampiezza (AM) Il segnale modulante e’ un segnale analogico (es.: voce, o meglio il segnale elettromagnetico corrispondente alla voce in banda base) Il segnale modulato si genera in questo modo: L’ampiezza del segnale modulato e’ funzione del segnale modulante; n e’ detto indice di modulazione, e viene scelto in modo che

171 Esempio: modulante sinusoidale Consideriamo come esempio il segnale modulante sinusoidale a frequenza ω:

172 Esempio (cont) Il segnale modulato ha la forma: Il suo spettro sara’ costituito da una riga in corrispondenza della frequenza della portante, piu’ due righe simmetriche rispetto alla prima a distanza pari alla frequenza della modulante

173 Spettro del segnale modulato In generale un segnale modulato in ampiezza ha uno spettro costituito dallo spettro del segnale modulante raddoppiato e collocato simmetricamente attorno alla frequenza portante (bande laterali) Ne segue che l’occupazione di banda del segnale modulato e’ doppia rispetto a quella del segnale modulante Si possono adottare tecniche per sopprimere la banda laterale inferiore, ed anche la frequenza portante mediante filtri passa banda (Single Sided Band) la frequenza della portante generalmente si potra’ eliminare quando il segnale in banda base non ha componente continua o comunque vicine alla frequenza nulla

174 Modulazione analogica angolare (PM) Il segnale modulante puo’ essere utilizzato per modificare la fase della portante (modulazione di fase) In questo caso il segnale modulato sara’ descritto da dove n p e’ l’indice di modulazione

175 Modulazione analogica angolare (FM) Il segnale modulante puo’ essere utilizzato per modificare la frequenza della portante (modulazione di frequenza) In questo caso il segnale modulato sara’ descritto da dove n f e’ l’indice di modulazione La frequenza istantanea e’ di fatto la velocita’ con cui varia la fase, quindi

176 Spettro del segnale modulato in frequenza Per la modulazione di frequenza si puo’ vedere come la banda occupata per effetto della ampiezza del segnale modulante sia Si vede come per la modulazione di frequenza, un aumento della ampiezza del segnale modulante comporti un aumento della banda occupata, mentre nel caso della AM l’ampiezza del segnale modulante influenza la ampiezza del segnale modulato La modulazione angolare non e’ lineare, e genera uno spettro generalmente costituito da banda infinita. Si puo’ approssimare alla seguente relazione:

177 Sistemi e Tecnologie della Comunicazione Lezione 7: strato fisico: modulazione di segnali numerici, digitalizzazione di segnali analogici, multiplexing in frequenza

178 Modulazione di segnali numerici La tecnica della modulazione viene utilizzata in questo caso per trasformare un dato numerico in un segnale analogico Si ottiene cio’ modulando una portante sinusoidale utilizzando il dato numerico (o il segnale numerico in banda base che codifica il dato numerico) In ricezione il segnale viene demodulato ricostruendo il segnale numerico modulante L’oggetto che realizza la conversione si chiama modem (modulatore-demodulatore) Un esempio comune e’ la trasmissione dati via rete commutata Un altro esempio e’ la trasmissione digitale su fibra ottica

179 Tecniche di modulazione: ASK Partendo da un segnale numerico (ad esempio un segnale NRZ) si puo’ modulare in ampiezza una portante sinusoidale moltiplicando la sua ampiezza per il segnale numerico (ASK: Amplitude Shift Keying)

180 Tecniche di modulazione: FSK Il segnale numerico puo’ essere utilizzato per modulare in frequenza una portante sinusoidale, modificando la sua frequenza in funzione del segnale modulante (FSK: Frequency Shift Keying), cioe’ facendo corrispondere due frequenze ai due valori del bit

181 Tecniche di modulazione: PSK Il segnale numerico puo’ modulare in fase una portante sinusoidale associano un certo valore di fase ad un certo valore di bit (PSK: Phase Shift Keying). Nell’esempio in figura al bit 1 si associa un cambio di fase, al bit 0 nessun cambio di fase

182 Forma del segnale trasmesso I segnali trasmessi con le diverse tecniche di modulazione hanno la seguente forma

183 Spettro del segnale trasmesso Le considerazioni viste per la modulazione analogica valgono anche in questo caso Il segnale generato e’ costituito dallo spettro del segnale modulante (quello numerico) spostato sulla frequenza della portante Ad esempio, i modem possono utilizzare una modulazione FSK a due valori per trasmettere dati fino a 1200 bps su un canale telefonico (limitato in banda a 3.1 KHz) per la trasmissione in un verso, si utilizza una portante a 1170 Hz, con una traslazione di 100 Hz su ciascun lato in funzione del valore dei bit per la trasmissione nell’altro verso, si usa la stessa tecnica con la portante a 2125 Hz

184 Esempio di spettro

185 Modulazioni piu’ complesse: QPSK Si ottiene una migliore efficienza del canale modulando in modo che ogni simbolo trasporti piu’ bit Nella modulazione QPSK (Quadrature PSK) si utilizzano quattro angoli di fase per trasmettere due bit per simbolo; ad esempio: 00 per fase = 0 01 per fase = 90 gradi 11 per fase = 180 gradi 10 per fase a 270 gradi Si possono utilizzare modulazioni piu’ complesse utilizzando piu’ angoli di fase

186 QAM La modulazione QAM (Quadrature AM) consiste nel separare il segnale portante in due segnali uguali ma sfasati di 90 gradi Successivamente si applica una modulazione di ampiezza a piu’ valori indipendentemente su entrambe, quindi si ricombinano le portanti in quadratura. Si possono applicare modulazioni combinate in fase ed ampiezza sulle due componenti Generalmente si rappresentano queste modulazioni su un piano che riporta le ampiezze in quadratura sui due assi, detti diagrammi di costellazione (i simboli sono rappresentati da punti su questo piano; l’insieme dei simboloi e’ detto costellazione)

187 Schema della QAM

188 Esempi Esempi di QAM sono riportati in figura Al complicarsi del livello della modulazione si complicano le cose in sede di ricezione, in quanto piccoli livelli di rumore possono diventare sufficienti ad interpretare in modo errato il valore dei bit

189 Applicazioni Queste tecniche vengono utilizzate per la trasmissione digitale su segnale analogico (modem, ponti radio digitali, fibre ottiche) Per i modem l’ITU ha definito degli standard per le trasmissioni modem a 2400 baud: V32 (costellazione a 32 punti, 5 bit/baud di cui 1 bit di parita’ e 4 bit di dati, 9600 bps) V32 bis (costellazione a 128 punti, 7 bit/baud di cui 1 bit di parita’ e 6 bit di dati, 14400 bps) …

190 Modulazione analogica di segnali numerici Per poter trasmettere un segnale analogico con una trasmissione digitale e’ necessario trasformare il segnale analogico in un segnale numerico (o meglio in un dato numerico) Il processo si chiama numerizzazione del segnale analogico e si basa sul concetto di campionamento Il campionamento consiste nel guardare con una certa frequenza il valore istantaneo del segnale analogico di fatto si utilizza il segnale analogico per modulare in ampiezza una sequenza di impulsi a frequenza fissata: il segnale risultante sara’ una sequenza di impulsi ad ampiezza uguale al valore del segnale analogico in corrispondenza dell’istante di tempo corrispondente all’impulso

191 Il campionamento Il problema da affrontare e’: con quale frequenza si deve campionare il segnale per poterlo ricostruire a partire dal segnale campionato?

192 Teorema del campionamento IL teorema del campionamento (o teorema di Nyquist-Shannon) afferma che: dato un segnale x(t) a banda limitata B, si puo’ ricostruire completamente il segnale a partire da un campionamento del segnale se la frequenza di campionamento e’ F ≥ 2B

193 Dimostrazione

194 Dimostrazione (cont.) Questo significa che lo spettro del segnale campionato e’ costituito dalla replica dello spettro del segnale originale traslato ai multipli della frequenza del segnale di impulsi utilizzato per campionarlo, e moltiplicato per un fattore proporzionale (P n )

195 Dimostrazione (cont.) Se gli spettri di due repliche adiacenti del segnale originario non si sovrappongono, possiamo utilizzare in ricezione un filtro passa basso per isolare una sola replica del segnale, ottenendo cosi’ un segnale il cui spettro e’ identico (proporzionale) allo spettro del segnale originale La condizione di non sovrapposizione implica: cioe’ quello che si voleva dimostrare

196 Osservazioni sul teorema del campionamento In generale la frequenza di campionamento dovra’ essere almeno leggermente superiore a 2B, per disporre di un intervallo utile al fine di prevenire effetti di non idealita’ dei filtri Il teorema del campionamento e’ sostanzialmente la legge sulla massima capacita’ di un canale privo di rumore: il teorema afferma che possiamo ricostruire il segnale campionando almeno a 2B, e campionando piu’ frequentemente non otteniamo maggiori informazioni sul segnale se il segnale rappresenta una sequenza di simboli, la massima capacita’ di trasferimento la otteniamo quando ogni campione identifica un simbolo ne segue che al massimo siamo in grado di identificare 2B simboli

197 Tecniche di modulazione di treno di impulsi Esistono diverse tecniche di modulazione: PAM (Pulse Amplitude Modulation): gli impulsi sono generati ad ampiezza proporzionale alla ampiezza del segnale modulante PWM (Pulse Width Modulation): gli impulsi sono generati tutti alla stessa ampiezza, ma con durata proporzionale alla ampiezza del segnale modulante PPM (Pulse Position Modulation): gli impulsi sono tutti della stessa ampiezza e di uguale durata, ma iniziano (all’interno del periodo T) in un istante dipendente dalla ampiezza del segnale modulante in questo caso il ricevente deve essere sincronizzato con il trasmittente in quanto l’ampiezza del segnale modulante dipende dall’istante in cui si presenta l’impulso rispetto all’istante in cui inizia il periodo relativo a quell’impulso: negli altri casi l’impulsoi stesso puo’ fornire l’informazione di sincronismo

198 PWM e PPM

199 Considerazioni sullo spettro La trasmissione di un treno di impulsi di durata richiede una larghezza di banda almeno pari a ed essendo significa che la trasmissione di impulsi modulati richiede una banda superiore alla banda del segnale modulante

200 Digitalizzazione del segnale analogico Il segnale analogico puo’ essere digitalizzato utilizzando diverse tecniche Lo scopo della operazione e’ quella di poter trattare il segnale analogico come quello numerico, quindi di poter utilizzare metodi di trasmissione numerica, con i vantaggi che questa comporta (immunita’ dal rumore per via della rigenerazione del segnale durante la trasmissione, possibilita’ di utilizzare multiplexing a divisione di tempo (vedi piu’ avanti), omogeneizzazione della trasmissione dei segnali) Vedremo due tecniche: PCM (Pulse Code Modulation) e PCM non lineare

201 PCM Il segnale analogico viene campionato per generare un segnale PAM. Il segnale PAM e’ ancora un segnale analogico, e deve essere numerizzato, cioe’ codificato in modo da associare un numero intero al suo valore Si realizza cio’ mediante una quantizzazione dei livelli della ampiezza degli impulsi Maggiore e’ il numero di livelli, migliore sara’ l’approssimazione del segnale con il valore numerico Tipicamente si utilizza un numero di livelli pari ad una potenza di due, facendo cosi’ corrispondere ogni valore ad un certo numero di bit ad esempio, una codifica a 4 livelli genera un numero rappresentabile con 2 bit, una codifica a 256 livelli e’ rappresentabile con 8 bit Il segnale cosi’ generato e’ una sequenza di numeri che rappresentano il segnale analogico (PCM: Pulse Code Modulation) e puo’ essere trasmesso come un qualsiasi altro segnale digitale

202 Esempio: la digitalizzazione della voce Come visto in precedenza, il canale telefonico utilizza una banda di circa 3.1 KHz per la voce Per campionare la voce il teorema di Nyquist-Shannon afferma che servono campioni a frequenza di almeno 6.2 KHz. Per la voce lo standard definito dall’ITU prevede 8000 campioni al secondo Il segnale PAM cosi’ generato viene quantizzato: per una resa paragonabile al segnale trasferito analogicamente si utilizzano 256 livelli (8 bit) Ne segue che per trasferire la voce digitalizzata servira’ un tasso di trasmissione pari a 8 bit/campione * 8000 Hz, cioe’ 64 Kbps (che e’ la velocita’ del canale base ISDN).

203 PCM non lineare La digitalizzazione del segnale comporta una perdita di informazione per via della approssimazione L’aumento del numero di livelli di quantizzazione produce a tutti gli effetti come un rumore detto rumore di quantizzazione Dato un certo livello di quantizzazione, i segnali maggiormente affetti dalla approssimazione sono quelli a bassa intensita’ (per i quali si ha un errore relativo maggiore) Si migliorano le prestazioni utilizzando una quantizzazione non lineare, dove i livelli sono piu’ ravvicinati nella regione di segnale debole, e piu’ distanziati nella regione in cui il segnale e’ piu’ intenso

204 Confronto PCM e PCM non lineare

205 Sistemi e Tecnologie della Comunicazione Lezione 8: strato fisico: multiplexing FDM, WDM, TDM e gerarchie di multiplexing

206 Multiplexing Il multiplexing e’ una tecnica utilizzata per trasportare piu’ comunicazioni indipendenti sullo stesso mezzo trasmissivo questa necessita’ si ha quando c’e’ bisogno di trasmettere molte comunicazioni ciascuna delle quali ha una piccola occupazione di banda, e si dispone di un mezzo trasmissivo capace di una banda molto piu’ ampia La porzione della banda occupata da una singola comunicazione e’ detta canale Vedremo tre modalita’ di multiplexing: FDM (multiplexing a divisione di frequenza) WDM (multiplexing a divisione di lunghezza d’onda) TDM (multiplexing a divisione di tempo)

207 FDM (Frequency Division Multiplexing) Come visto in precedenza, l’effetto della modulazione analogica si un segnale sinusiodale a frequenza f si traduce nella generazione di un segnale il cui spettro ha la stessa forma dello spettro del segnale modulante ma traslato attorno alla frequenza f della portante Se ipotizziamo di disporre di una serie di segnali ciascuno con banda B, e di un mezzo trasmissivo che ha una capacita’ di banda limitata dai valori F 1 e F 2 (con F 2 -F 1 >> B), possiamo utilizzare ciascun segnale per modulare segnali sinusoidali alle frequenze F 1 +B, F 1 +2B, F 1 +3B, etc. I segnali modulati occuperanno porzioni distinte entro la banda trasmissiva del mezzo, e potranno essere trasmessi contemporaneamente senza interferire. In ricezione, opportune operazioni di demodulazione e filtraggio permetteranno di separare i diversi traffici.

208 Banda nella modulazione di frequenza

209 Schema di modulazione di frequenza

210 Generazione e ricezione del segnale I diversi segnali da trasmettere (analogici, o digitali trasformati in analogici via modem) modulano portanti a diverse frequenze, dette sottoportanti I segnali modulati vengono sommati, generando un segnale composito in banda base; le frequenze delle sottoportanti vengono scelte in modo da minimizzare la sovrapposizione dei segnali sommati Il segnale composito (che e’ analogico) puo’ essere a sua volta utilizzato per modulare una portante per traslare il segnale ad una frequenza adatta al mezzo trasmissivo In ricezione si demodula, riportando il segnale composito in banda base Utilizzando ulteriori demodulatori (adattati alle sottoportanti) e filtri si separano infine i segnali originari

211 Occupazione di banda Se ipotizziamo di generare la modulazione con la sola banda laterale, la larghezza di banda occupata dal segnale composito sara’: In realta’ la banda occupata e’ in genere leggermente superiore, per mantenere una separazione tra i diversi canali in modo da non avere interferenza e per tenere in conto la non idealita’ dei filtri in fase di demodulazione

212 Gerarchia FDM per la telefonia Una applicazione molto diffusa e’ il multiplexing di canali fonici per la trasmissione delle telefonate attraverso le dorsali a larga banda in coassiale o ponte radio Il canale fonico e’ posto a 4 KHz (per distanziare i diversi canali multiplexati) Sono definiti gli standard per diversi livelli di multiplexing, per adattarsi alla capacita’ di diversi mezzi: gruppo: 12 canali fonici, banda di 48 KHz tra 60 e 108 KHz supergruppo: 5 gruppi, 60 canali, 240 KHz tra 312 e 552 KHz gruppo master: 10 supergruppi, 600 canali, 2.52 MHz tra 564 KHz e 3.084 MHz … esistono standard fino a 230.000 canali fonici

213 Trasmissione radio/TV L’esempio piu’ comune di FDM e’ la trasmissione radiotelevisiva. Questa utilizza diverse bande di frequenza, ciascuna delle quali viene suddivisa in canali di una certa capacita’, idonea a trasmettere i segnali delle diverse stazioni trasmittenti trasmissioni a modulazione di ampiezza (AM) nella banda MF (Medium Frequency): 300-3000 KHz, con canali da 4 KHz per radio commerciali trasmissioni AM nella banda HF (High Frequency): 3-30 MHz, con canali fino a 4 KHz (radio onde corte) trasmissioni AM o FM nella banda VHF (Very High Frequency): 30- 300 MHz, con canali fino a 5 MHz (radio FM e TV VHF) trasmissioni FM nella banda UHF: 300-3000 MHz con canali fino a 20 MHz (TV UHF, ponti radio) trasmissioni FM nella banda SHF: 3-30 GHz con canali fino a 500 MHz (microonde terrestri e satellitari) …

214 ADSL ADSL (Asymmetric Digital Subscriber Line) e’ lo standard per fornire all’abbonato un accesso digitale a banda piu’ elevata di quanto non sia possibile con il modem La linea telefonica terminale e’ costituita da un doppino su cui viene normalmente trasmessa la voce. Questa trasmissione si realizza applicando un filtro passa basso a 4 KHz Tuttavia il doppino ha una capacita’ di banda che raggiunge il MHz (dipende dalla lunghezza del tratto terminale, che puo’ variare in base alla situazione tra poche centinaia di metri a diversi Km) Lo spettro disponibile viene suddiviso in 256 canali da 4 KHz (fino a 60 Kbps ciascuno): Il canale 0 viene riservato per la telefonia I successivi 4 canali non vengono utilizzati per evitare problemi di interferenza tra la trasmissione dati e quella telefonica I restanti canali vengono destinati al traffico dati. Alcuni per il traffico uscente (upstream), altri per il traffico entrante (downstream) Il modem ADSL riceve i dati da trasmettere e li splitta in flussi paralleli da trasmettere sui diversi canali, genera un segnale analogico in banda base per ciascun flusso (con una modulazione QAM fino a 15 bit/baud a 4000 baud/s) e li trasmette sui diversi canali utilizzando la modulazione di frequenza

215 Suddivisione dei canali nell’ADSL In teoria l’ampiezza di banda disponibile consente un traffico pari a 13.44 Mbps, ma non tutti i canali sono capaci di trasmettere a piena banda. L’operatore decide quale servizio offrire. Generalmente vengono dedicati alcuni canali per il traffico entrante, ed altri (meno) per il traffico uscente (da qui il termine Asymmetric)

216 WDM (Wavelength Division Multiplexing) La fibra ottica trasmette segnali elettromagnetici a lunghezza d’onda intorno a 850, 1300 o 1550 nm Ognuna di queste bande puo’ trasmettere segnali a lunghezze d’onda che variano di circa 100 nm In termini di frequenze si ha: quindi una banda enorme a disposizione

217 WDM (cont.) E’ stata sviluppata una tecnologia per poter trasmettere canali differenti su lunghezze d’onda differenti, chiamata WDM (Wavelength Division Multiplexing) Si utilizza in multiplexing un combinatore ottico che mette insieme segnali alle diverse lunghezze d’onda In ricezione un sistema analogo separa le diverse lunghezze d’onda Sostanzialmente e’ una tecnica FDM, con la differenza che in questo caso il sistema sfrutta la diffrazione delle onde da reticolo, ed utilizza sistemi passivi, quindi altamente affidabili e che non introducono rumore Con questa tecnologia e’ possibile gia’ ora trasmettere decine di canali a 10 Gbps su una sola fibra Questo meccanismo permette di incrementare notevolmente la capacita’ trasmissiva ottenibile sulla fibra senza dover aumentare la frequenza della generazione degli impulsi ottici (cosa che oggi costituisce il fattore limitante per la velocita’ di trasmissione dati sulla fibra ottica)

218 Schema del multiplexing WDM

219 TDM (Time Division Multiplexing) Il multiplexing a divisione di tempo e’ utilizzato quando si dispone di un canale digitale capace di un elevato tasso di trasmissione dati in cui poter trasmettere contemporaneamente un insieme di comunicazioni a tasso inferiore Invece che mettere insieme i segnali a frequenze differenti (FDM) si mischiano i dati delle diverse comunicazioni, inframezzando i bit delle diverse trasmissioni Di fatto si divide la disponibilita’ del canale in periodi temporali, e si dedicano a turno i diversi periodi a diversi flussi trasmissivi

220 Slot e frame Ogni intervallo temporale si chiama slot e puo’ contenere uno o piu’ bit relativi ad un flusso indipendente Il flusso dei dati e’ organizzato in trame (frame) Una trama e’ l’insieme di slot temorali che contiene almeno un bit per ciascuna trasmissione Anche in questo caso il flusso relativo ad una singola trasmissione e’ detto canale

221 Schema del TDM

222 Sorgenti di ingresso per il TDM I dati in ingresso non debbono necessariamente essere tutti digitali: puo’ essere un ingresso analogico che viene convertito in segnale digitale tramite campionamento, con relativa generazione del codice PCM I segnali in ingresso non debbono nemmeno essere tutti ad uguale tasso trasmissivo Ad esempio, possiamo fare multiplexing TDM di due canali a 1200 bps ed uno a 2400 bps su un canale a 4800 bps, costruendo un frame di 4 bit (di 833 microsecondi) e dedicando una slot (1 bit) ciascuno ai canali a 1200 bps, e due slot (2 bit) al canale a 4800 bps

223 TDM sincrono Il TDM sincrono prevede di avere in ingresso un certo numero di trasmissioni a cui e’ staticamente allocato un canale, cioe’ ogni slot temporale e’ dedicata ad una particolare trasmissione Quando un ingresso non ha dati da trasmettere, la trasmissione continua e le slot dedicate a quel canale non trasporteranno dati

224 Sincronizzazione e framing Poiche’ i frame sono trasmessi in continuazione, il ricevente deve poter identificare l’inizio dei frame e mantenere il sincronismo Per fare cio’ il frame conterra’ alcuni bit dedicati allo scopo: in genere si dedicano uno o piu’ bit di controllo che assumono valori ben definiti e difficilmente presenti nel campo dei dati All’inizio il ricevente cerca di identificare i bit di sincronizzazione: quando li trova in un certo numero di frame consecutivi, assume di avere agganciato il sincronismo e inizia a gestire il traffico dei dati Durante il traffico, il ricevente continua a verificare i bit di sincronizzazione Se si perde la sincronizzazione, il ricevente ritorna in modalita’ di sincronizzazione fino a che non identifica nuovamente i limiti dei frame

225 Pulse stuffing Uno dei problemi principali e’ la sincronizzazione dei diversi canali da trasmettere, che essendo indipendenti non necessariamente hanno un clock in comune Una variazione relativa dei diversi clock puo’ far perdere la sincronizzazione nella costruzione del frame Diversamente, si potrebbe avere un insieme di trasmissioni i cui tassi trasmissivi non sono multipli uno dell’altro Per ovviare a questi problemi si usa una tecnica detta pulse stuffing: il tasso trasmissivo in uscita e’ leggermente superiore alla somma dei tassi in ingresso i bit in eccesso in ogni slot vengono riempiti con bit fittizi di giustificazione, per allineare i diversi ingressi qualora si rendesse necessario, questi spazi possono essere utilizzati per risincronizzare gli ingressi esisteranno bit di controllo nella trama per gestire le diverse eventualita’

226 Esempio

227 Gerarchie digitali Anche per il TDM esistono gerarchie di multiplexing definite come standard per la trasmissione a diversi tassi in funzione delle possibilita’ trasmissive del mezzo Il Nord America ed il Giappone utilizzano una gerarchia (nata prima) diversa da quella standardizzata dall’ISO ed adottata in Europa Entrambi utilizzano come base di durata temporale del frame quella necessaria alla trasmissione di un canale vocale (8000 campionamenti al secondo = 125 microsecondi di tempo per il frame)

228 Gerarchia Nordamericana Il frame del livello primario e’ costituito dall’unione di 24 canali vocali Un frame contiene un campionamento per canale (24 canali * 8 bit = 192 bit) piu’ un bit di sincronizzazione di frame Il tasso di trasmissione sara’ quindi 1.544 Mbps Per la trasmissione di dati numerici si utilizza lo stesso frame, in cui vengono messi insieme 23 canali dati, mentre un byte viene riservato ad un ulteriore dato di sincronizzazione

229 Gerarchia Nordamericana (cont.) Il formato descritto si chiama DS-1, o T1 Il livelli gerarchici successivi sono: T2: 4*T1 a 6.312 Mbps T3: 7*T2 a 44.736 Mbps T4: 6*T3 a 274.176 Mbps Si puo’ osservare come ad ogni livello successivo il tasso trasmissivo reale e’ superiore a quello utile, in quanto ad ogni passaggio si devono introdurre nella trama bit di controllo (per il framing, per la gestione della linea, per identificare gli errori)

230 Gerarchia digitale europea L’ITU-T ha prodotto uno standard differente da quello nordamericano, adottato in Europa ed altrove Questo standard si basa come quello americano sul canale fonico, con tempo di frame di 125 microsecondi La gerarchia prevede i seguenti livelli di aggregazione: E1: 32 canali vocali (2 dedicati a controllo) a 2.048 Mbps E2 = 4*E1 a 8.448 Mbps E3 = 4*E2 a 34.368 Mbps E4 = 4*E3 a 139.264 Mbps E5 = 4*E4 a 565.148 Mbps

231 Sonet e SDH Sonet (Synchronous Optical NETwork) ed SDH (Sinchronous Digital Hierarchy) sono due standard di multiplexing gerarchico sviluppati per la trasmissione su fibra ottica L’obiettivo e’ quello di sfruttare l’ampia banda trasmissiva della fibra per poter ospitare le trasmissioni delle gerarchie digitali gia’ viste I due standard (AT&T e ITU-T) sono leggermente differenti STS-1/OC-1: 51.84 Mbps (ospita un T3) STS-3/OC-3 e STM-1: 155.52 Mbps (ospita un E4) … fino a STS-192/OC-192 e STM-64 a 9.9 Gbps

232 Frame del Sonet Il frame e’ costituito da 810 byte (di durata temporale 125 microsecondi, da cui i 51.84 Mbps), e si descrivono come una matrice di 9 righe e 90 colonne Le prime tre colonne vengono dedicate ad informazioni di controllo i primi due byte assumono sempre lo stesso valore e sono utilizzati per il framing un byte viene utilizzato come puntatore per indicare l’inizio dei dati validi sul frame, in modo da poter inviare dati utili anche se questi si presentano mentre si sta preparando un frame, senza dover attendere il frame successivo alcuni byte nel campo di controllo sono utilizzati per costruire un singolo canale dati per il management, o anche un canale vocale altri byte di controllo sono usati per informazioni di parita’, allineamento delle singole trame ed informazioni sul loro contenuto

233 Schema del frame in Sonet

234 TDM asincrono Un limite del TDM sincrono e’ che quando un canale in ingresso non trasmette, la capacita’ di banda assegnata a quel canale non viene utilizzata (le slot dedicate al canale non trasportano dati utili) Una soluzione talvolta adottata e’ quella di accettare in input un insieme di canali per cui il tasso totale e’ superiore al tasso trasmissivo del canale in uscita L’ipotesi e’ che non tutti trasmetteranno contemporaneamente a piena banda Si utilizzano dei buffer per poter gestire gli intervalli in cui la banda in uscita non e’ sufficiente a gestire i dati in ingresso va pero’ considerato che maggiore e’ la dimensione dei buffer, maggiore e’ il ritardo introdotto in trasmissione, quindi non si puo’ eccedere; d’altra parte minore e’ la dimensione dei buffer, minore e’ il margine oltre il quale si perdono dati In questa modalita’ di multiplexing, non essendoci una assegnazione statica tra canale e trasmittente, si dovranno introdurre informazioni di controllo per identificare la trasmissione associata alle slot

235 Sistemi e Tecnologie della Comunicazione Lezione 9: strato fisico: mezzi trasmissivi

236 Mezzi trasmissivi Vedremo una panoramica sui diversi mezzi trasmissivi utilizzati tipicamente nelle reti di computer, sia guidati: doppino e sue varianti cavo coassiale fibra ottica che non guidati: ponti radio trasmissioni satellitari radiodiffusione infrarossi Ne vedremo le caratteristiche e le applicazioni piu’ diffuse

237 Il doppino Il doppino (o doppino intrecciato) e’ costituito da una coppia di fili di rame isolati separatamente La coppia di fili viene intrecciata, e costituisce una linea di comunicazione singola Solitamente si utilizzano fasci di doppini, che possono essere costituiti da qualche coppia fino a centinaia di coppie (per lunghe distanze) Il doppino e’ il mezzo piu’ economico e piu’ semplice da maneggiare

238 Il doppino: caratteristiche Utilizzato sia per trasmissioni analogiche che digitali Tra i mezzi guidati e’ quello piu’ sensibile a: attenuazione del segnale sulla distanza: questo limita la distanza massima oltre la quale si richiede l’inserimento di amplificatori o ripetitori; tipicamente e’ necessario inserire amplificatori ogni 4/5 Km, mentre per le trasmissioni digitali si deve far uso di ripetitori ogni 2/3 Km interferenza: una coppia di fili si comporta come una antenna; si limita il problema tramite l’avvolgimento della coppia di fili in una specie di spirale; questo riduce la ricettivita’ della “antenna” a segnali esterni diafonia: questo fenomeno viene combattuto utilizzando avvolgimenti di passo differente tra coppie adiacenti rumore impulsivo Per segnali analogici, il doppino fornisce una larghezza di banda di circa 1 MHz Per segnali digitali si ottengono su brevi distanze tassi trasmissivi fino a 1 Gbps

239 UTP (Unshielded Twisted Pair) L’ITU-T ha stabilito degli standard per la realizzazione dei doppini finalizzati alla trasmissione dati Gli standard prevedono cavi costituiti solitamente da quattro coppie di fili, isolati singolarmente ed avvolti in spire a due a due; non e’ prevista schermatura aggiuntiva (UTP: Unshielded Twisted Pair) Le differenze delle diverse categorie sono essenzialmente nella realizzazione degli avvolgimenti (piu’ o meno frequenti); le categorie sono definite in base a capacita’ di banda entro distanze definite (100 m) UTP cat. 3: garantisce fino a 16 MHz di banda UTP cat. 4: fino a 20 MHz UTP cat. 5: fino a 100 MHz Esistono definizioni per standard piu’ performanti (cat. 5e, cat. 6, cat. 7) I doppini UTP cat. 3 sono detti anche di qualita’ fonica, e sono utilizzati sia per la telefonia che per la trasmissione dati fino a 10 Mbps. I doppini UTP cat. 5 sono utilizzati nelle reti locali a velocita’ superiore (fino a 1 Gbps)

240 STP (Shielded Twisted Pair) L’ITU-T ha anche definito una standard per doppini dotati di schermatura, ottenuta avvolgendo l’insieme di coppie con una calza conduttrice, in modo da ridurre la sensibilita’ a segnali esterni Questo standard si chiama STP (Shielded Twisted Pair) e viene utilizzato nella trasmissione dati sulle reti locali, come l’UTP cat. 5. La migliore schermatura permette all’STP di fornire a parita’ di attenuazione una banda piu’ ampia (300 MHz) Pur avendo migliori prestazioni l’STP e’ un cavo piu’ rigido dell’UTP, quindi di minore maneggevolezza, ed e’ utilizzato solamente in ambienti in cui sono presenti forti sorgenti di disturbi elettromagnetici

241 Applicazioni del doppino Il doppino per le sue caratteristiche di maneggevolezza e di basso costo e’ molto diffuso per la telefonia (quasi tutte le connessioni del sistema telefonico nell’ultimo tratto sono costituite da doppini) per le reti locali (il cablaggio degli edifici e’ generalmente realizzato tramite UTP o STP) Utilizzato sia per trasmissioni analogiche canale telefonico a 4 KHz, canali dati via modem o modem ADSL sia per trasmissioni digitali Ethernet (10 Mbps) FastEthernet (100 Mbps) Gigabit Ethernet (1 Gbps) altri protocolli (token ring, …)

242 Il cavo coassiale Il cavo coassiale e’ costituito da un conduttore interno in rame, avvolto in un isolante di materiale plastico (dielettrico) attorno al quale e’ posto il conduttore esterno, costituito da una calza metallica, il tutto ricoperto da un rivestimento esterno isolante

243 Il cavo coassiale (cont.) La sua struttura permette un miglior isolamento elettromagnetico, quindi una minore sensibilita’ alle interferenze ed alla diafonia, ed una minore attenuazione del segnale sulla distanza (che pure rimane il maggior problema di questo mezzo) rispetto al doppino E’ capace di una larghezza di banda fino a 500 MHz Per questi motivi e’ molto diffuso per le connessioni a lunga distanza, per trasmissioni a larga banda Come il doppino necessita di amplificatori o ripetitori ogni qualche Km (piu’ frequenti in caso di trasmissione digitale, in funzione del tasso trasmissivo)

244 Utilizzo del cavo coassiale Esistono due tipi di cavo coassiale in base alle caratteristiche elettriche (che dipendono dalla geometria del cavo), utilizzati storicamente per scopi differenti: Cavo con impedenza a 75 Ω: usualmente utilizzato per la trasmissione analogica (distribuzione televisiva, TV via cavo, tratte di back-bone del sistema telefonico con multiplexing FDM); in multiplexing FDM puo’ trasportare oltre 10000 canali vocali contemporanei Cavo a 50 Ω: solitamente utilizzato nella trasmissione digitale (per reti locali, come Ethernet, token bus, e nelle connessioni dati a livello geografico) Lo standard Ethernet specifica due cavi differenti a 50 Ω : il cavo “giallo”, o cavo thick, piu’ grosso e poco maneggevole, la cui lunghezza massima arriva intorno a 500 m, ed il cavo “nero”, o thin, piu’ flessibile e che non puo’ essere piu’ lungo di circa 180 m.

245 Fibra ottica Il cavo in fibra ottica e’ costituito da nucleo: sottile filo di sostanza vetrosa, generalmente silicio, molto fragile, attraverso il quale si propaga la luce mantello: sostanza che avvolge il nucleo con proprieta’ ottiche differenti dal nucleo guaina: sostanza plastica protettiva che avvolge il mantello, che protegge il cavo da umidita’ e deformazioni Le proprieta’ ottiche di nucleo e mantello sono tali che la luce introdotta nel nucleo con direzione opportuna non possa piu’ uscire dal nucleo, ma venga riflessa in modo da viaggiare lungo il nucleo fino a destinazione I cavi per utilizzo breve possono essere a coppie di fibre; cavi per lunghe tratte possono invece contenere centinaia di fibre distinte

246 Trasmissione lungo la fibra: la rifrazione Quando un raggio di luce passa da un mezzo ad un altro, subisce un cambio di direzione (rifrazione) L’ampiezza dell’angolo di rifrazione dipende dalle caratteristiche fisiche dei due mezzi Esiste un angolo di incidenza (angolo critico) oltre il quale il raggio viene completamente riflesso entro il mezzo piu’ denso

247 Fibre multimodali Nelle fibre multimodali il nucleo ha uno spessore di circa 50 micron In queste condizioni la luce puo’ avere diversi angoli di incidenza (diversi “modi” di propagazione) e percorrere traiettorie spezzate di lunghezza diversa; questa fibra si dice multimodale con indice a gradino Una categoria simile e’ la fibra in cui l’indice di rifrazione nel nucleo non e’ costante, ma variabile; la luce percorre traiettorie curve, sempre con modi diversi in funzione dell’angolo di incidenza (multimodale con indice graduato) e genera un impulso in uscita piu’ stretto In entrambi i casi l’impulso in ingresso subisce una distorsione temporale dovuta ai diversi modi di propagazione, e genera un segnale in uscita (nel dominio tempo) generalemente allargato rispetto al segnale in ingresso La larghezza dell’impulso limita la velocita’ di trasmissione dati in quanto gli impulsi devono essere spaziati e separati temporalmente in ricezione per essere identificati

248 Fibre monomodali Nelle fibre monomodali il nucleo ha uno spessore di 8-10 micron Riducendo la dimensione del nucleo si riducono i modi di propagazione della luce; arrivando alle dimensioni simili alla llunghezza d’onda, la luce si puo’ propagare solo lungo il modo principale, cioe’ quello che non ha riflessioni In questo caso l’impulso di luce non subisce distorsione in uscita, e la fibra e’ capace di tassi trasmissivi maggiori

249 Led e laser Il segnale luminoso viene generato in due modi differenti: tramite LED (Light Emitting Diode): piu’ economico, adatto per trasmissioni a tratta corta su fibre multimodali ed a basso tasso trasmissivo tramite diodi ad emissione laser: molto piu’ costoso, adatto per trasmissioni ad alto tasso trasmissivo per lunghe distanze, piu’ sensibile al calore

250 Lunghezze d’onda L’assorbimento del segnale sulla distanza dipende dalla lunghezza d’onda utilizzata Ci sono tre bande in cui l’assorbimento ha una risposta piatta in frequenza, e bassa: queste sono le bande utilizzate per la trasmissione su fibra: 850 nm, 1300 nm e 1550 nm

251 Caratteristiche delle fibre ottiche La fibra ottica e’ un ottimo mezzo per la trasmissione dati, per diversi fattori: banda trasmissiva: abbiamo gia’ visto come la banda disponibile sulla fibra si aggiri intorno ai 30 THz (30000 GHz), sfruttabile tramite WDM; la tecnologia attuale permette tassi trasmissivi fino a 10 Gbps su singola lambda, ma in laboratorio si raggiungono tassi maggiori a breve distanza dimensione e peso: le fibre sono molto piu’ sottili e leggere dei cavi in rame (problema non indifferente sia per i cablaggi nelle tubature cittadine, sia per la stesura di cavi multipli a lunga distanza, anche transoceanici) attenuazione ridotta: la fibra garantisce una attenuazione significativamente inferiore al rame: questo permette l’utilizzo di ripetitori solo ogni qualche decina di Km o oltre a seconda della tecnologia utilizzata (laser e fibre monomodali sono piu’ efficienti)

252 Utilizzo della fibra ottica La fibra ottica sta’ soppiantando il cavo coassiale per le connessioni a larga banda trasmissiva ed a lunga distanza Gia’ da tempo utilizzata nelle reti locali per le trasmissioni ad elevato tasso trasmissivo (100- 1000-10000 Mbps) a distanze che il rame non riesce a raggiungere Ultimamente in incremento il suo utilizzo verso le case dei privati per soppiantare il rame in vista di servizi on demand via cavo (TV, cinema, giochi, musica, internet, telefonia, videofonia, …) che richiederanno sempre piu’ banda

253 Mezzi non guidati La trasmissione di dati viene spesso realizzata utilizzando la trasmissione di onde elettromagnetiche nell’aria o nello spazio Si possono considerare essenzialmente due diverse regioni dello spettro che hanno utilizzi differenti a causa delle differenti proprieta’ della trasmissione nelle tre regioni: radiodiffusione: trasmissione di onde in una banda compresa tra il KHz ed il GHz; in questa regione le onde si propagano in modo diffusivo, ed e’ utilizzata generalmente in modalita’ unidirezionale per le trasmissioni radio o televisive microonde: nella regione compresa tra 1 e 40 GHz la propagazione delle onde elettromagnetiche e’ abbastanza direzionale (o direzionabile con antenne paraboliche), e viene utilizzata per trasmissioni punto-punto in ponte radio, o trasmissioni satellitari punto-punto o broadcast

254 Lo spettro elettromagnetico

255 Radiodiffusione La radiodiffusione viene utilizzata generalmente per la trasmissione analogica di segnali radio-televisivi in modalita’ broadcast Utilizza due tecniche trasmissive differenti in funzione della regione di frequenze: nella regione fino al MHz (VLF, LF ed MF) il segnale si propaga seguendo la curvatura terrestre ed attraversa bene gli ostacoli: una stazione trasmittente puo’ essere ricevuta fino a 1000 Km di distanza; oltre l’attenuazione (proporzionale all’inverso del quadrato della distanza) diviene eccessiva nella regione dal MHz al GHz (HF, VHF e UHF) il segnale viene assorbito dalla superficie della terra, ma viene riflesso molto bene dalla ionosfera; i segnali vengono quindi inviati verso il cielo raggiungono la stazione ricevente dopo la riflessione

256 Trasmissione via ponte radio La banda di frequenza delle microonde (1-40 GHz) ha la caratteristiche di poter utilizzare antenne paraboliche di dimensioni maneggevoli (fino a qualche metro di diametro) per poter collimare e dare direzione all’emissione Si puo’ quindi realizzare una comunicazione punto-punto tra sorgente e destinazione con allineamento ottico delle antenne: la trasmissione e’ rettilinea, ed e’ indispensabile la visibilita’ tra le antenne delle stazioni comunicanti Questa tecnica di trasmissione va in competizione con le linee in coassiale e via fibra ottica per le lunghe distanze, quando l’alternativa con mezzo guidato risulta troppo costosa o impossibile per motivi morfologici per le brevi distanze (ad esempio per connettere due palazzi vicini di una stessa compagnia) come alternativa alla stesura di una fibra qualora si dovesse attraversare suolo pubblico o di altra proprieta’, per evitare le complicazioni connesse alle autorizzazioni Utilizzando diverse stazioni ripetitrici si riescono a coprire distanze elevate (svariate centinaia di Km); una singola tratta puo’ coprire in condizioni favorevoli fino a qualche centinaia di Km

257 Ponti radio (cont.) Gli aspetti caratteristici della trasmissione in questa banda di frequenza sono l’attenuazione con la distanza, che segue la relazione ed e’ superiore a quella del coassiale, che cresce col logaritmo della distanza, ed e’ anche funzione crescente con la frequenza l’attenuazione dovuta alla interferenza (da altre stazioni, da riflessioni della stessa trasmissione) attenuazione da pioggia o umidita’, fortemente crescente con la frequenza

258 Ponti radio (cont.) Data la dipendenza dell’attenuazione dalla distanza, per le tratte lunghe si utilizzano generalmente due bande di frequenza: 2-6 GHz e 10-14 GHz Le connessioni a breve distanza possono utilizzare le frequenze piu’ alte (fino a 40 GHz) per le quali si hanno i vantaggi: antenne piu’ piccole fascio piu’ collimato (quindi minore necessita’ di potenza) minori problemi di interferenza per lo scarso utilizzo di trasmissioni in quella regione di frequenza

259 Utilizzo dei ponti radio Generalmente utilizzati per trasmissioni analogiche (fonia, televisione) o digitali (per reti private o utilizzate dalle compagnie telefoniche fornitrici di servizi) Le diverse bande di frequenza sono suddivise in canali di diversa larghezza (non uniformi nei diversi paesi), con canali tra i 7 MHz (a 2 GHz) ed i 220 MHz (a 18 GHz), e tassi trasmissivi che vanno dai 12 ai 274 Mbps (in funzione della banda disponibile e del livello di modulazione utilizzato, solitamente QAM-x)

260 Trasmissioni satellitari Il satellite si comporta come una stazione ripetitrice del segnale di un ponte radio Il segnale viene inviato dalla stazione terrestre al satellite (uplink), che lo rimanda a terra verso la stazione o le stazioni riceventi (downlink), generalmente utilizzando frequenze differenti Un satellite opera su piu’ bande di frequenza, con la tecnologia FDM; i singoli canali si chiamano transponder (canali tra 15 e 500 MHz di banda) Sui canali il satellite puo’ fare TDM per gestire diverse comunicazioni Le bande utilizzate sono quelle tra 1 e 10 GHz sopra l’attenuazione atmosferica e’ troppo grande sotto ci sono interferenze ed assorbimento dalla ionosfera Il sovraffollamento delle frequenze spinge attualmente verso l’utilizzo di bande a frequenza superiore, nonostante che i problemi di attenuazione atmosferica divengano sempre piu’ importanti

261 Satelliti GEO (Geostationary Earth Orbit): satelliti a 36000 Km di quota in orbita equatoriale, che appaiono in posizione fissa nel cielo questi satelliti sono adatti alla trasmissione dati in quanto il puntamento delle antenne e’ fisso per motivi di interferenza i satelliti vengono distanziati di due gradi, quindi si possono avere al massimo 180 satelliti la trasmissione dati deve tenere conto del ritardo di propagazione del segnale, che e’ pari a 0.25 secondi (inefficienti i protocolli con controllo degli errori e ritrasmissione dei pacchetti) MEO (Medium Earth Orbit): satelliti a 18000 Km di quota, con 6 ore di periodo dell’orbita inadatti per la trasmissione dati esempio: i satelliti del GPS (Global Positioning System) LEO (Low Earth Orbit): tra 750 e 1500 Km di quota molto veloci nel transito, ma vicini, quindi si ha poco ritardo e si richiede poca potenza in trasmissione esempi: Iridium (per fonia, fax, dati, navigazione), Globalstar.

262 Riferimenti Gli argomenti sviluppati nell’ambito del livello fisico possono essere approfonditi sullo Stallings: cap. 3: concetti generali, caratterizzazione di segnale e canale in frequenza, alterazioni della trasmissione, leggi di Nyquist e Shannon cap. 4: mezzi trasmissivi cap. 5: codifica dei dati analogici e digitali (fino al § 5.4 compreso) cap. 8: multiplexing (escluso ISDN, prestazioni TDM asincrono, xDSL) Utili approfondimenti anche sul Tanenbaum: cap. 2: (solo gli argomenti trattati a lezione) In entrambi i testi si possono trovare utili riferimenti bibliografici per chi desidera approfondire gli argomenti (non richiesto all’esame) Per le parti trattate a lezione e non presenti sui testi, fare riferimento ai lucidi ed agli appunti delle lezioni

263 Sistemi e Tecnologie della Comunicazione Lezione 10: data link layer: definizione, framing, codici di correzione degli errori

264 Il data link layer Il Data Link Layer (anche livello di collegamento dati, o piu’ semplicemente: livello 2) ha la funzione principale di fornire allo strato di rete servizi per il recapito di dati al nodo direttamente adiacente sulla rete Il compito del data link layer e’ quindi quello di organizzare il trasferimento dei dati tra due apparati adiacenti, e di fornire una interfaccia definita per consentire allo strato di rete di accedere ai servizi offerti Apparati adiacenti significa logicamente connessi da un “tubo” che trasmette i bit da una parte e li riceve dall’altra, nell’ordine di trasmissione Il data link layer utilizzera’ i servizi dello strato fisico per il recapito dei dati al suo processo paritario sul calcolatore ricevente, ma logicamente la comunicazione avverra’ direttamente con il processo di data link layer remoto come sia fatto il “tubo” non e’ argomento che riguardi il data link layer, ma lo strato fisico: non importa se ci sia un cavo, una fibra, una sequenza di mezzi differenti con interposti ripetitori, convertitori elettrico/ottici, modem, multiplexer, antenne o altro

265 Il data link layer (cont.) Per realizzare le sue funzioni il data link layer riceve i dati dallo strato di rete (pacchetti), li organizza in trame (frame) eventualmente spezzando in piu’ frame il blocco di dati ricevuto dal livello 3, aggiunge ad ogni frame una intestazione ed una coda (header e trailer), e passa il tutto allo strato fisico per la trasmissione In ricezione il data link layer riceve i dati dallo strato fisico, effettua i controlli necessari, elimina header e trailer, ricombina i frame e passa i dati ricevuti allo strato di rete

266 Servizi del DLL Normalmente la progettazione dello strato 2 fornisce allo strato di rete i servizi trasmissione dati senza riscontro e senza connessione trasmissione dati affidabile senza connessione trasmissione affidabile con connessione La classe di servizio non affidabile senza connessione e’ adatta su linee di elevata qualita’ il controllo sugli errori e la ritrasmissione di frame errati comporta una inefficienza in termini di numero di bit trasmessi rispetto ai dati, con riduzione del tasso utile ed aumento della probabilita’ di errore il controllo puo’ essere demandato ai livelli superiori a vantaggio della efficienza del livello di data link generalmente questi servizi sono utilizzati su rete locale come detto piu’ volte, servizi non affidabili sono utilizzati anche per il traffico voce e video

267 Servizi del DLL (cont.) La classe di servizio affidabile con connessione e’ adatta su linee piu’ frequentemente soggette ad errori demandare il controllo e la ritrasmissione ai livelli superiori (che generalmente trasmettono pacchetti costituiti da piu’ frame) in caso di elevata probabilita’ di errore potrebbe causare la ritrasmissione di molti pacchetti, mentre al livello due puo’ essere sufficiente la ritrasmissione del singolo frame tipicamente utilizzata su linee a grande distanza (connessioni WAN), anche se la fibra ottica riduce notevolmente questo problema Il data link layer deve quindi poter offrire le diverse classi di servizio, per soddisfare le diverse esigenze conseguenti alle diverse circostanze I servizi vengono forniti attraverso una serie di regole di comunicazione (protocolli) tra i livelli di data link dei calcolatori adiacenti per realizzare il trasferimento dei dati

268 Problematiche del livello 2 Per poter svolgere le sue funzioni il data link layer dovra’ curare i seguenti aspetti: la organizzazione del flusso di bit in frame, con controllo per la sincronizzazione, inserimento e rimozione di header e trailer, riordinamento dei frame in ricezione organizzare il trasferimento dei dati in modo da gestire eventuali errori di trasmissione, utilizzando codici di correzione degli errori o codici di identificazione degli errori e gestendo la ritrasmissione dei frame errati realizzare il controllo di flusso, per utilizzare in modo efficiente il canale trasmissivo impedendo al contempo ad un trasmettitore veloce di sovraccaricare un ricevitore lento

269 Framing Per trasportare i bit il Data Link Layer utilizza i servizi dello strato fisico Lo strato fisico non puo’ garantire il trasferimento privo di errori, che dovranno essere gestiti dal DLL Per fare cio’ il DLL organizza i bit in frame, ed effettua i controlli per ogni frame La gestione del frame deve prevedere in primo luogo la possibilita’ del ricevente di identificare il frame, quindi si devono adottare regole per delimitarlo e poterne identificare i limiti in ricezione Esistono diverse tecniche conteggio dei caratteri byte di flag, e byte stuffing bit(s) di flag di inizio, e fine e bit stuffing

270 Framing a conteggio di caratteri Il conteggio dei caratteri prevede l’utilizzo di un frame costituito da caratteri, ed un campo iniziale per specificare il numero dei caratteri di cui e’ costituito il frame In ricezione si legge nel campo iniziale la lunghezza del frame, e si identifica cosi’ il primo carattere appartenente al frame successivo Questo algoritmo e’ molto debole, in quanto in caso di errore non si riesce piu’ a riagganciare la sincronizzazione

271 Frame con byte di flag Il problema della sincronizzazione puo’ essere risolto utilizzando un carattere speciale per indicare l’inizio e la fine del frame (flag) In questo modo la perdita di sincronia si recupera semplicemente aspettando il carattere di inizio del frame Si presenta il problema di gestire l’eventualita’ che il carattere di flag compaia nel campo dei dati: la soluzione e’ quella di utilizzare un carattere di escape da inserire prima del byte di flag nel campo dati, in modo da indicare al ricevente che quel carattere fa parte dei dati e non della struttura di controllo In ricezione il carattere di escape verra’ rimosso dal campo dati Va pero’ considerato che anche il carattere di escape puo’ capitare casualmente nel campo dati: per evitare che venga erroneamente rimosso un carattere di escape facente parte dei dati, anche il carattere di escape verra’ preceduto dal carattere di escape stesso, in modo da identificarlo in ricezione come parte dei dati allo stesso modo dell’eventuale carattere di flag

272 Frame con byte di flag (cont.) In molti protocolli si utilizza la coppia di caratteri DLE-STX (Data Link Escape – Start of Text) per delimitare l’inizio del frame, e la coppia DLE-ETX (End of Text) per delimitarne la fine; ogni volta che il carattere DLE compare nel campo dati viene raddoppiato.

273 Framing con bit stuffing L’utilizzo di protocolli basati sulla lunghezza del carattere a livello di data link non sempre e’ auspicabile non tutti i codici sono concordi sulla lunghezza del carattere (7/8 bit ASCII, 16 bit UNICODE, …) non sempre e’ adatto un frame costituito da un numero intero di caratteri (vedi ad esempio SONET) Per ovviare a questo si utilizza una tecnica che prevede per indicare l’inizio e la fine del frame una sequenza predefinita di bit (solitamente 01111110) Ogni qualvolta la sequenza di flag compare nel campo dati, e’ sufficiente inserire in modo opportuno un bit che ne altera la sequenza (per la sequenza usuale, si inserisce un bit 0 dopo cinque bit 1 consecutivi) In ricezione ogni volta che si riceve una sequenza di 5 bit 1 seguiti da un bit 0, lo zero viene eliminato Anche in questo caso l’operazione di stuffing rende inequivocabile la sequenza di inizio e fine del frame, e quindi possibile la risincronizzazione

274 Esempio di bit stuffing

275 Tecniche multiple Va infine considerato che molti protocolli, per aumentare la ridondanza del protocollo, utilizzando piu’ di una tecnica assieme, tipicamente abbinando il conteggio dei caratteri ad una delle due tecniche di byte o bit stuffing In ricezione si semplifica il controllo in quanto il delimitatore di fine si cerca solo nella posizione indicata come fine del frame dal contatore Va osservato come questo non permette comunque di rinunciare alla necessita’ dello stuffing, che resta indispensabile per la risincronizzazione del frame

276 Frammentazione Spesso lo strato di rete utilizza pacchetti di dimensione inadatta allo strato di data link In questa condizione, il livello 2 spezza il pacchetto in piu’ frammenti, e tratta ciascun frammento indipendentemente (applica a ciascuno header, trailer e limiti del frame) Per poter consegnare in ricezione allo strato di rete il pacchetto originario il livello 2 dovra’ occuparsi di ricombinare i frame nell’ordine corretto Sara’ quindi necessario numerare i frame in un apposito campo dell’header per poterli riordinare Vedremo piu’ approfonditamente come questo venga fatto nella analisi del controllo di flusso e di errore

277 Controllo degli errori Come gia’ visto, lo strato fisico non puo’ garantire una consegna di bit senza errori Lo strato di data link deve quindi operare algoritmi per assicurarsi che i frame inviati vengano ricevuti tutti senza errori senza duplicati nell’ordine corretto Solitamente si utilizza una forma di riscontro che il ricevente manda al mittente per confermare la corretta ricezione dei frame Questo viene fatto tramite l’invio di pacchetti appositi di acknowledge positivo (ACK) o negativo (NACK)

278 Problematiche del controllo degli errori Il controllo deve prevedere un meccanismo per correggere o identificare gli errori di trasmissione La perdita completa di un frame, o la perdita di un ACK, lascia il trasmittente in attesa dell’ACK, quindi si dovranno inserire timer per la ritrasmissione automatica di frame La perdita di un ACK comporta la ritrasmissione di un frame gia’ ricevuto correttamente, quindi si deve identificare questa eventualita’ e scartare il duplicato, tramite ad esempio la numerazione dei frame I meccanismi adottati per questa funzione sono differenti e dipendono dal protocollo utilizzato; ne vedremo alcuni tra i piu’ comuni

279 Controllo di flusso Puo’ capitare che una sorgente sia in grado di trasmettere ad un tasso piu’ alto della capacita’ di ricevere a destinazione Senza controllo, questo implica che la destinazione inizierebbe a scartare frame trasmessi correttamente per mancanza di risorse (tempo di processamento, buffer) Il protocollo deve poter gestire questa situazione e prevedere meccanismi per rallentare la trasmissione Tipicamente il protocollo prevedera’ dei frame di controllo con cui il ricevente puo’ inibire e riabilitare la trasmissione di frame, cioe’ il protocollo stabilisce quando il trasmittente puo’ inviare frame Vedremo diverse tecniche, che si differenziano per complessita’ ed efficienza di utilizzo della linea

280 Controllare gli errori? Perche’ occuparsi degli errori trasmissivi? Vediamo un esempio pratico: Una linea ISDN a 64 Kbps viene ritenuta idonea a fornire servizio se il numero di frame errati e’ inferiore ad uno al giorno Ipotizzando di utilizzare frame di 1000 bit, e di trasmettere a piena banda, si ha: Ora, ipotizzando un BER di una parte su milione, si ha: cioe’ senza controllo di errori il tasso di frame errati e’ 5000 volte superiore a quello richiesto, quindi e’ necessario operare per identificare e correggere gli errori trasmissivi

281 Errori di trasmissione Esistono due strategie per gestire errori di trasmissione del livello fisico: utilizzare codifiche a correzione di errore (forward error correction): la codifica utilizzata e’ in grado di identificare i bit errati nel frame e di correggerli in ricezione utilizzata tipicamente su linee ad alto tasso di errore, per le quali l’overhead della codifica e’ conveniente rispetto alla ritrasmissione del frame che ha elevate probabilita’ di essere ancora errato utilizzare codifiche ad identificazione di errore: la codifica e’ in grado di capire se c’e’ stato un errore durante la trasmissione; in conseguenza dell’errore il protocollo chiedera’ la ritrasmissione del frame, o non fara’ nulla, aspettando lo scadere del timer in trasmissione utilizzata tipicamente su linee a basso tasso di errore, nelle quali la ritrasmissione del frame errato risulta piu’ conveniente dell’overhead di una codifica a correzione di errore

282 Codeword e distanza di Hamming Un messaggio da inviare e’ costituito da m bit di dati, a cui si aggiungono r bit di ridondanza finalizzata alla rilevazione o correzione di errore La quantita’ di bit trasmessi e’ costituita da n = m+r bit. Chiamiamo codeword l’insieme di n bit trasmessi Date due codeword, si definisce distanza di Hamming tra le codeword il numero di bit corrispondenti che differiscono, cioe’ il numero di “1” nel risultato dell’OR esclusivo tra le codeword; ad esempio le due codeword hanno distanza di Hamming pari a 3

283 Correzione e rivelazione di errori basati sulla distanza di Hamming L’idea e’ che per trasformare una codeword in un’altra codeword a distanza d, sono necessari d errori sul bit Normalmente i codici ammettono tutte le possibili combinazioni di bit sui dati, ma non tutte le combinazioni sui bit di controllo Dato l’algoritmo che determina gli r bit di controllo associati alle possibili combinazioni degli m bit di dati, esisteranno codeword valide e codeword invalide La distanza minima tra le codeword valide e’ detta distanza di Hamming della codifica

284 Correzione e rivelazione di errori basati sulla distanza di Hamming (cont.) Ogni errore di bit trasformera’ la codeword trasmessa (valida) in una codeword differente Per poter rivelare d errori, il codice dovra’ avere una distanza di Hamming pari a d+1 (in questo modo d errori non potranno mai trasformare una codeword valida in un’ altra codeword valida) L’esempio piu’ semplice e’ il bit di parita’: questo e’ un codice a distanza due, che permette di identificare l’errore di singolo bit dato un set di m bit, la codeword e’ costituita da m+1 bit dove l’ultimo bit e’ determinato dalla parita’ la codeword valida piu’ vicina si trova cambiando un bit dei dati, ma questo obbliga a cambiare anche il bit di parita’, quindi la distanza del codice e’ 2 un errore di singolo bit provoca sempre la trasformazione di una codeword valida in una non valida (viola la parita’) Naturalmente questi codici in generale non sono in grado di rivelare errori di d+1 bit (o superiori) in trasmissione

285 Correzione e rivelazione di errori basati sulla distanza di Hamming (cont.) Questa tecnica viene utilizzata per la correzione degli errori Per poter identificare e correggere d errori, serve una codifica a distanza 2d+1 In questo modo d errori trasformeranno una codeword valida in una codeword invalida, ma tale che la codeword valida trasmessa risulta quella a distanza minima, quindi e’ identificabile Ad esempio, supponiamo che le codeword valide siano 0000000000 0000011111 1111100000 e 1111111111. La distanza del codice e’ 5 Supponiamo di trasmettere 0000000000, e di avere 2 errori in trasmissione, ad esempio riceviamo 1100000000. Il ricevente sa che la codeword trasmessa e’ quella piu’ vicina (che dista 2 dalla codeword ricevuta), cioe’ ricostruisce il dato corretto In caso di errori di piu’ bit, la codifica commettera’ un errore di interpretazione (proseguendo nell’esempio, se in trasmissione e’ stata trasmessa la codeword 1111100000 e si sono verificati 3 bit di errore, ricevendo 1111101011, il ricevente correggera’ il dato ricevuto in 1111111111)

286 Metodo di Hamming per un codice di correzione di un bit Per realizzare la correzione di 1 bit di errore dobbiamo realizzare un codice a distanza 3 Si puo’ vedere la cosa nel seguente modo: per ciascun insieme di dati dovremo avere una codeword valida ed n codeword invalide, ottenute cambiando ad uno ad uno un bit della codeword valida Si ha pertanto: Questa relazione definisce il limite inferiore di r Ad esempio, per trasmettere la codifica ASCII a 7 bit dovremo utilizzare 4 bit di ridondanza

287 Metodo di Hamming per un codice di correzione di un bit (cont.) Hamming ha ideato un modo efficiente per realizzare questa codifica Numeriamo i bit della codifica partendo da sinistra, iniziando da 1 I bit di ridondanza stanno nelle posizioni 1, 2, 4, … (quelle che rappresentano le potenze di 2) I bit dei dati occupano le altre posizioni; ciascuna posizione puo’ essere espressa come somma di potenze di due: 7 = 1+2+4 10 = 2+8 Ciascun bit di ridondanza viene valutato per definire la parita’ (pari o dispari) dell’insieme dei bit la cui posizione e’ tale da avere il numero di posizione di quel bit di ridondanza nella sua scomposizione il bit 1 definira’ la parita’ dei bit 1, 3, 5, 7,.. il bit 2 definira’ la parita’ dei bit 2, 3, 6, 7, 10, 11, 14, 15, … il bit 4 definira’ la parita’ dei bit 4, 5, 6, 7, 12, 13, 14, 15, …

288 Metodo di Hamming per un codice di correzione di un bit (cont.) Ogni bit di dati contribuisce alla parita’ dei bit di controllo tali che la somma delle posizioni di questi bit di controllo eguaglia la posizione del bit in questione, in quanto questi sono i bit le cui posizioni fanno parte della scomposizione in potenze di due della posizione del bit stesso In ricezione si calcolano i bit di parita’ sulla base dei dati ricevuti, e si confrontano con i valori ricevuti; sommando le posizioni dei bit di controllo risultati errati, si ottiene la posizione del bit errato (si otterra’ zero se non c’e’ stato errore) Ad esempio, supponiamo di trasmettere il carattere H, la cui codifica ASCII e’ 1001000. La codifica di Hamming (pari) per H e’ 00110010000 (in azzurro i bit di ridondanza) Se in ricezione otteniamo 0011011000 (con un errore di trasmissione, nel bit in posizione 6) e proviamo a ricalcolare la parita’, otteniamo: bit 1: x+1+0+1+0 = 0 giusto bit 2: x+1+1+1+0 = 1 errato bit 4: x+0+1+1 = 0 errato bit 8: x:0+0 = 0 giusto quindi il bit errato sara’ in posizione 2+4 = 6 Questo vale anche per identificare un eventuale errore sul bit di controllo, che risultera’ essere l’unico errato

289 Tecnica per correzione di errori a grappolo Spesso gli errori su una linea di trasmissione dati si presentano a grappoli (burst) Ad esempio, un evento di rumore impulsivo provoca l’errore di un certo numero di bit consecutivi Benche’ la codifica Hamming permetta di correggere solo errori singoli, si usa un trucco per identificare e correggere gli errori a grappolo fino ad una lunghezza massima Una sequenza di K codeword consecutive viene rappresentata in colonna, ed i bit vengono trasmessi per colonna Un evento di errore burst di lunghezza non superiore a K provochera’ la trasmissione errata di non piu’ di K bit consecutivi (nell’ordine di trasmissione) Poiche’ i bit sono trasmessi in colonne, risulteranno errati non piu’ di un bit per ciascuna codeword In questa condizione gli errori burst di lunghezza non maggiore di K potranno essere corretti in ricezione

290 Esempio di codifica di Hamming

291 Sistemi e Tecnologie della Comunicazione Lezione 11: data link layer: codici di rilevazione di errore, gestione degli errori

292 La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono stati errori in trasmissione Il codice non ha la finalita’ di correggere l’errore, ma solo di rilevare che c’e’ stato Per raggiungere lo scopo si utilizzano bit di controllo in aggiunta ai bit dei dati La tecnica utilizzata e’ di assegnare in trasmissione ai bit di controllo un valore opportuno in funzione dei bit dei dati; in ricezione si calcolano nuovamente i valori dei bit di controllo e si fa la verifica con quelli ricevuti

293 Tecniche di codifica Abbiamo gia’ visto un esempio: il bit di parita’ questa codifica permette la rilevazione di qualunque errore singolo, ed in generale di un numero dispari di errori un numero pari di errori non potra’ essere rilevato la codifica sara’ quindi in grado di identificare burst di errori con probabilita’ del 50% Anche in questo caso si puo’ utilizzare la tecnica di trasmettere K codeword in colonna per identificare errori burst di lunghezza non superiore a K; errori piu’ estesi, o piccole serie multiple di errori produrranno un valore valido per ogni riga con probabilita’ 0.5 la probabilita’ che l’errore non venga rilevato sara’ complessivamente pari a il vantaggio di questa codifica e’ il basso overhead (1 bit per ogni frame) Generalmente si utilizza una tecnica piu’ efficiente, detta CRC (Cyclic Redundancy Check), o codifica polinomiale

294 Rappresentazione di sequenze di bit tramite polinomi Una sequenza di N bit puo’ essere rappresentata tramite un polinomio a coefficienti binari, di grado pari a N-1, tale che i suoi coefficienti siano uguali ai valori dei bit della sequenza Il bit piu’ a sinistra rappresenta il coefficiente del termine di grado N-1, mentre il bit piu’ a destra rappresenta il termine noto (di grado 0) Ad esempio, la sequenza 1001011011 puo’ essere rappresentata dal polinomio Il grado del polinomio e’ determinato dal primo bit a sinistra di valore 1 presente nella sequenza

295 Aritmetica dei polinomi in modulo 2 L’aritmetica dei polinomi a coefficienti binari si gestisce con le regole della aritmetica modulo 2: le somme e le sottrazioni non prevedono riporti; sono pertanto coincidenti ed equivalenti all’OR esclusivo: le divisioni sono eseguite normalmente, tranne che le sottrazioni seguono la regola sopra detta; in questi termini, il divisore “sta” nel dividendo quando il dividendo ha lo stesso numero di bit del divisore, mentre non si puo’ dividere quando il dividendo ha meno bit del divisore

296 Divisione binaria di polinomi Ad esempio:

297 Codifica polinomiale (CRC) La tecnica consiste nel considerare i dati (m bit) da inviare come un polinomio di grado m-1 Trasmettitore e ricevitore si accordano sull’utilizzo di un polinomio generatore G(x) di grado r Il trasmettitore aggiunge in coda al messaggio una sequenza di bit di controllo (CRC) in modo che il polinomio associato ai bit del frame trasmesso, costituito dall’insieme di dati e CRC, sia divisibile per G(x) In ricezione si divide il polinomio associato ai dati ricevuti per G(X) se la divisione ha resto nullo, si assume che la trasmissione sia avvenuta senza errori se la divisione ha resto non nullo, sono certamente avvenuti errori

298 Codifica polinomiale (cont.) Dal punto di vista logico, la generazione del codice CRC avviene nel seguente modo: Sia M(x) il polinomio associato agli m bit di dati Sia G(x) il polinomio generatore di grado r Si aggiungono r bit a valore 0 in fondo ai bit di dati; il polinomio associato all’insieme di m+r bit e’ quindi M(x) Si calcola il resto della divisione M(x)/G(x), che sara’ un polinomio R(x) di grado inferiore ad r, quindi rappresentativo di una sequenza di r bit Si costruisce la sequenza di bit associata al polinomio T(x) = M(x)-R(x), che equivale ad aggiungere i bit corrispondenti a R(x) in coda ai dati da inviare: vanno riportati tutti gli r bit associati ad R(x), quindi anche eventuali zeri in testa al resto; questa e’ una sequenza di m+r bit E’ evidente che il polinomio T(x) risultera’ divisibile per G(x) con resto nullo

299 Esempio di calcolo di CRC Supponiamo di voler trasmettere con CRC la sequenza 1101011011, utilizzando il polinomio generatore equivalente alla sequenza di bit 10011 Si costruisce la sequenza 11010110110000, e la si divide per 10011 Il resto della divisione e’ 1110 Il frame che verra’ trasmesso sara’ quindi 11010110111110 In ricezione si divide la sequenza ricevuta per lo stesso polinomio, e si verifica che il resto sia nullo

300 Caratteristiche del polinomio generatore La codifica CRC si basa sulla definizione del polinomio generatore G(x) Le caratteristiche del polinomio determinano quali errori saranno rilevabili e quali invece potranno passare inosservati Detto T(x) il polinomio associato al frame trasmesso, il polinomio associato al frame ricevuto puo’ essere espresso come T(x)+E(x), dove E(x) avra’ coefficiente 1 per ogni bit che e’ stato modificato da errori trasmissivi Risulta chiaro che un errore passera’ inosservato solo se T(x)+E(x) sara’ divisibile per G(x), ma essendo per definizione T(x)/G(x) = 0, l’errore passera’ inosservato se E(x) sara’ divisibile per G(x)

301 Caratteristiche del polinomio generatore (cont.) Errori di singolo bit: il polinomio E(x) avra’ la forma dove i e’ il bit errato; un polinomio G(x) costituito da piu’ di un termine non potra’ dividere E(x) Errori di coppie di bit: il polinomio ha la forma in questo caso G(x) non potra’ essere divisore di E(x) se G(x) non divide per ogni k: gia’ visto G(x) non divide ( +1) per ogni k possibile (cioe’ fino a k pari al numero di bit del frame): esistono in letteratura molti polinomi semplici e di basso grado che non sono divisori di ( +1) fino a valori di K molto elevati; ad esempio, il polinomio non divide ( +1) per K<32768

302 Caratteristiche del polinomio generatore (cont.) Errori in numero dispari di bit: se G(x) contiene a fattore (x+1) non puo’ essere divisore di un polinomio con numero dispari di elementi: Per assurdo, supponiamo che E(x) sia divisibile per (x+1) si puo’ scrivere E(x) = (x+1)Q(x) calcoliamo E(1) = (1+1)Q(1) ma 1+1 = 0, quindi E(1) = 0 Pero’ se E(x) ha un numero dispari di elementi, E(1) e’ la somma di un numero dispari di 1, che fa 1 si ha quindi un assurdo che nega l’ipotesi di partenza

303 Caratteristiche del polinomio generatore (cont.) Sequenze di errori di lunghezza ≤ r un burst di errori lungo K si puo’ rappresentare come E(x) = x j (x k-1 +x k-2 +…+1) j determina la distanza dell’ultimo bit errato dall’ultimo bit del frame come detto, E(x) non divide x j la restante parte di E(x) non potra’ essere divisibile per G(x) se K ≤ r

304 Caratteristiche del polinomio generatore (cont.) Sequenze di errori di lunghezza r+1 in questo caso E(x) sara’ divisibile per G(x) solo se il burst genera una sequenza identica al polinomio generatore la probabilita’ che questo accada e’ (½) r-1 Sequenze di errori di lunghezza maggiore si puo’ dimostrare, nella assunzione che tutti i bit possano essere errati con uguale probabilita’, che negli altri casi la probabilita’ che E(x) sia divisibile per G(x) e’ pari a (½) r

305 Polinomi standard Viste le caratteristiche dei polinomi, si sono identificati diversi polinomi opportuni per rendere molto improbabile la mancata rilevazione di errori I piu’ comuni a 16 bit sono Un polinomio standard a 32 bit utilizzato in molte applicazioni (tra cui IEEE 802) e’ il CRC-32:

306 Gestione degli errori I protocolli a rilevazione di errore devono gestire due tipi di evento: perdita di un frame perdita di un riscontro dove la perdita puo’ essere un evento noto (ricezione di un frame errato) o un evento ignoto (distruzione del frame in trasmissione) Generalmente si utilizzano una o piu’ delle seguenti tecniche: riscontro positivo attesa di timeout per la ricezione dell’ACK e ritrasmissione riscontro negativo Questi meccanismi si chiamano ARQ (Automatic Repeat reQuest)

307 Gestione degli errori Esistono diversi meccanismi di ARQ, che si basano sulle funzionalita’ dei diversi protocolli di controllo di flusso ARQ stop-and-wait ARQ go-back N ARQ selective reject Poiche’ il loro funzionamento dipende da questi protocolli, li vedremo assieme all’analisi del controllo di flusso

308 Sistemi e Tecnologie della Comunicazione Lezione 12: data link layer: controllo di flusso, protocolli stop-and-wait e sliding window

309 Controllo di flusso L’implementazione del data link layer prevedera’ la realizzazione della interfaccia con i livelli adiacenti, ad esempio due procedure from-network-layer() e to- network-layer() per scambiare dati con il livello superiore, e due procedure analoghe per scambiare dati con lo strato fisico In aggiunta sara’ prevista una procedura wait-for-event() che mettera’ il data link layer in attesa di un evento Questo evento sara’ in generale la segnalazione, da parte di uno dei due livelli adiacenti, che sono disponibili dei dati Infine, saranno definite procedure per il trattamento dei dati (inserimento/rimozione di header, calcolo di checksum, …)

310 Controllo di flusso (cont.) In ricezione, il data link layer verra’ svegliato per prelevare dati dallo strato fisico, processarli, e passarli allo strato di rete Di fatto il DDL in ricezione non sara’ in grado di rispondere ad eventi per il tempo che intercorre tra la chiamata alla procedura from-physical-layer() e la fine della procedura to-network-layer() In questo intervallo di tempo, dati in arrivo saranno messi in buffer, in attesa di essere processati Poiche’ il tempo di elaborazione non e’ nullo, si deve gestire l’eventualita’ che i dati arrivino troppo velocemente

311 Controllo di flusso a priori Un semplice meccanismo puo’ essere quello di valutare i tempi di risposta del ricevente, ed inserire dei ritardi nel processo di trasmissione per adattarlo alla capacita’ di ricezione Il problema e’ che il tempo di processamento in ricezione non e’ una costante e puo’ dipendere dal numero di linee che il nodo ricevitore deve gestire Basarsi sul caso peggiore comporta un grosso limite di efficienza Vedremo esempi di protocolli che implementano un controllo di flusso di complessita’ crescente al fine di utilizzare al meglio la banda

312 Protocollo simplex stop-and-wait Ipotizziamo che il canale sia privo di errori il traffico dati scorra in una direzione sola, dal trasmittente (A) al ricevente (B), cioe’ protocollo simplex Il protocollo stop-and-wait prevede che A, dopo aver inviato il frame, si fermi per attendere un riscontro B, una volta ricevuto il frame, inviera’ ad A un frame di controllo, cioe’ un frame privo di dati, allo scopo di avvisare A che puo’ trasmettere un nuovo frame Il frame di riscontro di indica generalmente con il termine ACK (ACKnowledge) o RR (Receiver Ready) Va osservato che il traffico dati e’ simplex, ma i frame devono viaggiare nelle due direzioni, quindi il canale fisico deve essere almeno half-duplex