INFORMATICA DISTRIBUITA

12
INFORMATICA DISTRIBUITA prof. Carlo Bellettini Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 lez 4 Livello applicazione

Transcript of INFORMATICA DISTRIBUITA

INFORMATICADISTRIBUITA

prof. Carlo Bellettini

Università degli Studi di MilanoScienze e Tecnologie della Comunicazione Musicalea.a. 2009-2010

lez 4Livello applicazione

Carlo BellettiniInformatica Distribuita

applicazioni di reteProcesso: programma in esecuzione su un hostprocessi in esecuzione su host differenti comunicano con un application-layer protocoluser agent: intermediario tra utente (“sopra”) e network (“sotto”)implementa la user interface e application-level protocol

Web: browserE-mail: mail readerstreaming audio/video: media player

Carlo BellettiniInformatica Distribuita

App-layer protocol

Tipo dei messaggi scambiati Sintassi dei messaggi

quali campi e come sono delimitati

Semantica dei campiil significato dell’informazione nei campi

Le regole che determinano quando e come rispondere a messaggi

Carlo BellettiniInformatica Distribuita

Client-server paradigm

Client:Colui che inizia una comunicazione (chi parla per primo)

Tipicamente richiede un servizio da un server

Server:Fornisce il servizio richiesto, e.g., Web server sends requested Web page, mail server delivers e-mail

Carlo BellettiniInformatica Distribuita

Identificare processi

Un processo (programma), per ricevere un messaggio deve essere nominabileBisogna poter dire

su che macchina (host) è in esecuzioneProblema risolto vedremo con gli indirizzi IP

quale processo tra quelli in esecuzione

Il sistema operativo usa un identificatore (PID) ma questo non è conoscibile a prioriSi aggiunge un numero di porta per indicare il tipo di servizio

Ai servizi più comuni si è assegnato una porta standardHTTP server: 80, Mail server: 25

Carlo BellettiniInformatica Distribuita

Socket: livello programmativo

processi spediscono e ricevono messaggi attraverso socket

socket sono collegate alle porte

Si può scegliere il protocollo di trasporto

Fissare alcuni parametri

Spedire su una socket un messaggio

process

TCP withbuffers,

variables

socket

host orserver

process

TCP withbuffers,

variables

socket

host orserver

Internet

controlledby OS

controlled byapp developer

Carlo BellettiniInformatica Distribuita

Che tipo di servizio serve?Data loss

Possono essere tollerate?

In che percentuale?

TimingHanno vincoli temporali stretti?

Un pacchetto che arriva in ritardo è ancora utile?

BandwidthE’ necessario garantire una minima quantità di dati al sec affinché la applicazione possa funzionare?

Carlo BellettiniInformatica Distribuita

Transport service requirements

Applicazione Perdita dati Banda Tempo

File transfer no elastica no

e-mail no elastica no

Web no elastica no

audio/video loss tolerant min garantito 0,1 - 1 sec

giochi online loss tolerant? poca 0,1 sec

IM no loss elastica un po’

WEB e HTTPun protocollo Client-Server

Carlo BellettiniInformatica Distribuita

World Wide WebContenuto

Le pagine WebScritte tipicamente in HTML (Hypertext Markup Language)

Possono contenere link ad altre pagine (su altri server)

Possono contenere altri oggettiImmagini (vari formati), applet Java, file audio

Referenziabili attraverso una URL

Non c’è una gestione globale dei linkCirca il 30% dei link sono “broken”

InfrastrutturaWeb servers distribuiti su Internet

Client e server dialogano attraverso il protocollo applicativo HTTP

Carlo BellettiniInformatica Distribuita

Uniform Resource Locator (URL)

Ogni oggetto è riferibile attraverso un URLprotocol://hostname [:port ]/path [?query ]http://bellettini.usr.dico.unimi.it/~belletc/BB2/viewforum.php?f=5

protocol: httphostname: bellettini.usr.dico.unimi.itport: [opzionale] default 80 per http.path: ~belletc/BB2/viewforum.phpquery: ?f=5

dati aggiuntivi, parametri

Carlo BellettiniInformatica Distribuita

Protocolli usabili nelle URLhttp:

http://www.dico.unimi.it/

ftp: ftp://ftp.ibm.com/pub/README

file: file:/usr/homes/belletc/.bashrc

news: news:comp.os.linux

mailto: mailto:[email protected]

telnet: telnet:bellettini.usr.dico.unimi.it

Se un protocollo non è direttamente supportato molti

browser permettono di definire la applicazione da

lanciare per gestirlo