La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

2003-2004Reti di Calcolatori1 Il modello Client/Server Lo Standard OSI OSI (open system interconnection) è soprattutto uno standard di interconnessione.

Presentazioni simili


Presentazione sul tema: "2003-2004Reti di Calcolatori1 Il modello Client/Server Lo Standard OSI OSI (open system interconnection) è soprattutto uno standard di interconnessione."— Transcript della presentazione:

1 Reti di Calcolatori1 Il modello Client/Server Lo Standard OSI OSI (open system interconnection) è soprattutto uno standard di interconnessione. Vuole fornire una struttura adatta alla comunicazione tra nodi, reti, sottoreti e tutti i possibili elementi di un sistema interconnesso.

2 Reti di Calcolatori2 Il modello Client/Server OSI come un sistema a livelli Ogni livello ha un suo protocollo per comunicare con il pari livello nellaltro nodo I livelli hanno una interfaccia standard per il livello inferiore ed una per il superiore

3 Reti di Calcolatori3 Il modello Client/Server OSI Un po di nomenclatura Host: un qualsiasi nodo di rete anche intermedio, non solo Computer (N)-Layer: livello N del modello (N)-Protocol: protocollo del livello N-esimo (N)-Entity: entità attiva (processo cliente o servitore) relativa ad uno specifico layer Definizione del servizio (descrizione verticale): insieme delle caratteristiche (interfaccia) che un layer offre al livello superiore Specifica del Protocollo (descrizione orizzontale): specifica dettagliata di come il livello fornisce il servizio tramite scambio di dati ed informazioni tra le due realizzazioni dei sistemi comunicanti Implementazione: realizzazione del protocollo per lo specifico livello. I protocolli non sono sempre visibili, spesso non sono gestibili dai livelli superiore SAP – Service Access Point: Interfaccia logica tra una (N-1)-entity ed una (N)-entity insieme delle API: insieme delle funzioni disponibili (N)-SAP: Service Access Point di livello N-esimo (N)-address: identifica un insieme di SAP al confine tra il livello (N) ed il livello (N+1)

4 Reti di Calcolatori4 Il modello Client/Server OSI (N)-SAP Service Access Point La organizzazione è molto astratta e potrebbe essere applicata alla modellizzazione anche di molti sistemi OSI definisce le sole specifiche di comunicazione, nessuna specifica a livello locale (procedure/processi/ etc.) per ogni livello, sono possibili e riconosciute implementazioni a procedure implementazioni a processi ancora più parallele

5 Reti di Calcolatori5 Il modello Client/Server OSI: incapsulamento dei protocolli Si ragiona dallalto verso il basso: Ogni protocollo di livello inferiore prende il pacchetto del livello superiore e lo considera come un pacchetto dati La ricezione segue il percorso inverso dal basso verso lalto

6 Reti di Calcolatori6 Il modello Client/Server OSI Interazioni basate su Connessione Ci sono due modalità di interazione tra un client ed un server: Connection Oriented: Si stabilisce una connessione tra entità pari che devono comunicare. Le caratteristiche della connessione sono negoziate durante la fase iniziale In modalità connection oriented la comunicazione tra due utenti di pari livello avviene in tre fasi: 1. apertura della connessione 2. trasferimento di dati sulla connessione 3. terminazione della connessione Il servizio connection-oriented di un livello deve fornire le opportune funzionalità per le tre fasi Viene creato un cammino tra il mittente ed il destinatario una strada identificata da uno stato sulla rete. La qualità del servizio può essere gestita attraverso la connessione In linea di principio, la connessione non significa impegno di risorse su eventuali nodi intermedi necessariamente CONNESSIONE OSI tipicamente impegna risorse sul cammino dal Mittente al Destinatario

7 Reti di Calcolatori7 Il modello Client/Server OSI Interazioni senza stato Connectionless: Nessuna negoziazione e valutazione della interazione Vengono inviati i pacchetti dal mittente al destinatario senza preparare una struttura di connessione Ogni unità di dati è trasferita in modo indipendente dalle altre unità ed è autocontenuta per arrivare all'utente desiderato (senza ordinamento) Lo scambio di informazioni tra i due pari avviene senza storia e senza nessun concetto di negoziazione La Qualità del Servizio non è gestibile, si può solo implementare politiche di reliability rispedendo i pacchetti persi, ma non ci sono strumenti per la gestione del traffico Le interazioni connectionless non impegnano risorse sulla rete, sono quindi necessarie in condizioni particolarmente onerose, come ad esempio nella comunicazione uno a molti.

8 Reti di Calcolatori8 Le primitive di un protocollo: Request: il service user richiede un servizio (una azione) Indication: il service provider indica al service user che è stato richiesto un servizio (segnalazione di evento) Response: il service user specifica la risposta alla richiesta di servizio (una azione) Confirm: il service provider segnala la risposta alla richiesta di servizio (segnalazione di evento) Il modello Client/Server OSI I Protocolli: struttura generale

9 Reti di Calcolatori9 Il modello Client/Server OSI I Protocolli Le Primitive possono avere diverse caratteristiche: Primitive Asincrone: non si aspettano nessuna risposta, non si coordinano con le pari dallaltra parte Primitive Asincrone Bloccanti: attendono un Acknowledge per cedere nuovamente il controllo. Primitive Sincrone: si coordinano con una conferma al pari dellavvenuto scambio di informazioni. La primitiva è quindi bloccante perché non cede il controllo finché non è terminata linterazione I protocolli possono invece avere le seguenti caratteristiche: Protocolli Affidabili: garantiscono la consegna di messaggi e quindi la correttezza della informazione Protocolli Non Affidabili: non sono in grado di garantire la consegna e quindi demandano al livello applicativo la gestione della evvenuta consegna datagrammiUna interazione connectionless non affidabile è quindi la più semplice; questo tipo di interazione è detta per datagrammi streamUna interazione connection oriented affidabile è invece la più completa: è uno stream

10 Reti di Calcolatori10 Il modello Client/Server OSI Servizi e caratteristiche della interazione Qualche esempio di quali sono i requisiti di alcuni specifici servizi relativamente alle caratteristiche di interazione: ServizioModalità di InterazioneTipo di Interazione Electronic junk mailConnectionlessDatagram Mail importanteConnectionlessDatagram con conferma (affidabile) Query a DatabaseConnectionlessProtocollo request- reponse Voce su canale digitaleConnection orientedConnessione non affidabile Remote loginConnection orientedStream di byte Video on demandConnection orientedStream di byte con controllo qualità del servizio

11 Reti di Calcolatori11 Il modello Client/Server OSI: Raggruppamento logico dei livelli Application Presentation Session Transport Network Link Physical Application Presentation Session Transport Network Link Physical Node Host A Host B Livelli di supporto Livello si separazione Livelli utente o di applicazione

12 Reti di Calcolatori12 Il modello Client/Server OSI Livello di Network(3) Network: si occupa della gestione del sistema rete, della possibilità cioè di gestire comunicazione attraverso molti nodi e non solamente punto a punto Deve garantire il passaggio delle informazioni senza interferire sulle stesse (overhead, corruzione dei dati…) Identificazione dei nodi (naming) Determinazione dei percorsi di comunicazione (routing) Controllo del flusso I nodi intermedi devono garantire il trasferimento Gestione del traffico, politiche per gestire la congestione ed evitare i deadlock Definizione di ruoli specifici nella gestione dellistradamento (router, gateway…) Controllo degli errori (corruzione dei pacchetti) Vale il principio della separazione: i nodi intermedi non devono essere coinvolti ai livelli superiori rispetto a quello di network

13 Reti di Calcolatori13 Il modello Client/Server OSI Livello di Network(3) Gestione del traffico in congestione in modo efficiente ed equo, ci sono diverse politiche: Scarto di datagrammi: se un nodo è congestionato può iniziare a scaricare (non rispedire) alcuni pacchetti per ridurre il flusso. Lo scarto deve essere ragionato, scarta solo datagrammi e preserva i pacchetti di ack Pacchetti di choke: il nodo congestionato avvisa gli altri nodi con pacchetti specifici invece di rispedire solo i pacchetti che riceve Algoritmi leaky bucket: si definisce un buffer (il secchio) luscita di questo buffer è sempre costante (nel tempo) quando il buffer è pieno scarto i datagrammi

14 Reti di Calcolatori14 Il modello Client/Server OSI Livello di Trasporto (4) Il Trasporto separa i livelli relativi alla comunicazione da quelli più vicini alla applicazione Il suo ruolo è di spedire dati sul canale di connessione con correttezza, con certi tempi di risposta e con una specifica qualità del servizi, indipendentemente da come questo è stato ottenuto Le richieste a questo livello possono arrivare da uno qualsiasi dei livelli superiori, il livello di trasporto offre la astrazione della comunicazione ende-to-end

15 Reti di Calcolatori15 Il modello Client/Server OSI Livello di Trasporto (4) Il tipo di interqazione viene gestito da questo livello: Modalità Connection Oriented: apertura e terminazione di una connessione trasferimento di dati normali e privilegiati (expedited) I dati expedited sono soggetti ad un controllo di flusso separato che permette l'invio di messaggi di controllo anche se il servizio per i dati normali è bloccato Impegno di risorse intermedie per la gestione del canale virtuale Uso di pacchetti di tipo datagram e di tipo ack forniti dal livello 3 Modalità connectionless: Nessuno stato di connessione Mappatura dei pacchetti applicativi sui datagram del livello 3 Gestione della affidabilità (se richiesta) attraverso ack e rispedizione dei datagram Qualità di Servizio: molti indicatori per garantire diversi livelli di qualità del servizio: Ritardo nel set-up di connessione e probabilità di errore: ritardo tra il tempo di richiesta e il tempo di completamento (e tempo massimo accettato) Throughput: numero di byte trasferiti per secondo Tempo di ritardo: ritardo tra l'istante di invio e la possibile disponibilità per il pari (massimo ritardo ammissibile detto jitter) (Probabilità o Rapporto di) Errore residuo: rapporto tra il numero di messaggi non corretti e quelli buoni Priorità: importanza relativa di alcuni messaggi Errore del Trasporto (resilience): probabilità della terminazione della connessione

16 Reti di Calcolatori16 Il modello Client/Server OSI Livello di Trasporto (4) La fase in cui si stabilisce una connessione implica la negoziazione tra i pari per la qualità richiesta della connessione. È possibile che il pari (o uno dei due) non possa fornire quanto richiesto, e allora o si adegua la QoS richiesta o non si fa la connessione A questo livello non viene gestita una eventuale negoziazione del QoS problema applicativo Il trasporto può spezzare il dato e ricomporlo dopo averlo trasportato fino al pari suddiviso

17 Reti di Calcolatori17 Il modello Client/Server OSI Livello di Trasporto (4) Il trasporto può lavorare unendo o decomponendo flussi di trasporto rispetto a quelli di rete (Multiplexing).

18 Reti di Calcolatori18 Il modello Client/Server OSI Livello di Sessione (5) Il livello di Sessione coordina il dialogo tra gli utenti basandosi sul servizio offerto dal livello di Trasporto Il livello di Sessione offre servizi analoghi a quelli del livello di Trasporto, quindi: apertura della connessione e sua terminazione trasferimento dati (si possono avere fino a quattro tipi di dato) Servizi aggiunti e specializzati per: gestione dell'interazione modalità di dialogo half-duplex, full-duplex o simplex Sincronizzazione: inserimento dei punti di sincronizzazione (checkpoint) La successione dei punti di sincronizzazione individua una successione di stati della comunicazione Un esempio di un servizio offerto dalla sessione è un trasferimento file con resume: Trasmissione di un file da due ore bloccata riprende dal risultato del trasferimento precedente Controllo del Dialogo: Possibilità di intervenire sul dialogo tra pari Se si verificano errori nella comunicazione => roll-back attività: è possibile iniziare, terminare, interrompere, riprendere e cancellare parti di lavoro dette attività eccezioni: è possibile notificare eccezioni al servizio corrispondente

19 Reti di Calcolatori19 Il modello Client/Server OSI Livello di Sessione (5) Gestione del Recovery: abbandono: reset della comunicazione corrente l'utente può decidere di provare a ripeterla ripristino: la comunicazione è riportata nello stato precedente l'ultimo punto di sincronizzazione maggiore confermato, si possono ritrasmettere i dati successivi diretto: la comunicazione è riportata in uno stato arbitrario senza controllo delle conferme "mancanti" di punti di sincronizzazione Connessione con QoS negoziata: le connessioni a questo livello hanno una semantica sempre più complessa Si attuano negoziazioni attraverso la presenza di package di servizi detti Unità funzionali Quelle basi sempre presenti le altre negoziate Esistono dei package standard, questi package offrono diversi servizi di sessione e si può decidere nella fase di negoziazione cosa attivare e cosa no: Esempio: in un servizio di trasferimento dati posso avere una base con le seguenti funzionalità: Apertura connessione, Trasferimento affidabile, Chiusura connessione Ci possono essere poi altre funzionalità negoziabili in funzione delle capacità dei due pari: stop temporaneo del trasferimento, resume, inizio da una specifica posizione del file … etc.

20 Reti di Calcolatori20 Il modello Client/Server OSI Livello di Presentazione (6) Questo livello si occupa della gestione delle informazioni: La codifica delle informazioni non infatti in generale univoca, ogni pari può usare codifiche diverse Quali sono le necessità relative alla codifica: differenze naturali tra i sistemi che comunicano migliorare la comunicazione (efficienza e sicurezza) uso di compressione dei dati (efficienza) crittografia dei dati (sicurezza) I dati devono essere scambiati dopo un accordo tra i pari che superi gli eventuali problemi di eterogeneità: linguaggi di programmazione diversiC e ADA sistemi operativi diversiUNIX e VMS architetture diverseALPHA e RISC Necessità di accordarsi. Bisogna definire un contesto di comunicazione: il soggetto della comunicazione la semantica delle informazioni le informazioni vere e proprie Il livello di presentazione stabilisce come negoziare e definire una base comune

21 Reti di Calcolatori21 Il modello Client/Server OSI Livello di Presentazione (6) Il livello di presentazione ha responsabilità di: distinguere informazioni in forma astratta e concreta specificare i dati e le informazioni di controllo in modo indipendente dalla forma concreta definire una forma comune per le informazioni astratte (anche diversa per connessioni diverse) definire una forma comune di rappresentazione concreta dei dati (non coincidente con une delle due coinvolte e richiedendo trasformazioni) Si definisce un linguaggio astratto di specifica (ASN.1 Abstract Syntax Notation) e una codifica concreta di descrizione dei dati (BER Basic Encoding Rules) Se la negoziazione iniziale di contesto (ASN.1) può fornire un accordo completo I dati vengono trasformati in accordo a questo Si usa un formato standard BER anche efficiente Se la negoziazione non lo consente I dati viaggiano insieme alla descrizione standard OVERHEAD ELEVATO ESTREMA FLESSIBILITÀ Infatti ASN.1 consente non solo di passare dati non previsti inizialmente, ma anche codice e di creare accordo durante la comunicazione stessa Possibilità di passare anche codice, quindi programmi applicativi per la gestione di specifici problemi

22 Reti di Calcolatori22 Il modello Client/Server OSI Livello di Applicazione (7) Il livello di Applicazione è il livello che si interfaccia con l'utente finale della comunicazione in base al modello OSI Il ruolo di questo livello è di nascondere la complessità dei livelli sottostanti coordinando il dialogo tra le applicazioni distribuite. Il livello applicativo OSI standard definisce un insieme di servizi indipendenti dal sistema e li fornisce a programmi di utente o ad utenti Diversi standard (ISO 9545): Message Handling SystemMHS Directory serviceX.500 System ManagementX.700 Common Management Information ServiceCMISE ProtocolCMIP File Transfer, Access and Management FTAM Virtual Terminal StandardVT Distributed Transaction Processing DTP OSI adotta un approccio particolare basato sul modello ad Oggetti per la specifica delle applicazioni

23 Reti di Calcolatori23 Il modello Client/Server OSI Livello di Applicazione (7) Alcuni esempi di servizi standard a livello applicativo: Servizi X.500: Il servizio di direttorio consente di collocare e classificare ogni dispositivo noto in un sistemadi nomi gerarchico Directory per tutti gli apparati tipicamente usati Nomi unici Spesso si riferisce una entità attraverso il suo identificatore specificato come sequenza di scelte Quando non si riesce ad utilizzare X.500 si deve attraverso ASN.1 completare la richiesta Il livello di applicazione è caratterizzato come un insieme di strumenti; questi strumenti, possono essere logicamente divisi in sotto-livelli in funzione delle loro caratteristiche. Gli strumenti di base sono: ACSE (Association Control Service Element): di base per ogni servizio RTSE (Reliable Transfer Service Element): per ottenere servizi affidabili ROSE (Remote Operation Service Element): per ottenere operazioni remote CCR (Commitment Concurrency and Recovery): protocollo per garantire azioni coordinate

24 Reti di Calcolatori24 Il modello Client/Server OSI Livello di Applicazione (7)

25 Reti di Calcolatori25 Il modello Client/Server OSI Le implementazioni OSI è un modello concettuale, le implementazioni seguono il modello ma fanno delle semplificiazioni: È sufficiente ragionare con un set di livelli semplificato I livelli per esempio implementati dalla suite TCP/IP


Scaricare ppt "2003-2004Reti di Calcolatori1 Il modello Client/Server Lo Standard OSI OSI (open system interconnection) è soprattutto uno standard di interconnessione."

Presentazioni simili


Annunci Google