Alfonso Miola Reti di calcolatori Dispensa C-01 Settembre 2005 1
Nota bene Il presente materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica e Automazione Università degli Studi Roma Tre Il suo utilizzo in questo corso è stato concesso dall autore 2
Contenuti Accesso al World Wide Web Reti di calcolatori scambio di dati tra calcolatori connessione in rete di calcolatori reti di reti di calcolatori architettura a livelli della comunicazione il modello cliente/servente 3
Introduzione La fusione delle tecnologie dell informazione e della comunicazione ha avuto un impatto notevole sul modo in cui i moderni sistemi informatici sono organizzati il modello di organizzazione prevalente dei sistemi informatici è quello delle reti di calcolatori una rete di calcolatori è un insieme di calcolatori indipendenti, che sono collegati tra di loro per potersi scambiare dati le applicazioni per reti di calcolatori sono organizzate sulla base del modello cliente/servente (client/server) e del concetto di servizio (offerto dalla rete) Vengono ora studiati Internet, la più grande rete di calcolatori il World Wide Web, il principale servizio di Internet alcuni elementi tecnologici e architetturali 4
Accesso al World Wide Web Che cosa sono Internet e il World Wide Web? Come funzionano? anche in questo caso, è possibile rispondere a queste domande in molti modi, relativamente a diversi punti di vista Il nostro studio di Internet e del World Wide Web seguirà questo percorso vengono ora introdotti informalmente alcuni concetti elementari, dal punto di vista dell utente del servizio World Wide Web di Internet verranno successivamente considerati gli aspetti tecnologici e architetturali delle reti di calcolatori, di Internet e del World Wide Web 5
Reti di calcolatori Una rete di calcolatori è un insieme di calcolatori che operano autonomamente e che sono collegati per potersi scambiare dati rete di calcolatori collegamenti 6
Servizi in una rete di calcolatori I calcolatori in una rete di calcolatori possono essere usati per eseguire applicazioni di uso individuale possono essere usati per usufruire di servizi basati sullo scambio di dati ad esempio, possono condividere risorse informatiche come stampanti e dischi possono scambiarsi dati e messaggi Intuitivamente, un servizio in una rete di calcolatori corrisponde a una modalità di condivisione di dati e/o risorse tra i calcolatori collegati alla rete 7
Internet e World Wide Web Internet è la più grande rete di calcolatori, a diffusione mondiale La connessione di un calcolatore a Internet può avvenire con diverse modalità un calcolatore può essere collegato a Internet mediante una scheda di rete nell ambito di una rete di calcolatori un calcolatore può essere collegato a Internet mediante un modem e una connessione telefonica di accesso remoto a un fornitore (provider) di servizi Internet 8
World Wide Web Internet, in quanto rete di calcolatori, rende disponibile ai suoi utenti diversi servizi ad esempio, il servizio di posta elettronica e il servizio di trasferimento di file Il World Wide Web (o, più semplicemente, Web) è il servizio più diffuso di Internet il Web permette la condivisione e l accesso a documenti che sono distribuiti sui calcolatori di Internet e collegati tra di loro La condivisione di documenti su Internet e sul Web è resa possibile dal fatto che a ciascuna risorsa di Internet è associato un nome univoco possibili risorse su Internet e sul Web sono i calcolatori, gli utenti, i documenti il nome di una risorsa di Internet è l indirizzo della risorsa gli indirizzi su Internet sono chiamati anche URL 9
Browser web Per accedere a documenti sul Web, un calcolatore deve essere collegato a Internet deve disporre di una applicazione chiamata browser web ad esempio, Microsoft Internet Explorer o Netscape Communicator Un browser web è una applicazione che permette l accesso a documenti sul Web è possibile accedere a documenti sul Web con diverse modalità fornendo al browser l indirizzo del documento scrivendolo nella barra dell indirizzo raggiungere un documento seguendo un collegamento ipertestuale nel documento correntemente visualizzato dal browser cliccando con il mouse sul collegamento 10
Accesso a documenti sul web Esempio di accesso all indirizzo www.virgilio.it 11
Navigazione ipertestuale... cliccando sul collegamento Alla conquista dello spazio 12
Siti web Un sito web è un insieme di documenti gestiti da una organizzazione, memorizzati su uno o più calcolatori collegati a Internet, e che possono essere acceduti mediante il servizio Web L accesso a un sito web inizia solitamente da un documento chiamato home page del sito l home page di un sito fornisce informazioni di carattere generale sul sito contiene collegamenti alle parti principali del sito, che possono essere accedute mediante navigazione ipertestuale contiene collegamenti ad altri siti correlati 13
Il Web e il paradigma ipertestuale Il World Wide Web è un vastissimo insieme di documenti l unità di informazione sul Web è il documento o pagina una pagina è composta solitamente da testi e immagini ciascuna pagina ha un indirizzo univoco il Web è un insieme di pagine I documenti del Web sono organizzati mediante una struttura ipertestuale agli elementi (come parole, frasi e immagini) di una pagina possono essere associati dei collegamenti ad altre pagine un collegamento ipertestuale è composto da l elemento della pagina a cui è associato il collegamento chiamato ancora (letto àncora) la pagina referenziata dal collegamento, mediante il suo indirizzo che viene visualizzato dal browser sulla barra di stato quando il cursore del mouse si trova sopra l ancora 14
Un esempio di ipertesto pagine collegamenti ancore 15 Piccola guida al sistema solare Il sistema solare è composto da nove pianeti che ruotano intorno al Sole. Questi pianeti, in ordine di distanza crescente dal Sole sono: Mercurio, Venere, Terra, Marte, Giove, Saturno, Urano, Nettuno e Plutone. Il Sole La struttura interna del Sole è stata ricostruita in base all'elaborazione teorica dei dati conosciuti. La Terra La Terra è il terzo pianeta in ordine di distanza dal Sole, e il quinto per dimensioni.
Reti di calcolatori Una rete di calcolatori è un insieme di calcolatori che operano autonomamente e che sono collegati per potersi scambiare dati vengono ora discussi i seguenti aspetti della tecnologia delle reti di calcolatori scambio di dati tra una coppia di calcolatori collegamento in rete di un insieme di calcolatori reti di reti di calcolatori architettura a livelli della comunicazione in una rete di calcolatori modello cliente/servente per applicazioni per reti di calcolatori 16
Scambio di dati tra calcolatori Lo scopo di una rete di calcolatori è quello di permettere la comunicazione (ovvero, lo scambio di dati) tra due o più calcolatori viene ora affrontato il problema della comunicazione tra due calcolatori chiamata comunicazione punto-punto che cosa serve affinché due calcolatori possano scambiarsi dei dati? Sono necessari un canale fisico di comunicazione tra i due calcolatori la componente hardware della comunicazione un insieme di regole che regolano lo scambio di dati la componente software della comunicazione 17
Mezzi di trasmissione Per la comunicazione tra calcolatori è possibile usare molti canali (mezzi) fisici di trasmissione collegamento elettrico con cavi in rame consente una velocità/capacità di trasmissione fino a 100 Mbit/s su una distanza di 100 m collegamento con fibra multimodale consente una velocità/capacità di trasmissione superiore al Gbit/s su una distanza di 1-10 km collegamento con fibra monomodale consente una velocità/capacità di trasmissione superiore al Gbit/s su una distanza di 10-100 km Sono possibili anche altre tipologie di collegamento collegamento alla rete telefonica mediante modem collegamento wireless (senza fili) collegamento mediante ponti radio 18
Protocolli di comunicazione Si supponga di voler effettuare il trasferimento di un file tra due calcolatori collegati fisicamente la presenza del collegamento fisico non è sufficiente (anche se è necessaria) per permettere il trasferimento del file è necessario anche che ciascun calcolatore sia dotato di una applicazione in grado di effettuare il trasferimento del file Nella comunicazione tra calcolatori, è necessaria la presenza di uno strato software che consenta lo scambio di dati sulla base di un insieme prefissato di regole e convenzioni un protocollo di comunicazione è un insieme di regole, relative ai messaggi consentiti e al loro formato, che controllano lo scambio di informazioni in una comunicazione La comunicazione tra due o più entità è possibile solo sulla base dell accettazione e dell adozione di uno o più protocolli solitamente, è necessaria l adozione di un protocollo per ciascun diverso aspetto della comunicazione 19
Esempio i due filosofi Due filosofi, uno africano e uno cinese, vogliono discutere del oryctolagus cunilicus (il coniglio) il filosofo africano vuole esprimere al suo collega cinese la sua simpatia a favore dei conigli Problema i due filosofi non parlano la stessa lingua, e nemmeno riescono a trovare un interprete che conosca entrambe le loro lingue l africano parla swahili e inglese, il cinese parla cinese e francese i filosofi possono comunque accordarsi su una lingua da usare nella comunicazione (ad esempio, il danese) possono poi comunicare utilizzando due interpreti, ciascuno dei quali sa tradurre da una delle lingue note a uno dei filosofi alla lingua usata per la comunicazione 20
I due filosofi... Altro problema i due filosofi non vivono nello stesso luogo, e non sono abituati a viaggiare i due filosofi possono comunque decidere di comunicare in altro modo ad esempio, scelgono di utilizzare il fax, ricorrendo al supporto del servizio di telefonia locale e internazionale Ora i due filosofi possono effettivamente comunicare hanno adottato due diversi protocolli di comunicazione il protocollo relativo alla lingua - il danese il protocollo relativo al mezzo di comunicazione - il fax la comunicazione basata sul fax è possibile solo perché esistono degli standard internazionali sulle caratteristiche elettriche e temporali dei segnali utilizzati per la telefonia 21
I due filosofi... I like rabbits Jáime les lapins Danese Ik hou konijnen Danese Ik hou konijnen Fax Danese Ik hou konijnen Fax Danese Ik hou konijnen 22
Connessione in rete di calcolatori Come è possibile collegare un insieme di calcolatori? Sono possibili diverse scelte 1) ciascun calcolatore è collegato direttamente a tutti gli altri mediante una collegamento puntopunto dedicato 2) ciascun calcolatore è collegato a uno stesso mezzo di comunicazione - collegamento a bus 3) ciascun calcolatore è collegato ad almeno un altro calcolatore, e quindi tra di loro sono tutti connessi, anche se non tutti direttamente 23
Collegamento punto - punto Nel collegamento punto-punto ogni calcolatore è collegato a ciascuno degli altri calcolatori ed è semplice realizzare lo scambio di dati tra essi Se il calcolatore A deve inviare un insieme di dati (un messaggio) a un calcolatore B, lo può fare direttamente sulla connessione punto-punto che collega A a B Questa soluzione è evidentemente molto costosa! In pratica, vengono adottate le soluzioni 2 e 3 Come può avvenire la comunicazione in questi casi? 24
Collegamento a bus Nel collegamento a bus, ogni calcolatore è collegato a un insieme di collegamenti condivisi, il bus calcolatori rete a bus bus La soluzione basata sul bus è adottata frequentemente esistono realizzazioni tecnologiche del bus estremamente economiche un semplice cavo coassiale esistono anche realizzazioni estremamente sofisticate, che garantiscono una velocità elevata di comunicazione soluzioni basate su hub è una soluzione facilmente espandibile 25
Collegamento a bus Un possibile protocollo di comunicazione (semplificato) basato sul collegamento a bus è il seguente se il calcolatore A deve inviare il messaggio M al calcolatore B A forma un pacchetto di dati P usando il messaggio M e i nomi del destinatario B e del mittente A (con un formato specificato dal protocollo) e trasmette P sul bus un pacchetto è simile a una busta, che all interno contiene un messaggio e all esterno riporta i nomi del destinatario e del mittente i pacchetti trasmessi sul bus sono ricevuti da tutti i calcolatori ogni calcolatore riceve ciascun pacchetto P che viaggia sul bus, e ne decodifica il messaggio M, il destinatario e il mittente se un calcolatore si identifica nel destinatario di un messaggio M codificato in un pacchetto, allora ascolta e interpreta il messaggio M, che è effettivamente rivolto a lui gli altri calcolatori, invece, ignorano il messaggio 26
Collegamento ad anello Nel collegamento ad anello, i calcolatori sono disposti logicamente ad anello, con un collegamento tra ciascuna coppia di calcolatori adiacenti ogni pacchetto transita nell anello in una direzione fissata, dal mittente al destinatario se un calcolatore non è il destinatario del messaggio, allora ritrasmette il pacchetto al calcolatore successivo nell anello il destinatario del messaggio leva il pacchetto dall anello 27
Altri tipologie di collegamento Le figure mostrano altre tipologie di collegamenti ogni linea indica la presenza di un collegamento punto-punto tra una coppia di calcolatori stella albero completo irregolare 28
Reti di reti di calcolatori Una rete di reti di calcolatori (o internet, con la i minuscola) è un insieme di reti di calcolatori, tra di loro collegate (interconnesse) per potersi scambiare dati ci sono diverse motivazioni per voler collegare tra di loro più reti di calcolatori superare i limiti fisici dei mezzi di comunicazione usati in una rete (tra reti omogenee) collegare reti che utilizzano mezzi di comunicazione diversi collegare reti fisicamente lontane collegare reti eterogenee La realizzazione di una rete di reti richiede la presenza di dispositivi di rete dedicati alla ritrasmissione dei dati tra reti 29 questi dispositivi sono genericamente chiamati IMP (Interface Message Processor) e corrispondono a ripetitori, ponti, instradatori (router) e gateway
Interconnessione di reti In una rete di reti ciascuna rete contiene almeno un IMP un IMP può essere considerato un calcolatore dedicato l insieme degli IMP forma una rete, chiamata sottorete sottorete IMP 30
Instradamento Ciascun IMP ha il compito di far giungere i pacchetti che riceve all IMP della rete destinataria del pacchetto per i pacchetti originati dalla propria rete e destinati a calcolatori che non appartengono alla propria rete l IMP deve ritrasmetterli a un IMP adiacente affinché vengano trasmessi all IMP della rete destinataria per i pacchetti ricevuti da altri IMP se sono destinati alla propria rete, deve ritrasmetterli sulla propria rete affinché giungano al calcolatore destinatario se non sono destinati alla propria rete, deve ritrasmetterli a un IMP adiacente Gli IMP devono risolvere il problema dell instradamento il problema dell instradamento di un pacchetto consiste nel determinare (in modo dinamico e distribuito) un percorso per il pacchetto tra un insieme di IMP che sono generalmente collegati in modo irregolare e variante nel tempo 31
Instradamento... I possibili percorsi tra una coppia di calcolatori mittente destinatario per risolvere il problema dell instradamento, ciascun IMP dispone di informazioni relative alle reti e agli IMP a cui è attualmente collegato 32
Architettura a livelli Per ridurre la complessità della comunicazione in una rete (di reti) di calcolatori, le reti di calcolatori sono organizzate con una architettura a livelli Può essere utile per capire il funzionamento, fare una analogia con una comunicazione telefonica, come mostrato in figura. 33
Architettura a livelli... Nell architettura a livelli ciascun livello è relativo a un particolare aspetto della comunicazione ciascun livello permette la comunicazione con il livello analogo di un altro calcolatore ciascun livello è basato su un diverso protocollo di comunicazione In pratica, la comunicazione richiede l adozione di un insieme di protocolli, uno per ciascun livello della comunicazione un insieme compatibile di protocolli è chiamato una famiglia di protocolli 34
Il modello ISO-OSI Esistono diverse famiglie di protocolli per reti di calcolatori ad esempio, il modello ISO-OSI (teorico), TCP-IP (o Internet Suite), SNA la figura mostra il modello di riferimento OSI proposto dall ISO Applicazione Presentazione Sessione Trasporto Rete Collegamento dati Fisico Protocollo di applicazione Protocollo di presentazione Protocollo di sessione Protocollo di trasporto Protocollo del livello di rete Protocollo del livello di collegamento dati Protocollo del livello fisico Applicazione Presentazione Sessione Trasporto Rete Collegamento dati Fisico 35
I livelli nel modello ISO-OSI Applicazione a questo livello si trovano i programmi applicativi che utilizzano i servizi offerti dalla rete, mediante una varietà di protocolli di alto livello ad esempio, la posta elettronica, il trasferimento di file, il World Wide Web in generale, i servizi sono basati sullo scambio bidirezionale di messaggi tra utenti di applicazioni Presentazione si occupa di un insieme di funzionalità relative alla sintassi dei messaggi trasmessi (ad esempio, codifica, compressione e crittografia) Sessione gestisce l instaurazione e il controllo di sessioni di comunicazione tra utenti collegati ai calcolatori della rete 36
I livelli nel modello ISO-OSI... Trasporto si occupa della trasmissione di messaggi tra coppie di calcolatori, gestendo la suddivisione dei messaggi in pacchetti Rete si occupa della trasmissione di pacchetti tra reti, gestendo il problema dell instradamento Collegamento dei dati (data link) si occupa della comunicazione libera da errori di sequenze (chiamate trame) di byte, tra nodi della rete collegati direttamente Fisico si occupa della trasmissione dei singoli bit attraverso il canale fisico di comunicazione, gestendo quindi gli aspetti di livello più basso della comunicazione 37
Il modello cliente/servente Una applicazione distribuita è una applicazione costituita da più componenti software che vengono eseguite, in modo più o meno coordinato, su più calcolatori collegati da una rete l utente di una applicazione distribuita ha l impressione di utilizzare una tradizionale applicazione informatica in pratica, l esecuzione dell applicazione è distribuita su più calcolatori L architettura più comunemente usata nella realizzazione di applicazione distribuite è descritta dal modello cliente/servente (client/server) ad esempio, una applicazione cliente/servente può essere realizzata suddividendo funzionalmente l applicazione in due componenti il servente, che fornisce un insieme di servizi applicativi, come la gestione dei dati e l esecuzione di operazioni il cliente, dedicato all interazione con l utente e alla visualizzazione dei dati 38
Servizi, serventi e clienti Il modello cliente-servente è basato sui seguenti concetti servizio un servizio è una risorsa informatica da condividere ad esempio, un insieme di dati o una operazione servente è una applicazione in grado di erogare uno o più servizi ad altre applicazioni cliente è una applicazione utilizzatrice di servizi L erogazione di servizi da parte di un servente avviene solo su richiesta da parte di un cliente per ottenere un servizio, un cliente deve richiederne l erogazione a un servente i clienti hanno un ruolo attivo, i serventi hanno un ruolo reattivo 39