Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Livelli di rete e architettura Client-Server Lez 12 architettura client-server 1 Scorsa lezione: 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 12 architettura client-server 2 1
Scorsa lezione: 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 12 architettura client-server 3 Gateway e router Il gateway è detto anche router. E un dispositivo con due o più interfacce di rete: collega tra loro due o più reti fisiche distinte traduce un pacchetto di informazioni dal formato di una rete ad un altro, in modo che le informazioni possano essere scambiate anche tra sistemi diversi indirizza i pacchetti verso la loro destinazione è informato sulla topologia delle reti con cui è utilizzato Lez 12 architettura client-server 4 2
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 12 architettura client-server 5 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 12 architettura client-server 6 3
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 12 architettura client-server 7 Concetti importanti Intranet: rete che collega i dispositivi all interno di un azienda 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 12 architettura client-server 8 4
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 12 architettura client-server 9 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 12 architettura client-server 10 5
Architettura a strati Lez 12 architettura client-server 11 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 12 architettura client-server 12 6
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 12 architettura client-server 13 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 12 architettura client-server 14 7
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 12 architettura client-server 15 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 12 architettura client-server 16 8
Modello OSI Lez 12 architettura client-server 17 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 12 architettura client-server 18 9
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 12 architettura client-server 19 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 12 architettura client-server 20 10
Livello 4: livello di trasporto Trasporto delle informazioni frammentazione dei pacchetti gestione del tipo di servizio (flusso di byte o messaggi singoli) Lez 12 architettura client-server 21 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 12 architettura client-server 22 11
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 12 architettura client-server 23 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 12 architettura client-server 24 12
Schema di comunicazione Lez 12 architettura client-server 25 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 12 architettura client-server 26 13
Indicazioni secondo compito Per prepararsi al compito occorre studiare gli argomenti di tutte le lezioni svolte dopo il primo compito intermedio Vanno esclusi: le parti pratiche su MS Excel e su Ms Word. Il concetto di chiave esterna (studiare, invece, la definizione di chiave primaria) La normalizzazione (sempre a proposito dei database) Le viste (parte delle pagine sul linguaggio SQL) Eliminazione dei vincoli (delete dei vincoli, ancora sull SQL) Grant option Lez 12 architettura client-server 27 Indicazioni secondo compito Per la preparazione utilizzare: I lucidi delle lezioni Le dispense (seconda parte) escludendo dallo studio gli argomenti elencati nella slide precedente ed escludendo anche l appendice della seconda parte delle dispense Secondo compito intermedio: giorno 21 Dicembre ore da definire (far riferimento al sito) per il secondo compito non occorre prenotarsi al sifa Lez 12 architettura client-server 28 14
Indicazioni secondo compito Al solito, vi saranno: quiz qualche esercizio (data una traccia, dovrete tradurre quanto richiesto in comandi sql) BUON LAVORO! Lez 12 architettura client-server 29 15