Fondamenti di Informatica Reti di calcolatori

Corso di Laurea Ingegneria Civile
Fondamenti di Informatica
Dispensa 04
Reti di calcolatori
Marzo 2010
Reti di calcolatori
1
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
Reti di calcolatori
2
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
Reti di calcolatori
3
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
Reti di calcolatori
4
Reti di calcolatori
‰ Una rete di calcolatori è un insieme di calcolatori
che operano autonomamente e che sono collegati
per potersi scambiare dati
collegamenti
rete di calcolatori
Reti di calcolatori
5
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
Reti di calcolatori
6
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
Reti di calcolatori
7
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
Reti di calcolatori
8
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
Reti di calcolatori
9
Accesso a documenti sul web
‰ Esempio di accesso all’indirizzo www.virgilio.it
Reti di calcolatori
10
Navigazione ipertestuale
• ... cliccando sul collegamento Alla conquista dello spazio
Reti di calcolatori
11
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
Reti di calcolatori
12
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
Reti di calcolatori
13
Un esempio di ipertesto
pagine
Piccola guida al
sistema solare
ancore
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.
collegamenti
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
14
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
Reti di calcolatori
15
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
Reti di calcolatori
16
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
• collegamenti che usano frequenze radio (es. wireless,
UMTS, collegamenti via satellite, ecc.)
Reti di calcolatori
17
Esempio: infrastrutture di telecomunicazioni
in Italia
‰ Dorsale (fibra ottica)
‰ Rete di giunzione cittadina (fibra ottica)
‰ Rete di accesso (ultimo miglio)
Varie tecnologie possibili: FTTH, FTTB, Wi-fi, ma ad oggi principalmente
rete in rame di Telecom Italia – problema del digital divide
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
Reti di calcolatori
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 non 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
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
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 punto-punto 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
Reti di calcolatori
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?
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
28
Reti di reti di calcolatori
‰ Una rete di reti di calcolatori è 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
• questi dispositivi sono genericamente chiamati IMP (Interface
Message Processor) e corrispondono a ripetitori, ponti,
instradatori (router) e gateway
Reti di calcolatori
29
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
IMP
sottorete
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
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.
Reti di calcolatori
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
Reti di calcolatori
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
Protocollo di applicazione
Protocollo di presentazione
Applicazione
Presentazione
Sessione
Protocollo di sessione
Sessione
Trasporto
Protocollo di trasporto
Trasporto
Rete
Collegamento dati
Fisico
Protocollo del livello di rete
Protocollo del livello
di collegamento dati
Protocollo del livello fisico
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
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
Reti di calcolatori
39