Informatica 3 V anno Le reti di computer Telematica L’avvento tecnologie dell’informazione e della telecomunicazione ha aumentato la necessità di scambiare informazioni all’interno e all’esterno delle aziende. Il connubio tra tecnologia informatica e telecomunicazioni ha dato vita alla TELEMATICA L’elaborazione a distanza delle informazioni è resa possibile grazie al sistema di trasmissione dei dati che prende il nome di network, ossia rete di comunicazione. Si può definire rete di computer (computer network) un gruppo di due o più computer collegati tra loro. Elaborazione centralizzata Le prime reti di computer, negli anni ‘60 presentavano una elaborazione centralizzata che consisteva in un mainframe di prestazione notevoli e costo elevato, cui venivano collegati terminali privi di una capacità di elaborazione locale. I pro erano da ricercare in: - grande sicurezza dei dati e - elevata facilità di conduzione dati I contro, invece erano: - lentezza nell’esecuzione e nella interattività - fragilità del sistema ai guasti Elaborazione distribuita Con l’evolversi della tecnologia si è passati all’elaborazione distribuita. I terminali non intelligenti sono sostituiti da terminali intelligenti (PC) tra loro interconnessi e in grado di eseguire elaborazioni autonome (dette fuori linea o offline), cioè senza controllo dell’elaboratore centrale. Il compito dell’elaboratore centrale è stato ridimensionato a semplice gestore delle risorse condivise da tutti gli utenti collegati in una vera e propria rete di computer. Rete di computer e sistema distribuito Attenzione, Rete di computer NON è sinonimo di sistema distribuito: - in un sistema distribuito l’utente ha l’impressione di avere a che fare con un unico sistema di calcolo: l’esistenza di molteplici computer è a lui invisibile; - in una rete di computer l’utente, invece, è consapevole dell’esistenza di numerosi computer la cui interconnessione è garantita da un apposito software di gestione (un sistema operativo distribuito). È possibile, pertanto pensare il sistema distribuito come: Sistema distribuito = Rete di computer + Sistema operativo distribuito La condivisione delle risorse Una delle caratteristiche più importanti di cui gode l’informazione archiviata in formato digitale è la grande facilità di movimento. I computer collegati possono scambiarsi dati e condividere risorse distribuendo così il carico di elaborazione e archiviazione delle informazioni. I computer collegati, da puri strumenti di elaborazione dei dati, diventano veri e propri strumenti di comunicazione. Lo scopo principale di una rete di computer è quello di condividere risorse comuni. Tipologie di risorse Le risorse possono essere fondamentalmente di due tipi: - risorse hardware, come stampanti, modem, dischi, ecc. - risorse software, come archivi, programmi, ecc. Altri vantaggi delle reti Oltre alla condivisione di risorse, tra gli altri vantaggi di una rete di computer, possiamo elenacare: - Migliore rapporto prestazioni/costo - Migliore espansione e scalabilità del sistema - Maggiore affidabilità del sistema - Maggiori vantaggi organizzativi e di logistica Ma cosa sono le reti di computer? Una rete di computer è un insieme di dispositivi informatici totalmente autonomi tra loro, connessi mediante un opportuno sistema di comunicazione e utilizzanti un particolare “linguaggio” in grado di interagire mediante scambio di messaggi al fine di condividere risorse messe a disposizione da ciascuno di essi. La fisica delle reti In una rete è possibile distinguere una componente hardware (fisica) e una software (logica). La componente hardware è costituita da: - Terminali: computer per accedere alla rete - Host: computer che contengono informazioni e restituiscono dati - Nodi: computer o dispositivi che indirizzano i terminali verso gli host. Sono detti anche dispositivi attivi - Linea di interconnessione: dispositivi, solitamente cavi, su cui viaggiano le informazioni. Sono detti anche dispositivi passivi Queste quattro componenti costituiscono una rete come: - un insieme di sistemi di elaborazione (host e terminali) - una sottorete di comunicazione formata da nodi e linee di trasmissione. La logica delle reti Come detto, in una rete è possibile distinguere una componente hardware (fisica) e una software (logica). La componente software è costituita da tutti i programmi che gestiscono il collegamento tra i vari host e il traffico tra sistemi caratterizzati da differenti ambienti operativi e architetture hardware. Rappresentazione della rete La sottorete di comunicazione costituisce il livello fisico della rete, mentre le modalità di utilizzo delle varie linee di comunicazione in essa presenti per realizzare la comunicazione tra gli utenti costituiscono il livello logico o architettura della rete. Client-server All’interno di una rete, alcuni computer possono offrire servizi agli altri mettendo a disposizione le loro risorse. Tali computer sono definiti server o host, mentre i client sono quei computer che richiedono il servizio e utilizzano le risorse messe a disposizione dai server. Con il termine risorsa ci riferiamo a dispositivi sia hardware sia software. Architettura client-server I programmi che il client richiede al server sono caricati nella RAM del server ed eseguiti con la sua CPU, mentre i file possono risiedere presso la memoria del server. Vari client possono accedere agli stessi contenuti memorizzati sul server, i sistemi operativi di rete garantiscono che le informazioni gestite da un client vengano lavorate dagli altri a sua insaputa. La possibilità di avere un’unica applicazione memorizzata sull’hard disk del server utilizzabile da vari client comporta non pochi vantaggi: - risparmio di memoria a livello dei client - abbattimento dei costi nell’acquisto di software, - sicurezza dei dati Un’unica architettura client-server? I ruoli di server e client NON sono prefissati. Esistono, infatti: - server dedicati, rappresentati da computer che vengono impiegati SOLO per la memorizzazione e la distribuzione di applicazioni e file, da dispositivi attivi che permettono la connessione con reti remote (gestione di VPN) o server di stampa; - server non dedicati, rappresentati da computer che, oltre a memorizzare e a distribuire applicazioni e file, possono essere utilizzati anche come client, divenendo, così, delle vere workstation. Applicazioni distribuite Spesso è possibile utilizzare la CPU del server grazie ad applicazioni costruite secondo un’architettura client-server. Queste applicazioni prendono il nome di applicazioni distribuite (o modulari), in quanto l’elaborazione dei dati è suddivisa tra i moduli dell’applicazione: - Al server spetta la memorizzazione dei dati la ricerca e l’invio al client delle informazioni. - Il client si occupa invece della rappresentazione dei dati all’utente e il loro aggiornamento da parte dell’utente. Reti peer-to-peer Diversamente dalle reti client-server, nelle reti peer-to-peer (o paritetiche o alla pari o P2P) tutti i nodi hanno uguale importanza e accedono alle risorse comuni. Non esistono nodi client o server fissi ma esiste un numero di nodi equivalenti (peer) che fungono sia da client sia da server verso gli altri nodi della rete. Un classico esempio è la rete per condivisione di file (file sharing). Analizziamo una semplice rete Oggi impossibile immaginare realtà aziendali prive di un impianto di rete. Consideriamo una rete semplificata, così strutturata: Una sola linea molteplici richieste Sui due computer della nostra rete sono installati dei software applicativi. Supponiamo che, parallelamente, ciascun computer della nostra rete necessiti di risorse installate sull’altro computer. La presenza di una sola linea di interconnessione comporta che questa linea fisica debba essere utilizzata per due interazioni logiche diverse. La gestione delle richieste Per garantire tale interazione è necessario che sui due sistemi sia presente un particolare software in grado sia di indirizzare i vari messaggi in partenza sia di smistare quelli in arrivo. Questo software ha anche il compito di programmare la gestione delle richieste di trasmissione, amministrando in proprio tutte le complesse funzioni trasmissive e provvedendo all’invio fisico dei dati nella rete. Il software del computer A deve sia rispondere alla richiesta del computer B sia inviare a quest’ultimo la richiesta di accedere alle sue applicazioni. Lo stesso vale per il computer B. Data Terminal Equipment Prende il nome di Data Terminal Equipment (DTE) l’insieme costituito dal sistema e/o dal terminale e dalle relative risorse, collegati in rete per la trasmissione dei dati. Il DTE può essere un semplice terminale. Scopo fondamentale di una rete è l’interconnessione dei vari DTE per la condivisione delle risorse, lo scambio di dati e la cooperazione tra i processi applicativi. Lo schema precedente viene così completato: Data Circuit-Terminating Equipment Dal nuovo schema emerge come ciascun DTE sia collegato alla linea trasmissiva attraverso un Data Circuit-Terminating Equipment (DCE), che può essere un comune modem. In questo schema sono presenti: - connessioni logiche: il DTE NON è direttamente coinvolto con i dispositivi fisici di trasmissione - connessioni fisiche: permettono il concreto scambio di dati e sono realizzate tramite linee della trasmissione che rappresentano le loro interfacce comunicative I protocolli I DTE dispongono di organi e programmi responsabili, rispettivamente, degli aspetti fisici e logici della trasmissione che rappresentano le loro interfacce comunicative. Tali interfacce dialogano tra loro mediante l’uso di protocolli. Con protocollo si indica una serie di norme, convenzioni e tecniche per lo scambio di dati, di comandi e di informazioni di controllo tra due DTE. Le tecnologie di trasmissione Un aspetto molto importante nello studio delle reti riguarda il circuito fisico, ossia la tecnologia di trasmissione, che può essere: - punto-a-punto - multipunto - broadcast Configurazione punto-a-punto Un circuito fisico è detto punto-a-punto quando collega due soli DTE, nel senso che solo DTE contigui possono comunicare tra loro. Questa configurazione presenta due vantaggi fondamentali: - semplicità di gestione: il messaggio trasmesso da un DTE è sempre diretto all’altro - tempi di attesa nulli: il DTE trasmittente ha la certezza di trovare il circuito disponibile, per cui può trasmettere quando ritiene. Non mancano, comunque, alcuni svantaggi: - costo della linea, che, in caso di distanze elevate può risultare elevato - numero di linee di collegamento, che potrebbe divenire esoso in caso si voglia collegare al proprio mainframe molti terminali. Configurazione multipunto Per ridurre i costi complessivi della linea si ricorre alla configurazione multipunto: un circuito fisico che consiste nel collocare più di due DTE sulla stessa linea. Struttura configurazione multipunto La configurazione multipunto prevede un DTE principale collegato, attraverso il proprio DCE e una sola linea di comunicazione, a un numero N di DTE secondari, ognuno dei quali è provvisto di proprio DCE. La linea può trasmettere un messaggio alla volta e non è raro avere delle contese che costringono i DTE ad attendere. La gestione delle contese spetta generalmente al DTE generale (detto master) che stabilisce, in ogni istante, quale stazione ha facoltà di trasmettere. Gli altri DTE sono detti slave e, ovviamente, possono comunicare SOLO con il permesso del master. Un guasto del master provoca il blocco di tutta la rete. Configurazione broadcast Le reti con tecnologia broadcast sono caratterizzate dalla presenza di un unico canale di comunicazione condiviso da tutti i computer. Quando un computer riceve un pacchetto dati esamina l’indirizzo di destinazione e, se coincide con il proprio, lo accetta e lo elabora, altrimenti lo ignora. Broadcasting e multicasting Si parla di broadcasting quando, attraverso le reti broadcast, i messaggi possono essere inviati a tutti i computer. Con il multicasting, invece, i messaggi sono inviati a un sottoinsieme dei computer che compongono la rete in configurazione broadcast. In ciascun pacchetto di dati inviato è presente un bit che indica se si tratta di una trasmissione in multicasting. I rimanenti bit del pacchetto contengono l’indirizzo del gruppo di destinazione e i dati veri e propri. Il bit che indica o meno il multicasting appartiene allo stesso campo contenente l’indirizzo di destinazione. L’indirizzo, dunque, occuperà N-1 bit del campo dedicato. Flusso trasmissivo Lungo la linea di comunicazione, il flusso trasmissivo si differenzia per il possibile verso di percorrenza. Indipendentemente dal mezzo trasmissivo, il flusso può essere: - Simplex - Half duplex - Full duplex Flusso simplex Il flusso simplex presenta il caso più semplice, in cui il flusso è monodirezionale. Ne sono esempi i sistemi radiotelevisivi o alla trasmissione tra il computer e la stampante. Flusso half duplex Il flusso half duplex si presenta nel caso in cui i dati possono viaggiare in entrambe le direzioni, ma NON contemporaneamente. Ne sono un esempio i sistemi utilizzati nelle ricetrasmittenti. Flusso full duplex Il flusso full duplex si presenta nel caso in cui i dati possono viaggiare contemporaneamente in entrambe le direzioni. È un flusso particolarmente indicato per le reti multipunto, grazie al quale il DTE master può ricevere una richiesta da un DTE slave e, nello stesso momento, inviare una risposta a un altro. Ne è un esempio il telefono. Proprietà del canale di comunicazione La seguente tabella mostra alcune caratteristiche utili per valutare le performance di un canale di comunicazione. Nelle telecomunicazioni più che di velocità di trasmissione ci si riferisce alla velocità media di trasmissione (espressa dal rapporto tra spazio percorso e tempo impiegato a percorrerlo) in quanto è un dato variabile che dipende dal canale utilizzato e dal “peso” del pacchetto. Si definisce capacità massima (o portata) di un canale il numero di bit che lo attraversano nell’unità di tempo (il secondo). Segnali analogici e segnali digitali In una rete di computer il segnale è trasmesso in forma di serie di bit, ossia da segnali di tipo digitale. Un segnale è detto digitale quando i valori che può assumere sono discreti (nell’informatica questi valori sono 0 e 1). Se i valori variano nel continuo il segnale si definisce, invece, analogico (si pensi alle onde radio, ma anche ai numeri reali). Dall’analogico al digitale, l’ISDN Nella telematica la trasmissione analogica è ancora utilizzata, anche se si va sempre più verso una digitalizzazione delle trasmissioni. La prima fase di questo passaggio è la connessione ISDN (Integrated Services Digital Network) per la trasmissione di voce e dati in digitale, con una velocità fino a 128 Kbps. Dall’analogico al digitale, l’ADSL Dalla diffusione dei servizi telematici e trasmissione di quantità sempre più consistenti di dati, si è creata la necessità di una larghezza di banda maggiore dell’ISDN. Una soluzione è offerta della tecnologia ADLS (Asymmetric Digital Subscribes Lines) che, sfruttando la linea telefonica, consente ricezioni da 640 Kbps a 20 Mbps e invio da 128 Kbps a 1 Mbps. La linea telefonica e l’ADSL L’ADSL sfrutta completamente l’ampiezza di banda del cavo telefonico. La linea telefonica è divisa in tre canali di frequenza distinti: - uno dedicato alla ricezione dei dati dalla rete - uno dedicato all’invio dei dati - uno riservato al trasporto della voce Alcuni filtri tengono separati il traffico voce e dati, per permettere di telefonare anche quando si è connessi alla rete. Il metodo di codifica DMT Il metodo di codifica ADSL che si è imposto è il DMT (Discrete MultiTone). Per trasmettere un’informazione in formato digitale che assume la forma (codifica Manchester): con un segnale analogico in onda portante: è necessario creare una corrispondenza, individuando nel segnale analogico caratteristiche che possono assumere un valore corrispondente allo 0 e un altro corrispondente all’1. La trasformazione da digitale ad analogico si dice modulazione, quella inversa demodulazione. Tipologie di modulazione Tra le varie forme di modulazione, e quindi di demodulazione, si può avere: - modulazione in ampiezza: - modulazione in frequenza: - modulazione in fase, con fase invertita a ogni variazione di valore: Modem I dispositivi che si occupano della modulazione/demodulazione sono detti modem (MOdulator/DEModulator) e si interpongono tra il computer e la rete telefonica. Esistono modem esterni e modem a scheda da installare internamente al computer. Trasmissione seriale e parallela In funzione del numero di segnali trasmessi in contemporanea sul canale, si parla di: - trasmissione seriale, quando su un unico canale trasmissivo i dati vengono trasmessi un bit alla volta - trasmissione parallela, quando la trasmissione avviene un byte alla volta. Per la trasmissione parallela occorrono tanti canali quanti sono i segnali da trasmettere in contemporanea. Trasmissione asincrona e sincrona A seconda delle modalità con cui i messaggi sono trasmessi nel tempo, si distingue tra: - trasmissione asincrona - trasmissione sincrona Trasmissione asincrona Nella trasmissione asincrona NON esiste un legame tra il tempo che trascorre tra l’invio di un dato e il successivo. Ogni dato è separato dagli altri attraverso specifici bit di controllo, detti bit di start e bit di stop. Inoltre, tra i vari caratteri vengono utilizzati intervalli di tempo arbitrari, detti time out, che evitano eventuali sovrapposizioni. Quando il destinatario incontra un bit di start, si sincronizza in modo da accettare i successivi otto bit e, quindi, il bit di stop. Trasmissione sincrona Nella trasmissione sincrona più byte sono inviati in sequenza a intervalli regolari. I segnali di sincronizzazione consentono di contare i dati trasmessi, nonché di cadenzare gli invii. Pro e contro trasmissione asincrona e sincrona A causa dei tanti bit di controllo inviati, la trasmissione asincrona risulta più lenta della trasmissione sincrona. Nonostante questo, la trasmissione sincrona presenta un difetto non di poco conto, infatti, eventuali disturbi di trasmissione possono essere rilevati SOLO a ogni segnale di sincronizzazione, per cui il sistema trasmittente non riesce ad accorgersi se non dopo aver completato la trasmissione dell’intero blocco di byte. Nella trasmissione asincrona, invece, le distorsioni sono più agevolmente riscontrabili e, di conseguenza, rettificabili.