Reti di Calcolatori. Application



Похожие документы
Protocolli applicativi: FTP

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

Reti di Calcolatori. IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

Reti di Calcolatori. Il Livello delle Applicazioni

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

Corso di recupero di sistemi Lezione 8

Dal protocollo IP ai livelli superiori

PROTOCOLLI APPLICATIVI PER INTERNET

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

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

OSOR. Applicazioni di Rete

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

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

Architetture Web Protocolli di Comunicazione

Posta Elettronica e Web

10110 Reti di Calcolatori IL LIVELLO APPLICAZIONI: DNS, FTP

TCP/IP: INDIRIZZI IP SIMBOLICI

InterNet: rete di reti

ARP (Address Resolution Protocol)

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

Reti di calcolatori. Reti di calcolatori

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

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

Parte II: Reti di calcolatori Lezione 7

Elementi di Informatica e Programmazione

Reti di Telecomunicazione Lezione 6

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

Modulo 1: Posta elettronica

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

Le Reti Informatiche

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

T.A.R.I. Applicazioni (ICT, AL)

20. DNS: Il Domain Name System

Comunicazione nel tempo

Architetture Applicative Il Web

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

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

Domain Name System: DNS

Il funzionamento delle reti

Reti di Calcolatori:

HTTP adaptation layer per generico protocollo di scambio dati

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

Il Protocollo HTTP e la programmazione di estensioni Web

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

appunti delle lezioni Architetture client/server: applicazioni client

Lezione n 1! Introduzione"

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

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

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

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Protocolli applicativi basati su TCP/IP

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

HTML il linguaggio per creare le pagine per il web

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

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

Capitolo 16 I servizi Internet

Introduzione all elaborazione di database nel Web

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

MANUALE UTENTE FORMULA PEC

Livello cinque (Livello application)

Livello di Applicazione in Internet

Inizializzazione degli Host. BOOTP e DHCP

Introduzione all uso di Internet. Ing. Alfredo Garro

Standard di comunicazione

Il funzionamento delle reti

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

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

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

I Principali Servizi del Protocollo Applicativo

ESERCITAZIONE Semplice creazione di un sito Internet

Internet: architettura e servizi

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano

Reti Informatiche. dott. Andrea Mazzini

Internet Architettura del www

Teoria di un server di posta. Corso GNU/Linux Avanzato Torino,

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

Architettura client-server

Транскрипт:

Reti di Calcolatori Application

Dove siamo? 2

Livello applicativo Applicazioni che utilizzano i servizi di rete Porte TCP o UDP host LAN 3

Applicazioni Programmi applicativi e servizi usati dagli utenti della rete Spesso basati sul modello client-server DNS (Domain Name System) Risoluzione dei nomi degli host SMTP (Simple Mail Transfer Protocol) e email sendmail o postfix POP3 (Post Office Protocol) e IMAP (Interactive Mail Access Protocol) Accesso remoto alle caselle di posta elettronica FTP (File Transfer Protocol) Trasferimento file remoti SNMP (Simple Network Management Protocol) Gestione di apparati di rete HTTP (HyperText Transfer Protocol) e il WWW Server web e browsers telnet, rlogin, rcp,ssh, sftp, nfs, lpd,... 4

Domain Name System (DNS) E un database distribuito che permette di convertire i nomi simbolici degli host negli indirizzi IP numerici E più facile ricordare (e dà più informazioni) che www.google.it 193.205.7.2 Per comunicare su rete serve l indirizzo IP! Quando gli host sono pochi la tabella di conversione può essere memorizzata localmente ad ogni host (file /etc/hosts in Unix) Il DNS è distribuito: ogni sito mantiene il suo database relativo agli host locali eseguendo su una macchina il server DNS che può essere interrogato da altri sistemi su Internet 5

Il resolver Quando un applicazione deve convertire un nome di host nell indirizzo IP o viceversa, chiama una procedura resolver che contatta il DNS server del suo dominio In Java la procedura è incapsulata nella classe InetAddress In C sono disponibili le chiamate di libreria gethostbyname e gethostbyaddr Occorre specificare l indirizzo IP del DNS server (o Name Server) a cui il resolver invia le sue interrogazioni (in Unix /etc/resolv.conf) Il protocollo di comunicazione fra resolver e Name server è del livello applicativo ed è basato su scambio di pacchetti UDP (porta server 53) o TCP nslookup è un programma client che permette di esplorare la tabella del Name Server 6

Lo spazio dei nomi I nomi in Internet sono organizzati in modo gerarchico radice domini generici domini degli stati arpa com edu gov int mil net org biz ae it zw in-addr cisco w3c Emirati Arabi unisi Zimbabwe www www ing 2.7.205.193.in-addr.arpa gestiti dal DNS server di ingeneria (193.205.7.2) www lucy 7

I domini I nomi dei componenti sono stringhe (case-insensitive) fino a 63 caratteri mentre il nome completo di un cammino non può superare 255 caratteri Un nome di dominio assoluto (fully qualified domain name - FQDN) termina con un punto (es. www.sun.com.) I nomi che non terminano con un punto sono relativi (es. sunto è relativo al dominio in cui si trova l host ovvero ing.unisi.it) Ciascun dominio controlla l allocazione dei suoi sottodomini I domini delle nazioni sono indicati con i codici previsti dallo standard ISO 3166 arpa è un dominio speciale per le conversione indirizzo IP-nome nelle interrogazioni al Name Server 8

I domini generici com edu gov int mil net org organizzazioni commerciali istituzioni accademiche (università USA) organizzazioni governative USA organizzazioni internazionali rete militare USA fornitori di servizi di rete organizzazioni no profit In genere non sono riferite ad una posizione geografica Sono in fase di attivazione nuovi domini generici (es. biz) Alcuni paesi inseriscono sottodomini equivalenti a quelli generici (es..ac.uk e.co.uk - istituzioni accademiche e commerciali del Regno Unito) Il NIC mantiene il primo livello; i sottolivelli (zone) sono gestiti localmente (gestione DNS servers, assegnazione nomi, ecc.) 9

Zone e Name server Una zona è un sottoalbero del DNS amministrato separatamente name server it unisi 193.205.4.2 name server 193.205.7.2 ing lett www ftp ltt name server pc1 pc2 10

Name servers Un Name Server ha autorità per una o più zone In una zona esiste un name server primario ma possono esistere anche name servers secondari (per ridondanza) I name server secondari ottengono le informazioni dal name server primario (zone transfer) interrogandolo periodicamente mentre i name server primari leggono le loro informazioni da un file Quando si aggiunge un nuovo host nella zona si aggiunge una riga alla tabella presente sul name server primario Il resolver chiede di risolvere il nome al name server locale Il nome dell host è locale -> viene restituito il record di autorità Il nome è relativo ad un host di un altra zona -> interrogazione ricorsiva (a meno che non sia nella cache) 11

Interrogazione ricorsiva Si propaga la richiesta al name server di livello superiore www.unimi.it????!! altair.ing.unisi.it ing.unisi.it unisi.it it unimi.it La richiesta non si propaga ai livelli superiori se un name server ha la risposta nella cache Le risposte presenti nella cache non sono con autorità in quanto potrebbe esserci incoerenza con il vero valore I record sono inseriti nella cache con un time-to-live 12

La posta elettronica agenti utente programmi per leggere e gestire la posta e le mailboxes (es. eudora, netscape, outlook, pine, mail,...) Possono utilizzare protocolli per la gestione di mailboxes remote (pop3, imap). agenti di trasferimento di messaggi Gestiscono il trasferimento dei messaggi dalla sorgente alla destinazione e la ricezione dei messaggi sui server di posta Inviare un messaggio corrisponde a trasferire un file... Sono demoni di sistema che sono eseguiti in background e usano il protocollo SMTP per trasferire i messaggi sulla rete (es. sendmail, postfix,..). 13

Trasferimento di mail mittente agente utente coda della posta da spedire agente di trasferimento client SMTP connessione TCP porta TCP 25 destinatario agente utente mailboxes degli utenti agente di trasferimento server MTA (Message Transfer Agent) 14

Relay Agents Server di riferimento per l invio della posta Tutti i client inviano la posta al relay che la invia al destinatario Semplifica la configurazione Sono sempre connessi (possono ritentare in caso di insuccesso) coda di posta relay MTA Internet coda di posta local MTA local MTA local MTA Agente utente 15

Indirizzi di posta elettronica Hanno il formato utente@host.dominio Gli indirizzi sono risolti dal DNS che individua il server a cui inviare il messaggio (eventualmente usa una richiesta MX) Il server di posta riceve i messaggi e li accoda nella mailbox dell utente La mailbox è un file di testo in una directory specifica nel server (es. in Unix è normalmente /var/spool/mail/utente ) L utente può accedere alla posta localmente leggendo il file mailbox. Il client per la lettura della posta provvede a individuare i singoli messaggi nella mailbox 16

Formato dei messaggi E definito in RFC 821 - RFC 822 campi di intestazione linea vuota corpo del messaggio I campi di intestazione consistono in linee di testo ASCII contenenti il nome del campo seguito dal carattere : e poi da un valore L agente utente costruisce il messaggio e lo passa all agente di trasferimento che utilizza alcuni campi dell intestazione per l invio 17

Esempio di intestazione Return-Path: <BWerner@computer.org> Delivered-To: maggini@dii.unisi.it Received: from firewall.dii.unisi.it (firewall.dii.unisi.it [10.0.0.1]) by alpha.dii.unisi.it (Postfix) with ESMTP id B763218337 for <maggini@dii.unisi.it>; Sat, 19 May 2001 03:02:57 +0200 (CEST) Received: from sendmailout.computer.org (unknown [206.99.234.2]) by firewall.dii.unisi.it (Postfix) with ESMTP id 6A9053C0BC for <maggini@dii.unisi.it>; Sat, 19 May 2001 02:48:10 +0200 (CEST) Received: from cray.computer.org ([63.84.223.121]) by sendmailout.computer.org (Build 101 8.9.3/NT-8.9.3) with ESMTP id UAA01113; Fri, 18 May 2001 20:03:57-0400 Subject: ICDAR'01: Your Author Kit To: ld47@csgz.edu.cn, maggini@ing.unisi.it Cc: Karl.Tombre@loria.fr, haralick@gc.cuny.edu X-Mailer: Lotus Notes Release 5.0.4 June 8, 2000 Message-ID: <OF1A96792E.5B9B2F1A-ON88256A50.00814155@computer.org> From: BWerner@computer.org Date: Fri, 18 May 2001 17:03:57-0700 X-MIMETrack: Serialize by Router on Cray/IEEE Computer Society(Release 5.0.6a January 17, 2001) at 05/18/2001 05:11:59 PM MIME-Version: 1.0 Content-type: multipart/mixed; Boundary="0 =88256A50008141558f9e8a93df938690918c88256A5000814155" Content-Disposition: inline 18

MIME Multipurpose Internet Mail Extensions (RFC 1521) Aggiunge dei campi di intestazione per definire la struttura del corpo del messaggio (è gestita dall agente utente) Mime-Version: Content-Type: Content-Transfer-Encoding: Content-ID: Content-Description: I tipi di contenuto sono organizzati in categorie predefinite es. text/plain, text/html, image/gif, multipart/mixed, application/octet-stream,... 19

Esempio MIME MIME-Version: 1.0 Content-type: multipart/mixed; Boundary="0 =88256A50008141558f9e8a93df938690918c88256A5000814155" Content-Disposition: inline --0 =88256A50008141558f9e8a93df938690918c88256A5000814155 Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: quoted-printable Dear Author: Parte 1 Congratulations! We have been notified that your paper has been accepte= d --0 =88256A50008141558f9e8a93df938690918c88256A5000814155 Content-type: application/pdf; name="=?windows-1252?q?icdar01=5fcopyright=5fform.pdf?=" Content-Disposition: attachment; filename="=?windows- 1252?Q?icdar01=5Fcopyright=5Fform.pdf?=" Content-transfer-encoding: base64 JVBERi0xLjIgDSXi48/TDQogDTEwIDAgb2JqDTw8DS9MZW5ndGggMTEgMCBSDS9GaWx0ZXIgL0Zs YXRlRGVjb2RlIA0+Pg1zdHJlYW0NCkiJrFfZctvIFf0C/UPXvESuUBAaO+YplEx5WDNjuSi6nFTp 20

SMTP Il protocollo SMTP definisce la sequenza di comandi (inviati in ASCII) necessaria per il trasferimento dei messaggi Insieme minimale di comandi usati dal client HELO <host> Saluta il server MAIL From: <indirizzo> indica il mittente del messaggio RCPT To: <indirizzo> busta Indica il destinatario (recipient) DATA Invio corpo del messaggio terminato da un. su una linea QUIT Chiude la connessione 21

Esempio SMTP maggini@mcculloch.ing.unifi.it... Connecting to alpha.dii.unisi.it. via relay... 220 alpha.dii.unisi.it ESMTP Postfix (Postfix-19991231) (Linux-Mandrake) >>> EHLO ultra3.dii.unisi.it 250-alpha.dii.unisi.it 250-PIPELINING 250-SIZE 10240000 Extended SMTP 250-ETRN 250 8BITMIME >>> MAIL From:<maggini@ultra3.dii.unisi.it> SIZE=20 250 Ok >>> RCPT To:<maggini@mcculloch.ing.unifi.it> 250 Ok >>> DATA 354 End data with <CR><LF>.<CR><LF> >>>. 250 Ok: queued as BE37A18337 maggini@mcculloch.ing.unifi.it... Sent (Ok: queued as BE37A18337) Closing connection to alpha.dii.unisi.it. >>> QUIT 221 Bye 22

Il WEB Nato nel 1989 al CERN di Ginevra come mezzo per scambiare informazioni w3c - Consorzio World Wide Web (1994) Standardizzazione dei protocolli su Web Interoperabilità fra i siti http://www.w3c.org Il web è una collezione di documenti ipertestuali distribuita su server collegati alla rete Internet La ragnatela (web) è un grafo i cui nodi sono i singoli documenti collegati fra loro da puntatori (hyperlink) La maggior parte dei documenti su web è in formato HTML (HyperText Markup Language) ma si trovano anche altri formati (Macromedia Flash, pdf, postscript, ecc..) 23

Web servers hyperlink Connessione TCP httpd Internet disco browser (client) HTTP HyperText Transfer Protocol Web Server www.apache.org 24

HTTP Ogni sito Web ha un processo server in ascolto su una porta TCP La porta standard è la numero 80 HTTP definisce il protocollo di comunicazione fra il client e il server E utilizzato per trasferire ogni tipo di risorsa (file) su WWW Una risorsa è un entità individuata da un URL (Uniform Resource Locator) file di qualsiasi formato prodotto dell esecuzione di una interrogazione o di uno script Utilizza un modello client-server Il client HTTP apre la connessione e invia un messaggio di richiesta al server HTTP Il server invia una risposta che in genere contiene la risorsa richiesta e poi chiude la connessione Il protocollo è senza stato (non c è memoria delle transazioni) 25

Formato dei messaggi HTTP I messaggi di richiesta e risposta hanno formato simile Linea Iniziale (diversa per richiesta e risposta) Header1: valore1 Header2: valore2 Header3: valore3 Linea vuota! Corpo del messaggio (contenuto del file, risultato di una interrogazione; può essere lungo molte linee e essere binario) L intestazione è separata dal corpo da una linea vuota (CR LF) 26

Richieste HTTP La linea iniziale di una richiesta è formata da 3 parti Esempio di richiesta header Metodo Percorso locale della risorsa richiesta Versione di HTTP usata Linea Iniziale GET /index.html HTTP/1.1 Host: univac.dii.unisi.it User-Agent: Mozilla/5.0 (Windows; U; Win98; en-us; m18) Gecko/20010131 Netscape6/6.01 Accept: */* Accept-Language: en Accept-Encoding: gzip,deflate,compress,identity Keep-Alive: 300 Connection: keep-alive 27

Metodi HTTP I metodi definiscono le operazioni possibili su una risorsa GET chiede il trasferimento di una risorsa. Se è seguita dall intestazione If- Modified-Since il server invia i dati solo se sono stati modificati dopo la data specificata (gestione cache del browser) HEAD Richiede solo le intestazioni relative alla risorsa. Serve per verificare le caratteristiche della risorsa senza trasferirla POST Utilizzato per inviare dati da elaborare al server. L intestazione è seguita da un corpo della richiesta che contiene i dati. Il tipo e la dimensione dei dati è indicata dagli header MIME Content-Type: e Content-Length: 28

Risposta HTTP La linea iniziale di una risposta costituisce una linea di stato headers risorsa HTTP/1.1 200 OK Date: Wed, 06 Jun 2001 22:44:40 GMT Server: Apache/1.3.20 (Win32) Last-Modified: Wed, 06 Jun 2001 22:32:26 GMT ETag: "0-64-3b1eaf7a" Accept-Ranges: bytes Content-Length: 100 Connection: close Content-Type: text/html <HTML> <HEAD> <TITLE>Prova</TITLE> </HEAD> <BODY> <H2>File HTML di Prova</H1> </BODY> Linea vuota 29

Codici di stato La linea di stato riporta un codice di stato e la sua spiegazione I codici più comuni sono HTTP/1.1 200 OK 200 OK Richiesta con successo. La risorsa è nel corpo della risposta 404 Not Found La risorsa richiesta non esiste 301 Moved Permanently 302 Moved Temporarily 303 See Other (in HTTP 1.1) La risorsa è stata spostata ad un altro URL specificato nel campo Location: dell intestazione. Il client dovrebbe saltare a tale locazione (redirect). 500 Server Error 30

Intestazioni Seguono il formato specificato in RFC 822 anche per l email HTTP 1.0 definisce 16 header (tutti opzionali) HTTP 1.1 definisce 46 header (obbligatorio Host:) Alcuni esempi... User-Agent: Identifica il programma client che effettua la richiesta. Individua webots, spiders, ecc.. Server: Identifica il server Last-Modified: Indica la data di modifica della risorsa. E usata per gestire le cache Content-Type: Tipo MIME del corpo del messaggio Content-Length: Lunghezza in byte del corpo del messaggio 31

Proxy HTTP Un proxy HTTP agisce da intermediario fra il client e il server Riceve le richieste dal client Propaga la richiesta al server corretto Sono usati su LAN per caching o accesso ad Internet tramite firewall httpd proxy cache Internet httpd disco client configurato per usare il proxy server Proxy Server proxy Web Server www.apache.org 32

HTTP 1.1 Permette più transazioni su una stessa connessione persistente Attivo di default. Si inviano le richieste in pipelining e si recuperano le risposte nello stesso ordine Ha introdotto il supporto per le cache (If-Modified-Since:) Risposta più veloce per pagine generate dinamicamente utilizzando la codifica chunked Non si deve specificare la lunghezza del messaggio nell intestazione Il messaggio è scomposto in blocchi (chunks) Uso migliore degli indirizzi IP permettendo di ospitare più siti virtuali su uno stesso server con un solo IP Uso dell intestazione Host: -> specifica il nome del sito a cui è indirizzata la richiesta 33

Multi-homed IP Un server allo stesso indirizzo IP può gestire più domini Richiede alias nel DNS 193.205.7.2 httpd http://www.dii.unisi.it/ www.dii.unisi.it? disco http://www.ing.unisi.it/ www.ing.unisi.it? DNS Server named (bind) 34

URL Un URL (Uniform Resource Locator) individua univocamente una risorsa su web http://www.ing.unisi.it/general/people.html protocollo (ftp, file,...) nome DNS del server risorsa Al nome DNS possono essere aggiunte la porta TCP (altrimenti si usa quella di default del protocollo) una coppia username/password per accedere a risorse che richiedono autenticazione http://johnm:x34l23@www.ieee.org:8080/ username:password porta TCP 35

HTML (HyperText Markup Language) E un linguaggio che usa annotazioni (markup) per definire la formattazione del testo <B>scrittura in grassetto</b> tag di apertura tag di chiusura Attualmente è alla versione 4.0 che ha standardizzato il concetto di fogli di stile (Cascading Style Sheets - css) Una pagina prevede un intestazione e un corpo compresi fra il tag <HTML> e </HTML> <HEAD>...</HEAD> definiscono l intestazione (titolo, stili, meta,..) <BODY>...</BODY> definisce il corpo del documento 36