Strato Applicazione. strato applicazione



Похожие документы
Reti di Calcolatori:

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)

. SMTP, POP, IMAP. mail server. smtp [RFC 821] Tre componenti: user agent mail server simple mail transfer protocol: smtp

Protocolli applicativi: FTP

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12)

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

Modulo 1: Posta elettronica

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Livello applicazione: Sessioni HTTP, FTP, Posta Elettronica

Dal protocollo IP ai livelli superiori

Reti di Telecomunicazione Lezione 6

Livello applicativo. Obiettivi specifici: ! Protocolli specifici: " http " ftp " smtp " pop " dns " Programmazione di applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni

Flavio De Paoli ITIS Lab

Le Reti Informatiche

Comunicazione remota asincrona

Livello applicativo. Obiettivi specifici: Protocolli specifici: Obiettivi generali:

Web e HTTP. path name. host name Realizzato da Roberto Savino.

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

Programmazione in Rete

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Reti di Telecomunicazione Lezione 7

Capitolo 2 - parte 5. Corso Reti ed Applicazioni Mauro Campanella

OSOR. Applicazioni di Rete

Application Layer FTP, SMTP, POP3, IMAP

Application Layer FTP, SMTP, POP3, IMAP. Ricapitolando. FTP: File Transfer Protocol [RFC 959] porta 80

Siti web centrati sui dati (Data-centric web applications)

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Livello di Applicazione in Internet

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Reti di calcolatori. Reti di calcolatori

Applicazioni web centrati sui dati (Data-centric web applications)

Il Livello Applicazione

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Parte II: Reti di calcolatori Lezione 7

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez7 (cont)

Lo scenario: la definizione di Internet

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

TCP/IP: INDIRIZZI IP SIMBOLICI

Posta elettronica DEFINIZIONE

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Livello Applicazione DNS

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 9 Distribuzione dei contenuti

Posta Elettronica e Web

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Architetture Web Protocolli di Comunicazione

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Capitolo 16 I servizi Internet

ARP (Address Resolution Protocol)

InterNet: rete di reti

Livello cinque (Livello application)

Lezione n 1! Introduzione"

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni Telematiche di Pisa

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Elementi di Informatica e Programmazione

Livello applicazione: (RFC), protocollo FTP, protocollo Posta Elettronica, servizi di trasporto

- Corso di computer -

Corso Creare Siti WEB

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

MANUALE UTENTE FORMULA PEC

Introduzione alla rete Internet

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

Internet: architettura e servizi

La posta elettronica. Informazioni di base sul funzionamento

HTTP adaptation layer per generico protocollo di scambio dati

Introduzione alle applicazioni di rete

Il Protocollo HTTP e la programmazione di estensioni Web

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Processi dell applicazione, socket e il sottostante protocollo di trasporto. Protocolli application-layer (cont).

Internet e posta elettronica. A cura di Massimiliano Buschi

Inizializzazione degli Host. BOOTP e DHCP

Internet Architettura del www

Транскрипт:

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. dns.eurecom.fr 1 2 6 surf.eurecom.fr 5 3 4 dns.umass.edu gaia.cs.umass.edu 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 17 Applicazione- 11/51 Esempio: 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, Return- Path, 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: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 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

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 Protocollo POP3 S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on C: list S: 1 498 S: 2 912 S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 server signing off Vittorio Maniezzo Università di Bologna 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 " #! $! From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data.........base64 encoded data Vittorio Maniezzo Università di Bologna 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: alice@crepes.fr To: bob@hamburger.edu 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-- E-mail contenenti più oggetti. Boundary character: delimitano i messaggi. Content-Transfer- Encoding e Content- Type per ogni oggetto Vittorio Maniezzo Università di Bologna 17 Applicazione- 26/51 13

Messaggio ricevuto Received: from crepes.fr by hamburger.edu; 6 Oct 2003 From: alice@crepes.fr To: bob@hamburger.edu 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) Identifica un oggetto nella rete e specifica il modo per accedere ad esso Ha due componenti: nome dell host e percorso nell host: www.someschool.edu/somedept/pic.gif Uno user agent per il Web è detto browser: MS Internet Explorer Netscape Communicator un server per il Web è detto Web server: Apache (pubblico dominio) MS Internet Information Server 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 smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietario (es. RealNetworks) NFS proprietario Protocollo di trasporto usato TCP TCP TCP TCP TCP o UDP TCP o UDP tipicamente UDP Vittorio Maniezzo Università di Bologna 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 Vittorio Maniezzo Università di Bologna 17 Applicazione- 41/51 Prova (client) 1. Telnet verso un Web server: telnet www.csr.unibo.it 80 2. Si digita una richiesta http GET: ' 3* 0!2 www.csr.unibo.it4. 5 3* www.csr.unibo.it GET /~maniezzo/index.html HTTP/1.0 $ 6 0 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 : ;: < 4. 7*)8.4 WWW authenticate:. 9Authorization:line. 9Authorization:line 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. 9 Set-cookie: #. cookie: #. cookie: # = >! = >! Vittorio Maniezzo Università di Bologna 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 / $ = )4?, )* ' $ Vittorio Maniezzo Università di Bologna 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