• Non ci sono risultati.

Lo strato di applicazione (1/5)

N/A
N/A
Protected

Academic year: 2021

Condividi "Lo strato di applicazione (1/5)"

Copied!
22
0
0

Testo completo

(1)Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm. dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12.

(2) Sommario della lezione di oggi: Lo strato di applicazione (1/5) ‰ ˆ ˆ ˆ ˆ ˆ ˆ. Principi dei protocolli dello strato di applicazione Trasferimento di file & il protocollo FTP World Wide Web & HTTP Posta elettronica & SMTP DNS: il servizio directory di Internet Condivisione di file Programmazione dei socket. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 2.

(3) Applicazioni di rete e protocolli dello strato di applicazione applicazione Applicazione di rete = insieme di trasporto rete processi distribuiti e comunicanti collegamento fisico  processi in esecuzione sui terminali nello “spazio utente”  processi si scambiano messaggi per implementare l’applicazione  e.g., email, Web Protocollo dello strato di applicazione  “pezzo” di un’applicazione di applicazione rete trasporto rete  definisce messaggi scambiati collegamento fisico dalle applicazioni e azioni da intraprendere  usa i servizi forniti da protocolli dello strato sottostante. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). applicazione trasporto rete collegamento fisico. 3.

(4) Applicazioni di rete: un po’ di gergo tecnico ˆ Un processo è un. programma in esecuzione su un terminale. ˆ Nello stesso terminale, due processi comunicano con comunicazione interprocesso definita dal sistema operativo. ˆ I processi in corso su diversi terminali comunicano tramite un protocollo dello strato di applicazione. ˆ. Un agente utente è una interfaccia fra l’utente e l’applicazione di rete.   . Web: browser E-mail: mail reader streaming audio/video: media player. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 4.

(5) I protocolli dello strato di applicazione Application Programming Interface (API): ˆ definisce l’interfaccia fra strato di applicazione e strato di trasporto ˆ socket: Internet API . due processi comunicano inviando dati nel socket, leggendo dati dal socket. D: come fa un processo P1 ad “identificare” il processo P2 con cui vuole comunicare?  . Indirizzo IP del terminale T2 che esegue P2 numero di porta su cui P2 sta girando - consente al T2 di determinare a quale processo locale il messaggio dovrebbe essere consegnato. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 5.

(6) Di quale servizi di trasporto ha bisogno un’applicazione di rete? Trasferimento affidabile dei dati. ˆ alcune applicazioni, p.e. audio,. possono tollerare una certa perdita di dati ˆ altre applicazioni, p.e. file transfer e telnet, richiedono affidabilità al 100%. Tempismo. ˆ alcune applicazioni, p.e.. telefonia Internet e giochi interattivi, richiedono un basso ritardo per essere “efficace”. Larghezza di banda ˆ alcune applicazioni, p.e.. multimedia, richiedono un minimo ammontare di larghezza di banda per essere “efficace” ˆ altre applicazioni (“applicazioni elastiche”) fanno uso di qualsiasi larghezza di banda esse dispongano. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 6.

(7) Applicazioni Internet:. requisiti sui servizi di trasporto Tolleranza alla perdita di dati. Ampiezza di banda. Sensibilità al tempo. Trasferimento file. No. Variabile. No. Posta elettronica. No. Variabile. No. Documenti Web. No. Variabile. No. Audio/video in tempo reale. Sì. Audio: da 5 Kbps a 1 Mbps Video: da 10 Kbps a 5 Mbps. Sì, centinaia di ms. Audio/video memorizzati. Sì. Come sopra. Sì, pochi secondi. Giochi interattivi. Sì. Fino a pochi Kbps. Sì, centinaia di ms. No. Variabile. Sì e no. Applicazione. Messaggistica istantanea. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 7.

(8) Servizi forniti dai protocolli di trasporto di Internet Servizi TCP:. Servizi UDP:. ˆ. ˆ. orientamento alla connessione: setup di richiesta fra client e server ˆ trasferimento affidabile dei dati ˆ controllo di flusso: il mittente non sommergerà il ricevente. ˆ. controllo della congestione:. rallenta il mittente se la rete è sovraccarica ˆ non fornisce: tempismo, garanzie di ampiezza minima di banda. trasferimento dei dati ˆ non fornisce:. orientamento alla connessione, trasferimento affidabile dei dati, controllo di flusso, controllo di congestione, tempismo, o garanzia di ampiezza di banda. D: Perché esiste un modello di servizi UDP?. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 8.

(9) Applicazioni Internet:. protocolli di applicazione e di trasporto Protocollo a livello Applicazione applicazione Posta elettronica SMTP [RFC 2821] Accesso a terminali remoti Telnet [RFC 854] Web HTTP [RFC 2616] Trasferimento file FTP [RFC 959]. Protocollo di trasporto sottostante TCP TCP TCP TCP. Multimedia in streaming Proprietario TCP o UDP (ad esempio, RealNetworks) Telefonia Internet Proprietario (ad esempio, Vonage, Dialpad) dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). Tipicamente UDP. 9.

(10) Architettura delle applicazioni di rete † Client-server † Peer-to-peer (P2P) † Architetture ibride (client-server e P2P). dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 10.

(11) Il paradigma client-server Una tipica appl. di rete ha due pezzi: un client ed un server Client: ˆ si mette in contatto con il server (“parla per primo”) ˆ tipicamente richiede un servizio al server, ˆ per il Web, il client è implementato nel browser; per la e-mail, nel mail reader Server: ˆ fornisce il servizio richiesto ˆ p.e., il server Web invia la pagina Web richiesta, il mail server consegna la e-mail. application transport network data link physical. request. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). reply application transport network data link physical. 11.

(12) Architettura delle applicazioni di rete: modello client-server. server:   . host sempre attivo indirizzo IP fisso server farm per creare un potente server virtuale. client:    . comunica con il server può contattare il server in qualunque momento può avere indirizzi IP dinamici non comunica direttamente con gli altri client. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 12.

(13) Architettura delle applicazioni di rete: modello P2P. † non c’è un server sempre. attivo † coppie arbitrarie di host (peer) comunicano direttamente tra loro † i peer non devono necessariamente essere sempre attivi, e cambiano indirizzo IP † Un esempio: Gnutella Facilmente scalabile Difficile da gestire. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 13.

(14) Architettura delle applicazioni di rete: modello ibrido Napster  . Scambio di file secondo la logica P2P Ricerca di file centralizzata:. • i peer registrano il loro contenuto presso un server centrale • i peer chiedono allo stesso server centrale di localizzare il contenuto. Messaggistica istantanea  . La chat tra due utenti è del tipo P2P. Individuazione della presenza/location centralizzata: • l’utente registra il suo indirizzo IP sul server centrale quando è disponibile online • l’utente contatta il server centrale per conoscere gli indirizzi IP dei suoi amici. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 14.

(15) Trasferimento di file: il protocollo FTP. user at host. FTP FTP user client interface. file transfer. FTP server. local file system. remote file system. ˆ Trasferimento di file da/a un terminale remoto ˆ modello client/server  . client: lato che inizia il trasferimento (da/a remoto) server: terminale remoto. ˆ FTP: RFC 959 ˆ FTP server: porta 21 dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 15.

(16) Il protocollo FTP:. controllo separato, connessioni di dati ˆ Il client FTP contatta il. server FTP alla porta 21, specificando il TCP come protocollo di trasporto ˆ due connessioni TCP parallele aperte:  controllo: scambiano comandi, risposte fra client e server. “out of band control”  dati: da/a server ˆ il server FTP mantiene lo “stato”: directory corrente, previa autenticazione. TCP control connection port 21. FTP client. TCP data connection port 20. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). FTP server. 16.

(17) Il protocollo FTP: comandi e risposte Esempi di comando:. ˆ inviati come testo ASCII. sulla connessione di controllo ˆ USER username ˆ PASS password. ˆ LS restituisce l’elenco dei. file nella directory corrente. ˆ GET filename ritrova il. file nel terminale remoto. Esempi di codici di ritorno: ˆ codice e frase di status ˆ 331 Username OK,. password required ˆ 125 data connection already open; transfer starting ˆ 425 Can’t open data connection ˆ 452 Error writing file. ˆ PUT filename memorizza. il file sul terminale remoto. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 17.

(18) Il protocollo FTP:. una sessione di esempio Connessione con un terminale remoto ftp> open <hostname> Connesso a <hostname>. 220 <hostname> FTP server (UNIX(r) System V Release 4.0) ready. Utente (<hostname> :(none)): lisi 331 Password required for lisi. Password: 230 User lisi logged in. ftp> lcd Directory locale ora C:\WINDOWS\Desktop. ... dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 18.

(19) Il protocollo FTP:. una sessione di esempio (cont.) Richiesta di elenco file e cambio directory in remoto ... ftp> ls -l 200 PORT command successful. 150 ASCII data connection for /bin/ls (193.204.187.247,1375) (0 bytes). total 2 drwxr-xr-x 4 lisi nobody 512 Oct 24 10:59 public_html 226 ASCII Transfer complete. 76 bytes received in 0.00secondi 76000.00 Kbytes/sec) ftp> cd public_html 250 CWD command successful. ... dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 19.

(20) Il protocollo FTP:. una sessione di esempio (cont.) Un’altra richiesta di elenco file in remoto. ... ftp> ls -l 200 PORT command successful. 150 ASCII data connection for /bin/ls (193.204.187.247,1378) (0 bytes). total 24 drwxr-xr-x 5 lisi nobody 512 Feb 25 16:34 courses -rw-rw-rw- 1 lisi nobody 10185 Oct 10 14:14 lisi.jpg drwxr-xr-x 2 lisi nobody 512 Oct 10 14:13 publications 226 ASCII Transfer complete. 205 bytes received in 0.22secondi 0.93 Kbytes/sec) ... dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 20.

(21) Il protocollo FTP:. una sessione di esempio (cont.) Richiesta di ritrovamento file sul terminale remoto … ftp> binary 200 Type set to I. ftp> get lisi.jpg 200 PORT command successful. 150 ASCII data connection for lisi.jpg (193.204.187.247,1379) (10185 bytes). 226 ASCII Transfer complete. 10220 bytes received in 0.00secondi 10220000.00 Kbytes/sec) ftp> close 221 Goodbye. ... dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 21.

(22) Sommario della prossima lezione: Lo strato di applicazione (2/5) ‰ ˆ ˆ ˆ ˆ ˆ ˆ. Principi dei protocolli dello strato di applicazione Trasferimento di file & il protocollo FTP World Wide Web & HTTP Posta elettronica & SMTP DNS: il servizio directory di Internet Condivisione di file Programmazione dei socket. dott.ssa F. A. Lisi - Programmazione in Rete – Livello di applicazione (1/5). 22.

(23)

Riferimenti

Documenti correlati

Gli articoli riguardano consigli clinici come la necessità della riabilitazione dopo le fratture, argomenti di benessere come il sonno disturbato dalle pale eoliche

In the C24:0-treated cells, spectral analysis through confocal microscopy proved the existence of FRET when actin and tubulin are stained with tubulin tracker Oregon Green: donor

1 Centre for Ecology, Evolution and Conservation, School of Biological Science, University of East Anglia, Norwich, Norfolk NR4 7TJ, UK; 2 RSPB, The Lodge, Sandy, Bedfordshire SG19

Review: Universal school-based prevention for illicit drug use Comparison: 1 Social competence versus usual curricula Outcome: 11 Drug knowledge &lt; 12 months. Study or subgroup

enzymes involved in the AAA pathway share a high degree of sequence similarity with enzymes belonging both to leucine and arginine biosynthetic routes [8,19] since the first

Il server FTP, ricevuto questo comando, apre una porta random P non privilegiata (&gt; 1024), che sarà usata come porta dati al posto della 20, e, tramite il canale

Il server FTP, ricevuto questo comando, apre una porta random P non privilegiata (&gt; 1024) che sarà usata come porta dati al posto della 20, e, tramite il canale comandi, la