Protocolli Applicativi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Protocolli Applicativi"

Transcript

1 Politecnico di Milano Facoltà di Ingegneria dell Informazione Protocolli Applicativi Paradigmi Client-Server e Peer-to-Peer HTTP: Web Surfing FTP: Connettività remota SMTP: posta elettronica DNS: indirizzamento simbolico P2P: file sharing

2 Alcune applicazioni di rete Web Instant messaging Remote login P2P file sharing Network games Video streaming Internet telephony Real-time video conference Massive parallel computing

3 Creare un applicazione di rete Scrivere un software che: Possa essere eseguito su diversi terminali e possa comunicare tramite la rete. Ad esempio il software dei Web server comunica con il software del browser. application transport network data link physical application transport network data link physical application transport network data link physical

4 Creare un applicazione di rete Inventare una nuova applicazione non richiede di cambiare il software della rete i nodi della rete non hanno software applicativo Le applicazioni sono solo nei terminali e possono essere facilmente sviluppate e diffuse application transport network data link physical application transport network data link physical application transport network data link physical

5 Comunicazione tra processi Processo: programma in esecuzione su un host All interno dello stesso host, due processi comunicano usando la comunicazione inter-processo (definita dal OS). Processi in host differenti comunicano scambiando messaggi

6 Processi e Protocolli Processi in esecuzione su sistemi remoti possono scambiarsi informazioni e servizi mediante una rete L interazione avviene mediante lo scambio di messaggi I protocolli applicativi sono le regole e i formati con i quali i processi costruiscono i messaggi e ne interpretano il significato Applicazioni di rete Web (web server, browser, HTML) (mail server, mail client, MIME) Protocolli di rete HTTP SMTP

7 Interazione coi livelli inferiori Lo scambio di messaggi fra i processi applicativi avviene utilizzando i servizi dei livelli inferiori attraverso i SAP (Service Access Point) Ogni processo è associato ad un SAP Applicazioni nella pila OSI: WEB FTP Mail Livello controllato dall applicazione Presentazione Sessione Livelli controllati dal sistema operativo Trasporto

8 Interazione coi livelli inferiori Nella architettura a strati di Internet, i protocolli applicativi si appoggiano direttamente sul livello di trasporto WEB FTP Mail Livello controllato dall applicazione Livelli controllati dal sistema operativo Trasporto

9 Sockets Processi inviano e ricevono messaggi attraverso i socket socket sono delle porte di comunicazione Il processo trasmittente mette il messaggio fuori dalla porta La rete raccoglie il messaggio e lo trasporta fino alla porta del destinatario host or server process socket TCP with buffers, variables controlled by app developer controlled by OS Internet host or server process socket TCP with buffers, variables I socket sono i SAP tra il livello applicativo e il livello di trasporto

10 Indirizzamento dei processi Per poter indicare il processo destinatario alla rete è necessario un identificativo Gli host hanno un indirizzo IP univoco di 32 bit (di cui parleremo ampiamente in seguito. Domanda: è sufficiente l indirizzo IP a identificare un processo in esecuzione su una macchina?

11 Indirizzamento dei processi Risposta: NO, molti processi possono essere in esecuzione sullo stesso host Il livello di trasporto multipla insieme messaggi di più applicazioni sulla stessa rete (ricordate la funzione di multiplazione?) L identificativo include sia un indirizzo IP che un numero di porta associato ad un processo in esecuzione. Ad esempio per inviare un messaggio al server web IP address: Port number: 80

12 Protocolli applicativi Tipi di messaggi scambiati Richieste, risposte Sintassi dei messaggi: Campi del messaggio e delimitatori Semantica dei messagi Significato dei campi Regole su come e quando inviare e ricevere i messaggi Protocolli standard: Definiti negli RFC HTTP, SMTP, ecc. Protocolli proprietari: KaZaA, Skype, ecc.

13 Requisiti del servizio di trasporto Perdita di dati Alcune applicazioni possono tollerare perdite parziali (ad es. audio) Altre applicazioni richiedono a completa affidabilità (ad es. file transfer, telnet) Ritardo Alcune applicazioni richiedono basso ritardo (ad es. Internet telephony, interactive games) Banda Alcune applicazioni richiedono un minimo di velocità di trasferimento (ad es. appl. multimediali) Altre applicazioni si adattano alla velocità disponibile ( appl. elastiche )

14 Requisiti del servizio di trasporto Application Data loss Bandwidth Time Sensitive file transfer Web documents real-time audio/video stored audio/video interactive games instant messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no

15 Servizi di trasporto in Internet Servizio TCP: connection-oriented: instaurazione connessione prima delle scambio dati Trasporto affidabile senza perdita di dati Controllo di flusso: il trasmettitore regola la velocità in base al ricevitore Controllo di congestione: per impedire di sovraccaricare la rete Non fornisce: garanzie di ritardo e di banda Servizio UDP: Trasferimento non affidabile senza connessione senza controllo sul traffico senza garanzie

16 Applicazioni e protocolli di trasporto Application remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Vonage,Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP

17 Comunicazione Client-Server Lo scopo fondamentale del colloquio tra processi remoti è quello di fornire servizi. In particolare due sono le funzioni che possono essere svolte da un processo applicativo richiedere servizi fornire servizi Se ogni processo applicativo svolge una sola delle due funzioni siamo in presenza di un interazione di tipo client-server

18 Comunicazione Client-Server Un processo client è solo in grado fare richieste di servizio (informazioni) e di interpretare le risposte Un processo server ha solo il compito di interpretare le richieste e fornire le risposte Se nello stesso host è necessario sia fare richieste che fornire risposte vengono usati due processi, client e server. Un protocollo applicativo per un architettura clientserver rispecchia questa divisione di ruoli e prevede messaggi di richiesta (request) generati dal lato client e messaggi di risposta (response) generati dal server client request response server

19 Processi Client-Server Un processo server è in esecuzione a tempo illimitato sul proprio host (demone) e viene attivato mediante un passive open Un processo client viene attivato solo al momento di fare le richieste e viene attivato mediante un active open su richiesta dell utente o di altro processo applicativo il passive open del server fa si che da quel momento il server accetti richieste dai client l active open del client richiede l indicazione dell indirizzo e della porta del server

20 Programmi Client-Server Normalmente più client possono inviare richieste ad uno stesso server Un client può fare più richieste contemporanee request response......

21 Programmi Client e Server Un client può essere eseguito in modalità parallela o seriale esempio: invia più richieste in parallelo per i file che compongono una pagina web Anche un server può essere eseguito in modalità parallela o seriale Normalmente gli applicativi che usano UDP sono gestiti in modo seriale: i pacchetti con le richieste arrivati vengono immagazzinati e attendono il loro turno; il server li esamina e genera le risposte

22 Programmi Client e Server Normalmente i server che usano TCP vengono eseguiti in modalità parallela e sono dunque in grado di rispondere a più richieste contemporaneamente Con ognuno dei client viene aperta una connessione TCP che viene mantenuta per il tempo necessario a scambiare richieste e risposte La gestione delle procedure per ciascun client collegato avviene mediante la generazione di processi figli Si parla di applicativi multi-thread La generazione di un figlio è detta fork

23 Architetture applicative Client-server I terminali (host) coinvolti nella comunicazione implementano o solo il processo client o solo il processo server Gli host client e gli host server hanno caratteristiche diverse Peer-to-peer (P2P) I terminali implementano tutti sia il processo client che quello server Ibrida

24 Architettura client-server Server: Host sempre attivo Indirizzo IP permanente Possibilità di utilizzo di macchine in cluster Client: Comunicano con il server Possono essere connessi in modo discontinuo Possono cambiare indirizzo IP Non comunicano con altri client

25 Architettura P2P (pura) Non ci sono server sempre connessi Terminali (peers) comunicano direttamente I peers sono collegati in modo intermittente e possono cambiare indirizzo Esempio: Gnutella Fortemente scalabile ma difficile da gestire

26 Skype Architettura ibrida IP Telephony Ricerca degli interlocutori: centralizzata in server Comunicazione diretta tra peer Instant messaging La comunicazione tra utenti è P2P Il meccanismo di localizzazione e presenza è centralizzato in server: L utente registra il suo indirizzo IP a un server centrale quando si attiva L utente contatta il server centrale per conoscere lo stato di altri utenti

27 Politecnico di Milano Facoltà di Ingegneria dell Informazione Web Browsing Hyper Text Transfer Protocol (HTTP)

28 HyperText Tranfer Protocol (HTTP) "Hypertext Transfer Protocol -- HTTP/1.0," RFC 1945, May "Hypertext Transfer Protocol -- HTTP/1.1," RFC 2068, January 1997 architettura client-server i client richiedono oggetti (file) identificati da un URL al server i server restituiscono i file nessuna memoria sulle richieste viene mantenuta nei server (protocollo stateless) client HTTP request HTTP response server

29 Trasporto dei messaggi HTTP fa uso di TCP per il trasporto dei messaggi una web page è di solito composta da un documento base (HTML) e più oggetti collegati la richiesta di una web page fa uso di URL (Uniform Resource Locator) Method :// Host : Port / Path Indica il protocollo applicativo Indica l indirizzo di rete del server Indica la pagina web richieste La porta TCP viene definita per default (80)

30 Trasporto dei messaggi Supponiamo che un client richieda una pagina HTML di un server al cui interno sono contenuti i riferimenti ad altri oggetti (ad esempio 10 figure che compongono la pagina e che occorre visualizzare insieme al testo HTML). Altri oggetti : Testo HTML nel trasferimento dell insieme di oggetti sono possibili 2 modalità Non-persistent connection (default mode di HTTP 1.0) Persistent connection (default mode di HTTP 1.1)

31 Non persistent Viene aperta una connessione TCP per una sola request-response: inviata la pagina, il server chiude la connessione TCP La procedura viene ripetuta per tutti i file collegati al documento HTML base Le connessioni TCP per più oggetti possono essere aperte in parallelo per minimizzare il ritardo Il numero max di connessioni è di solito configurabile nel browser Request (index.html) Response (index.html file) Request (image1.jpg) Request (image2.jpg)

32 Persistent connection Nel caso persistent il server non chiude la connessione dopo l invio dell oggetto La connessione rimane aperta e può essere usata per trasferire altri oggetti della stessa pagina web o anche più pagine I server chiudono di solito la connessione sulla base di un time-out without pipelining:il client invia una nuova richiesta solo dopo aver ricevuto la risposta per la precedente with pipelining: più richieste vengono inviate consecutivamente dal client (default mode HTTP v1.1)

33 Richieste

34 GET HEAD POST PUT Esempi di Methods E usato quando il client vuole scaricare un documento dal server. Il documento richiesto è specificato nell URL. Il server normalmente risponde con il documento richiesto nel corpo del messaggio di risposta. E usato quando il client non vuole scaricare il documento ma solo alcune informazioni sul documento (come ad esempio la data dell ultima modifica). Nella risposta il server non inserisce il documento ma solo degli header informativi. E usato per fornire degli input al server da utilizzare per un particolare oggetto (di solito un applicativo) identificato nell URL. E utilizzato per memorizzare un documento nel server. Il documento viene fornito nel corpo del messaggio e la posizione di memorizzazione nell URL. Altri methods: PATCH, COPY, MOVE, DELETE, LINK, UNLINK, OPTIONS.

35 Risposte

36 Messaggi 1xx Informational 2xx Success 3xx Redirection 4xx Client error 5xx Server error 100 Continue: Prima parte della richiesta accettata. 200 OK: La richiesta ha avuto successo; l informazione è inclusa 302 Moved Permanently: 304 Moved Temporalily: 500 Internal server error Errore o guasto nel server 501 Not implemented Funzione non implementata 503 Service unavailable L oggetto è stato spostato nell URL indicato L oggetto è stato spostato nell URL indicato 400 Bad Request: errore generico 401 Unauthorized: Accesso senza necessari account e passwd 404 Not Found: l oggetto non esiste sul server Servizio non disponibile

37 Header Header name : Header value Gli header servono per scambiare informazione di servizio aggiuntiva E possibile inserire più linee di header per messaggio Esempi Cache-control Accept Accept-language Authorization If-modified-since User-agent Informazione sulla cache Formati accettati Linguaggio accettato Mostra i permessi del client Invia il doc. solo se modificato Tipo di user agent

38 Scambio di messaggi: un esempio Esempio: di richiesta oggetto GET /ntw/index.html HTTP/1.1 Connection: close User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg Accept-language:it Esempio: risposta HTTP/ OK Connection: close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun :23:24 GMT Content-Length: 6821 Content-Type: text/html data data data data data...

39 Cache di rete: uso dei proxy Compito principale dei proxy è fornire una grande memoria di cache Se un documento è contenuto nella cache viene scaricato più velocemente sul client

40 Proxy I proxy sono degli application gateway, ovvero degli instradatori di messaggi di livello applicativo Devono essere sia client che server Il server vede arrivare tutte le richieste dal proxy (mascheramento degli utenti del proxy) Proxy User Agent Server HTTP HTTP TCP HTTP TCP IP TCP IP LL IP LL LL

41 Cache locale: get condizionato E possibile evitare di scaricare oggetti memorizzati nella memoria locale se non sono stati modificati Client: GET /fruit/kiwi.gif HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg If-modified-since: Mon, 22 Jun :23:24 Server: HTTP/ Not Modified Date: Wed, 19 Aug :39:29 Server: Apache/1.3.0 (Unix) (empty entity body) E possibile anche usare il metodo HEAD

42 Autenticazione HTTP è stateless e quindi non si possono riconoscere richieste successive dello stesso utente in HTTP esiste un elementare meccanismo di autenticazione (account e password) che serve a riconoscere gli utenti Normalmente il browser memorizza passwd e account in modo da non richiedere la digitazione ogni volta GET /ntw/index.html HTTP/ Authorization Required WWW-Authenticate:[tipo di autenticazione] GET /ntw/index.html HTTP/1.1 Authorization: account, passwd... GET image.gif HTTP/1.1 Authorization: account, passwd

43 Cookie Esiste anche un altro modo per riconoscere richieste successive di uno stesso utente che non richiede di ricordare password Il numero di cookie inviato dal server viene memorizzato in un opportuno file Inviando il numero di cookie ad ogni operazione (ad es. e-commerce) si può mantenere uno stato virtuale per ciascun utente. GET /ntw/index.html HTTP/ OK Set-cookie: GET /ntw/carrello/index.html HTTP/1.1 Cookie: GET image.gif HTTP/1.1 Cookie:

44 HTML (HyperText Markup Language) HTTP trasferisce file e non si occupa della loro semantica Il funzionamento del WWW si basa sull interpretazione di file e sulla loro visualizzazione Pagine di testo formattate sono trasferite come file ASCII mediante dei comandi di formattazione specificate nel linguaggio HTML Le pagine HTML possono contenere riferimenti ad altri oggetti che dal browser possono essere interpretate come parte del documento da visualizzare (immagini) Come link ad altre pagine web Se una pagina HTML è memorizzata nel server e viene inviata su richiesta è una pagina statica

45 Pagine WEB dinamiche Se una pagina viene creata al momento della richiesta (e normalmente in base alle informazioni fornite del client) si parla di pagine dinamiche Se una richiesta si riferisce ad una pagina dinamica il server esamina la richiesta, esegue un programma associato a quella richiesta e genera la pagina di risposta sulla base dell output di un programma GET /cgi-bin/prog.pl HTTP/1.1 prog.pl 200 OK Pagina dinamica

46 Pagine WEB attive Una pagina web può anche contenere un programma che deve essere eseguito dal client Il programma viene scaricato come un oggetto della pagina ed eseguito in locale sulla macchina del client Può essere utile per ottenere delle pagine in grado di interagire con l utente, per grafici in movimento, ecc. GET /java/applet HTTP/ OK programma

47 Politecnico di Milano Facoltà di Ingegneria dell Informazione Trasferimento di informazione File Transfer Protocol (FTP)

48 File Transfer Protocol (FTP) "File Transfer Protocol, RFC 959, October E un protocollo usato per il trasferimento di file tra due host remoti Sia sul lato cliente che sul lato server l applicazione opera direttamente sul file system della macchina

49 File Transfer Protocol (FTP) Fa uso di TCP per il trasporto Due connessioni sono aperte per dati e controllo client User Interface Control process Data tranfer process Port 21 Port 20 server Control process Data tranfer process LFS LFS

50 FTP: user interface

51 FTP: connessione di controllo La connessione di controllo viene aperta in modo simile alle altre applicazioni Il server lancia un passive open per la porta 21 e rimane in attesa di richieste di connessione Il client lancia un active open ogni volta deve iniziare una sessione di trasferimento file e fa partire una richiesta di connessione TCP usando una porta dinamica La connessione di controllo è persistent, ovvero rimane aperta per tutta la durata della sessione di trasferimento e può essere usata per molti file da trasferire client Control process Active open Port Passive open Port 21 server Control process LFS Data tranfer process LFS Data tranfer process

52 FTP: connessione dati Le connessioni dati sono non-persistent ovvero sono aperte solo per trasferire un file o altre informazioni e poi sono immediatamente chiuse Per aprire una connessione dati: Metodo 1: Il client che desidera iniziare un trasferimento dati effettua un passive open su una porta di sua scelta Il client comunica la porta al server sulla connessione di controllo mediante il comando PORT Il server fa un active open verso la porta del client usando il suo numero di porta noto 20 Metodo 2: Il client invia il comando di PASV al server Il server sceglie un numero di porta, fa un passive open e comunica il numero di porta al client nella risposta Il client fa un active open verso la porta comunicata dal server

53 FTP: connessione dati Il trasferimento di dati può avvenire con diverse modalità e formati: File type: ASCII file: file di caratteri Binary: formato generale per tutti i file non testuali Transmission mode: Stream mode: il file viene trasferito al TCP come una sequenza non strutturata di byte Block mode: il file viene trasferito in blocchi di cui i primi tre byte rappresentano l header

54 FTP: comandi Il trasferimento di comandi di FTP è testuale (ASCII) Comandi di accesso USER username PASS password QUIT log out Modalità di trasferimento TYPE file type MODE transfer mode Gestione file CWD change directory DELE delete file LIST list files RETR retrive file STOR store file Gestione delle porte PORT client port PASV server choose port

55 FTP: risposte 125 Data connection already open; transfer starting 200 Command OK 225 Data connection open 226 Closing data connection 227 Entering passive mode; srv. sends Ip_add.,port 230 User login OK 331 Username OK, password required 425 Can't open data connection 426 Connection closed; tranfer aborted 452 Error writing file 500 Syntax error; unrecognized command 501 Syntax error in parameters or arguments 502 Command not implemented

56 FTP: esempio trasferimento file Client Server 220 service ready USER matteo 331 username OK; password? PASS pippo user login OK PORT opening data connection LIST /usr/pub 125 data connection OK Data 226 closing data connection

57 Politecnico di Milano Facoltà di Ingegneria dell Informazione Servizio di Simple Mail Transfer Protocol (SMTP)

58 L è un applicazione che consente di inviare in modo asincrono messaggi testuali E basata su una rete di server che comunica con il prot. appl. SMTP (Simple Mail Transfer Protocol)

59 SMTP J.B. Postel, "Simple Mail Transfer Protocol," RFC 821, August E un protocollo testuale richiede che anche il corpo dei messaggi sia ASCII i documenti binari devono essere convertiti in ASCII quando un server riceve un messaggio da un user agent mette il messaggio in una coda apre una connessione TCP con la porta 25 del server del destinatario trasferisce il messaggio

60 Handshake Colloquio tra client e server 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

61 Formato dei messaggi D.H. Crocker, "Standard for the Format of ARPA Internet Text Messages," RFC 822, August Il formato dei messaggi inviati (comando DATA) è specificato Alcuni header standard precedono il corpo del messaggio vero e proprio From: alice@crepes.fr To: bob@hamburger.edu Subject: Request of information <black line> <Body>.

62 Multipurpose Internet Mail Extensions (MIME) "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies," RFC 2045, Nov "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types," RFC 2046, Nov Estensione MIME al RFC 822 ha come scopo principale quello di consentire il trasferimento di messaggi non ASCII From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data.

63 Multipurpose Internet Mail Extensions (MIME) Codifiche: Base64: Le sequenze di bit da trasferire sono divise in gruppi di 24 bit Ogni gruppo è in diviso in 4 sotto-gruppi di 6 bit Ad ogni gruppo è associato un carattere in un alfabeto base base (51) (8) (4) (57) Z I E

64 Multipurpose Internet Mail Extensions (MIME) Quoted-printable Le sequenze di bit da trasferire sono divise in gruppi di 8 bit Se una sequenza corrisponde ad un carattere printable ASCII è inviata così com è Altrimenti viene inviata come tre caratteri: = seguito dalla rappresentazione esadecimale del byte & L Non-ASCII Quotable-printable & L = D

65 Multipurpose Internet Mail Extensions (MIME) MIME consente anche il trasferimento di più oggetti come parti di uno stesso messaggio: From: To: Subject: Picture of yummy crepe with commentary MIME-Version: 1.0 Content-Type: multipart/mixed; Boundary=StartOfNextPart --StartOfNextPart Dear Bob, Please find a picture of an absolutely scrumptious crepe. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data... --StartOfNextPart Let me know if you would like the recipe..

66 Protocolli di accesso al mailbox Diversi protocolli sono stati sviluppati per il colloquio tra user agent e server in fase di lettura dei messaggi presenti nel mailbox POP3 (Post Office Protocol versione 3) IMAP (Internet Mail Access Protocol) HTTP

67 POP3 Fase di autorizzazione Comandi del client: user: username pass: password Risposte del server: +OK -ERR Fase di transazione, client: list: elenca numero mess. retr: recupera messaggio dele: cancella messaggio quit S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on C: list S: S: 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

68 Case History Nel Dicembre 1995 S. Bhatia and J. Smith propongono un servizio di e- mail web-based e fondano Hotmail In un mese raggiungono 100K clienti In un anno raggiungono 12M clienti Nel dicembre 1997 Hotmail è acquisita da Microsoft per $400M Esempio di first mover advantage e di viral marketing

69 Politecnico di Milano Facoltà di Ingegneria dell Informazione Terminale remoto TELNET

70 TELNET (TErminaL NETwork) E un semplice applicativo che consente di aprire un terminale remoto Al contrario di un terminale locale i comandi sono trasferiti su una connessione TCP Telnet client Telnet server Terminal driver TCP IP LL Internet TCP IP LL Pseudo-terminal driver

71 TELNET (TErminaL NETwork) TELNET trasferisce caratteri Caratteri dati: Sono caratteri ASCII con il primo bit pari a 0 Si possono trasferire anche caratteri ASCII con il primo bit pari a 1 se li si fa precedere da un byte di controllo speciale Caratteri di controllo: Sono comandi codificati in sequenze di 8 bit con il primo pari ad 1 Tra questi IAC (255): interpreta il prossimo come carattere di controllo EC (247): cancella carattere c a t f i l e a IAC EC 1

72 TELNET (TErminaL NETwork)

73 Politecnico di Milano Facoltà di Ingegneria dell Informazione Indirizzamento simbolico dei domini Domani Name System (DNS)

74 Domain Name System (DNS) Gli indirizzi IP sono poco adatti ad essere usati dagli applicativi. E più comodo utilizzare indirizzi simbolici gerarchici (via, città, stato) senza vincoli derivanti da esigenze di livello 3. Occorre una mappatura fra i due morgana.elet.polimi.it

75 Domain Name System (DNS) "Domain Names - Concepts and Facilities," RFC 1034, Nov "Domain Names - Implementation and Specification," RFC 1035, Nov Le reti IP forniscono indirizzamento simbolico e un servizio di database distribuito che fornisce il servizio di mappaggio: DNS (Domain Name System) Il DNS è esso stesso un applicazione IP che usa UDP/IP per trasferire i messaggi Il DNS viene usato anche per altri servizi: Host aliasing Mail server aliasing Load distribution

76 Indirizzamento simbolico com edu org gov mil it fr jp de... yahoo ucla columbia polimi virgilio morgana.elet.polimi.it cs rett elet morgana L indirizzamento è di tipo gerarchico Ogni ramo è sotto il controllo di un autorità Per ottenere un nuovo indirizzo occorre chiedere il permesso all autorità competente

77 Tipi di NS Local Name Servers Direttamente collegati agli host Ogni ISP (residenziale, università, compagnia) ha un NS locale Contatta i Root NS Root Name Servers contengono informazioni per l indirizzamento di grandi gruppi di host e domini Contengono informazioni sugli NS authoritative per un certo dominio Contatta gli Authoritative NS Authoritative Name Servers NS responsabile di un particolare hostname

78 Gerarchia DNS Source: Computer Networking, J. Kurose I Name Servers (NS) sono organizzati in maniera gerarchica

79 Root NS nel

80 Come ottenere un mappaggio Ogni host ha configurato l indirizzo del LNS Le applicazioni che richiedono un mappaggio (browser, ftp, etc.) usano le funzioni del DNS Una richiesta viene inviata al server DNS usando UDP come trasporto Il server reperisce l informazione e restituisce la risposta HOST DNS request DNS response Local NS DNS Network

81 Type Informazioni memorizzate Name, Value, Type, TTL A: Name è il nome di un host e Value è il suo indirizzo IP (morgana.elet.polimi.it, , A, TTL) NS: Name è un domain e Value è il nome di un server che può ottenere le informazioni relative (elet.polimi.it, morgana.elet.polimi.it, NS, TTL) CNAME: Name è un nome alternativo (alias) per un host il cui nome canonico è in Value ( zephyro.rett.polimi.it, CNAME, TTL) MX: Name è dominio di mail o un alias di mail e Value è il nome del mail server (elet.polimi.it, mailserver.elet.polimi.it, MX,TTL)

82 Organizzazione del database I record in ARPANET erano contenuti in un name server centrale Per Internet la struttura del database è distribuita I rami sono partizionati in zone e un DNS server viene associato ad ogni zona Il server di una zona è responsabile per le informazioni di quella zona (authoritative) com edu org gov mil it fr jp de... yahoo ucla columbia polimi cs rett elet virgilio morgana

83 Reperire informazioni in modalità puramente ricorsiva la richiesta viene inoltrata seguendo la gerarchia la risposta segue la strada inversa Source: Computer Networking, J. Kurose

84 Reperire informazioni con la modalità iterativa un server può rispondere ad una richiesta con il nome di un altro server dove reperire l informazione

85 Caching Un server, dopo aver reperito un informazione su cui non è authoritative può memorizzarla temporaneamente All arrivo di una nuova richiesta può fornire l informazione senza risalire sino al server authoritative Il TTL è settato dal server authoritative ed è un indice di quanto stabile nel tempo è l informazione relativa I server non-authoritative usano il TTL per settare un time-out

86 Messaggi DNS sono in binario (non ASCII) identification: identificativo coppia richiesta/risposta flag: richiesta/risposta, authoritative/non auth., iterative/recursive number of: relativo al numero di campi nelle sez. successive questions: nome richiesto e tipo (di solito A o MX) answers: resource records completi forniti in risposta authority: contiene altri record forniti da altri server additional infor.: informazione addizionale, ad es. il record con l IP ADDR. per il MX fornito in answers

87 Politecnico di Milano Facoltà di Ingegneria dell Informazione Applicazioni Peer-to-Peer

88 P2P file sharing Gli utenti utilizzano il software P2P sul proprio PC Si collegano in modo intermittente a Internet prendendo indirizzi IP diversi ogni volta Se un utente cerca un file l applicazione trova altri utenti che lo hanno L utente sceglie da chi scaricarlo Il file è scaricato usando un protocollo come HTTP Altri utenti potranno (in seguito o in contemporanea) scaricare il file dall utente L applicazione P2P è sia client che server. Elevata scalabilità!

89 P2P: directory centralizzata Meccanismo di Napster 1) Quando i peer si connettono, informano il server centrale: Indirizzo IP File condivisi 2) Il peer interroga il server centrale per uno specifico file 3) Il file viene scaricato direttamente centralized directory server Alice 3 Bob peers

90 P2P: directory centralizzata Problemi dell architettura centralizzata Se il server si rompe il sistema si blocca Il server è un collo di bottiglia per il sistema Chi gestisce il server può essere accusato di infrangere le regole sul copyright Il trasferimento file è distributito, ma la ricerca dei contenuti è fortemente centralizzata

91 P2P: completamente distribuita Meccanismo di Gnutella Nessun server centrale Protocollo di pubblico dominio Molti software diversi basati sullo stesso protocollo Basato su una rete (grafo) di overlay I peer si attivano e si collegano ad un numero (<10) di altri vicini La ricerca dei vicini è distribuita I vicini nella rete overlay possono essere fisicamente distanti

92 P2P: completamente distribuita Ricerca di un file I messaggi di richiesta vengono diffusi sulla rete di overlay I peer inoltrano le richieste fino a una certa distanza Le risposte vengono inviate sul cammino opposto Query Query Hit File transfer: HTTP Query QueryHit

93 P2P: completamente distribuita Accesso alla rete Per iniziare il processo di accesso il peer X deve trovare almeno un altro peer; la ricerca si basa su liste note X scandisce la lista fino a che un peer Y risponde X invia un messaggio di Ping a Y; Y inoltra il Ping nella rete di overlay. Tutti i peer che ricevono il Ping rispondono a X con un messaggio di Pong X riceve molti messaggi di Pong e può scegliere a chi connettersi aumentando il numero dei suoi vicini nella rete di overlay

94 P2P: architettura ibrida Meccanismo di KaZaA Ogni peer o è un group leader o è assegnato a un group leader. Connessioni TCP tra peer e suo group leader. Connessioni TCP alcune coppie di group leaders. I group leader mantengono informazioni sul contenuto dei loro associati ordinary peer group-leader peer neighoring relationships in overlay network

Università degli Studi di Bergamo

Università degli Studi di Bergamo Università degli Studi di Bergamo Facoltà di Ingegneria Prof. Filippini 2!!!!!!! 3!!!! Applicazioni di rete Web (web server, browser, HTML) E-mail (mail server, mail client, MIME) Protocolli di rete HTTP

Dettagli

5 - Protocolli Applicativi

5 - Protocolli Applicativi Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici 5 - Protocolli Applicativi Architetture e Protocolli per Internet 1 Processi e Protocolli Processi in esecuzione su

Dettagli

Reti di Calcolatori:

Reti di Calcolatori: Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli

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

Email. E-mail: SMTP, POP, IMAP. E-Mail: mail server. E-Mail: smtp [RFC 821] Tre componenti: user agent mail server simple mail transfer protocol: smtp E-:, POP, IMAP E Tre componenti: simple transfer protocol: smtp User Agent Funzionalità: per leggere, editare ed inviare Eudora, Outlook, Pine, MacMail Messaggi sono memorizzati nel outgoing message queue

Dettagli

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

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS) Esempi di applicazioni internet WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS) 17 Il Web: terminologia Pagina Web: consiste di oggetti indirizzati da un URL (Uniform Resource

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione INFORMATICA DISTRIBUITA prof. lez 4 Livello applicazione Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 applicazioni di rete Processo: programma in esecuzione

Dettagli

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

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

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

INFORMATICA DISTRIBUITA. lez 6 World Wide Web (cont)

INFORMATICA DISTRIBUITA. lez 6 World Wide Web (cont) INFORMATICA DISTRIBUITA prof. lez 6 World Wide Web (cont) Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 Scripting Invece di avere un programma esterno,

Dettagli

Reti di Calcolatori. Seconda lezione. Realizzato da Roberto Savino: 1

Reti di Calcolatori. Seconda lezione. Realizzato da Roberto Savino: 1 Reti di Calcolatori Seconda lezione 1 Introduzione Obiettivi Acquisire alcuni concetti di base sul livello applicazione Sommario: Servizi forniti dal livello trasporto Programmare i Socket in Java Studio

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

Livello applicazione: Sessioni HTTP, FTP, Posta Elettronica

Livello applicazione: Sessioni HTTP, FTP, Posta Elettronica Livello applicazione: Sessioni HTTP, FTP, Posta Elettronica Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Dettagli

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Dettagli

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

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Dettagli

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12) Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori (a.a. 2011/12) Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Protocolli applicativi: e POP3

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Programmazione in Rete

Programmazione in Rete 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

Dettagli

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Dettagli

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

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 9 Giovedì 2-04-2015 1 Come per una pagina Web, anche

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

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

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

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

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan RETI E SISTEMI INFORMATIVI Domain Name System Prof. Andrea Borghesan http://venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame:

Dettagli

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

FTP. Appunti a cura del prof. ing. Mario Catalano FTP Appunti a cura del prof. ing. Mario Catalano Il protocollo FTP 1/2 Attraverso il protocollo FTP (File Transfer Protocol) è possibile trasferire uno o più files di qualsiasi tipo tra due macchine Tale

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

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

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 9 Distribuzione dei contenuti INFORMATICA DISTRIBUITA prof. lez 9 Distribuzione dei contenuti Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 FTP: file transfer protocol FTP user interface

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Reti di calcolatori. Reti di calcolatori

Reti di calcolatori. Reti di calcolatori Reti di calcolatori Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e un nodo, con un suo indirizzo di rete Storia:

Dettagli

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

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Protocolli Applicativi

Protocolli Applicativi Politecnico di Milano Facoltà di Ingegneria dell Informazione Protocolli Applicativi Paradigmi Client-Server e Peer-to-Peer HTTP: Web Surfing FTP: Connettività remota SMTP: posta elettronica DNS: indirizzamento

Dettagli

url uniform resource locator

url uniform resource locator url uniform resource locator m. patrignani nota di copyright questo insieme di slides è protetto dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,

Dettagli

Livello di Applicazione in Internet

Livello di Applicazione in Internet Università di Genova Facoltà di Ingegneria Livello di in Internet 1. Introduzione Prof. Raffaele Bolla Ing. Matteo Repetto dist Caratteristiche del corso: Docenti o Docente titolare Prof. Raffaele Bolla

Dettagli

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

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

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

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

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

Capitolo 2 - parte 5. Corso Reti ed Applicazioni Mauro Campanella Capitolo 2 - parte 5 Corso Reti ed Applicazioni Mauro Campanella Agenda - Posta elettronica - Simple Mail Transfer Protocol (SMTP) - Post Office Protocol v3 (POP3) - Internet Message Access Protocol (IMAP)

Dettagli

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

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

Livello Applicazione. Davide Quaglia. Motivazione

Livello Applicazione. Davide Quaglia. Motivazione Livello Applicazione Davide Quaglia 1 Motivazione Nell'architettura ibrida TCP/IP sopra il livello trasporto esiste un unico livello che si occupa di: Gestire il concetto di sessione di lavoro Autenticazione

Dettagli

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

Livello applicativo. Obiettivi specifici: ! Protocolli specifici:  http  ftp  smtp  pop  dns  Programmazione di applicazioni Livello applicativo Obiettivi generali:! Aspetti concettuali/ implementativi dei protocolli applicativi " Paradigma client " Modelli dei servizi Obiettivi specifici:! Protocolli specifici: " http " ftp

Dettagli

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

Capitolo 2 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Como 2003 Capitolo 2 - parte 4 Corso Reti ed Applicazioni Mauro Campanella Como 2003 Agenda - Content Distribution Networks (CDN) - Peer to Peer M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag.

Dettagli

Corso di recupero di sistemi Lezione 8

Corso di recupero di sistemi Lezione 8 Corso di recupero di sistemi Lezione 8 a.s. 2011/2012 - Prof. Fabio Ciao 24 aprile 2012 Reti TCP/IP Una rete TCP/IP è una rete locale o geografica che utilizza protocolli TCP/IP con i primi 2 livelli una

Dettagli

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Rete Internet Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Che cos è Internet? Il punto

Dettagli

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

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica). Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:

Dettagli

Programmazione in Rete

Programmazione in Rete 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

Dettagli

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita Organizzazione distribuita Il messaggio viene organizzato in pacchetti dal calcolatore sorgente. Il calcolatore sorgente instrada i pacchetti inviandoli ad un calcolatore a cui è direttamente connesso.

Dettagli

Parte II: Reti di calcolatori Lezione 7

Parte II: Reti di calcolatori Lezione 7 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 7 Martedì 25-03-2014 1 Il protocollo FTP

Dettagli

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento.

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento. Infrastrutture e Protocolli per Internet Prof. A. Capone a Prova in itinere Luglio 004 Cognome Nome Matricola Tempo a disposizione per lo svolgimento: ora e 0 min Avvertenza: Si usi lo spazio dopo ogni

Dettagli

Architetture Web Protocolli di Comunicazione

Architetture Web Protocolli di Comunicazione Architetture Web Protocolli di Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 10 Maggio 2011 Architetture Web Architetture Web Protocolli di Comunicazione Il Client Side Il Server Side

Dettagli

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

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

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Modulo 1: Posta elettronica

Modulo 1: Posta elettronica Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

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

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Application Layer FTP, SMTP, POP3, IMAP

Application Layer FTP, SMTP, POP3, IMAP Application Layer FTP, SMTP, POP3, IMAP Ricapitolando host or host or process controlled by application developer process socket TCP with buffers, variables Internet socket TCP with buffers, variables

Dettagli

Comunicazione remota asincrona

Comunicazione remota asincrona Comunicazione remota asincrona di gruppo Comunicazione remota asincrona di gruppo Messaggi (post) su argomenti (thread) a cui partecipano più persone Modello di comunicazione asincrona I messaggi sono

Dettagli

Standard di comunicazione

Standard di comunicazione Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un

Dettagli

InterNet: rete di reti

InterNet: rete di reti Internet e il web: introduzione rapida 1 InterNet: rete di reti Una rete è costituita da diversi computer collegati fra di loro allo scopo di: Comunicare Condividere risorse Ogni computer della rete può,

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Protocolli di applicazione

Protocolli di applicazione Reti di Calcolatori AA 2011/2012 http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Protocolli di applicazione (2) Csaba Kiraly Renato Lo Cigno Livello di applicazione (2) A note

Dettagli

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Esercitazione. Formato di compitini e compiti: domande ed esercizi closed book G. Ferrari - Reti di calcolatori. Esercitazione Formato di compitini e compiti: domande ed esercizi "closed book" Esercitazione - 1 Domanda 1 In una comunicazione di rete tra due host, quale è il client e quale è il server. Necessario:

Dettagli

Il livello delle applicazioni. Si trattano qui i servizi proposti agli utenti dalle reti

Il livello delle applicazioni. Si trattano qui i servizi proposti agli utenti dalle reti Il livello delle applicazioni Si trattano qui i servizi proposti agli utenti dalle reti 27/04/2005 2 Perché livelli diversi? Strato applicazioni Protocolli applicativi servizi utente Strato TCP/UDP Interazione

Dettagli

Posta Elettronica e Web

Posta Elettronica e Web a.a. 2002/03 Posta Elettronica e Web Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Posta Elettronica

Dettagli

il trasferimento di file

il trasferimento di file il trasferimento di file g.di battista e m.patrignani nota di copyright questo insieme di slides è protetto dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Reti di Calcolatori AA 2011/2012. Protocolli di applicazione. Livello di applicazione (2) Capitolo 2: Livello applicazione (2)

Reti di Calcolatori AA 2011/2012. Protocolli di applicazione. Livello di applicazione (2) Capitolo 2: Livello applicazione (2) Reti di Calcolatori AA 2011/2012 http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Protocolli di applicazione (2) Csaba Kiraly Renato Lo Cigno Livello di applicazione (2) A note

Dettagli

Contesto: Peer to Peer

Contesto: Peer to Peer Contesto: Peer to Peer Un architettura di rete P2P è caratterizzata da: Connessioni dirette tra i suoi componenti. Tutti i nodi sono entità paritarie (peer). Risorse di calcolo, contenuti, applicazioni

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

HTTP adaptation layer per generico protocollo di scambio dati

HTTP adaptation layer per generico protocollo di scambio dati HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol

Dettagli

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

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 1 Internet è una rete che collega centinaia di milioni di computer in tutto il mondo 2 Le connessioni sono dei tipi più disparati;

Dettagli

Il Livello delle Applicazioni

Il Livello delle Applicazioni Il Livello delle Applicazioni Il livello Applicazione Nello stack protocollare TCP/IP il livello Applicazione corrisponde agli ultimi tre livelli dello stack OSI. Il livello Applicazione supporta le applicazioni

Dettagli

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

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi Seminari Eucip, Esercizio e Supporto di Sistemi Informativi Servizi di Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza Sicurezza su Sicurezza della La Globale La rete è inerentemente

Dettagli

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

Application Layer FTP, SMTP, POP3, IMAP. Ricapitolando. FTP: File Transfer Protocol [RFC 959] porta 80 Ricapitolando host or host or Application Layer process controlled by application developer process, SMTP, POP3, IMAP socket TCP with buffers, variables Internet socket TCP with buffers, variables controlled

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A. Corso di Laurea in Ingegneria Informatica Reti di Calcolatori Livello di applicazione DNS A.A. 2013/2014 1 Livello di applicazione Web e HTTP FTP Posta elettronica SMTP, POP3, IMAP DNS Applicazioni P2P

Dettagli

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Capitolo 16 I servizi Internet

Capitolo 16 I servizi Internet Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica

Dettagli

Domain Name System: DNS

Domain Name System: DNS Domain Name System: DNS Nomi simbolici Gerarchia dei nomi Gerarchia dei DNS Risoluzione dei nomi Caching e abbreviazioni Descrittori di risorsa Nomi simbolici Tutte le applicazioni Internet usano indirizzi

Dettagli

TCP/IP: INDIRIZZI IP SIMBOLICI

TCP/IP: INDIRIZZI IP SIMBOLICI TCP/IP: INDIRIZZI IP SIMBOLICI DOMAIN NAME SYSTEM: ESEMPIO www.unical.it 160.97.4.100 100 host 160.97.29.5 dominio i di II livelloll dominio di (organizzazione: università) I livello (nazione) www.deis.unical.it

Dettagli

Protocolli per le e-mail. Impianti Informatici. Protocolli applicativi

Protocolli per le e-mail. Impianti Informatici. Protocolli applicativi Protocolli per le e-mail Protocolli applicativi Origini della posta elettronica SNDMSG (1971, RayTomlinson) Permetteva ai programmatori e ai ricercatori di lasciare dei messaggi uno all'altro (solo sulla

Dettagli

Internet e Tecnologia Web

Internet e Tecnologia Web INTERNET E TECNOLOGIA WEB Corso WebGis per Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Internet e Tecnologia Web...1 TCP/IP...2 Architettura Client-Server...6

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol

Dettagli

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - I multipli 1 KB (kilo) = 1000 B 1 MB (mega) = 1 mln B 1 GB (giga) = 1 mld B 1 TB (tera) = 1000 mld B Codifica binaria dei numeri Numerazione con base 10:

Dettagli

Architetture Applicative Il Web

Architetture Applicative Il Web Architetture Applicative Il Web Alessandro Martinelli alessandro.martinelli@unipv.it 18 Marzo 2014 Architetture Architetture Web L Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti

Dettagli

Stack protocolli TCP/IP

Stack protocolli TCP/IP Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 5 Martedì 18-03-2014 1 Livello di applicazione Architetture

Dettagli

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

Reti di Calcolatori:

Reti di Calcolatori: Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli