Laboratorio di Applicazioni Informatiche II mod. A
Inizio lezioni:
Termine lezioni:
9 ottobre 2006
CREDITI ASSEGNATI:
5
ORE DI LEZIONE FRONTALE:
30
Docente: Prof. Angelo Gallippi
e-mail: [email protected]
1
Laboratorio di Applicazioni Informatiche II mod. A
Programma
1. Reti di computer
- Collegamento in rete locale
- Software di rete
- Collegamento di pc
- Architettura client/server
- Protocollo di comunicazione
- Interconnessione delle reti (inter-reti)
1. Internet e il WWW
-
Protocollo TCP e indirizzamento su Internet (IP)
Instradamento
Architettura client-server
Protocollo HTTP
Posta elettronica
Trasferimento di file (FTP)
2. Siti WEB
- Tecniche di promozione dei siti WEB nei motori di ricerca
- Cenni sulla progettazione e accessibilità di un sito WEB
- Sicurezza in rete: cenni alla crittografia a chiave pubblica
2
Laboratorio di Applicazioni Informatiche II mod. A
Programma
4. Linguaggio HTML
-
Principali marcatori (tag)
Moduli (form), pannelli (frame), tabelle
Esempi di progetti HTML
Cenno sul server HTTP Apache
Pagine Web dinamiche - Script CGI
5. Cenni sui linguaggi avanzati per il WEB
- Evoluzione di HTML (XML, XHTML, …)
- Javascript: principali istruzioni, funzioni, eventi
- Esempi di JavaScript
6. Realizzazione di un sito Web personale
- Cenno sul pacchetto applicativo Front Page
3
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer
4
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
GENERALITÀ
Il modello di un singolo computer che risolve tutte le necessità
computazionali di un’organizzazione, in vigore nei primi decenni
dell’informatica, è oggi obsoleto ed è stato sostituito da uno in cui un
gran numero di computer, indipendenti ma interconnessi, eseguono il
lavoro.
Questi sistemi sono stati chiamati reti di computer, termine che
indica quindi una collezione di computer autonomi collegati.
Si dice che due calcolatori sono collegati se sono in grado di scambiarsi
informazioni.
Il collegamento può
essere realizzato con il
normale filo in rame delle
linee telefoniche,
5
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
ma anche con cavi
in fibra ottica,
6
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
microonde,
7
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
o comunicazioni satellitari.
8
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
Richiedendo che i calcolatori siano autonomi, si escludono dalla
definizione i sistemi in cui esista una chiara relazione
master/slave.
Questo è un modello di comunicazione e controllo in cui un dispositivo o
un processo definito master (capo) controlla uno o più dispositivi slave
(subordinati).
In certe situazioni la condizione di master o slave determina vincoli tecnici,
come l’impossibilità di certe piattaforme di fare partire il computer nel
caso il sistema operativo sia stato installato su un disco slave.
Se un computer può forzatamente accendere, bloccare o controllare un
altro computer, essi non sono autonomi.
Un sistema con una unità adibita a controllo e diverse componenti
sottomesse non è una rete, e non lo è nemmeno un grosso elaboratore
con terminali e stampanti remote.
9
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
Va tenuta presente anche la distinzione tra reti di computer e
sistemi distribuiti.
In un sistema distribuito l’esistenza di molteplici computer autonomi è
trasparente (cioè non visibile) per l’utente.
Quando si scrive un comando ed esso viene eseguito, è compito del
sistema operativo selezionare il migliore processore, trovarlo e trasferirgli
tutti i file in ingresso, inserendo i risultati nella posizione appropriata.
In altre parole, l’utente di un sistema distribuito non è a conoscenza del
fatto che esistano molteplici processori, e tutto gli appare come un unico
sistema virtuale.
L’allocazione delle elaborazioni ai processori e dei file sui dischi, il
movimento dei file da dove sono memorizzati a dove sono richiesti e
tutte le altre funzioni del sistema devono essere automatiche.
10
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
Con un sistema distribuito, nulla deve essere fatto esplicitamente, e tutto
avviene automaticamente a opera del sistema operativo, senza che
l’utente ne sia a conoscenza.
In concreto, un sistema distribuito è un sistema software costruito per
una rete. Il software fornisce un alto grado di trasparenza e coesione.
Invece in una rete gli utenti devono esplicitamente
collegarsi a una macchina;
richiedere elaborazioni remote;
spostare file
e in genere si devono occupare personalmente della gestione della
rete.
11
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Generalità
Quindi la distinzione tra una rete e un sistema distribuito sta
nel software - specialmente nel sistema operativo - piuttosto che
nell’hardware.
Ciò nonostante esiste una notevole intersezione tra i due argomenti.
Per esempio sia i sistemi distribuiti sia le reti di computer hanno
bisogno di spostare file. La differenza sta tra chi invoca lo
spostamento: il sistema o l’utente.
12
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Tassonomia
TASSONOMIA DELLE RETI
Non esiste una tassonomia generalmente accettata che permetta di
catalogare tutte le reti, ma due aspetti rivestono particolare
importanza:
la tecnologia di trasmissione;
la scala.
Le tecnologie di trasmissione rientrano in due categorie:
reti a diffusione globale (broadcast);
reti punto-punto (point-to-point).
13
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Tassonomia
Le reti a broadcast hanno un unico canale di comunicazione
condiviso da tutte le macchine della rete.
14
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Tassonomia
Brevi messaggi, chiamati pacchetti o datagrammi, inviati da una
qualsiasi macchina, vengono ricevuti da tutte le altre. Un campo
indirizzo all’interno del pacchetto indica a chi esso è diretto.
Dopo la ricezione di un pacchetto, una macchina controlla il campo
indirizzo. Se il pacchetto è diretto a se stessa, la macchina lo
elabora, altrimenti lo ignora.
15
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Tassonomia
Invece le reti puntopunto consistono in
molte connessioni fra
coppie individuali di
macchine.
16
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Tassonomia
Per andare dal mittente al destinatario, un pacchetto potrebbe
dovere visitare una o più macchine intermedie.
Spesso sono possibili parecchi cammini di lunghezza diversa, quindi
in queste reti un ruolo importante è svolto dagli algoritmi di ricerca
del cammino.
In generale (ma ci sono eccezioni) le reti piccole, geograficamente
localizzate, usano il broadcast, mentre le reti più grandi sono di solito
punto-punto.
17
Laboratorio di Applicazioni Informatiche II mod. A
Reti di computer - Tassonomia
In base alla scala le reti si possono dividere in:
locali o LAN (da Local Area Network);
metropolitane o MAN (da Metropolitan Area Network);
geografiche o WAN (da Wide-area Network);
mondiali (inter-reti);
ciascuna con proprie caratteristiche, tecnologie, velocità e
dimensioni.
Le LAN coprono un edificio, le MAN coprono una città e le WAN una
nazione o un continente.
Le inter-reti possono coprire l’intero pianeta, come nel caso di
Internet, che è la più grande e conosciuta.
18
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento in rete locale
COLLEGAMENTO IN RETE LOCALE
Le LAN sono reti private che collegano i personal computer e le
stazioni di lavoro presenti all’interno di:
un ufficio o un reparto aziendale;
un’aula di informatica;
un singolo edificio o edifici vicini (per esempio una università).
19
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento in rete locale
Le LAN consentono applicazioni quali:
condividere risorse hardware quali stampanti laser, scanner,
fotocamere o grossi dischi rigidi;
scambiare informazioni, attraverso le cartelle condivise;
lavorare sullo stesso file senza doverlo copiare;
utilizzare una stessa connessione veloce a Internet per tutti i
computer della rete;
utilizzare un solo computer per proteggere l'intera rete e la
connessione a Internet;
eseguire giochi tra più giocatori.
20
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento in rete locale
Per le abitazioni e i piccoli uffici, il modello più comune è la rete
peer-to-peer, denominata anche gruppo di lavoro.
In questo tipo di rete i computer comunicano direttamente tra loro
e non necessitano di un server per gestire le risorse di rete.
In generale, una rete peer-to-peer è indicata principalmente per
sistemi con meno di 10 computer situati nella stessa area.
I computer di un gruppo di lavoro vengono considerati equivalenti
(peer) perché hanno caratteristiche simili e condividono le risorse
senza richiedere l'utilizzo di un server.
Le LAN si suddividono in base alle seguenti caratteristiche:
tecnologia di trasmissione;
topologia.
21
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento in rete locale
La tecnologia di trasmissione usa come mezzo trasmissivo:
un
un
un
un
doppino in rame, schermato oppure no;
cavo coassiale;
cavo in fibra ottica;
collegamento radio (wireless).
La topologia può essere, dal punto di vista logico:
a bus;
ad anello (ring);
a stella (star);
mista;
mentre dal punto di vista fisico la topologia prevalente è quella a
stella.
22
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento in rete locale
23
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento in rete locale
La topologia a bus è la più diffusa, e utilizza il protocollo di
comunicazione Ethernet. Esso consente velocità di trasmissione di
10 Megabit al secondo (Mbps),
nella versione 10BaseT Ethernet, e
100 Mbps
nella versione Fast Ethernet. Questa velocità è raggiunta anche
dallo standard concorrente 100VG-AnyLAN.
Le LAN hanno un ritardo basso (decine di μs) e un basso tasso di
errore (tipicamente 1 bit errato su 10^5-10^9 bit trasmessi).
24
Laboratorio di Applicazioni Informatiche II mod. A
Software di rete
SOFTWARE DI RETE
Per il funzionamento effettivo di una rete locale occorrono i
seguenti elementi:
due o più schede di rete con i relativi programmi driver;
un software di rete;
una coppia di programmi clientware e serverware.
La scheda di rete, installata in ogni computer, ha una funzione
simile a quella di un telefono.
Come il telefono viene utilizzato per parlare e ascoltare, così ogni
computer utilizza la propria scheda di rete per inviare
informazioni ad altri computer della rete e per riceverle da essi.
25
Laboratorio di Applicazioni Informatiche II mod. A
Software di rete
Il software di rete è inglobato nei moderni sistemi operativi, che
perciò sono detti sistemi operativi di rete (NOS, Network
Operating System). I due più diffusi sono:
Netware della Novell - Windows NT della Microsoft.
Il NOS è in grado di collegare decine o centinaia di nodi, costituiti
da personal computer o da stazioni di lavoro, e mette a
disposizione risorse quali:
26
Laboratorio di Applicazioni Informatiche II mod. A
Software di rete
una interfaccia di gestione guidata da menu;
la possibilità di eseguire copie di riserva del software del server
di file;
limitazioni di sicurezza;
risorse per condividere le stampanti;
memorizzazione centrale di programmi applicativi e di banche
dati;
ingressi remoti tramite modem;
supporto per stazioni di lavoro senza dischi.
27
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento di pc
28
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento di pc
Un personal computer di utente si può collegare a una rete esterna
attraverso le linee telefoniche standard usando il diffuso modem.
Esso converte i segnali digitali in uscita da un computer in forma
analogica, adatta a essere trasmessa sulle linee telefoniche.
La conversione può avvenire modulando l’ampiezza, la frequenza o
la fase della portante telefonica.
Una volta giunti a destinazione, i segnali analogici sono di nuovo
trasformati in formato digitale, per essere elaborati dal computer
di destinazione.
La maggior parte degli attuali modem supporta anche la
trasmissione e il ricevimento di fax.
29
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento di pc
Se si usa una linea telefonica digitale (ISDN o ADSL), la
conversione analogico/digitale dei dati non è più necessaria, e il
modem assume sostanzialmente il ruolo di una scheda di rete.
Il modem può essere collegato a un personal computer in tre modi:
come dispositivo esterno indipendente, collegato mediante un
cavo a una porta seriale del pc;
come dispositivo interno montato su una scheda da installare in
uno slot di espansione del pc;
con una scheda PCMCIA da inserire in uno slot PCMCIA, nei pc
portatili.
30
Laboratorio di Applicazioni Informatiche II mod. A
Collegamento di pc
Per scambiare dati con il mondo esterno i pc usano le porte, che
possono essere parallele o seriali.
Per le comunicazioni si usano in genere le porte seriali, chiamate
COM1 COM2 COM3 COM4.
In genere le porte COM1 e COM2 sono incorporate nella piastra madre
o in una scheda multifunzionale installata in uno slot di espansione
ISA.
31
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
32
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
L'inserimento nel computer dei componenti di rete fornisce la
possibilità di accesso alle risorse di altri computer anche distanti,
aprendo la strada allo sviluppo delle tecnologie di comunicazione
e di elaborazione in rete sia locale sia geografica.
Distinguiamo due scenari applicativi:
1) reti in cui è prevalente la comunicazione e la distribuzione delle
informazioni (World Wide Web, intranet aziendali, ecc.).
2) reti in cui è prevalente l'elaborazione dei dati (reti locali,
intranet/extranet).
33
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
Nel primo caso vengono situate su file e indirizzari di un computer
detto server varie informazioni (testi, immagini, suoni, ecc.), che
devono essere rese disponibili secondo le regole stabilite ai vari
computer client collegati alla rete.
Questa idea, formulata al CERN negli anni '90 dal fisico britannico
Tim Berners Lee per distribuire documenti tra i gruppi di ricerca, ha
dato origine al Web e al successo di Internet.
La presentazione di informazioni multimediali con uso di ipertesti
(contenenti link ad altri elementi informativi rappresentabili) ha
portato a progettare in particolare i due programmi client e server
che devono gestire questo modo di distribuire ai client le
informazioni residenti sui server.
34
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
Sono così nati i programmi delle categorie
Web server, come Apache o IIS (Internet Information Server);
browser, come Netscape Navigator o Internet Explorer
capaci di interrogare con opportuni protocolli di comunicazione il
server, interpretando il testo ricevuto in linguaggio HTML
(HypetText Markup Language).
35
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
Nel caso in cui sia prevalente l'elaborazione dei dati, si può
realizzare un sistema di elaborazione multi-utente, nel quale i vari
computer client elaborano i dati residenti sui dischi di un computer
server; la concorrenza viene controllata correttamente con
semafori messi nei file condivisi sul server.
Se però la quantità di dati da trasferire dal server al client per
eseguire un determinato compito (per esempio una ricerca) è
troppo grande per la capacità di trasmissione della rete, conviene
che il client lanci al server il comando di eseguire il compito.
Il server esegue l'elaborazione in modo più efficiente, potendo
accedere direttamente ai dati residenti sui suoi dischi; quindi invia
al client solo i risultati dell'elaborazione, evitando i problemi
causati dalla trasmissione di molti dati sulla rete.
36
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
In pratica si segue spesso una via intermedia, cosicché possiamo
distinguere tre possibilità per la cosiddetta architettura software
delle applicazioni in rete:
1) condivisione di file: l'applicazione è sui client e usa file
condivisi su un server;
2) centralizzata: l'applicazione è tutta sul server e i client lo
interrogano (database, programmazione a oggetti con istanze in
memorie diverse);
3) client/server: l'applicazione è distribuita su client e server
(caso ibrido).
37
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
Nel modo di funzionamento client/server il computer server:
gestisce le richieste di accesso alle sue risorse (dischi, stampanti,
modem, ecc.) da parte dei computer client;
esegue anche dei comandi, quali quelli relativi alle interrogazioni di
un database, come nel caso dei server SQL (Structured Query
Language, un linguaggio standard per database relazionali).
La concorrenza (multitasking) è essenziale, poiché il server può
attivare un nuovo processo di controllo per ciascuna richiesta da
servire, cosicché più client possano essere serviti
contemporaneamente.
Il funzionamento del World Wide Web su Internet è basato su:
Architettura client/server;
Protocollo di comunicazione TCP/IP;
Metodo di indirizzamento degli host.
38
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
In una organizzazione di tipo client/server, il sistema operativo di
rete (NOS) consiste in due parti. Quella principale viene eseguita
sul server di file e coordina:
gli accrediti degli utenti;
l’accesso alle informazioni di rete;
la sicurezza;
la condivisione delle risorse;
le funzioni amministrative;
il sistema di alimentazione di riserva;
la protezione dei dati;
la rivelazione e il controllo di errore.
39
Laboratorio di Applicazioni Informatiche II mod. A
Architettura client-server
La parte più piccola del NOS è invece installata in ogni nodo della
rete, dove viene eseguita appoggiandosi sul sistema operativo di
ogni computer.
In alcuni casi il NOS può essere installato in uno dei pc designato
come server di file, che però non svolge esclusivamente questa
funzione ma può eseguire anche programmi applicativi.
Una parte fondamentale del NOS è costituita dal software di
protocollo.
server di file
client
clien
t
N O S
client
software di
protocollo
40
Laboratorio di Applicazioni Informatiche II mod. A
Software di protocollo
SOFTWARE DI PROTOCOLLO
Come vedremo più in dettaglio in seguito, un protocollo di
comunicazione è:
l’insieme delle regole scelte per lo scambio dei messaggi
Un protocollo di comunicazione specifica, tra l’altro:
• il formato dei pacchetti di dati;
• il significato dei vari campi;
• il tipo di controllo di errore usato;
• il metodo di compressione dei dati (se usato);
• come un dispositivo indica che ha terminato di inviare un
messaggio;
• come un dispositivo indica che ha ricevuto un messaggio.
41
Laboratorio di Applicazioni Informatiche II mod. A
Software di protocollo
Un protocollo di comunicazione trova realizzazione pratica nel
software di protocollo.
Il software di protocollo, che implementa le regole del protocollo
usato, costituisce l’interfaccia attraverso cui le applicazioni
utilizzano l’hardware della rete.
42
Laboratorio di Applicazioni Informatiche II mod. A
Software di protocollo
Il protocollo più diffuso sulle LAN piccole e medie (fino a 200
computer) è NetBEUI (NetBios Enhanced User Interface),
sviluppato da IBM e poi inserito da Microsoft nei suoi sistemi
operativi.
Esso implementa lo standard NetBIOS (Network Basic I/O System),
l'interfaccia che fornisce i servizi per la gestione di reti locali.
NetBEUI permette la connessione peer-to-peer per la condivisione
di file e stampanti. E' facile da configurare e trasmette i dati in
modo veloce, ma fornisce solo funzioni basilari.
In particolare, non ha sistemi di sicurezza avanzati e non consente
di instradare i messaggi su altre reti (a differenza di TCP/IP, che
vedremo in seguito).
43
Laboratorio di Applicazioni Informatiche II mod. A
Proxy server
44
Laboratorio di Applicazioni Informatiche II mod. A
Proxy server
In molti casi pratici tra un’applicazione client (quale un browser Web) e
un server reale è interposto un altro server detto proxy server.
applicazione
proxy
server
client
server
reale
Esso intercetta tutte le richieste al server reale per vedere se è in grado
di soddisfarle. In caso negativo, esso invia la richiesta al server reale.
Il proxy server ha due scopi principali:
• migliorare le prestazioni;
• filtrare le richieste.
45
Laboratorio di Applicazioni Informatiche II mod. A
Proxy server
Un proxy server può migliorare drasticamente le prestazioni per
gruppi di utenti, grazie al fatto che salva i risultati di tutte le
richieste per un certo tempo.
Consideriamo il caso in cui gli utenti A e B accedano al World Wide
Web attraverso un proxy server. L’utente A chiede una certa
pagina, che chiamiamo Pagina 1. Successivamente anche l’utente
B chiede la stessa pagina.
A
proxy server
chiede Pagina 1
W E B
fornisce Pagina 1
B
46
Laboratorio di Applicazioni Informatiche II mod. A
Proxy server
Invece di rigirare la richiesta al server Web dove risiede la Pagina 1,
operazione che sprecherebbe tempo, il proxy server semplicemente
fornisce la Pagina 1 che ha già prelevato per l’utente A.
Dato che il proxy server si trova spesso nella stessa rete dell’utente,
l’operazione risulta molto più veloce.
I proxy server reali supportano centinaia o migliaia di utenti.
I principali servizi online, quali Compuserve e America Online,
impiegano una batteria di proxy server.
Come accennato, un proxy server può essere usato anche come filtro
di richieste. Per esempio, una società può usare un proxy server per
impedire agli impiegati di accedere a uno specifico gruppo di siti Web.
47
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
48
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Come abbiamo accennato, i programmi per le reti implementano i
protocolli, che definiscono le regole secondo le quali i processi
possono comunicare.
Fondamentalmente, un protocollo è un accordo tra i partecipanti a
una comunicazione su come la comunicazione stessa debba
procedere.
Per ridurre la complessità di progettazione, nella maggior parte
delle reti i protocolli sono organizzati in maniera gerarchica come
una serie di livelli o strati.
Ciascuno strato fornisce servizi allo strato superiore, isolandolo dai
dettagli di come sono realizzati i servizi offerti.
49
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Le regole e le convenzioni usate in queste conversazioni sono
generalmente conosciute come il protocollo dello strato i.
Lo strato i su una macchina permette una conversazione con lo
strato i su un’altra macchina.
La lista di protocolli usati da un certo sistema, un protocollo per
strato, si dice perciò pila di protocolli.
La pila di protocolli usata da Internet è basata sul modello TCP/IP,
che risulta più semplice dell’altro diffuso standard di architettura
stratificata, il modello ISO/OSI.
Il numero, il nome, il contenuto e le funzionalità degli strati
differiscono da una rete all’altra. Una gerarchia generica di
protocolli è mostrata in Figura; nel caso di Internet n=5
50
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Host 1
Host 2
Protocollo dello strato n
Strato n
Interfaccia strato n-1/n
Strato n
Protocollo dello strato n-1
Strato n-1
Strato n-1
.
.
.
Strato 2
Interfaccia strato 1/2
Strato 1
.
.
.
Protocollo dello strato 2
Protocollo dello strato 1
Strato 2
Strato 1
Mezzo fisico
51
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Le entità che comprendono il corrispondente strato su macchine
differenti sono chiamate pari (peer).
In realtà, nessun dato viene trasferito dallo strato i su una
macchina allo strato i su un’altra.
Invece ogni strato passa a quello immediatamente sottostante dati
e informazioni di controllo, fino a che viene raggiunto lo strato più
basso.
Sotto lo strato 1 c’è il mezzo fisico attraverso il quale avviene la
comunicazione. Nella Figura la comunicazione virtuale è mostrata
da linee tratteggiate, mentre quella fisica da linee continue.
Fra ogni coppia di strati adiacenti c’è una interfaccia, che
definisce quali operazioni primitive e servizi uno strato offre a
quello superiore.
52
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Quando i progettisti di reti decidono quali strati includere in una
rete e cosa fa ciascuno, una delle considerazioni più importanti è
definire interfacce chiare tra i diversi strati.
Per fare ciò è necessario che ogni strato esegua una collezione
specifica di funzioni ben comprensibili. Una interfaccia chiara:
minimizza la quantità di informazioni che devono essere passate
fra i vari strati;
rende semplice sostituire l’implementazione di uno strato con
una completamente diversa.
Per esempio, consente di sostituire le linee telefoniche con canali
satellitari, dato che tutto ciò che è richiesto alla nuova
implementazione è che offra agli strati superiori esattamente lo
stesso insieme di servizi offerti dalla vecchia.
53
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Un insieme di strati e protocolli è chiamato architettura di rete.
La specifica di un’architettura deve contenere abbastanza
informazioni per permettere a chi la implementa di scrivere il
programma o costruire l’hardware per ciascuno strato, così che
esso risponda correttamente al protocollo appropriato.
Dell’architettura non fanno parte né i dettagli dell’implementazione
né la specifica delle interfacce, che sono nascosti all’interno delle
macchine e non sono visibili all’esterno.
Inoltre non è necessario che le interfacce su tutte le macchine di
una rete siano le stesse, purché ogni macchina usi correttamente
i protocolli.
54
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
Un’analogia può aiutare a spiegare l’idea di comunicazione
multistrato.
Immaginiamo due filosofi (processi pari dello strato 3), uno dei
quali parli inglese, l’altro francese. Dato che non parlano un
linguaggio comune, essi utilizzano un interprete (processi pari di
strato 2), che a sua volta utilizza una segretaria (processi pari di
strato 1).
Il filosofo 1 desidera comunicare il suo amore per i conigli, e perciò
passa al suo interprete, attraverso l’interfaccia 2/3, il messaggio:
“I like rabbits”.
Gli interpreti si sono accordati per un linguaggio neutro, per
esempio l’italiano, e così il messaggio viene tradotto: “A me
piacciono i conigli”. La scelta del linguaggio è il protocollo dello
strato 2 e viene fatta dai processi pari di strato 2.
55
56
Laboratorio di Applicazioni Informatiche II mod. A
Protocolli di comunicazione
L’interprete quindi consegna il messaggio a una segretaria per la
trasmissione, utilizzando per esempio un fax (il protocollo di strato
1). Quando il messaggio arriva, esso viene tradotto in francese e
passato attraverso l’interfaccia 2/3 al filosofo 2.
Si noti che ogni protocollo è completamente indipendente dall’altro,
così come le interfacce. Gli interpreti possono passare dall’italiano
al tedesco a piacere, a condizione che entrambi siano d’accordo, e
ciò non cambia l’interfaccia né con lo strato 1 né con lo strato 3.
Allo stesso modo, le segretarie possono sostituire il fax con la posta
elettronica o il telefono senza disturbare (e nemmeno informare)
gli altri strati. Ogni processo può aggiungere delle informazioni per
il proprio pari, che non vengono passate allo strato superiore.
57
Scarica

Tv1 - Università degli Studi di Roma Tor Vergata