57
1 Laboratorio di Applicazioni Informatiche II mod. A Inizio lezioni: 9 ottobre 2006 Termine lezioni: CREDITI ASSEGNATI: 5 ORE DI LEZIONE FRONTALE: 30 Docente: Prof. Angelo Gallippi e-mail: [email protected]

Laboratorio di Applicazioni Informatiche II mod. A

  • Upload
    esben

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Laboratorio di Applicazioni Informatiche II mod. A. Inizio lezioni: 9 ottobre 2006 Termine lezioni: CREDITI ASSEGNATI: 5 ORE DI LEZIONE FRONTALE: 30 Docente: Prof. Angelo Gallippi e-mail: [email protected]. Laboratorio di Applicazioni Informatiche II mod. A. Programma - PowerPoint PPT Presentation

Citation preview

Page 1: Laboratorio di Applicazioni Informatiche II mod. A

1

Laboratorio di Applicazioni Informatiche II mod. A

Inizio lezioni: 9 ottobre 2006

Termine lezioni:

CREDITI ASSEGNATI: 5

ORE DI LEZIONE FRONTALE: 30

Docente: Prof. Angelo Gallippi

e-mail: [email protected]

Page 2: Laboratorio di Applicazioni Informatiche II mod. A

2

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

Laboratorio di Applicazioni Informatiche II mod. A

Page 3: Laboratorio di Applicazioni Informatiche II mod. A

3

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

Laboratorio di Applicazioni Informatiche II mod. A Programma

Page 4: Laboratorio di Applicazioni Informatiche II mod. A

4

Reti di computer

Laboratorio di Applicazioni Informatiche II mod. A

Page 5: Laboratorio di Applicazioni Informatiche II mod. A

5

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,

Page 6: Laboratorio di Applicazioni Informatiche II mod. A

6

ma anche con caviin fibra ottica,

Laboratorio di Applicazioni Informatiche II mod. A Reti di computer - Generalità

Page 7: Laboratorio di Applicazioni Informatiche II mod. A

7

microonde,

Laboratorio di Applicazioni Informatiche II mod. A Reti di computer - Generalità

Page 8: Laboratorio di Applicazioni Informatiche II mod. A

8

o comunicazioni satellitari.

Laboratorio di Applicazioni Informatiche II mod. A Reti di computer - Generalità

Page 9: Laboratorio di Applicazioni Informatiche II mod. A

9

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.

Page 10: Laboratorio di Applicazioni Informatiche II mod. A

10

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.

Page 11: Laboratorio di Applicazioni Informatiche II mod. A

11

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.

Page 12: Laboratorio di Applicazioni Informatiche II mod. A

12

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.

Page 13: Laboratorio di Applicazioni Informatiche II mod. A

13

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).

Page 14: Laboratorio di Applicazioni Informatiche II mod. A

14

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.

Page 15: Laboratorio di Applicazioni Informatiche II mod. A

15

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.

Laboratorio di Applicazioni Informatiche II mod. A Reti di computer - Tassonomia

Page 16: Laboratorio di Applicazioni Informatiche II mod. A

16

Laboratorio di Applicazioni Informatiche II mod. A Reti di computer - Tassonomia

Invece le reti punto-punto consistono in molte connessioni fra coppie individuali di macchine.

Page 17: Laboratorio di Applicazioni Informatiche II mod. A

17

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.

Laboratorio di Applicazioni Informatiche II mod. A Reti di computer - Tassonomia

Page 18: Laboratorio di Applicazioni Informatiche II mod. A

18

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.

Page 19: Laboratorio di Applicazioni Informatiche II mod. A

19

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à).

Page 20: Laboratorio di Applicazioni Informatiche II mod. A

20

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.

Page 21: Laboratorio di Applicazioni Informatiche II mod. A

21

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.

Page 22: Laboratorio di Applicazioni Informatiche II mod. A

22

Laboratorio di Applicazioni Informatiche II mod. A Collegamento in rete locale

La tecnologia di trasmissione usa come mezzo trasmissivo:

un doppino in rame, schermato oppure no; un cavo coassiale; un cavo in fibra ottica; un 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.

Page 23: Laboratorio di Applicazioni Informatiche II mod. A

23

Laboratorio di Applicazioni Informatiche II mod. A Collegamento in rete locale

Page 24: Laboratorio di Applicazioni Informatiche II mod. A

24

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).

Page 25: Laboratorio di Applicazioni Informatiche II mod. A

25

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.

Laboratorio di Applicazioni Informatiche II mod. A Software di rete

Page 26: Laboratorio di Applicazioni Informatiche II mod. A

26

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:

Laboratorio di Applicazioni Informatiche II mod. A Software di rete

Page 27: Laboratorio di Applicazioni Informatiche II mod. A

27

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.

Laboratorio di Applicazioni Informatiche II mod. A Software di rete

Page 28: Laboratorio di Applicazioni Informatiche II mod. A

28

Laboratorio di Applicazioni Informatiche II mod. A

Collegamento di pc

Page 29: Laboratorio di Applicazioni Informatiche II mod. A

29

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.

Page 30: Laboratorio di Applicazioni Informatiche II mod. A

30

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.

Page 31: Laboratorio di Applicazioni Informatiche II mod. A

31

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.

Page 32: Laboratorio di Applicazioni Informatiche II mod. A

32

Architettura client-server

Laboratorio di Applicazioni Informatiche II mod. A

Page 33: Laboratorio di Applicazioni Informatiche II mod. A

33

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).

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 34: Laboratorio di Applicazioni Informatiche II mod. A

34

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.

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 35: Laboratorio di Applicazioni Informatiche II mod. A

35

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).

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 36: Laboratorio di Applicazioni Informatiche II mod. A

36

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.

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 37: Laboratorio di Applicazioni Informatiche II mod. A

37

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).

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 38: Laboratorio di Applicazioni Informatiche II mod. A

38

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.

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 39: Laboratorio di Applicazioni Informatiche II mod. A

39

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.

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

Page 40: Laboratorio di Applicazioni Informatiche II mod. A

40

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.

Laboratorio di Applicazioni Informatiche II mod. A Architettura client-server

N O S

software diprotocollo

server di file

clientclient

client

Page 41: Laboratorio di Applicazioni Informatiche II mod. A

41

SOFTWARE DI PROTOCOLLO

Come vedremo più in dettaglio in seguito, un protocollo di comunicazione è:

l’insieme delle regole scelte per lo scambio dei messaggi

Laboratorio di Applicazioni Informatiche II mod. A Software di protocollo

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.

Page 42: Laboratorio di Applicazioni Informatiche II mod. A

42

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.

Laboratorio di Applicazioni Informatiche II mod. A Software di protocollo

Page 43: Laboratorio di Applicazioni Informatiche II mod. A

43

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).

Laboratorio di Applicazioni Informatiche II mod. A Software di protocollo

Page 44: Laboratorio di Applicazioni Informatiche II mod. A

44

Proxy server

Laboratorio di Applicazioni Informatiche II mod. A

Page 45: Laboratorio di Applicazioni Informatiche II mod. A

45

Laboratorio di Applicazioni Informatiche II mod. A Proxy server

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.

In molti casi pratici tra un’applicazione client (quale un browser Web) e un server reale è interposto un altro server detto proxy server.

applicazione

client

proxy

server

server

reale

Page 46: Laboratorio di Applicazioni Informatiche II mod. A

46

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.

Laboratorio di Applicazioni Informatiche II mod. A Proxy server

A

B

proxy server W E B

chiede Pagina 1

fornisce Pagina 1

Page 47: Laboratorio di Applicazioni Informatiche II mod. A

47

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.

Laboratorio di Applicazioni Informatiche II mod. A Proxy server

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.

Page 48: Laboratorio di Applicazioni Informatiche II mod. A

48

Laboratorio di Applicazioni Informatiche II mod. A

Protocolli di comunicazione

Page 49: Laboratorio di Applicazioni Informatiche II mod. A

49

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.

Page 50: Laboratorio di Applicazioni Informatiche II mod. A

50

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

Page 51: Laboratorio di Applicazioni Informatiche II mod. A

51

Laboratorio di Applicazioni Informatiche II mod. A

Protocolli di comunicazione

Interfaccia strato 1/2

Strato n

Strato n-1

Strato 2

Strato 1

Host 1

Strato n

Strato n-1

Strato 2

Strato 1

Host 2Protocollo dello strato n

Protocollo dello strato n-1

Protocollo dello strato 2

Protocollo dello strato 1

Interfaccia strato n-1/n

Mezzo fisico

.

.

.

.

.

.

Page 52: Laboratorio di Applicazioni Informatiche II mod. A

52

Laboratorio di Applicazioni Informatiche II mod. AProtocolli 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.

Page 53: Laboratorio di Applicazioni Informatiche II mod. A

53

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.

Laboratorio di Applicazioni Informatiche II mod. AProtocolli di comunicazione

Page 54: Laboratorio di Applicazioni Informatiche II mod. A

54

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.

Laboratorio di Applicazioni Informatiche II mod. AProtocolli di comunicazione

Page 55: Laboratorio di Applicazioni Informatiche II mod. A

55

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.

Laboratorio di Applicazioni Informatiche II mod. AProtocolli di comunicazione

Page 56: Laboratorio di Applicazioni Informatiche II mod. A

56

Page 57: Laboratorio di Applicazioni Informatiche II mod. A

57

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.

Laboratorio di Applicazioni Informatiche II mod. AProtocolli di comunicazione