Programmazione in Rete



Documenti analoghi
Reti di Telecomunicazione Lezione 6

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Reti di Calcolatori:

Reti di Telecomunicazione Lezione 7

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

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

Livello di Applicazione in Internet

Introduzione alle applicazioni di rete

Programmazione in Rete

Reti di Calcolatori:

Le Reti Informatiche

Introduzione alla rete Internet

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

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

Introduzione alla rete Internet

Protocolli applicativi: FTP

Introduzione alla rete Internet

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

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

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

Standard di comunicazione

Socket & RMI Ingegneria del Software - San Pietro

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

OSOR. Applicazioni di Rete

Reti di calcolatori. Reti di calcolatori

MODELLI ISO/OSI e TCP/IP

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Protocolli di applicazione

KR_2. Livello di Applicazione di Internet

FTP. Appunti a cura del prof. ing. Mario Catalano

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

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 1 Informazioni Logistiche

Reti di Telecomunicazione Lezione 8

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

Architetture di rete. 4. Le applicazioni di rete

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

I canali di comunicazione

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

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

Modulo 1: Posta elettronica

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Programmazione dei socket con TCP #2

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Indice. Prefazione XIII

RETI INFORMATICHE Client-Server e reti paritetiche

TCP/IP: INDIRIZZI IP SIMBOLICI

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

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

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

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

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

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

Lo scenario: la definizione di Internet

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

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

appunti delle lezioni Architetture client/server: applicazioni client

il trasferimento di file

Parte II: Reti di calcolatori Lezione 9

Cenni di programmazione distribuita in C++ Mauro Piccolo

Contesto: Peer to Peer

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

Elementi di Informatica e Programmazione

Reti: unità di misura

Applicazioni di rete. Applicazioni di rete

Dal protocollo IP ai livelli superiori

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

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

Reti di Calcolatori. Il software

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

Applicazioni e protocolli a livello applicazione

Informatica per la comunicazione" - lezione 8 -

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

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

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

Informatica per la comunicazione" - lezione 9 -

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

12.5 UDP (User Datagram Protocol)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

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

Transmission Control Protocol

Reti di Telecomunicazioni LB Introduzione al corso

Reti di Calcolatori PROTOCOLLO FTP. File. File Transfer Protocol Modello FTP Operazioni FTP Comandi del protocollo Esempi di Client FTP avanzati

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Indice. Prefazione. Capitolo 1 Introduzione 1. Capitolo 2 Livello applicazione 30

Transcript:

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

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

Applicazioni di rete e protocolli dello strato di applicazione Applicazione di rete = insieme di processi distribuiti e comunicanti 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 rete definisce messaggi scambiati dalle applicazioni e azioni da intraprendere usa i servizi forniti da protocolli dello strato sottostante applicazione trasporto rete collegamento fisico applicazione trasporto rete collegamento fisico applicazione trasporto rete collegamento fisico dott.ssa F. A. Lisi - Programmazione in Rete Livello di applicazione (1/5) 3

Applicazioni di rete: un po di gergo tecnico Un processo è un programma in esecuzione su un terminale. Nellostessoterminale, 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

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

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

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

Servizi forniti dai protocolli di trasporto di Internet Servizi TCP: 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 Servizi UDP: 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

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

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

Il paradigma client-server Unatipicaappl. 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.,ilserver Web inviala pagina Web richiesta, il mail server consegna la e-mail application transport network data link physical request reply application transport network data link physical dott.ssa F. A. Lisi - Programmazione in Rete Livello di applicazione (1/5) 11

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

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

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

Trasferimento di file: il protocollo FTP user at host FTP user interface FTP client local file system file transfer FTP server 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

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 FTP client TCP control connection port 21 TCP data connection port 20 FTP server dott.ssa F. A. Lisi - Programmazione in Rete Livello di applicazione (1/5) 16

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 PUT filename memorizza il file sul 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 dott.ssa F. A. Lisi - Programmazione in Rete Livello di applicazione (1/5) 17

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

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

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

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

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