ISO- OSI e architetture Client-Server comunicazione

LEZIONE 9
ISO- OSI e
architetture Client-Server
Proff. Giorgio Valle – Raffaella Folgieri
[email protected]
[email protected]
Lez 10
modello ISO-OSI e architettura client-server
1
Nelle scorse lezioni (reti, internet, strumenti di
lavoro cooperativo) abbiamo parlato di
comunicazione
Gli utenti chiedono comunicazione universale, indipendentemente
dal sistema o dal software utilizzato.
Il modello astratto di rete di comunicazione è definito
dall’INTERNETWORKING:
Tutti gli utenti usano lo stesso modello
Il modello è implementato via software
- una volta a livello applicazione (ora obsoleto)
- oggi implementato a livello di rete
Lez 10
modello ISO-OSI e architettura client-server
2
1
Nelle scorse lezioni (reti, internet, strumenti di
lavoro cooperativo) abbiamo parlato di
internetworking
Una internet (con la “i” minuscola) è l’insieme di più
reti distinte collegate tramite gateway.
Il software di rete fa in modo che gli utenti non si
rendano conto delle differenze tra i sistemi con cui
comunicano.
Il software applicativo è indipendente dalla tecnologia
hardware utilizzata (LAN o WAN che sia)
Lez 10
modello ISO-OSI e architettura client-server
3
Internetworking: standard
Standard:
• Regole per interfaccia tra dispositivo e mondo
esterno:
• riguardano forma fisica e semantica messaggi
scambiati
Standard proprietario (sistema CHIUSO):
• quando i dispositivi comunicano solo se della stessa
marca
Lez 10
modello ISO-OSI e architettura client-server
4
2
Internetworking: standard per sistemi aperti
• definiti da organismi internazionali
• imparziali
• definiti “a maggioranza”
Vantaggi rispetto a standard chiusi:
• membri organizzazione si impegnano ad accettarli
• comunicazione tra dispositivi diversi
Svantaggi:
• processo lento
• troppi standard
Lez 10
modello ISO-OSI e architettura client-server
5
Organizzazioni e standard
ISO (International Standard Organizzation):
• modello OSI (Open System Interconnection)
• riferimento per tutte le architetture a sistema aperto
IEEE:
• standard IEEE 802 per le reti locali (LAN)
Internet Society:
• responsabile sviluppo e pubblicazione standard per
Internet
Ogni dispositivo che si collega ad Internet deve
utilizzarne gli standard implementabili liberamente da
ogni azienda
Lez 10
modello ISO-OSI e architettura client-server
6
3
Concetti importanti
Intranet: rete che collega i dispositivi all’interno di
un’azienda (non necessariamente utilizza Internet)
Extranet: rete che collega un’azienda con clienti e
fornitori
Una rete deve consentire scambio dati tra processi
attivi su macchine diverse:
• comunicazione tra applicazioni
• comunicazione tra elaboratori
• comunicazione tra dispositivi fisici
Lez 10
modello ISO-OSI e architettura client-server
7
Organizzazione di una rete
• Organizzata a strati (livelli – layer) sovrapposti
• Ogni strato definisce un’astrazione di una parte del
sottosistema di comunicazioni
• Ogni strato è costruito su quelli inferiori
Vantaggi:
• progettare uno strato significa occuparsi solo di un
aspetto del problema (semplificazione e maggior
controllo)
• implementazione di uno strato indipendente da quella
degli altri
Lez 10
modello ISO-OSI e architettura client-server
8
4
Servizi e protocolli di comunicazione
• Ogni strato fornisce servizi al superiore
• i dettagli non sono tuttavia visibili allo strato
superiore
Ogni strato:
• usa i servizi dello strato inferiore
• si avvale della collaborazione dello strato
corrispondente (peer) del nodo destinatario
Per la comunicazione serve un protocollo:
• insieme di regole per gestire la comunicazione tra
strati corrispondenti
Lez 10
modello ISO-OSI e architettura client-server
9
Architettura a strati
Lez 10
modello ISO-OSI e architettura client-server
10
5
Modello semplificato a tre livelli
Livello di accesso alla rete
• scambio dati, identificazione sorgente e
destinazione, tipo servizio richiesto
•Dipende dal tipo di rete (fisica) utilizzata
Livello di trasporto:
• controllo errori, controllo sequenza pacchetti, richiesta
di ritrasmissione, controllo del flusso
• indipendente da rete e da applicazione
Livello delle applicazioni:
• fornisce servizi connessi alle applicazioni
Lez 10
modello ISO-OSI e architettura client-server
11
Protocol Data Unit
PDU = Protocol Data Unit
Contiene:
• Intestazione (dati di controllo aggiunti dal protocollo)
• corpo (dati dell’utente)
• coda (altri dati di controllo aggiunti dal protocollo)
Intestazione e coda servono al protocollo per controllare
la comunicazione
Una PDU è un blocco, pacchetto o frame di dati
Un protocollo di interrete ha l’importante compito di risolvere
molti problemi di comunicazione (che tuttavia non
approfondiremo in questa sede)
Lez 10
modello ISO-OSI e architettura client-server
12
6
Progettazione di una rete
Architettura di rete:
• progetto generale
• descrive la soluzione per affrontare il caso esaminato
• architetture a strati: definiscono strati e loro funzione
Suite di protocolli:
• descrizione dei protocolli che implementano
l’architettura
• in ogni architettura diversi protocolli (uno o più per
ogni strato)
Lez 10
modello ISO-OSI e architettura client-server
13
Principali modelli di riferimento
OSI (sviluppato da ISO)
TCP/IP
(sviluppato da DARPA e mantenuto dalla Internet
Society)
• DARPA: Defence Advanced Research Project Agency
(oggi denominata ARPA)
Lez 10
modello ISO-OSI e architettura client-server
14
7
Modello OSI
7 livelli:
• primi 3 dipendono dalla rete
• ultimi 3 dall’applicazione
• livello in mezzo (quarto) isola ambiente
di rete da ambiente applicazione
Lez 10
modello ISO-OSI e architettura client-server
15
Modello OSI
Lez 10
modello ISO-OSI e architettura client-server
16
8
Livello 1: livello fisico
Si occupa della trasmissione fisica dei bit
• quanti volt occorrono per rappresentare 1 o 0
• quanti microsecondi servono per trasmettere un bit
• se la trasmissione può essere bidirezionale
(contemporaneamente)
Fornisce al livello superiore (data link) il
trasferimento di un flusso (seriale) di bit
Lez 10
modello ISO-OSI e architettura client-server
17
Livello 2: data link
Ha il compito di fornire una trasmissione priva di
errori
• Attiva, gestisce e chiude un collegamento
• Delimita i pacchetti di informazione inviati sulla rete
mediante bit aggiuntivi
• Individua gli errori (tramite bit aggiuntivi)
• Gestisce il reinvio dei pacchetti
• Regola il flusso
Fornisce al livello superiore (livello di rete) il servizio
di trasmissione di un flusso di bit senza che si
verifichino errori.
Lez 10
modello ISO-OSI e architettura client-server
18
9
Livello 3: livello di rete
Gestisce i problemi relativi a:
• indirizzamento (delle macchine e dei dispositivi)
• instradamento (dei pacchetti di informazione)
• controllo della congestione (traffico sulla rete)
• presenza di reti differenti (comunicazione tra le reti)
Realizza il servizio di trasmissione dei dati in una
interrete (tra reti) al livello di trasporto.
Lez 10
modello ISO-OSI e architettura client-server
19
Livello 4: livello di trasporto
Trasporto delle informazioni
• frammentazione dei pacchetti
• gestione del tipo di servizio (flusso di byte o
messaggi singoli)
Lez 10
modello ISO-OSI e architettura client-server
20
10
Livello 5: livello di sessione
Il servizio di sessione realizza:
• lo scambio dei dati fra due applicazioni (software)
su macchine diverse della rete o di una interrete (tra
reti)
Lez 10
modello ISO-OSI e architettura client-server
21
Livello 6: presentazione
Il servizio di presentazione:
• gestisce il formato dei dati, occupandosi di
permettere lo scambio di informazioni anche in caso
di formati diversi (conversioni)
• esegue la compressione dei dati (nel caso di grandi
moli di informazione)
• si occupa della crittografia (messaggi cifrati)
Lez 10
modello ISO-OSI e architettura client-server
22
11
Livello 7: applicazione
Il servizio di applicazione:
• è l’interfaccia con l’utente
• è quello (software) che l’utente vede
• es. email, browser web, terminali di accesso remoto
e così via...
Tralasceremo il modello TCP/IP ed i relativi livelli
Lez 10
modello ISO-OSI e architettura client-server
23
Schema di comunicazione
Lez 10
modello ISO-OSI e architettura client-server
24
12
Modello Client-Server
La quasi totalità delle applicazioni su reti sono basate
su questo modello.
Il Server:
• Attende di ricevere una richiesta da un client
• Una volta ricevuta, elabora la richiesta e invia la
risposta
Il Client:
• Invia una richiesta al server per ricevere alcuni dati
(in generale informazioni)
• Resta in attesa della risposta del Server
Lez 10
modello ISO-OSI e architettura client-server
25
13