1 / 57

Laboratorio di Applicazioni Informatiche II mod. A

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: angelo.gallippi@uniroma2.it. Laboratorio di Applicazioni Informatiche II mod. A. Programma

esben
Télécharger la présentation

Laboratorio di Applicazioni Informatiche II mod. A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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: angelo.gallippi@uniroma2.it

  2. Laboratorio di Applicazioni Informatiche II mod. A Programma • Reti di computer- Collegamento in rete locale- Software di rete - Collegamento di pc - Architettura client/server - Protocollo di comunicazione- Interconnessione delle reti (inter-reti) • Internet e il WWW- Protocollo TCP e indirizzamento su Internet (IP)- Instradamento- Architettura client-server- Protocollo HTTP- Posta elettronica- Trasferimento di file (FTP) • 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

  3. Laboratorio di Applicazioni Informatiche II mod. AProgramma • Linguaggio HTML- Principali marcatori (tag)- Moduli (form), pannelli (frame), tabelle- Esempi di progetti HTML- Cenno sul server HTTP Apache- Pagine Web dinamiche - Script CGI • 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

  4. Laboratorio di Applicazioni Informatiche II mod. A Reti di computer

  5. Laboratorio di Applicazioni Informatiche II mod. AReti 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,

  6. Laboratorio di Applicazioni Informatiche II mod. AReti di computer - Generalità ma anche con cavi in fibra ottica,

  7. Laboratorio di Applicazioni Informatiche II mod. AReti di computer - Generalità microonde,

  8. Laboratorio di Applicazioni Informatiche II mod. AReti di computer - Generalità o comunicazioni satellitari.

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

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

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

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

  13. Laboratorio di Applicazioni Informatiche II mod. AReti 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).

  14. Laboratorio di Applicazioni Informatiche II mod. AReti di computer - Tassonomia Le reti abroadcast hanno un unico canale di comunicazione condiviso da tutte le macchine della rete.

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

  16. Laboratorio di Applicazioni Informatiche II mod. AReti di computer - Tassonomia Invece le retipunto-punto consistono in molte connessioni fra coppie individuali di macchine.

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

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

  19. Laboratorio di Applicazioni Informatiche II mod. ACollegamento 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à).

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

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

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

  23. Laboratorio di Applicazioni Informatiche II mod. ACollegamento in rete locale

  24. Laboratorio di Applicazioni Informatiche II mod. ACollegamento 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).

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

  26. Laboratorio di Applicazioni Informatiche II mod. ASoftware 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:

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

  28. Laboratorio di Applicazioni Informatiche II mod. A Collegamento di pc

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

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

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

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

  33. Laboratorio di Applicazioni Informatiche II mod. AArchitettura 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: • reti in cui è prevalente la comunicazione e la distribuzione delle informazioni (World Wide Web, intranet aziendali, ecc.). • reti in cui è prevalente l'elaborazione dei dati (reti locali, intranet/extranet).

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

  35. Laboratorio di Applicazioni Informatiche II mod. AArchitettura 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).

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

  37. Laboratorio di Applicazioni Informatiche II mod. AArchitettura client-server In pratica si segue spesso una via intermedia, cosicché possiamo distinguere tre possibilità per la cosiddetta architettura software delle applicazioni in rete: • condivisione di file: l'applicazione è sui client e usa file condivisi su un server; • centralizzata: l'applicazione è tutta sul server e i client lo interrogano (database, programmazione a oggetti con istanze in memorie diverse); • client/server: l'applicazione è distribuita su client e server (caso ibrido).

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

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

  40. Laboratorio di Applicazioni Informatiche II mod. AArchitettura 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 N O S client client software di protocollo client

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

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

  43. Laboratorio di Applicazioni Informatiche II mod. ASoftware 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).

  44. Laboratorio di Applicazioni Informatiche II mod. A Proxy server

  45. proxy server applicazione client server reale Laboratorio di Applicazioni Informatiche II mod. AProxy server In molti casi pratici tra un’applicazione client (quale un browser Web) e un server reale è interposto un altro server detto 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.

  46. Laboratorio di Applicazioni Informatiche II mod. AProxy 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 chiede Pagina 1 W E B proxy server fornisce Pagina 1 B

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

  48. Laboratorio di Applicazioni Informatiche II mod. A Protocolli di comunicazione

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

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

More Related