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