Strato Applicazione - www3
Transcript
Strato Applicazione - www3
Strato Applicazione Vittorio Maniezzo Università di Bologna Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 1/51 strato applicazione Nel livello applicazione vengono inserite le funzioni di utilità per l'utente. Diverse tipologie di oggetti • Protocolli di supporto generale – DNS (Domain Name System) • Protocolli per applicazioni standard: – SNMP (Simple Network Management Protocol) per la gestione della rete – FTP (File Transfer Protocol) per il trasferimento di file – SMTP e POP3 (Simple Mail Transfer Protocol, e Post Office Protocol) per la posta elettronica – HTTP (HyperText Transfer Protocol) alla base del World Wide Web • Applicazioni proprietarie, basate su regole di dialogo private Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 2/51 1 DNS: Domain Name System Host, router Internet: – Indirizzi IP (32 bit) – usati per indirizzare i datagrammi IP – “Nome”, es., gaia.cs.umass.edu – usati dagli utenti Corrispondenza tra indirizzo IP e nome? Domain Name System: Database distribuito implementato come una gerarchia di molti name server Protocollo applicativo usato da host, router, name server per comunicare allo scopo di risolvere (tradurre) i nomi in indirizzi IP Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 3/51 Funzione del DNS Utilizzato da diverse aplicazioni: HTTP, SMTP, FTP: Una connessione TCP richiede la conoscenza dell’indirizzo IP corrispondente all’hostname L’applicazione interroga un sever DNS per ottenere l’indirizzo IP (UNIX: gethostbyname) Opportuno utilizzare la cache per ridurre il ritardo Utilizza UDP Fornisce l’hostname corrispondente ad un alias Distribuzione del carico tra Server replicati. IL DNS fornisce un gruppo di indirizzi alternando l’ordine Permette di dirigere un client al server più vicino Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 4/51 2 Name server DNS Perché non un server DNS centralizzato? •Minore tolleranza ai guasti •Traffico eccessivo •Database centrale troppo distante in molti casi •Autorizzazione ed accesso per registrare nuovo host Nessun name server contiene tutte le associazioni nome simbolico/indirizzo IP Name server locali : – Ogni ISP o compagnia ha un name server locale (default) – La richiesta di traduzione (mapping) di un host è prima rivolta al name server locale Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 5/51 DNS: Root name servers Contattato dal name server locale che non riesce a risolvere un nome root name server: – Contatta il name server di riferimento (authoritative) se la traduzione non è nota – Ottiene la traduzione – Restituisce la traduzione al name server locale ~ una dozzina di root name server nel mondo Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 6/51 3 Esempio: schema ricorsivo L’ host surf.eurecom.fr vuole l’indirizzo IP di gaia.cs.umass.edu 1. Contatta il server DNS locale, dns.eurecom.fr 2. dns.eurecom.fr contatta il root name server, se necessario 3. Il root name server contatta il name server di riferimento o assoluto, dns.umass.edu, se necessario 4. Ogni host è registrato in almeno due name server assoluti 4. Il name server assoluto può coincidere con il neame server locale. 2 5 dns.eurecom.fr 1 3 4 dns.umass.edu 6 gaia.cs.umass.edu surf.eurecom.fr Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 7/51 DNS: caching e aggiornamento Quando un name server apprende una traduzione la memorizza localmente (caching) – Le traduzioni memorizzate nella cache (cache entries) scadono (timeout) dopo un certo tempo (di solito un paio di giorni) Se possibile, richieste successive vengono servite usando la traduzione presente in cache Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 8/51 4 email Sistema di posta elettronica: permette la comunicazione asincrona Uno-a-uno o uno-a-molti (mailing list) 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 Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 9/51 email Gli indirizzi hanno la forma: username@hostname dove: • 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) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 10/51 5 email 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 Vittorio Maniezzo – Università di Bologna Esempio: 17 – Applicazione- 11/51 email • Alice compone un messaggio e lo inoltra al suo Mail Server MSA • MSA dispone il messaggio nella coda di messaggi in uscita • MSA apre una connessione smtp con il Mail Server di Biagio (MSB) ed inoltra il messaggio • Se il contatto fallisce, l’invio è ripetuto ogni trenta minuti • Se l’invio fallisce per diversi giorni, mail di notifica inviato ad Alice • MSB riceve il messaggio da MSA e lo salva nella Mailbox di Biagio • Biagio accede la propria Mailbox specificando Username e Password • I messaggi possono essere trasferiti dalla mailbox all’host da cui Biagio ha acceduto alla mailbox e/o lasciati sul server • Biagio legge il messaggio di Alice Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 12/51 6 email Altre funzionalità sono: Filtri: Insieme di regole verificate dal cliente all’arrivo 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 a tutti con un messaggio predefinito Funzionalità dal lato server: Mailing list: Servizio di comunicazione uno-a-molti Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 13/51 email Due protocolli principali per la posta elettronica: SMTP (Simple Mail Transfer Protocol) per il trasporto dei messaggi: – Dal MUA di origine ad un MTA – Fra vari MTA, da quello di partenza fino a quello di destinazione POP3 (Post Office Protocol versione 3) per la consegna di un messaggio da parte di un MTA al MUA di destinazione Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 14/51 7 email Altri protocolli più sofisticati • IMAP (Interactive Mail Acces Protocol) • DMSP (Distributed Mail System Protocol) il cui supporto però non è ancora molto diffuso Due significative estensioni di funzionalità • Possibilità di inviare messaggi di posta contenenti parole in linguaggi diversi (con accenti, caratteri speciali, ideogrammi) 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) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 15/51 email Protocollo di trasmissione (RFC 821) 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 (la prima): Date, To, From, Cc, Bcc, Subject, Sender, Reply-To, Subject, Message-Id, ReturnPath, Errors-To... body: caratteri ASCII Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 16/51 8 Email: smtp [RFC 821] (1982!) Usa tcp per il trasferimento affidabile dei messagi da client a server, porta 25 Trasferimento diretto: da server a server, non si usano server intermedi di posta Tre fasi – Handshaking (saluto) – Trasferimento di uno o più messaggi (connessione permanente) – Chiusura Interazione mediante comandi/risposte – Comando: testo ASCII – Risposta: codice di stato e frase I messaggi devono essere comunque riportati in formato ASCII a 7 bit, anche dati multimediali Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 17/51 Formato dei messaggi smtp: protocollo per lo scambio di messaggi di posta RFC 822: standard per il formato dei messaggi inviati: header, es., – To: – From: – Subject: Diversi dai comandi smtp! body – Il “messaggio” vero e proprio, solo caratteri ASCII Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 18/51 9 Esempio di interazione SMTP S: C: S: C: S: C: S: C: S: C: C: C: S: C: S: 220 hamburger.edu HELO crepes.fr 250 Hello crepes.fr, pleased to meet you MAIL FROM: <[email protected]> 250 [email protected]... Sender ok RCPT TO: <[email protected]> 250 [email protected] ... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Do you like ketchup? How about pickles? . 250 Message accepted for delivery QUIT 221 hamburger.edu closing connection Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 19/51 Prova telnet servername 25 Attendi 220 (risposta dal server) Inserisci HELO, MAIL FROM, RCPT TO, DATA, QUIT Comandi permettono di inviare email senza usare un MUA Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 20/51 10 Protocolli di accesso alla posta SMTP: consegna al/memorizzazione nel server di posta del ricevente Protocollo di accesso: recupero della posta dal server locale – POP: Post Office Protocol [RFC 1939] • Autenticazione (agent <-->server) e scaricamento – IMAP: Internet Mail Access Protocol [RFC 1730] • Più possibilità (più complesso) • Manipolazione dei messaggi memorizzati sul server Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 21/51 Protocollo IMAP Permette di gestire cartelle di posta remote come se fossero locali IMAP mantiene una gerarchia di cartelle per ogni utente Permette al MUA di scaricare solo parti del messaggio: – Intestazione – Solo intestazione file MIME Multipart – Messaggi di dimensione piccola per utenti a banda limitata Stati: – Non-authenticated: utente deve fornire username e password per la connessione – Authenticated State: utente deve specificare una cartella prima di eseguire comandi che influiscono sul messaggio – Selected State: utente può dare comandi che influiscono sul messaggio, e.g. elimina, salva, sposta – Logout State: sessione terminata Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 22/51 11 Protocollo POP3 Fase di autorizzazione Comandi del client: – user: nome utente – pass: password Risposte del server – +OK – -ERR Fase di transazione, client: list: lista numeri e dim. msg retr: scarica messaggio in base al numero dele: cancella quit Vittorio Maniezzo – Università di Bologna S: C: S: C: S: +OK POP3 server ready user alice +OK pass hungry +OK user successfully logged C: S: S: S: C: S: S: C: C: S: S: C: C: S: list 1 498 2 912 . retr 1 <message 1 contents> . dele 1 retr 2 <message 1 contents> . dele 2 quit +OK POP3 server signing off on 17 – Applicazione- 23/51 Formato: estensioni multimediali MIME: multipupose internet mail extension, RFC 2045, 2056. Dati Multimediali e di specifiche applicazioni Righe addizionali dell‘ header specificano il tipo del contenuto MIME " # ! $ ! Vittorio Maniezzo – Università di Bologna From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data 17 – Applicazione- 24/51 12 Tipi MIME Text Esempi di sottotipi: plain, html Image Esempi di sottotipi : jpeg, gif Audio Esempi di sottotipi : basic (8-bit mu-law encoded), 32kadpcm (32 kbps coding) Video Esempi di sottotipi : mpeg, quicktime Application Dati che devono essere elaborati da un’applicazione prima di essere “visibili” Esempi di sottotipi : msword, octet-stream Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 25/51 Tipo Multipart From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 --98766789 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Dear Bob, Please find a picture of a crepe. --98766789 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data --98766789-- Vittorio Maniezzo – Università di Bologna E-mail contenenti più oggetti. Boundary character: delimitano i messaggi. Content-TransferEncoding e ContentType per ogni oggetto 17 – Applicazione- 26/51 13 Messaggio ricevuto Received: from crepes.fr by hamburger.edu; 6 Oct 2003 From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg Received indica i Mail Server che hanno recapitato il messaggio Più linee “Received” se il messaggio è stato inoltrato da più server SMTP lungo il percorso da mittente a destinatario Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 27/51 Altri servizi di comunicazione Comunicazione in rete chat: 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) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 28/51 14 FTP: File transfer protocol % & ! % ! % ! & ! ! Trasferimento file da/verso un host remoto Usa il modello client/server – client: parte che richiede il trasferimento (da/verso l’ host remoto) – server: host remoto ftp: RFC 959 ftp server: porta 21 Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 29/51 FTP: connessioni controllo e dati separate Il client contatta il server sulla porta 21, specificando TCP come protocollo di trasporto Due connessioni TCP parallele: – controllo: scambio di messaggi di controllo tra client e server. – dati: trasferimento dati da/verso il server ' ' () % ' (* % Entrambe le connessioni aperte dal client Il server ftp mantiene info di “stato”: directory corrente, autenticazione Una nuova connessione per ogni file trasferito Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 30/51 15 FTP comandi, risposte Esempi di comandi: Inviati come testo ASCII mediante il canale di controllo USER username PASS password LIST richiede la lista dei file nella directory corrente (ls) RETR <file> richiede (get) un file STOR <file> scarica (put) un file sull’ host remoto Esempi di codici Codice di stato e frase (come in http) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection 452 Error writing file Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 31/51 WWW • Browser programma interattivo per la visualizzazione di informazioni dal World Wide Web Le informazioni permettono l’accesso ad altre informazioni tramite i collegamenti ipertestuali • WWW sistema ipermediale distribuito ad accesso interattivo Sistema ipertestuale - sistema ipermediale - insieme di documenti – vari contenuti In un sistema distribuito i collegamenti non sono sempre consistenti poiché nodi diversi sono gestiti indipendentemente • pagina documento web • homepage pagina principale di una organizzazione o persona • HTML HyperText Markup Language linguaggio di specifica e rappresentazione di documenti web, contenente la specifica di formato che vengono interpretati dai browser (programmi che possono produrre diverse visualizzazioni) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 32/51 16 WWW: terminologia essenziale Pagina Web: – È costituita da “oggetti” (di solito: pagina HTML iniziale+oggetti indirizzati) – È indirizzata da una URL URL (Uniform Resource Locator) Uno user agent per il Web è detto browser: – MS Internet Explorer – Netscape Communicator un server per il Web è detto Web server: – Identifica un oggetto nella rete e specifica il modo per – Apache (pubblico accedere ad esso dominio) – Ha due componenti: nome – MS Internet dell’host e percorso Information Server nell’host: www.someSchool.edu/someDept/pic.gif Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 33/51 Tipi di documenti web Tipi di documenti Web statici documenti in file associati ad un Web Server, contenuto stabilito dall’autore in modo statico - risposta stabile dinamici non ha una forma predefinita - creato dal Web server a richiesta del browser, tramite un programma applicativo (eseguito dal server) e fornisce una risposta dipendente dal tempo di richiesta attivi non è completamente specificato dal Web server, ma è un programma che può calcolare e visualizzare valori a richiesta del browser viene fornito un programma che viene eseguito dal browser localmente - i contenuti possono sempre variare Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 34/51 17 protocolli applicativi e protocollo di trasporto Applicazione e-mail remote terminal access Web file transfer streaming multimedia remote file server Internet telephony Protocollo applicativo Protocollo di trasporto usato smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietario (es. RealNetworks) NFS proprietario TCP TCP TCP TCP TCP o UDP Vittorio Maniezzo – Università di Bologna TCP o UDP tipicamente UDP 17 – Applicazione- 35/51 HTTP • Protocollo client-server, senza connessione, progettato per la distribuzione rapida di documenti ipertestuali • Non c’e memoria di sessione: un server HTTP che invia un documento con 10 immagini richiede 11 connessioni • Le risorse sono specificate da URL • Può restituire ai client sia file sia dati generati da processi che girano lato server • Può leggere dati provenienti dal client e passarli ad altri processi lato server per elaborazioni successive • I gateway program (lato server) sono i canali tra HTTP server e le altre risorse locali (es. DBMS) • Le interazioni server-gateway sono definite in specifici linguaggi (es.: richiesta del username e della password, in una FORM HTML, informazioni passate dal server al programma CGI, che risponde con un’altra FORM che permette altre richieste e che codifica lo stato della sessione. Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 36/51 18 Il Web: protocollo http http: hypertext transfer protocol Protocollo di livello applicativo per il Web Usa il modello client/server – client: browser che richiede, riceve e “mostra” oggetti Web – server: Web server che invia oggetti in risposta alle richieste http1.0: RFC 1945 http1.1: RFC 2068 . ' #+ . ,' - , Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 37/51 Formato dei messagi http Due tipi di messaggi http: request, response Messaggio http request: – ASCII (formato testo leggibile) / . 01 # # $ 2 ' ! ! ' GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu Connection: close User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 38/51 19 HTTP Prima parola sulla linea di richiesta: metodo, comando da eseguire su un oggetto generico (ad esempio una pagina web) • GET: Richiede la lettura di una pagina • POST: Appende un oggetto • PUT: Chiede la memorizzazione • HEAD: Chiede la lettura di un’intestazione • DELETE: Cancella una pagina • TRACE: Mostra la richiesta in ingresso • CONNECT: Riservato per usi futuri • OPTIONS: Interroga determinate opzioni • LINK/UNLINK: Crea/interrompe una connessione fra due oggetti Per ogni richiesta viene dato un codice risposta • 1xx: Informazione : server accetta la richeista (100) • 2xx: successo OK (200), pagina vuota (204) • 3xx: reindirizzamento, es. pagina spostata (301), non modificabile (304) • 4xx: errore sul client, es. richiesta non corretta (400), proibito (403), non trovata (404) • 5xx: errore sul server, es. errore interno (500), riprovare più tardi (503) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 39/51 Il protocollo http (cont.) http: usa TCP: Il client inizia una connessione TCP (crea un socket) verso il server sulla porta 80 Il server accetta la connesione TCP dal client Vengono scambiati messaggi http (messaggi del protocollo di livello applicativo) tra il browser (client http) e il Web server (server http) La connessione TCP è chiusa http è “stateless” Il server non mantiene informazione sulle richieste precedenti del client Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 40/51 20 Connessioni persistenti e nonpersistenti Non-persistente HTTP/1.0 Il server analizza la richiesta, risponde e chiude la connessione TCP 2 RTTs per ricevere ciascun oggetto Ogni oggetto subisce lo “slow start” TCP E’ possibile parallelizzare le richieste agli oggetti di una pagina Persistente default per HTTP/1.1 Sulla stessa connessione TCP : il server analizza una richiesta, risponde, analizza la richiesta successiva,.. Il client invia richieste per tutti gli oggetti appena riceve la pagina HTML iniziale. Si hanno meno RTTs e slow start. Connessione incanalata: – non si attende la risposta alla richiesta prededente prima di inviare la successiva. – Richiesta successiva a ridosso della precedente cosi’ come le risposte del server. – Solo 2 RTT per ottenere un insieme di oggetti 17 – Applicazione- 41/51 Vittorio Maniezzo – Università di Bologna Prova (client) 1. Telnet verso un Web server: telnet www.csr.unibo.it 80 0 ! 2 . 3* ' www.csr.unibo.it4 5 www.csr.unibo.it 3* 2. Si digita una richiesta http GET: GET /~maniezzo/index.html HTTP/1.0 $ 60 2 1# Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 42/51 21 Autenticazione Obiettivo: controllare l’ accesso ai documenti sul server stateless: il client deve autenticare ogni richiesta autenticazione: tipicamente log e password – authorization: riga nell’header del messaggio di richiesta – Senza autenticazione il server rifiuta la connessione : ; : . 7 * )8 .4 WWW authenticate: . 9 Authorization:line . 9 Authorization:line < 4 Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 43/51 Cookie Il server invia un “cookie” al client con la risposta Set-cookie: 1678453 Il client presenta il cookie in accessi successivi cookie: 1678453 Il server controlla il cookie presentato – Autenticazione – Traccia delle preferenze dell’utente Vittorio Maniezzo – Università di Bologna . Set-cookie: # . cookie: # . cookie: # 9 = > ! = > ! 17 – Applicazione- 44/51 22 Web Cache (proxy server) Obiettivo: rispondere alle richieste evitando di accedere al server remoto L’utente configura il browser: accesso attraverso web cache Il client invia tutte le richieste al proxy La cache restituisce l’oggetto se presente . + . . . – Altrimenti l’oggetto è richiesto prima al server e poi è restituito al client Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 45/51 Web Caching Assunzione: la cache è “vicina” al client (es., stessa rete locale) Tempo di risposta minore: la cache è “più vicina” al client Diminuisce il traffico verso server lontani – Il link di uscita della rete di un ISP istituzionale/locale è spesso un collo di bottiglia Vittorio Maniezzo – Università di Bologna = )4? / $ , ' )* $ 17 – Applicazione- 46/51 23 Web Caching Richieste di 100Kb/sec, 15 richieste per secondo. Intensità di traffico I =1 Occorre aggiornare la velocità di connessione esterna, i.e. da 1.5 a 10 Mb/sec Alternativa: adottare un proxy cache interno alla LAN Se riesce a servire il 40% delle richieste, hit rate = 0,4, I = 0,6 (ritardo sale esponenzialmente quando I->1) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 47/51 Servizi multimediali Documenti multimediali interattivi integrano diverse modalità di comunicazione e consentono l’interazione con l’utente Servizio WWW - uso di formati HTML (scarse capacità grafiche, audio, video e interattive) - uso di Java e JavaScript Pochi standard de jure. Vari standard di fatto Es: Quicktime, Flash e Shockwave, RealPlayer, CosmoPlayer-VRML Segnali audio - compressione Audio: onda acustica monodimensionale => conversione analogica/digitale (ADC) (a) onda sinusoidale, (b) campionamento (c) quantizzazione a 4 bit Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 48/51 24 Servizi multimediali Compressione audio vari algoritmi: codifica per forma d’onda - codifica percettiva (mascheramento di suoni) MP3 - MPEG Audio layer 3 - trasmette solo le frequenze non mascherate Esempio: voce frequenze in [600, 6000] Hz Formati audio più diffusi: .mid (MIDI, istruzioni eseguibili per strumenti musicali elettronici, 1min=ca 10 KB) .wav (onde sonore, varie qualità, 1 min qualità CD= ca 10 MB) .mp3 (formato compresso di qualità quasi CD, 1 min qualità CD= ca 1 MB) .aif (Audio Interchange File, con varianti compresse) .ra (real audio per trasmissione Internet a banda stretta) Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 49/51 Servizi multimediali MPEG Moving Picture Espert Group - codifica di video e audio compressi vari standard ISO : Mpeg-1 per audio stereo e video, 3 livelli di compressione Mpeg-2 audio multicanale per Home Cinema campionato a 24KHz MP3 è Mpeg-2 livello 3 Mpeg-4 specifica di standard per multimedia su WWW Streaming audio Esempi di lettori multimediali: RealOne Player, Widows media Player, QuickTime Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 50/51 25 Servizi multimediali Streaming audio tecnica di buffering: il lettore multimediale utilizza un buffer per memorizzare parte del flusso audio proveniente dal server - uso appropriato del buffer Comunicazione vocale: VOIP - Voice over IP Modello architetturale per la telefonia su Internet: H.323 (1996) ITU pila di protocolli: G7xx protocolli per codifica e decodifica del parlato H.245 protocollo di negoziozazione e controllo della chiamata Q.931 segnalazione di chiamata RAS protocollo per accedere ai terminali RTCP Real-Time Transport Control Protocol Vittorio Maniezzo – Università di Bologna 17 – Applicazione- 51/51 26