Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e...

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

Transcript of Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e...

Page 1: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Reti di Calcolatori

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

Page 2: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

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

Sommario Software di rete

TCP/IP

Livello Applicazione

Http

Livello Trasporto (TCP)

Livello Rete (IP, Routing, ICMP)

Livello di Collegamento (Data-Link)

Page 3: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

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

Software di rete I Protocolli di comunicazione

Con il termine “protocollo di comunicazione” si indica l’insieme di regole che

debbono essere seguite da due o più interlocutori affinché siano in grado di capirsi.

Come esempio consideriamo il servizio postale il cui scopo è consentire a due

persone distanti tra loro di comunicare attraverso un documento scritto

L’esempio ci mostra che si possono individuare dei livelli, ed ogni livello

implementa un servizio attraverso l'esecuzione di certe azioni

attraverso l'uso dei servizi forniti nel livello stesso

attraverso l'uso dei servizi forniti dal livello inferiore

Page 4: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

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

Software di rete Il modello di riferimento OSI è strutturato su 7 livelli.

Livello Applicazione

Interfaccia programmi (Application Program Interface).

Livello Presentazione

Formattazione e trasformazione dei dati

Livello Sessione

Instaurazione, mantenimento e conclusione delle sessioni di comunicazione

Livello Trasporto

Invio e ricezione di dati

Livello Rete

Indirizzamento e instradamento dei pacchetti indipendentemente dal mezzo fisico

Livello Collegamento dati

Indirizzamento dei pacchetti in funzione del tipo fisico di comunicazione.

Livello Fisico

Trasmissione dei dati lungo il supporto fisico di comunicazione.

Page 5: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Il modello TCP/IP, precedente ad OSI, viene chiamato anche

modello Department of Defense (DoD) e prevede solo 5 livelli

Livello Applicazione

supporta le applicazioni di rete HTTP, SMTP, DNS

Livello Trasporto (TCP)

TCP (connection oriented)

UDP (connectionless)

Livello Rete o Internet (IP)

instradamento dei datagram dalla sorgente alla destinazione IP

Livello Data Link o Collegamento:

trasferimento dati (frame) lungo il link che collega gli elementi della rete

Ethernet

Livello Fisico

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

Page 6: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete I dati nel trasferirsi da un livello all'altro agiscono secondo il cosiddetto

incapsulamento dove ogni per livello

Prende i dati dal livello superiore

Aggiunge un header per creare una nuova unità dati (PDU Protocol Data Unit)

Passa la nuova unità dati al livello sottostante

Nel TCP/IP dati si definiscono

Messaggi o Stream a livello Applicazione

Segmenti o Pacchetti a livello Trasporto

Datagrammi a livello Rete

Frame o Trame a livello Collegamento

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

Page 7: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione Le applicazioni di rete

Sono eseguite su host differenti

Comunicano attraverso la rete scambiandosi messaggi

Una applicazioni di rete utilizza i servizi del livello di trasporto,

quindi non è necessario sviluppare software per i nodi della rete

poiché essi non eseguono codice applicativo, i nodi di rete hanno

già il loro software (fino al livello di rete).

Esempi d Applicazioni di rete

E-mail, Web , Login remoto, Instant messaging

Condivisione file P2P, Giochi in rete,

Videoconferenza ,Streaming audio/video,Telefonia Internet

Le principali architetture delle applicazioni di rete sono

l’architettura Client Server e l’architettura Peer to Peer(P2P)

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

Page 8: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: architettura client-server

Nella architettura Client-server un client crea una interfaccia utente

di un'applicazione connettendosi ad una applicazione server.

La presenza di un server permette ad un certo numero di client di

condividerne le risorse del server che ha il compito di gestire gli

accessi alle risorse per evitare conflitti

Nel web i client sono i browser (Internet Explorer, Fixefox,…), che

parlano con un server web (Apache, IIS) attraverso HTTP

Nella e-mail i client (Outlook, Eudora,…) detti mail user agent

comunicano con il server attraverso SMTP il POP o IMAP.

Nel DNS (Domain Name System), protocollo applicativo usato per

risolvere (tradurre) i nomi Internet in indirizzi IP, i client sono

eseguiti negli host e nei router, e il server è eseguito nei name

server

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

Page 9: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: architettura client-server

Il server utilizza una struttura dati detta socket composta da

quattro parametri

Source IP address (Indirizzo IP dell’host sorgente)

Source port number (N° Porta che identifica il processo sorgente)

Dest IP address (Indirizzo IP dell’host destinatario)

Dest port number (N° Porta che identifica il processo destinatario)

Un server così può supportare più connessioni simultaneamente,

e ogni socket è identificata da una quadrupla.

L'host ricevente utilizza i quattro valori per dirigere il segmento al

processo appropriato

Ad esempio i web server hanno socket differenti per ogni client,

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

Page 10: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: architettura client-server

Page 11: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: architettura P2P

L’architettura P2P è un insieme di entità autonome capaci di auto

organizzarsi, che condivido in modo completamente o anche solo

parzialmente decentralizzato un insieme di risorse distribuite.

Un sistema P2P è soggetto a connessioni tra i vari peer per

mantenere collegata la rete e altre connessioni per l'effettivo

sfruttamento delle risorse della rete.

All'interno di una rete P2P possiamo condividere vari tipi di risorse:

Informazioni (File-Sharing);

Spazio di Memorizzazione (P2P Storage Network)

Potenza di calcolo (Grid-Computing).

Nel P2P non esisto client e server ma tutti sono client e server

contemporaneamente

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

Page 12: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: WWW e Protocollo HTTP

Una delle applicazioni di rete più conosciuta è il Word Wide Web

ideata da Tim Berners-Lee nel 1991 allora al CERN di Ginevra.

Il protocollo HTTP (hypertext transfer protocol) costituisce il cuore

del Word Wide Web

Una pagina Web è costituita da un file base in linguaggio HTML

che fa riferimento ad uno o più oggetti (altri file HTML, immagini,

Java applet, file audio,...) e ogni oggetto è raggiungibile attraverso

un Uniform Resource Locator (URL) ad esempio

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

Page 13: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: WWW e Protocollo http

Si supponga di accedere ad una pagina web costituita oltre che dalla

pagina base index.html, da 10 immagini jpeg. Una connessione non

persistente si comporta così:

1. Il cliente HTTP inizia una connessione TCP verso il server alla porta 80

2. Il server HTTP “in ascolto” sulla porta 80 “accetta” la richiesta di

connessione e ne dà conferma al cliente

3. Il cliente HTTP manda un request message (contenente l'URL) nella

socket di connessione TCP, Il messaggio indica che il cliente vuole la

pagina base index.html

4. Il server HTTP riceve il messaggio di richiesta, forma il response

message contenente l'oggetto richiesto, invia il messaggio al suo

socket e chiude la connessione TCP

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

Page 14: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete 5. Il cliente HTTP riceve il messaggio di risposta contenente il file html e

lo visualizza quindi analizzando il file html il browser trova i riferimenti a

10 oggetto jpeg

6. I passi 1-5 sono ripetuti per ognuno dei 10 oggetti jpeg

Per calcolare il tempo di risposta (Response time RT) si definisce il

Round Trip Time (RRT) come il tempo di andata e ritorno di un singolo

pacchetto dal cliente al server. Il Response time = 1RTT per iniziare la

connessione + 1RTT per la richiesta HTTP + il tempo di trasmissione

del file. Nel nostro esempio supponendo che il file html ed i 10 file jpg

sono trasmessi nello stesso tempo avremo

RT=2*11*RTT+11*TTF

Nelle connessioni persistenti il server lascia la connessione aperta e i

messaggi successivi tra lo stesso client e server sono trasmessi su

quella connessione. Quindi Il tempo di risposta sarà

RT=2*RTT+11*TTF

Page 15: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: WWW e Protocollo http

I Messaggi di HTTP sono sempre messaggi di testo in formato ASCII e

sono di tipo request, o di tipo response:

Gli HTTP request message hanno questa struttura :

Page 16: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete La prima riga è la request line con tre campi:

Metodo, i comandi GET, POST, HEAD GET richiesta di un oggetto

GET richiesta di un oggetto

POST invio di un form

HEAD invio della intestazione

PUT carica il file contenuto nel body nel path specificato dal campo URL

DELETE cancella il file specificato nel campo URL

URL e il cammino dell'oggetto richiesto

Versione (1.0 NP, 1.1 o 2.0 P)

Un esempio di un messaggio di richiesta è:

GET /somedir/page.html HTTP/1.1

Host: www.someschool.edu

User-agent: Mozilla/4.0

Connection: close

Accept-language:fr

Page 17: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Gli HTTP response message hanno questa struttura

Page 18: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Livello Applicazione: WWW e Protocollo http

Un esempio di un messaggio di risposta è:

HTTP/1.1 200 OK

Connection: close

Date: Thu, 06 Aug 1998 12:00:15 GMT

Server: Apache/1.3.0 (Unix)

Last-Modified: Mon, 22 Jun 1998 …...

Content-Length: 6821

Content-Type: text/html

data data data data data ...

La prima riga è la state line con la risposta della versione e dello stato de server.

200 OK Successo, oggetto richiesto più avanti nel messaggio

301 Moved Permanently L'oggetto richiesto è stato spostato. Il nuovo indirizzo è

specificato più avanti (Location:)

400 Bad Request Richiesta incomprensibile per il server

404 Not Found Il documento non è stato trovato sul server

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

Page 19: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete Cookies: mantenere lo “stato”

Dato che HTTP è “stateless” non è possibile mantenere lo stato di un

client.Per ovviare a questa mancanza molti dei più importanti siti web

usano i cookie.I cookie sono costituiti da quattro componenti:

1. cookie header line nel messaggio di risposta HTTP

2. cookie header line nel messaggio di richiesta HTTP

3. file cookie mantenuto nell'host e gestito dal browser

4. back-end database sul sito Web

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

Page 20: Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e Basi di Dati Lezione 2 Software di rete I Protocolli di comunicazione Con il termine

Software di rete

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