La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 18.

Presentazioni simili


Presentazione sul tema: "Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 18."— Transcript della presentazione:

1 Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 18

2 Reti di CalcolatoriAndrea Frosini2 Nel modello di riferimento: Application Transport Network Data Link Fisico

3 Reti di CalcolatoriAndrea Frosini3 Il livello Application Il livello Application di una architettura di rete definisce: protocolli generali utilizzati da tutte le applicazioni di rete (ad es., il DNS) protocolli utilizzati da applicazioni di rete standard (ad es., il protocollo SMTP per la posta elettronica, FTP per trasferimento file, HTTP per documenti in www, …) protocolli utilizzati da applicazioni di rete specializzate (ad es., un sistema proprietario per la gestione dei registratori di cassa di un supermercato) I protocolli specializzati non sono necessariamente di pubblico dominio: molti di essi sono segreti o protetti da licenze restrittive I protocolli generali devono essere definiti in modo aperto ed esatto, perché devono poter essere utilizzati da tutte le applicazioni di rete

4 Reti di CalcolatoriAndrea Frosini4 Domain Name System I Il Domain Name System (DNS): traduzione indirizzo IP - nome logico E costituito essenzialmente da uno schema di assegnazione dei nomi gerarchico e basato su domini una base di dati (database) distribuita contenente i nomi un protocollo per la distribuzione delle informazioni sui nomi I nomi logici non sono gestiti da ununica autorità, ma vengono assegnati da tante autorità diverse, ciascuna corrispondente ad un dominio o sotto-dominio Nessun host in Internet contiene tutte le associazioni tra nomi logici e indirizzi IP. Un certo numero di host (i server DNS) memorizzano le associazioni relative ad un dominio o sottodominio.

5 Reti di CalcolatoriAndrea Frosini5 Lo spazio dei nomi DNS è uno spazio gerarchico, organizzato in dominii, ciascuno dei quali può avere dei sottodominii Esiste un insieme di dominii di massimo livello (top-level domain), i più alti nella gerarchia Nel caso di un host, la forma del nome logico è costituita da un certo numero di (sotto)stringhe separate da punti che determinano un cammino inverso dalla foglia alla radice Esempio: host.subdomain3.subdomain2.subdomain1.topleveldomain Domain Name System II nome dellhost identificano ciascuna un sottodominio del dominio di cui alla sottostringa seguente top-level domain di appartenenza

6 Reti di CalcolatoriAndrea Frosini6 Domini di primo livello Domini di primo livello generici: com aziendemil istituzioni militari edu università americanenet fornitori d'accesso gov istituzioni governativeorg organizzazioni non-profit… Domini di primo livello geografici (uno per ogni nazione): it: Italiaus: USAjp: Giappone ch: Svizzerade: Germaniauk: Regno Unito va: Stato Città del Vaticano …

7 Reti di CalcolatoriAndrea Frosini7 - L'applicazione chiede di collegarsi ad una risorsa inviando il nome logico in una richiesta al DNS server locale (resolver) - Il DNS server locale, se conosce la risposta, la invia direttamente al richiedente, altrimenti interroga a sua volta un DNS server di livello superiore, ecc. - Quando arriva la risposta, il DNS server locale la passa al richiedente - Quando l'applicazione riceve la risposta (costituita dal numero IP della risorsa chiesta) crea una connessione TCP con la (o spedisce segmenti UDP alla) destinazione, usando l'indirizzo IP appena ricevuto Funzionamento del DNS Ogni dominio: E responsabile dei sottodomini Fornisce il servizio DNS per gli host nel dominio

8 Reti di CalcolatoriAndrea Frosini8 Name server è un processo che gestisce le seguenti informazioni: - di corrispondenza fra nomi simbolici e indirizzi IP, - un resource record per ogni host del dominio; il resource record - detto authoritative record - è gestito dal DNS server responsabile del dominio; - l'identità dei name server responsabili dei sottodominii inclusi nel dominio, così da poter inviare loro le richieste che gli pervengono; - l'identità del name server responsabile del dominio di livello immediatamente superiore, così da potergli inviare le richieste che gli pervengono dal basso; Name server La risposta viene tenuta dal server in una sua cache per un certo periodo - cached record – prima che diventi obsoleta o scorretta

9 Reti di CalcolatoriAndrea Frosini9 Servizi di Internet I Servizi di tracciamento: verifica dellesistenza e connessione di un account o host su Internet Servizi di comunicazione: per scambio messaggi, flussi di dati o programmi fra due o più corrispondenti Servizi di cooperazione: condivisione e modifica di risorse condivise (dati, programmi, documenti) fra più corrispondenti Servizi di coordinazione: attività concordata di persone, servizi o programmi

10 Reti di CalcolatoriAndrea Frosini10 Servizi di Internet II Servizio Internet: architettura software basata su un protocollo/applicazione di TCP/IP Sincrono attività simultanea tra i siti, basato su sessione Asincrono non richiede interattività simultanea Esempi: ServiziAsincroni Sincroni Tracciamentofingerping Comunicazione , newsirc, chat Cooperazioneftp, wwwnapster Coordinazionee-commerceMUD

11 Reti di CalcolatoriAndrea Frosini11 Posta elettronica I Il Sistema di posta elettronica permette la comunicazione asincrona uno-a-uno o uno- a-molti (mailing list) E un servizio ormai consolidato ed usato (presente da circa 25 anni) e consente di effettuare le seguenti operazioni: - Comporre un messaggio - Spedire il messaggio (a uno o più destinatari) - Ricevere messaggi da altri utenti - Leggere i messaggi ricevuti - Stampare, memorizzare, eliminare i messaggi spediti o ricevuti

12 Reti di CalcolatoriAndrea Frosini12 Protocollo di trasmissione (RFC 821) - Formato del messaggio predefinito - Formato Internet (RFC 822) : header e body separati da una linea vuota header serie di linee, ciascuna relativa a una specifica informazione identificata da una parola chiave: Date, To, From, Cc, Bcc, Subject, Sender, Reply-To, Subject, Message-Id, Return-Path, Errors-To... body: caratteri ASCII Posta elettronica II

13 Reti di CalcolatoriAndrea Frosini13 Gli indirizzi di posta elettronica hanno la forma: Username è una stringa di caratteri che identifica il destinatario Hostname è un nome DNS oppure un indirizzo IP Indirizzo fornito da ISP (Internet Service Provider) o da altri che supportano - banda di comunicazione verso Internet e verso gli utenti - tempo di calcolo dei processi serventi le mailbox - spazio disco per memorizzare i messaggi La posta elettronica viene implementata in Internet attraverso la cooperazione di due tipi di sottosistemi Mail User Agent (MUA) Mail Transport Agent (MTA) Posta elettronica: indirizzi

14 Reti di CalcolatoriAndrea Frosini14 MUA permette all'utente finale di: - Comporre messaggi - Consegnarli a un MTA per la trasmissione - Ricevere e leggere messaggi - Salvarli o eliminarli MTA si occupa di: - Trasportare i messaggi sulla rete, fino alla consegna a un MTA di destinazione - Rispondere ai MUA dei vari utenti per consegnare loro la posta arrivata I due tipi di agenti devono cooperare tra loro per realizzare lapplicazione di posta elettronica. Ad esempio, un MUA (configurato prima delluso) deve affidare ad un MTA un messaggio composto da un utente per inviarlo al destinatario Agenti di posta elettronica

15 Reti di CalcolatoriAndrea Frosini15 Il protocollo SMTP I Il protocollo SMTP (Simple Mail Transfer Protocol) è progettato per consentire il trasferimento di messaggi di posta elettronica tra due MTA (RFC 821) Ciascun MTA funziona come un server in attesa di connessioni TCP sulla porta 25 Se un altro MTA vuol trasferire un messaggio al server, esso richiede lattivazione di una nuova connessione TCP Una evoluzione successiva del protocollo è ormai utilizzata da quasi tutti i mail server: ESMTP (Extended SMTP, RFC 2821)

16 Reti di CalcolatoriAndrea Frosini16 Attivata la connessione TCP, i due MTA comunicano per mezzo del protocollo SMTP il client si fa riconoscere (comando HELO) indica il nome convenzionale del destinatario (comando RCPT) trasferisce il messaggio (comando DATA) termina la connessione (comando QUIT) Si noti che la connessione TCP è affidabile, quindi il protocollo assume che non esistono errori di trasmissione Il protocollo SMTP II

17 Reti di CalcolatoriAndrea Frosini17 connect host=mailsrv.unisi.it port= mailsrv.unisi.it ESMTP MTA-XXX; Wed, 4 Jul :02:25 HELO student.unisi.it 250 mailsrv.unisi.it Hello [ ], pleased to meet you MAIL FROM: Sender ok RCPT TO: Recipient ok DATA 354 Enter mail, end with "." on a line by itself. From: To: Salve, qual e il prossimo appello del corso di Reti di Calcolatori? Mario f64H2in05753 Message accepted for delivery QUIT mailsrv.unisi.it closing connection Esempio di protocollo SMTP

18 Reti di CalcolatoriAndrea Frosini18 Il protocollo POP3 Il protocollo POP3 (Post Office Protocol, versione 3, RFC 1939) è utilizzato per consentire ad un MUA di accedere ai messaggi di posta elettronica immagazzinati in un mail server Per offrire questo servizio il mail server non utilizza il MTA Invece, il mail server ha un POP server, ossia un programma specializzato che autentica gli utenti trasferisce i messaggi sul calcolatore dellutente gestisce la casella di posta elettronica sul server

19 Reti di CalcolatoriAndrea Frosini19 connect host=mailsrv.unisi.it port=110 +OK POP3 mail v4.47 server ready USER frosini +OK User name accepted, password please PASS questa_e_la_password +OK Mailbox open, 1 messages LIST RETR 1 (Il messaggio viene trasferito... ) DELE 1 QUIT +OK Sayonara Esempio di protocollo POP3

20 Reti di CalcolatoriAndrea Frosini20 Si stanno diffondendo altri protocolli di più evoluti del POP3: Il protocollo IMAP (Interactive Mail Access Protocol, RFC 2060) è simile al protocollo POP3, ma consente allutente di gestire la propria posta da più calcolatori differenti: i messaggi vengono sempre lasciati sul mail server fino a quando non vengono cancellati, e possono essere organizzati come un database; può inoltre gestire la trasmissione dei messaggi dallutente al mail server Il protocollo DMSP (Distributed Mail System Protocol, RFC 1056) è simile al POP3, ma permette agli utenti di utilizzare i client di posta elettronica per leggere e spedire messaggi anche in assenza (temporanea) del collegamento con il mail server I protocolli IMAP e DMSP

21 Reti di CalcolatoriAndrea Frosini21 Due significative estensioni di funzionalità in via di progressiva diffusione: - Possibilità di inviare messaggi di posta contenenti informazioni di qualunque tipo (programmi eseguibili, immagini, filmati, suoni) attraverso lo standard MIME (Multipurpose Internet Mail Extension) - Possibilità di inviare messaggi corredati di firma digitale o crittografati, attraverso lo standard in via di definizione S/MIME (Secure/MIME) - Filtri: Insieme di regole verificate dal cliente allarrivo di un messaggio (salvataggio automatico, visualizzazione particolare…) - Forwarding: Reinstradamento della posta in arrivo ad un diverso indirizzo - Demone di vacanza: In assenza del destinatario risponde con messaggi predefiniti - Mailing list: Servizio di comunicazione uno-a-molti - Gestione manuale con un moderatore - Gestione automatica da un servizio che accetta iscrizioni via mail Ulteriori funzionalità

22 Reti di CalcolatoriAndrea Frosini22 Lo standard di posta elettronica di Internet richiede che ogni messaggio sia costituito da caratteri ASCII standard (con valori da 0 a 127): gli MTA sono liberi di sostituire o cancellare qualsiasi altro carattere Un messaggio di posta elettronica non può perciò contenere lettere accentate come à, file eseguibili, file mp3, video,... La soluzione proposta a questo inconveniente è chiamata Multipurpose Internet Mail Extensions, o MIME (RFC 1341, 2045–2049) Lidea essenziale è di continuare ad usare il vecchio standard di posta elettronica per trasferire i messaggi, e di codificare i file non di testo (detti attach) in maniera opportuna MIME: Multipurpose Internet Mail Extensions I

23 Reti di CalcolatoriAndrea Frosini23 Alla testata del messaggio di posta elettronica si aggiungono i seguenti campi: MIME-Version: numero di versione di MIME Content-Description: descrizione del contenuto del messaggio Content-Id: identificatore del contenuto del messaggio Content-Transfer-Encoding: la codifica utilizzata Content-Type: la natura del messaggio (ad esempio: video/mpeg, text/plain) MIME: Multipurpose Internet Mail Extensions II

24 Reti di CalcolatoriAndrea Frosini24 Modello posta elettronica

25 Reti di CalcolatoriAndrea Frosini25 Esempio posta elettronica

26 Reti di CalcolatoriAndrea Frosini26 Comunicazione in rete: sistema di chat con servizio di comunicazione sincrona punto-a-punto (talk) broadcast (IRC-Internet Relay Chat) IRC usabile per conferenza multivoci o conversazione privata su canale riservato USENET News applicazione: sistema di notiziari organizzati gerarchicamente non usa mailing list, ma memorizzazione in directory speciali, aggiornate periodicamente NNTP Network News Tranfer Protocol protocollo simile a SMTP, il cliente invia comandi in ASCII; permette lettura in remoto a richiesta (il cliente chiama) a invio (il cliente è chiamato) Altri servizi di comunicazione

27 Reti di CalcolatoriAndrea Frosini27 Il World Wide Web, o WWW, nasce al CERN (il centro di ricerca europeo sulla fisica nucleare) nel 1989: la prima idea è stata del fisico Tim Berners-Lee E una ragnatela di documenti contenenti testi, immagini, suoni, video, programmi. Contiene pochi standard de iure e molti da facto. E ramificato in tutto il mondo (oggi spesso viene confuso con Internet) Il primo browser WWW era chiamato Mosaic. Fu così popolare che il suo creatore Marc Andreessen lasciò il suo lavoro presso la NCSA e fondò una propria compagnia, la Netscape Communication Corp. Oggi il WWW è regolato dal World Wide Web Consortium, fondato dal CERN e dal MIT, e a cui partecipano molte università, aziende ed organizzazioni Il World Wide Web

28 Reti di CalcolatoriAndrea Frosini28 Pagine WWW e browser Il WWW è organizzato in pagine: Ogni pagina può contenere un ipertesto (hypertext), ossia un testo con collegamenti attivi (link o hyperlink) verso altre pagine Il testo e le immagini contenuti nelle pagine possono essere visualizzate da un programma chiamato browser Lutente può saltare da una pagina allaltra agendo sui link della pagina attualmente visualizzata Utilizzando altre applicazioni presenti sul calcolatore dellutente (helper applications), il browser può visualizzare un filmato, suonare un brano musicale …

29 Reti di CalcolatoriAndrea Frosini29 Le pagine WWW sono immagazzinate in calcolatori detti server WWW: hanno una applicazione di rete che monitorizza le richieste di connessioni TCP sulla porta 80 Quando un browser deve visualizzare una pagina, invia una richiesta di attivazione di connessione al server WWW; il server attiva la connessione e riceve il nome del file contenente la pagina; quindi invia la pagina al browser Nella prima versione di HTTP (1.0), il server chiudeva la connessione non appena spedito il documento richiesto, perciò il browser doveva attivare unaltra connessione per ciascun documento collegato alla pagina (ad esempio, le immagini contenute nella pagina) Dalla versione successiva di HTTP (1.1) la connessione può restare aperta Schema di funzionamento di un server WWW

30 Reti di CalcolatoriAndrea Frosini30 URL: Uniform Resource Locator Gli Uniform Resource Locator (URL) sono gli identificatori utilizzati dal WWW Allinterno delle pagine WWW, definiscono i link verso le altre pagine. Anche se non sono stati progettati per questo, gli URL servono anche come indirizzi delle pagine WWW per gli utenti finali Ogni URL è costituita da tre parti: :// / Il campo è generalmente, ma non sempre, http Il campo è generalmente, ma non sempre, il percorso del file contenente la pagina sul server WWW Il nome locale della pagina può corrispondere al nome di una intera cartella del filesystem: in questo caso il server WWW invia una pagina predefinita della cartella Esempio:

31 Reti di CalcolatoriAndrea Frosini31 I protocolli utilizzati dal WWW Il WWW è stato progettato per utilizzare diversi tipi di protocolli, ed integrare così le relative applicazioni: http ipertesto ftp trasferimento di file file file sul calcolatore dellutente news newsgroup o articolo news gopher gopher (antenato del WWW) mailto invio di posta elettronica telnet terminale remoto

32 Reti di CalcolatoriAndrea Frosini32 HTTP: Hypertext Transfer Protocol Il protocollo standard del WWW è chiamato HTTP (Hypertext Transfer Protocol) E basato su comandi costituiti da testo ASCII standard, come il protocollo SMTP Invia le pagine WWW in un formato simile a quello della posta elettronica La parte più importante di HTTP consiste nei comandi utilizzati dal browser per dialogare col server WWW. I più importanti: GET : richiede una pagina WWW HEAD : richiede informazioni su una pagina WWW (ad esempio, la data di modifica) PUT : richiede di salvare sul server una pagina WWW POST : appende dati ad una pagina WWW (in generale, invia informazioni al server WWW) DELETE : cancella una pagina WWW

33 Reti di CalcolatoriAndrea Frosini33 HTML: Hypertext Markup Language Ogni pagina WWW è codificata in un linguaggio chiamato HTML (Hypertext Markup Language) LHTML è un particolare dialetto di una famiglia di linguaggi standard ISO 8879 chiamata SGML (Standard Generalized Markup Language) Lidea è che ogni parte od attributo della pagina è marcato da un identificatore od una coppia di identificatori (tag). Ad esempio, per rendere un testo in grassetto è sufficiente scrivere testo in grassetto Come il protocollo HTTP, il linguaggio HTML è in costante evoluzione sia da parte del World Wide Web Consortium (che definisce lo standard), sia da parte delle aziende commerciali e organizzazioni che producono i browser (Microsoft Internet Explorer, Netscape Communicator, Opera, Konqueror, Galeon... )

34 Reti di CalcolatoriAndrea Frosini34 HTML Il modello di WWW fin qui presentato è essenzialmente statico: lutente indica quali pagine di un server vuole consultare; il server recupera il file corrispondente dal proprio archivio, e lo spedisce al browser dellutente, che lo visualizza in modo opportuno Il modello statico non è adeguato per le nuove applicazioni (commercio elettronico, video on demand,... ) in cui: lutente deve trasmettere informazioni al server (il proprio nome ed indirizzo, il bene da acquistare, il numero di carta di credito,... ) il server deve generare dinamicamente il contenuto delle proprie pagine (ad esempio, deve far visualizzare al browser una conferma della transazione commerciale da effettuare) LHTML dinamico può essere realizzato sia dal lato server che dal lato client

35 Reti di CalcolatoriAndrea Frosini35 CGI: Common Gateway Interface Come generare pagine HTML dinamiche sul lato server? Un sistema molto diffuso è chiamato Common Gateway Interface (CGI) Il server WWW contiene in una particolare cartella (generalmente chiamata cgi-bin) alcuni file eseguibili Quando il server WWW riceve una richiesta GET o POST per uno dei file nella cartella, non trasmette il file ma lo esegue, passandogli le informazioni ricevute dal browser Il file eseguibile produce al volo la pagina WWW che verrà inviata al browser come risposta alla sua richiesta Spesso i programmi CGI sono scritti in linguaggi interpretati come Perl e Phyton

36 Reti di CalcolatoriAndrea Frosini36 Server WWW con capacità di scripting Il meccanismo CGI non è molto efficiente, in quanto il server WWW deve invocare un programma esterno e ricevere la pagina che dovrà essere spedita allutente Una alternativa più efficiente consiste nel dotare il server WWW stesso della capacità di eseguire programmi memorizzati allinterno delle pagine HTML (script) Essenzialmente tre standard si contendono il mercato: PHP (PHP: Hypertext Preprocessor) OpenSource JSP (JavaServer Pages) Sun ASP (Active Server Pages) Microsoft

37 Reti di CalcolatoriAndrea Frosini37 Generazione di pagine WWW dinamiche dal lato client Il meccanismo CGI e i linguaggi di scripting per i server WWW consentono una interazione bi-direzionale tra i client ed i server, ma la capacità di elaborazione è comunque riservata al server WWW Ad esempio, con il CGI non è possibile controllare la validità di un codice fiscale prima che esso sia inviato dal browser al server WWW Per applicazioni altamente interattive i browser hanno cominciato ad utilizzare alcuni meccanismi per lesecuzione di programmi sul calcolatore dellutente: Nome (Produttore) Esecutore Velocità Portabilità Sicurezza JavaScript (Sun) Browser Java (Sun) Java Virtual Machine ActiveX (Microsoft) CPU 80x86

38 Reti di CalcolatoriAndrea Frosini38 Java e JavaScript Nellambito del WWW si hanno tre varianti di Java: JavaScript: i comandi Java sono immersi allinterno delle pagine HTML; il browser interpreta i comandi JavaScript man mano che costruisce la pagina grafica da far vedere allutente applet Java: il codice è trasferito a parte come un applet (un piccolo programma che non viene salvato permanentemente sul disco dellutente); per motivi di compatibilità e sicurezza lapplet è in formato bytecode, una specie di linguaggio macchina uguale per tutte le piattaforme programma Java: il codice è trasferito a parte come un programma a se stante, ma sempre in formato bytecode: è necessario avere un interprete Java per poterlo eseguire, ma è possibile utilizzare il programma anche senza essere connessi al server WWW

39 Reti di CalcolatoriAndrea Frosini39 Cookie Il protocollo HTTP originale è fondamentalmente stateless: dopo aver servito una richiesta, un server WWW dimentica completamente la sessione; richieste ripetute danno luogo sempre alla stessa risposta Per le applicazioni commerciali sarebbe conveniente avere un meccanismo che consenta al server di riconoscere se una richiesta di un client è stata già evasa in passato, ed eventualmente quali scelte aveva fatto lutente Netscape ha introdotto i cookie (RFC 2109): quando un client richiede una pagina, il server può inviare un piccolo file (inferiore a 4 KB) al client, che viene salvato dal browser sul disco dellutente ed incluso in tutte le successive richieste dal client al server Un cookie può essere persistente se possiede una data ed ora di scadenza, oppure non persistente se viene cancellato alla chiusura del browser o della connessione HTTP

40 Reti di CalcolatoriAndrea Frosini40 Esempio di gestione dei cookie Un server WWW invia un cookie insieme alle informazioni accluse alla risposta inviata ad un client: HTTP/ OK Date: Mon, 05 Jul :43:15 GMT Server: MyServerWWW Set-Cookie: AnonymousGuest=5FC6AC163BC14e DD4A38FD340; expires=Fri 28-May :59:00 GMT; path=/; Content-Length: Il client restituisce il cookie in tutte le richieste inviate allo stesso server WWW (in realtà ogni server nello stesso dominio): Set-Cookie: AnonymousGuest=5FC6AC163BC14e DD4A38FD340


Scaricare ppt "Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 18."

Presentazioni simili


Annunci Google