LEZIONE 9 ISO- OSI e architetture Client-Server Proff. Giorgio Valle Raffaella Folgieri giorgio.valle@unimi.it folgieri@dico.unimi.it 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