Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e...
Transcript of Reti di Calcolatorilenzitti/masterbioinf/lezione2.pdf · 2012. 9. 12. · Master "Bio Info" Reti e...
Reti di Calcolatori
Master "Bio Info" Reti e Basi di Dati Lezione 2
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)
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
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.
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
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
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
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
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
Software di rete Livello Applicazione: architettura client-server
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
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
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
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
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 :
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
Software di rete Gli HTTP response message hanno questa struttura
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
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
Software di rete
Master "Bio Info" Reti e Basi di Dati Lezione 2