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