+ All Categories
Home > Documents > Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto...

Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto...

Date post: 01-May-2015
Category:
Upload: patrizio-palmieri
View: 217 times
Download: 0 times
Share this document with a friend
95
Corso di laurea Corso di laurea in in INFORMATICA INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti [email protected]
Transcript
Page 1: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Corso di laureaCorso di laureainin

INFORMATICAINFORMATICA

RETI di CALCOLATORI A.A. 2003/2004Protocolli Applicativi

Alberto [email protected]

Page 2: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 2Alberto Polzonetti

Reti di calcolatori

Come accedere alle applicazioniCome accedere alle applicazioni

APPLICAZIONEAPPLICAZIONI

SMTP FTPTELNE

TDNS SNMP NFSPRESENTAZIONE

SESSIONE

TRASPORTO TCP UDP

RETEICMP

IP ARP RARPIGM

P

COMUNICAZIONE PROTOCOLLI DEFINITI DALLA RETE SOTTOSTANTEFISICOUna applicazione deve prima

comunicare al software di protocollo che sta aspettando l’arrivo di un messaggio di un tipo specificato e poi si mette in attesa

Quando il protocollo riceve un messaggio che corrisponde esattamente al tipo specificato lo passa applicazione

Page 3: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 3Alberto Polzonetti

Reti di calcolatori

ArgomentiArgomenti

Modello client-server

Procedure di inizializzazione

Domain Name System

Protocolli per la posta elettronica

Protocolli per trasferimento files

Protocollo HTTP e web server/client

Modello client-server

Procedure di inizializzazione

Domain Name System

Protocolli per la posta elettronica

Protocolli per trasferimento files

Protocollo HTTP e web server/client

Page 4: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 4Alberto Polzonetti

Reti di calcolatori

Modello client - serverModello client - server

Applicazione client Generico programma

Si comporta da client quando richiede l’uso della rete

Esegue anche elaborazioni in locale

È invocata direttamente dall’utente

È eseguita localmente sul computer dell’utente

Contatta attivamente un solo server alla volta

Non richiede dispositivi dedicati

Applicazione server Programma specializzato

Dedicato all’erogazione di un servizio

Può servire più di un client alla volta

Automaticamente invocato all’avvio del sistema

Attende passivamente di essere contattato dai client

Accetta richieste da client arbitrari,ma offre un solo servizio

Calcolatore condiviso e macchina potente

Il server attende passivamente di essere Il server attende passivamente di essere contattato, mentre il client avvia il processo di contattato, mentre il client avvia il processo di comunicazionecomunicazione

Page 5: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 5Alberto Polzonetti

Reti di calcolatori

Interazione tra client e serverInterazione tra client e serverEA

dati j k Trasporto dati j k Trasport

o

dati j k A E Rete dati j k A E Rete

dati

j k A E 95

77

collegamento

dati

j k A E 95

77

collegamento

Internet

client server

Page 6: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 6Alberto Polzonetti

Reti di calcolatori

Servizi multipliServizi multipli

TRASPORTO

INTER-RETE

SCHEDA DI RETE

Un calcolatore di classe server può offrire Un calcolatore di classe server può offrire contemporaneamente più servizi, ciascuno dei quali è erogato contemporaneamente più servizi, ciascuno dei quali è erogato da una specifica applicazione serverda una specifica applicazione server

TRASPORTO

INTER-RETE

SCHEDA DI RETE

TRASPORTO

INTER-RETE

SCHEDA DI RETE

Client 1 Client 2Server 1 Server 2

Page 7: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 7Alberto Polzonetti

Reti di calcolatori

Creazione dinamica (1)Creazione dinamica (1)

Erogazione dello stesso servizio a più client senza che questi Erogazione dello stesso servizio a più client senza che questi debbano mettersi in codadebbano mettersi in coda

TCP

client

Porta effimera

TCP

client

Porta effimera

Porte effimere

serverfiglio

serverfiglio

Server padre

TCP

Porta nota usata solo per l’apertura della

connessione

Server parallelo con connessioni

Page 8: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 8Alberto Polzonetti

Reti di calcolatori

Creazione dinamica (2)Creazione dinamica (2)

Erogazione dello stesso servizio a più client memorizzati in una Erogazione dello stesso servizio a più client memorizzati in una coda in attesa di essere processaticoda in attesa di essere processati

Server sequenziale senza connessioni(specifici per server che usano UDP)

UDP

client

Porta effimera

UDP

client

Porta effimera Porta

nota

Server

UDP

Un client alla volta

Page 9: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 9Alberto Polzonetti

Reti di calcolatori

Interfaccia socketInterfaccia socket

1. Le applicazioni client e server comunicano tramite i protocolli di trasporto

2. Le applicazioni debbono fornire al protocollo molte informazioni API (Application

Program Interface): insieme di procedure che le applicazioni possono invocare

3. API non è definita all’interno dei protocolli di comunicazione, ma parte dei sistemi operativi residenti

4. Interfaccia SOCKET standard de facto

1. Nel sistema UNIX BSD l’interfaccia socket è parte del sistema operativo

2. Molti produttori aggiungono le socket ai loro sistemi

3. Librerie di procedure (Libreria delle Socket) Mettono a disposizione

delle applicazioni un API Socket anche se il sistema operativo sottostante non le prevede

Quando le applicazioni chiamano una procedura della libreria essa invoca le funzioni del proprio sistema operativo per ottenere l’effetto desiderato

Page 10: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 10Alberto Polzonetti

Reti di calcolatori

DESCRITTORE SOCKETDESCRITTORE SOCKET

La comunicazione tramite socket si basa sul concetto di descrittore

Il descrittore rappresenta un oggetto

Le procedure sono metodi applicati all’oggetto

Flessibilità nello scrivere una sola applicazione per il trasferimento di dati verso destinazioni di natura diversa

Il descrittore può individuare un file

I dati saranno scritti sul file

Il descrittore può individuare una socket

I dati saranno trasferiti verso una applicazione di rete

Procedura SOCKET

Crea una socket e restituisce il descrittore

sd=socket(fam_prot,tipo,protocollo)

Fam_protFamiglia dei protocolli da usare (PF_INET per TCP/IP)(PF_DECnet per DEC)

Tipo

Modalità di comunicazione1. Trasmissione orientata

alla connessione (SOCK_STREAM)

2. Trasmissione priva di connessione (SOCK_DGRAM)

ProtocolloIl particolare protocollo di trasporto0 nel caso TCP/IP

sdDescrittore (numero naturale) che individua il socket (-1 for error)

Page 11: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 11Alberto Polzonetti

Reti di calcolatori

PROCEDURE SOCKETPROCEDURE SOCKET

Procedura close

Richiede al sistema la chiusura di una socket

Close (sd)

sdDescrittore (numero naturale) che individua il socket

Procedura bind

Lega un socket ad un indirizzo socket locale, cioè definisce il valore dell’indirizzo socket locale

Bind (sd,ind_locale,lungh_ind)

sdDescrittore (numero naturale) che individua il socket

ind_locale Indirizzo locale da assegnare alla socket

lungh_ind Intero che rappresenta la lunghezza dell’indirizzo

Di solito i client non chiamano la funzione BIND perche dell’indirizzo socket locale se ne occupa il sistema operativo

Procedura listen

Rende la socket passiva sul server per poterla usare per ricevere dati dal client

Listen (sd,lungh_coda)

lungh_coda Massima lunghezza della coda

Page 12: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 12Alberto Polzonetti

Reti di calcolatori

PROCEDURE SOCKET (continua)PROCEDURE SOCKET (continua)

Procedura accept

Chiamata dal server e rimuove la prima richiesta di connessione dalla coda corrispondente.

Nuova_socket=accept( sd, ind_client,lungh_ind_client)

Riempie i campi ind_client con l’indirizzo del client che inoltra la richiesta, crea una nuova socket e ne ritorna il descrittore al server

Procedura connect

Usata dal client per collegarsi al server

Connect(sd,ind_server,lungh_ind_server)

Procedura send

Trasferisce i dati in una comunicazione orientata alla connessione

Send(sd,dati…..)

Procedura sendto

Trasferisce i dati in una comunicazione priva di connessione

Send(sd,dati, ind_dest…..)

Procedura recv

Riceve i dati in una comunicazione orientata alla connessione

Recv(sd, buffer, …..)

Procedura recvfrom

Riceve i dati in una comunicazione priva di connessione

Recv(sd, buffer, ind_mitt,…..)

Page 13: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 13Alberto Polzonetti

Reti di calcolatori

Esempio per server parallelo con Esempio per server parallelo con connessioniconnessioni

socket

bind

listen

socket

connect

ripetizione

accept

Closeaccepting

recv

processo

send

ripetizione

Closeaccepting

ripetizione

send

recv

Close

SERVER

CLIENT

CHILD

Page 14: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 14Alberto Polzonetti

Reti di calcolatori

Esempio per server sequenziale senza Esempio per server sequenziale senza connessioniconnessioni

socket

bindsocket

ripetizione

recvfrom

processo

sendto

ripetizione

sendto

recvfrom

Close

SERVER

CLIENT

Page 15: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 15Alberto Polzonetti

Reti di calcolatori

InizializzazioneInizializzazione

L’insieme delle operazioni che hanno luogo all’avvio dei calcolatori è noto come bootstrap

Caricamento dei protocolli Protocolli sono integrati con il sistema operativo Si sfrutta la rete nel processo di boot

I protocolli vanno configurati È necessario fornire al protocollo informazioni

(parametri) sul sistema Indirizzo IP Indirizzo del router principale Maschera di sottorete Indirizzo del server DNS Indirizzo del server delle stampanti Indirizzi di altri server

Page 16: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 16Alberto Polzonetti

Reti di calcolatori

Configurazione di protocolliConfigurazione di protocolli

Configurazione basata sull’accesso al disco

(file di configurazione)

nome_parametro = valore

Configurazione automatica

RARP

ICMP Richiesta maschera degli indirizzi

Scoperta del router

Page 17: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 17Alberto Polzonetti

Reti di calcolatori

Protocollo BOOTPProtocollo BOOTP

Il protocollo di bootstrap (BOOTP) è un protocollo progettato per Il protocollo di bootstrap (BOOTP) è un protocollo progettato per ottenere le informazioni di rete (IP, mask, default gateway, ottenere le informazioni di rete (IP, mask, default gateway, name server) quando vengono installate macchine prive di name server) quando vengono installate macchine prive di discodisco

CLIENT SERVER67

UDP

Apertura passiva

CLIENT SERVER67

UDP

Richiesta

68

richiestaPorta mittente

Porta destinatario

IP mitt

IP destinat

richiesta 68 67Tutti 0

Tutti 1

CLIENT SERVER67

UDP

Risposta

68

risposta 67 68

Indirizzo unicast del server

Indirizzo unicast del client

Page 18: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 18Alberto Polzonetti

Reti di calcolatori

Dynamic Host Configuration Protocol Dynamic Host Configuration Protocol (DHCP)(DHCP)

BOOTP è un protocollo di configurazione statico

DHCP è una estensione di BOOTP pensata per

permettere procedure di configurazione

dinamiche e con esso compatibile

Un server DHCP ha due data base

Uno per la configurazione statica

Uno contiene certi numeri di indirizzi IP da assegnare

in “leasing”

Page 19: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 19Alberto Polzonetti

Reti di calcolatori

DHCP:funzionamentoDHCP:funzionamento

Fase 1 : DHCPDISCOVER Il client cerca di acquisire un indirizzo IP Inviato in broadcast Include il MAC address

Fase 2 : DHCPOFFER Inviato da qualsiasi server DHCP che riceve la richiesta discover Offerta indirizzo IP e tempo di leasing Il server congela l’indirizzo IP offerto

Fase 3 : DHCPREQUEST Il client sceglie le offerte ricevute e ne invia uno al server

FASE 4 : DHCPACK Conferma da parte del server Creazione della corrispondenza tra MAC ed IP

Rinnovi di licenza Ogni volta che un client DHCP si riavvia Al 50% del tempo

Page 20: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 20Alberto Polzonetti

Reti di calcolatori

Nomi di DominioNomi di Dominio

INDIRIZZI IP 151.100.20.152Registro

Nomi

it

uniroma1

let cri

cri.let.uniroma1.it

sistema di registrazione unificato

Domain Name System (DNS)

un nome è decodificato da destra verso sinistra

la parte più a destra è definita zona

Page 21: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 21Alberto Polzonetti

Reti di calcolatori

Segmenti di un nomeSegmenti di un nome

Il DNS non richiede l’uso di uno specifico numero di segmenti né richiede cosa debbano rappresentare

Per il livello più alto (top level) il DNS :

Stabilisce i valori possibili

Stabilisce il loro significato

com Società commerciali

edu Scuole università

gov Dipartimenti governativi

int Organizzazioni internazionali

mil Posizioni militari

net Organizzazioni di gestione di rete

org Tutto il resto

Sigla Una nazione

Page 22: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 22Alberto Polzonetti

Reti di calcolatori

I magnifici sette TLDI magnifici sette TLD

Icann (Internet Corporation for Assigned Names and Numbers), l'organizzazione internazionale che sovrintende alla gestione degli indirizzi sulla Rete.

.aero (proposto dalla Società Internazionale de Telecomunications Aeronatique);

.biz (proposto da IV-Team); .coop (National Cooperative Business Association); .info (Afilias); .museum (proposto da Museum Domain Management

Association); .name (Global Name Registry); .pro (Registry Pro). L'Icann ha invece respinto molti top Level Domain proposti,

come .health (per la salute) , .travel (per i viaggi) , .union, .web e .kids.

Page 23: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 23Alberto Polzonetti

Reti di calcolatori

UNA PORZIONE DEL DNSUNA PORZIONE DEL DNS

Page 24: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 24Alberto Polzonetti

Reti di calcolatori

Gerarchia dei nomiGerarchia dei nomi

com

bar sport

caffè

gelato

pannanocciolacioccolato

caffè.barsport.com

panna.gelato.barsport.com

Page 25: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 25Alberto Polzonetti

Reti di calcolatori

Modello client-server DNS: gerarchiaModello client-server DNS: gerarchia

com

bar sport

caffè

gelato

pannanocciolacioccolato

com

bar sport

caffè

gelato

pannanocciolacioccolato

Root server

Server di barsport.com

Server di gelato.

barsport.com

Root server

Server di barsport.com

Server di panna.gelato

. barsport.com

Page 26: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 26Alberto Polzonetti

Reti di calcolatori

Collegamento tra i server (regole)Collegamento tra i server (regole)

I server DNS sono collegati fra loro e formano un sistema unitario

Ogni server è in grado di contattare un root server Ogni server è in grado di contattare tutti i server dei

livelli inferiori della gerarchia I root server hanno per zona di controllo l’intero

spazio dei nomi di dominio (attualmente ne sono 13) Server primario

Possiede un file relativo alla zona di sua responsabilità Sono di sua competenza la gestione e l’aggiornamento

del file Server secondario

Riceve le informazioni relative ad una certa zona da un altro server primario o secondario

Non gestiscono i file Duplica il server primario e può essere utile in caso di

problemi di quest’ultimo

Page 27: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 27Alberto Polzonetti

Reti di calcolatori

Risoluzione di indirizziRisoluzione di indirizzi

Il processo che associa un nome ad un indirizzo IP è detto risoluzione di indirizzo

Un host che debba risolvere un indirizzo si rivoge ad un client DNS che si chiama resolver

Il resolver Invia una richiesta al DNS server più vicino Il server DNS

Invia la risposta se è in grado autonomamente di risolvere l’indirizzo

Oppure Si rivolge ad un altro server (risoluzione ricorsiva) Comunica al resolver l’indirizzo di un altro server (risoluzione iterativa)

Associazione di un indirizzo ad un nome (risoluzione inversa)

L’indirizzo IP viene invertito e gli vengono aggiunti i suffissi in-addr e arpa

Es. 132.34.45.121 121.45.34.132.in-addr.arpa

Page 28: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 28Alberto Polzonetti

Reti di calcolatori

Risoluzione ricorsivaRisoluzione ricorsiva

client

Mcgraw.com

Fhda.edu1

edu

2

Root server

3

com

4

5

67

8

9

10

Page 29: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 29Alberto Polzonetti

Reti di calcolatori

Risoluzione IterativaRisoluzione Iterativa

client

Mcgraw.com

Fhda.edu1

2

edu

3

4

Root server

6

5

com7

8

9

10

Page 30: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 30Alberto Polzonetti

Reti di calcolatori

Ottimizzazioni delle prestazioniOttimizzazioni delle prestazioni

Replica su altri server

Caching

Risposta non autorevole

Dynamic Domain Name System (DDNS)

Quando viene costituita una nuova

corrispondenza nome-indirizzo viene inviato

messaggio DHCP ad un server primario

Si aggiorna il file di zona

Si notifica al server secondario

Page 31: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 31Alberto Polzonetti

Reti di calcolatori

Messaggi DNSMessaggi DNS

Header 12 byte

Record richieste

Header 12 byte

Record richieste

Record risposte

Risposte autorevoli

Sezione supplementare

messaggi

richiesta risposta

Page 32: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 32Alberto Polzonetti

Reti di calcolatori

Record richiestaRecord richiesta

Query nameQuery type Query

class

5 a d m i n 3 a t c 4 f h d a 3 e d u 0

1 ARichiesta di indirizzo IPv4

2 NSRichiesta name server

5CNAM

EAlias

15 MX Indirizzo e-mail

28 AAAARichiesta indirizzo IPv6

…. …… …………

1 INinterne

t

Page 33: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 33Alberto Polzonetti

Reti di calcolatori

Record RispostaRecord Risposta

dominio namedomain type domain class

Tempo residuo

Lunghezza risposta

RISPOSTA

Page 34: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 34Alberto Polzonetti

Reti di calcolatori

Servizi di un programma di posta (1)Servizi di un programma di posta (1)

Aliasing rappresenta la capacità di definire dei nome simbolici per i propri

corrispondenti postali in luogo degli indirizzi veri e propri. Per esempio si può decidere che edk sia una efficiente abbrevazione per [email protected].

Folder (cassette postali) Rappresenta la capacità di organizzare la propria posta in

opportune caselle postali organizzate secondo un criterio. Ad esempio si possono organizzare caselle con argomenti personali, con avvisi di seminari e con la corrispondenza che si tiene con una determinata persona.

Forwarding (ritrasmissione) Ha il significato di ritrasmettere la posta ricevuta sul proprio

computer ad un altro utente su un altro computer che può essere interessato a questo argomento.

Aliasing rappresenta la capacità di definire dei nome simbolici per i propri

corrispondenti postali in luogo degli indirizzi veri e propri. Per esempio si può decidere che edk sia una efficiente abbrevazione per [email protected].

Folder (cassette postali) Rappresenta la capacità di organizzare la propria posta in

opportune caselle postali organizzate secondo un criterio. Ad esempio si possono organizzare caselle con argomenti personali, con avvisi di seminari e con la corrispondenza che si tiene con una determinata persona.

Forwarding (ritrasmissione) Ha il significato di ritrasmettere la posta ricevuta sul proprio

computer ad un altro utente su un altro computer che può essere interessato a questo argomento.

Page 35: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 35Alberto Polzonetti

Reti di calcolatori

Servizi di un programma di posta (2)Servizi di un programma di posta (2)

Inclusione di file testo Si possono trasmettere interi documenti di tipo testo per posta

elettronica senza andare ad usare utility tipo FTP.

Mailing List Rappresenta la capacità di trasmettere un messaggio ad un

gruppo di persone senza dover trasmettere lo stesso messaggio ad ognuna di esse.

Reply Rappresenta il modo più rapido per mandare un messaggio in

risposta ad uno precedentemente ricevuto, in quanto il sistema ricopia automaticamente l'indirizzo del mittente inserendolo nella parte destinazione del messaggio da trasmettere.

Inclusione di file testo Si possono trasmettere interi documenti di tipo testo per posta

elettronica senza andare ad usare utility tipo FTP.

Mailing List Rappresenta la capacità di trasmettere un messaggio ad un

gruppo di persone senza dover trasmettere lo stesso messaggio ad ognuna di esse.

Reply Rappresenta il modo più rapido per mandare un messaggio in

risposta ad uno precedentemente ricevuto, in quanto il sistema ricopia automaticamente l'indirizzo del mittente inserendolo nella parte destinazione del messaggio da trasmettere.

Page 36: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 36Alberto Polzonetti

Reti di calcolatori

FunzionamentoFunzionamento

Mailer Mail program, mail application, mailer client Software che permette di gestire, leggere e scrivere

la posta elettronica Mail Server

Computer la cui funzione ricevere, registrare e consegnare la posta elettronica

Mailbox File appositamente formattato per registrare i

messaggi e-mail e le informazioni correlate

Page 37: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 37Alberto Polzonetti

Reti di calcolatori

SMTP (Single Mail Transfer Protocol): SMTP (Single Mail Transfer Protocol): utilizzato per inviare posta elettronica utilizzato per inviare posta elettronica

Page 38: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 38Alberto Polzonetti

Reti di calcolatori

POP (Post Office Protocol ): utilizzato per POP (Post Office Protocol ): utilizzato per ricevere posta elettronica ricevere posta elettronica

Page 39: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 39Alberto Polzonetti

Reti di calcolatori

Mail Server store and forwardMail Server store and forward

Page 40: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 40Alberto Polzonetti

Reti di calcolatori

Mail Server Central Mail Spool (Internet Mail Server Central Mail Spool (Internet Message Access Protocol)Message Access Protocol)

Page 41: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 41Alberto Polzonetti

Reti di calcolatori

Uso della posta elettronica per trasmettere Uso della posta elettronica per trasmettere filesfiles

ASCII ristretto ed ASCII esteso Impossibile trasmettere un file binario

La codifica avviene utilizzando lo standard MIME (Multipurpose Internet Mail Extension)

MIME permette a mittente e destinatario la libertà di scegliere lo schema di codifica

Il mittente include nell’intestazione una riga che indica l’uso di MIME e nel corpo alcune informazioni che specificano il tipo dei dati inviati e lo schema di codifica adottato.

MIME-version: 1.0Content-type: text/plain

Page 42: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 42Alberto Polzonetti

Reti di calcolatori

Trasferimento dei fileTrasferimento dei file

Il sevizio di trasferimento file più diffuso in Internet segue il Protocollo di Trasferimento dei File (FTP)

Protocollo generale Trasferimento files di natura arbitraria Controllo degli accessi Superamento delle differenze dei diversi sistemi

operativi Il protocollo è stato pensato per essere

usato in maniera batch o interattiva Nella maniera interattiva le richieste dei

client avvengono mediante una interfaccia di comando

Page 43: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 43Alberto Polzonetti

Reti di calcolatori

FTPFTP

Page 44: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 44Alberto Polzonetti

Reti di calcolatori

Comandi e sessione FTPComandi e sessione FTP

Collegamenti ed autorizzazioni ftp stabilisce una connessione di controllo prima

di iniziare a trasferire i dati Si deve fornire una login e password La connessione di controllo rimane attiva

fintantoché gli utenti non la chiudono esplicitamente

Accesso anonimo Anonymous FTP (account speciale usato solo con

ftp) Trasferimento bidirezionale

Per ottenere file: get oppure mget Per depositare files : send oppure mput

Page 45: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 45Alberto Polzonetti

Reti di calcolatori

Comandi e sessione FTPComandi e sessione FTP

Nomi dei file e caratteri jolly Es: li* Possibili differenze di formato di lunghezza dei

nomi Cartelle

cd nome cartella Cdup Ls esamina contenuto cartella

Tipi di file e modalità di trasferimento Modalità testuale ascii Modalità binaria binary

Page 46: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 46Alberto Polzonetti

Reti di calcolatori

Esempio di utilizzoEsempio di utilizzo

Page 47: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 47Alberto Polzonetti

Reti di calcolatori

Esempio di utilizzoEsempio di utilizzo

Page 48: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 48Alberto Polzonetti

Reti di calcolatori

Connessione dati

Connessione di controllo

Connessione dati e di controlloConnessione dati e di controllo

Le connessioni di controllo usate esclusivamente per trasmettere comandi e ricevere le relative risposte

Per trasferire i dati si richiede una autonoma connessione creata ex-novo e chiusa alla fine del trasferimento

Sono usate porte diverse per evitare conflitti Vantaggi:

Eliminazione di ambiguità tra comandi e dati Possibilità di attivare comandi anche quando è in corso una connessione dati Mittente e destinatario applicano lo stato convenzionale di fine file eof

Client FTP Server FTP21 20

Page 49: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 49Alberto Polzonetti

Reti di calcolatori

Altri protocolli relativi ai fileAltri protocolli relativi ai file

Trivial File Transfer Protocol (TFTP)

Usa UDP

Scarso set di comandi e richiesta di meno memoria

Network File System (NFS)

Servizio di accesso ai files che permette ai client di

modificare o copiare porzioni di files

Il client NFS invia al server NFS interessato i dati e la

richiesta di scrittura, il server procede alla scrittura ed

avvisa il client dell’avvenuta operazione

L’interfaccia NFS è integrata con il file system del

calcolatore

Condivisione di cartella

Page 50: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 50Alberto Polzonetti

Reti di calcolatori

Web ServerWeb Server

Un World Wide Web server distribuisce i documenti richiesti

Il Web Server opera nella rete per questo servizio con un protocollo che si chiama http [Hypertext Transfer Protocol]http [Hypertext Transfer Protocol]

Page 51: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 51Alberto Polzonetti

Reti di calcolatori

Web ServerWeb Server

Web client

Web Server

Richiesta http del client

Web client

Replica http del se

rver

Page 52: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 52Alberto Polzonetti

Reti di calcolatori

CLIENT WEBCLIENT WEB

VISUALIZZATORI DELLE INFORMAZIONI REPERIBILI IN LINEA SU QUESTO O QUEL SERVER (interfaccia utente – internet)

INTERPRETA IL CODICE HTML

SINGOLARI PER CAPACITA’ E STRUTTURAZIONE PROPRIA

VISUALIZZATORI DELLE INFORMAZIONI REPERIBILI IN LINEA SU QUESTO O QUEL SERVER (interfaccia utente – internet)

INTERPRETA IL CODICE HTML

SINGOLARI PER CAPACITA’ E STRUTTURAZIONE PROPRIA

BROWSERBROWSER

Page 53: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 53Alberto Polzonetti

Reti di calcolatori

Che cosa è HTMLChe cosa è HTML

HyperText Markup Language HyperText Markup Language [HTML] (linguaggio di etichettatura per gli ipertesti) è il linguaggio del World Wide Web.

Si marcano i files testo con puntine HTML (TAGTAG) in modo tale che essi possano essere letti localmente o in rete da i BROWSERBROWSER.

I TAG sono codici evidenziati dai simboli < e >< e > ; i BROWSER leggono ed interpretano questi codici per formattare il documento sullo schermo

Page 54: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 54Alberto Polzonetti

Reti di calcolatori

Capacità di HTMLCapacità di HTML

Formattazione di documenti Abilità di includere collegamenti

(HYPERLINKS) che puntano a documenti o servizi di altri computer

Un vasta possibilità di presentare liste Creazione di testi preformattati Visualizzazione di immagini grafiche che

possono essere anche usate come punti di collegamento e di mappe grafiche collegabili in punti diversi

Creazione di tabelle e di “forms”

Page 55: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 55Alberto Polzonetti

Reti di calcolatori

StandardStandard

HTML non descrive un testo come un HTML non descrive un testo come un linguaggio di programmazionelinguaggio di programmazione

Si limita ad evidenziare il contenuto Si limita ad evidenziare il contenuto del file con una serie di attributi che del file con una serie di attributi che sono stati precedentemente definiti sono stati precedentemente definiti

il linguaggio ufficiale HTML è dunque il linguaggio ufficiale HTML è dunque uno specifico insieme di TAG che tutti i uno specifico insieme di TAG che tutti i browser dovrebbero interpretarebrowser dovrebbero interpretare

alcuni browser sono capaci di alcuni browser sono capaci di

interpretare TAG addizionali al di fuori interpretare TAG addizionali al di fuori

degli standarddegli standard

Page 56: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 56Alberto Polzonetti

Reti di calcolatori

Come lavora il browserCome lavora il browser

FUNZIONI BASE

trasmissione trasmissione richiestarichiesta

ricevimento ricevimento datidati

visualizzazione visualizzazione informazioniinformazioni

MODO:MODO:

GRAFICOGRAFICO

NON GRAFICONON GRAFICO

Page 57: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 57Alberto Polzonetti

Reti di calcolatori

Come lavora il browserCome lavora il browser

HELPER APPLICATIONS del proprio computer abilitano ad altre funzioni:

ftp e-mail news telnet etc... suoni & video

Le preferenze impostate determinano come viene visualizzato il documento

Page 58: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 58Alberto Polzonetti

Reti di calcolatori

FUNZIONAMENTO DEL BROWSERFUNZIONAMENTO DEL BROWSER

Page 59: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 59Alberto Polzonetti

Reti di calcolatori

MOSAICMOSAIC

TIM Barners-Lee .Ha sviluppato nel 1989 il World Wide Web coordinando il lavoro del primo browser tra CERN e NCSA

Page 60: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 60Alberto Polzonetti

Reti di calcolatori

NETSCAPENETSCAPE

Netscape fondata nel 1994, è al suo terzo anno di vita, l’azienda a più veloce sviluppo della storia americana.

l’utile netto del 96 è stato di 21 milioni di dollari su 346 milioni di fatturato

incremento sull’anno precedente del 305%.

dimensioni della azienda si sono quadruplicate e si è arrivati a circa 2000 dipendenti

Tutto è cominciato nel 1995 con l’entrata in funzione del Web ; la Netscape è stata la più veloce a comprendere l’importanza di questa innovazione nel mondo Internet, lanciando Navigotor indispensabile per orientarsi in una ragnatela mondiale che diventa ogni giorno più intricata.

Netscape fondata nel 1994, è al suo terzo anno di vita, l’azienda a più veloce sviluppo della storia americana.

l’utile netto del 96 è stato di 21 milioni di dollari su 346 milioni di fatturato

incremento sull’anno precedente del 305%.

dimensioni della azienda si sono quadruplicate e si è arrivati a circa 2000 dipendenti

Tutto è cominciato nel 1995 con l’entrata in funzione del Web ; la Netscape è stata la più veloce a comprendere l’importanza di questa innovazione nel mondo Internet, lanciando Navigotor indispensabile per orientarsi in una ragnatela mondiale che diventa ogni giorno più intricata.

James H. Clark James H. Clark

Page 61: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 61Alberto Polzonetti

Reti di calcolatori

MICROSOFT INTERNET EXPLORERMICROSOFT INTERNET EXPLORER

Page 62: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 62Alberto Polzonetti

Reti di calcolatori

INDIRIZZO (URL)INDIRIZZO (URL)

COME:http:// - Hyper Text Transef Protocol, il protocollo di trasmissione di ipertesti

DOVE :www.geocities.com - Il nome del server

QUALE:/SiliconValley/Park/ - La parte del computer del server (geocities) dove è la pagina. "index.htm" è il nome della pagina.

COME:http:// - Hyper Text Transef Protocol, il protocollo di trasmissione di ipertesti

DOVE :www.geocities.com - Il nome del server

QUALE:/SiliconValley/Park/ - La parte del computer del server (geocities) dove è la pagina. "index.htm" è il nome della pagina.

http://www.geocities.com/SiliconValley/Park/index.htm

Page 63: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 63Alberto Polzonetti

Reti di calcolatori

Che cosa è una URLChe cosa è una URL

Uniform Resource LocatorUniform Resource Locator[URL] rappresenta la chiave per localizzare ed interpretare le informazioni in Internet.

E’ la maniera standard per descrivere sia la locazione della risorsa che il suo contenuto

SINTASSI STANDARD :SINTASSI STANDARD :

nomeservizio://indirizzohost/risorsa

Page 64: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 64Alberto Polzonetti

Reti di calcolatori

Differenti serviziDifferenti servizi

http://www.unicam.it/university/unitoper/chimica/index.html

ftp://camcic.unicam.it/pub gopher://camcic.unicam.it/ news:news.announce.conference telnet://camcic.unicam.it mailto:[email protected] file://esemp01.html

Page 65: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 65Alberto Polzonetti

Reti di calcolatori

Server WEBServer WEB

Server WEB = piattaforma + software + informazioni

computerHard disk

documenti

RETE

httpd

HTTP

Page 66: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 66Alberto Polzonetti

Reti di calcolatori

HTTPHTTP

Protocollo per il trasporto degli ipertesti (HyperText Transport Protocol)

Permette al browser di richiedere uno specifico documento

Permette al server web di trasmetterlo lungo la connessione

Il protocollo definisce il formato delle richieste e delle risposte

Fino a tutto il 97’ browser e server erano implementati con la versione HTTP/1.0 definita da RFC 1945

Di seguito è stata implementata la versione HTTP/1.1 definita da RFC 2616

Le due versioni sono compatibili

Page 67: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 67Alberto Polzonetti

Reti di calcolatori

Penetrazione dei server webPenetrazione dei server web

Server Number Percentage

Apache 20.866.868 56.87%

Microsoft-IIS 11.096.896 30.25%

Netscape-Enterprise 1.295.353 3.53%

Page 68: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 68Alberto Polzonetti

Reti di calcolatori

Architettura dei server WEBArchitettura dei server WEB

Attendono la richiesta di connessione da parte del browser

Accettano la richiesta Attendono la richiesta di uno specifico

documento Inviano una copia lungo la connessione Chiudono la connessione Ricominciano da capo

Page 69: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 69Alberto Polzonetti

Reti di calcolatori

Connessioni e servizi webConnessioni e servizi web

Porta di default del server 80 Altri servizi web implementati su altre porte es.

8080, 8081 http://www.server.org/pippo.html http://www.server.org:8080/pippo.html

Server virtuali supportata da un estensione del sistema operativo denominata supporto host virtuale

Connessioni non permanenti e permanenti

Richiesta HTTP

Risposta HTTP

Richiesta HTTP

Risposta HTTP

Page 70: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 70Alberto Polzonetti

Reti di calcolatori

Formato generale di una richiesta Formato generale di una richiesta

metodo SP URL SPVersion

eCR LF

Linea di richiesta

campo nome intestazione : valore CR LF

Linea di intestazion

e

.

.campo nome intestazione : valore CR LF

CR LF

Corpo dell’entità

Page 71: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 71Alberto Polzonetti

Reti di calcolatori

Linea di richiestaLinea di richiesta

METODO GET

Restituisce l’oggetto HEAD

Restituisce solo le informazioni sull’oggetto POST

Input dei forms Altri metodi

URL url del documento

VERSIONE Versione http

Page 72: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 72Alberto Polzonetti

Reti di calcolatori

Linea di intestazioneLinea di intestazione

CAMPO VALORE

User agent Tipo di browser che effettua la richiesta

AcceptI tipi MIME che il browser è preparato ad accettare

Host Nome dell’host a cui connettersi

Connection Tipo di connessione

Authorization La password dell’utente

If Modified Since

Richiede che l’oggetto venga restituito solo se più recente della data specificata

Page 73: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 73Alberto Polzonetti

Reti di calcolatori

Esempio di una richiesta Esempio di una richiesta

GET SPSomedir/

page.htmlSP

HTTP/1.1

CR LFLinea di richiesta

HOST :www.school.ne

tCR LF

Linea di intestazion

e

Connection : close CR LF

User-agent :Mozilla/

4.0CR LF

Accept-language : fr CR LF

CR LF

Quando il metodo è GET non è usato il corpo dell’entità

Page 74: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 74Alberto Polzonetti

Reti di calcolatori

Formato generale di una rispostaFormato generale di una risposta

Versione SPCodice di

statoSP Frase CR LF

Linea di stato

campo nome intestazione : valore CR LF

Linea di intestazion

e

.

.campo nome intestazione : valore CR LF

CR LF

Corpo dell’entità

Page 75: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 75Alberto Polzonetti

Reti di calcolatori

Linea di statoLinea di stato

Versione Versione protocollo

Codice di Stato e Frase 200 OK 301 Moved Permanently 400 Bad Request 404 Not Found 505 HTTP Version non supported

Page 76: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 76Alberto Polzonetti

Reti di calcolatori

Linea di intestazioneLinea di intestazione

CAMPO VALORE

Date Data in cui la risposta è stata creata

ServerTipo di software che ha creato la risposta

Last-Modified Ultima modifica dell’oggetto trasferito

Connection Tipo di connessione

Content-Lenght

Numero di byte dell’oggetto da spedire

Content-Type Tipo MIME dell’oggetto

Content-Encode

Ulteriore codifica

Page 77: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 77Alberto Polzonetti

Reti di calcolatori

Esempio di una risposta Esempio di una risposta

HTTP/1.1

SP 200 SP OK CR LFLinea di

stato

Connection : Close CR LF

Linea di intestazi

one

Date :

Thu, 06 Aug 1998

12:00:15 GMT

CR LF

Server :Apache/1.3.0

(UNIX)CR LF

Last-Modified :

Mon, 22 jun 1998

09:23:24 GMT

CR LF

Content-Lenght : 6821 CR LF

Content-Type : Text/html CR LF

CR LF

OGGETTO

Page 78: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 78Alberto Polzonetti

Reti di calcolatori

Autenticazione e cookieAutenticazione e cookie

Il client invia un messaggio di richiesta ordinario

Server risponde con codice di stato 401 Authorization Required e con intestazione WWW-Authenticate:

Il client risponde con Authorization: completa di user name e password

Dopo aver ottenuto il primo oggetto il client continua sempre ad inviare il campo Authorization

Il server invia una intestazione Set cookie : 1678453

Il client appende una linea ad uno speciale file cookie che comprende il nome dell’host associato all’identificazione

Nelle richieste successive allo stesso server il client include una intestazione Cookie : 1678453

Il server sa che questo utente ha fatto una richiesta la settimana prima

Page 79: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 79Alberto Polzonetti

Reti di calcolatori

ARCHITETTURA dei BROWSERARCHITETTURA dei BROWSER

Unità di controllo

Input dal mouse o dalla tasiera

driver

Interprete facoltativo

Interprete HTML Output

inviato allo schermo

Client facoltativo

Client HTTP

Scheda di rete

Comunicazione con il server WEB

Richiesta di riferimento hyperlink

Esecuzione di un client per acquisire il documento

Esecuzione di un interprete per visualizzare i contenuti

Page 80: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 80Alberto Polzonetti

Reti di calcolatori

Architettura del browserArchitettura del browser

Interprete Accetta in ingresso un testo ASCII Fornisce in uscita il testo impaginato Tiene traccia delle relazioni intercorrenti fra le

posizioni sullo schermo degli oggetti selezionabili e le ancore presenti inhtml, perché il browser sfrutta la posizione dell’oggetto per determinare quale riferimento eseguire

Client facoltativi Client per altri servizi da effettuare in maniera

trasparente per l’utente (ftp, e-mail, ecc..) Cache

Migliora la rapidità di accesso ai documenti

Page 81: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 81Alberto Polzonetti

Reti di calcolatori

Cache del client : GET condizionatoCache del client : GET condizionato

Richiesta client GET /fruit/kiwi.gif

HTTP/1.0 Risposta server

HTTP/1.0 200 OK Date: wed, 12 aug

1998 15:39:12 Server: Apache/1.3.0

(unix) Last-Modified: Mon, 22

jun 1998 09:23:24 Content Type:

image/gif Il client memorizza

l’oggetto nella propria cache

Richiesta client dopo una settimana

GET /fruit/kiwi.gif HTTP/1.0

If-modified-since: Mon, 22 jun 1998 09:23:24

Risposta server HTTP/1.0 304 NOT

MODIFIED Date: wed, 19 aug

1998 20:39:12 Server: Apache/1.3.0

(unix) CORPO DELL’ENTITA’

VUOTO

Page 82: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 82Alberto Polzonetti

Reti di calcolatori

Cache del web server: proxy serverCache del web server: proxy server

Il browser stabilisce una connessione TCP con il proxy server ed invia una richiesta HTTP di un oggetto

Se l’oggetto cercato è nel proxy, questo inoltra l’oggetto nel messaggio di risposta

Se l’oggetto cercato non c’e’, il proxy apre una connessione TCP con il destinatario originale ed invia una richiesta HTTP dell’oggetto specificato

Quando il proxy riceve l’oggetto ne archivia una copia nella memoria locale ed invia l’oggetto all’interno di un messaggio di risposta HTTP

Page 83: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 83Alberto Polzonetti

Reti di calcolatori

Vantaggi di un server proxyVantaggi di un server proxy

Riduzione dei tempi di risposta Riduzione consistente di traffico internet Infrastruttura per la rapida diffusione dei

contenuti richiesti Analisi del traffico in uscita

Page 84: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 84Alberto Polzonetti

Reti di calcolatori

Tipi di documenti WEBTipi di documenti WEB

Documenti statici Documenti Dinamici

Il server deve eseguire una applicazione (SCRIPT) in presenza di una richiesta

Il server riceve l’output dall’applicazione e lo restituisce al client

Documenti attivi Non sono specificati in tutto e per tutto dal server Consistono in una applicazione che il server invia

al richiedente Il browser esegue l’applicazione localmente ed il

risultato rappresenta il documento attivo Hanno la capacità di aggiornarsi continuamente

Page 85: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 85Alberto Polzonetti

Reti di calcolatori

DOCUMENTI STATICIDOCUMENTI STATICI

Il documento risiede su un file associato al web server

Sono in forma testuale (text/plain o text/html) Il contenuto e’ determinato dall’autore al

momento della creazione Rimangono invariati fino a che non sono

modificati dall’autore Vantaggi

Facili da creare Sono visualizzati velocemente dal browser

Svantaggi Interazione limitata Tendono a invecchiare per mancata manutenzione

Page 86: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 86Alberto Polzonetti

Reti di calcolatori

Documenti dinamiciDocumenti dinamici

Il documento non esiste in un forma predefinita Il documento e’ generato dal server su richiesta del

browser Il contenuto può variare tra una richiesta e l’altra Il server contiene un programma (compilato o

interpretato) il cui output e’ restituito al browser il browser mostra l’output come una pagina HTML Vantaggi

Generano il contenuto dipendentemente dall’input dell’utente

Svantaggi Necessita’ di programmare per la creazione automatica del

contenuto (qualsiasi linguaggio interpretato o eseguito dal server)

Non esistono standard L’input può essere validato solo dal server

Page 87: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 87Alberto Polzonetti

Reti di calcolatori

Documenti DinamiciDocumenti Dinamici

Common Gateway Interface Standard che stabilisce le modalità di interazione tra server web

ed applicazioni Procedura di interazione

il browser invia al server Web una richiesta facendo riferimento al nome dell’applicazione seguita da una serie di parametri;

il server Web riconosce che la richiesta deve essere indirizzata all’applicazione specificata e ne attiva un’istanza passandole opportunamente i parametri

l’applicazione effettua l’elaborazione in base ai parametri acquisiti e crea sullo standard output un flusso di dati che costituisce la pagina di risposta per il browser.

il server Web cattura il flusso di dati generato dall’applicazione CGI e la trasforma in una risposta HTTP

Page 88: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 88Alberto Polzonetti

Reti di calcolatori

Applicazioni CGIApplicazioni CGI

L’applicazione CGI(programma CGI) può essere uno script di shell del sistema operativo uno script di un linguaggio interpretato (ad esempio

Perl) una applicazione vera e propria sviluppata con un

qualsiasi linguaggio di programmazione e che segue alcune regole per interfacciarsi con il Web.

I programmi CGI e il server comunicano principalmente attraverso quattro modi:

Variabili ambientali di sistema Comando di linea (usato per eseguire il programma

CGI in una shell di sistema operativo) Standard Input (usato soprattutto con il metodo

POST) Standard Output

Page 89: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 89Alberto Polzonetti

Reti di calcolatori

Standard OutputStandard Output

il server lascia libero il programma CGI di determinare il tipo di dati da inviare al client, ovviamente entro i limiti delle possibilità offerte dal protocollo HTTP.

Perciò il programma CGI non è tenuto a generare necessariamente un documento HTML, ma può trasmettere anche un tipo diverso di dati, secondo quanto previsto dallo standard MIME

Ciò dà la possibilità di integrare in Internet l'interattività delle form con la multimedialità offerta dal protocollo HTTP.

In generale, il programma CGI, come operazione preliminare, deve inviare sullo Standard Output una intestazione in cui viene specificato il tipo di dati inviato.

Tale intestazione consiste nell'assegnazione "Content- type: MIME type" seguita da una o più linee vuote.

Basta specificare questa informazione: sarà poi il server a formare il pacchetto completo per il client Per esempio, l'intestazione che deve precedere l'invio di un documento HTML da parte di un programma CGI è la seguente:

Content-type: text/html * una o più linee vuote (LF o CRLF) *

Page 90: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 90Alberto Polzonetti

Reti di calcolatori

Limiti della programmazione CGILimiti della programmazione CGI

Carico di elaborazione per il server L’interfaccia non supporta un insieme

esaustivo di tipi di dati L’interfaccia non supporta controllo dei dati

imessi dalla parte del client L’utente deve premere <submit> per ogni

coinvolgimento del server Tenere traccia dello stato tra due richieste

e’ complesso e inefficiente Tuttavia, la manutenzione delle applicazioni

e’ semplice: le modifiche ai dati comportano solo modifiche allo script e ai form acceduti dai client

Page 91: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 91Alberto Polzonetti

Reti di calcolatori

Documenti attiviDocumenti attivi

Il documento non è completamente specificato dal server Consiste di un programma che e’ scaricato dal server sul

browser Il browser deve essere in grado di eseguire il programma Il programma interagisce con l’utente tramite tastiera e mouse Il display è aggiornato senza che sia richiesta una connessione

al server il programma può leggere/scrivere file locali e contattare altri

servizi Internet Vantaggi

Massima flessibilità: client dinamici Interfacce utente più avanzate (es. toolbar) Maggiori funzionalità disponibili

Svantaggi Browser più complesso il programma deve poter essere eseguito su tutti i computer o

quasi Non esistono standard: applet Java, JavaScript, Jscript, VBScript,

ActiveX controls

Page 92: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 92Alberto Polzonetti

Reti di calcolatori

JAVAJAVA

Java e’ utilizzabile per la creazione di documenti web attivi

Java e’ un linguaggio di programmazione sviluppato da pochi programmatori Sun (James Gosling et al.)

nel 1994 stile simile al C++ ma principi presi da Smalltalk pensato come linguaggio di embedded software per piccoli

dispositivi non computer adattato per essere un linguaggio per la programmazione di

applicazioni distribuite web-based e cross-platform Java e’ una piattaforma software Java Virtual Machine (VM): fornisce un ambiente runtime

per l’esecuzione di un programma Java Java API: librerie di classi riusabili isolano le dipendenze

dal sistema

Page 93: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 93Alberto Polzonetti

Reti di calcolatori

Programmi JAVAProgrammi JAVA

JDK (Java Development Kit) include un compilatore a linea di comando

javac traduce codice sorgente Java in bytecode (rappresentazione binaria per una macchina virtuale: VM)

Controllo correttezza sintattica riferimenti a classi esterne Scrittura del programma in formato bytecode su

file con estensione .class Ambienti di sviluppo visuali e interattivi

basati sul JDK PowerJ (Sybase), VisualAge for Java (IBM), Visual

J++ (Microsoft), JBuilder (Borland), Java Workshop (Sun), Visual Cafe (Symantec)

Page 94: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 94Alberto Polzonetti

Reti di calcolatori

Programmi JAVAProgrammi JAVA

Interpretazione dei bytecode ed esecuzione Standalone Eseguito direttamente dall’utente sulla piattaforma Java

Applet Eseguito da un web browser che contiene la Java VM (interprete

dei bytecodes) Il bytecode del programma e’ incluso nelle pagine HTML <APPLET CODE=“HelloWorld.class” WIDTH=150 HEIGHT=25>

</APPLET> L’esecuzione della pagina HTML causa il download dell’applet dal

server al client e l’esecuzione nel client Servlet

Eseguito da un web server che contiene la Java VM Simile a un programma CGI <FORM ACTION=“/servlet/servletname” METHOD=POST>

Page 95: Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocolli Applicativi Alberto Polzonetti alberto.polzonetti@unicam.it.

Lezione 14( 03/04) Protocolli Applicativi 95Alberto Polzonetti

Reti di calcolatori

Lezione 14Lezione 14

BibliografiaBibliografia


Recommended