La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Prof. Guido Russo 1 Il modello ISO/OSI prof. G. Russo

Presentazioni simili


Presentazione sul tema: "Prof. Guido Russo 1 Il modello ISO/OSI prof. G. Russo"— Transcript della presentazione:

1 prof. Guido Russo 1 Il modello ISO/OSI prof. G. Russo (grusso@unina.it)©2012

2 prof. Guido Russo 2 PROGRAMMA CONTENUTI Il modello ISO/OSI Il modello di riferimento, architettura a livelli, protocolli, interfacce, principali architetture di rete, le primitive, i sistemi intermedi, servizi e protocolli.

3 prof. Guido Russo 3 interconnessione chiuse Le tecniche di interconnessione fra computer furono storicamente messe a punto dai costruttori di sistemi informativi, primo fra tutti IBM. Le soluzioni che ne risultavano erano però delle reti di computer "chiuse", ossia costituite di apparati tutti dello stesso costruttore e incapaci di comunicare con macchine di altra origine. aperti“ ARPAnet L’avvento di sistemi informativi "aperti“, tali cioè da poter realizzare comunicazioni reciproche in qualunque combinazione, era da una parte facilitato dall’emergere di ARPAnet e delle reti pubbliche per dati, dall’altra si scontrava con problemi che andavano oltre il semplice trasferimento di bit da un punto a un altro. Introduzione

4 prof. Guido Russo 4 comunicare Il grande problema delle reti è, quindi, quello di far comunicare tra loro diversi tipi di host: profondamente diversi (grandi workstation, pc desktop, laptop, palmari, cellulari, e prossimamente anche frigoriferi e forni a microonde); connessi in modo eterogeneo tra di loro (via ethernet, doppino telefonico, fibra ottica, wi-fi); sfruttano protocolli di alto livello disparati tra loro (per la navigazione in internet, per la chat, per la posta...); per assicurarsi che le informazioni vengano inviate sulla rete in modo affidabile.

5 prof. Guido Russo 5 In pratica il grande problema è far comunicare entità estremamente diverse tra loro, ovvero fare in modo che a un certo livello di astrazione parlino 'la stessa lingua'. 'Open Systems InterconnectionModello ISO/OSI International Organization for Standardization L'Open Systems Interconnection (meglio conosciuto come Modello ISO/OSI) è uno standard stabilito nel 1978 dall‘International Organization for Standardization (ISO, dal termine greco isos, "uguale"), il principale ente di standardizzazione internazionale, che stabilisce una pila di protocolli in 7 livelli. OSI L'organizzazione, in collaborazione col CCITT (oggi ITU-T), sentì la necessità di produrre una serie di standard per le reti di calcolatori ed avviò il progetto OSI (Open Systems Interconnection), un modello standard di riferimento per l'interconnessione di sistemi aperti.

6 prof. Guido Russo 6 Il documento che illustra tale attività è il Basic Reference Model di OSI, noto come standard ISO 7498. modello ISO/OSI Il modello ISO/OSI è costituito da una pila (o stack) di protocolli attraverso i quali viene ridotta la complessità implementativa di un sistema di comunicazione per il networking. ISO/OSIstrati livellilayer In particolare ISO/OSI è costituito da strati (o livelli), i cosiddetti layer, che racchiudono uno o più aspetti fra loro correlati della comunicazione fra due nodi di una rete. Tale soluzione prevede che la rete sia progettata come una grande pila, o stack, dove un messaggio originale diretto verso un host viene 'incapsulato' via via a seconda del livello in cui transita, arricchendosi di informazioni via via più dettagliate in modo da essere mandato in modo affidabile sulla rete.

7 prof. Guido Russo 7 7 I layers sono in totale 7 e vanno dal livello fisico (quello del mezzo fisico, ossia del cavo o delle onde radio) fino al livello delle applicazioni, attraverso cui si realizza la comunicazione di alto livello. Ogni layer individua un protocollo di comunicazione del livello medesimo. POSPoS Ogni livello realizza la comunicazione col livello corrispondente su altri nodi usando il POS (Point of Service) del livello immediatamente sottostante. Sicché ISO/OSI incapsula i messaggi di livello n in messaggi del livello n-1. Così se A deve inviare, ad esempio, una e-mail a B, l'applicazione (liv. 7) di A propagherà il messaggio usando il layer sottostante (liv. 6) che a sua volta userà il POS del layer inferiore, fino ad arrivare alla comunicazione sul mezzo fisico.

8 prof. Guido Russo 8 'a pila La struttura 'a pila' di internet può essere vista un po' come il trasporto di una lettera da un posto all'altro. Il messaggio originale da inviare rappresenta il livello 'più alto' della pila. Nel livello subito successivo viene arricchito dall'informazione del nome del mittente e del destinatario, e magari dalla notifica di avvenuto recapito (o meglio il messaggio viene 'incapsulato' in un pacchetto contenente anche queste informazioni). La lettera giunge all'ufficio postale più vicino, e qui il 'pacchetto' viene incapsulato a sua volta in un altro pacchetto contenente altre informazioni (ufficio postale più vicino al destinatario, oppure traccia degli uffici postali per cui la lettera dovrà passare, mezzo di trasporto fisico ecc.).

9 prof. Guido Russo 9 A questo punto del tragitto il messaggio originale è incapsulato in un pacchetto più grande contenente molte altre informazioni. Una volta giunta all'ufficio postale più vicino al destinatario tutte le precedenti informazioni sul trasporto diventano inutili, e ciò che rimane di utile è il nome e l'indirizzo del destinatario e del mittente. Una volta che la lettera è recapitata al destinatario, l'unica informazione utile che rimane è il messaggio vero e proprio, e non tutte le informazioni che lo hanno incapsulato durante il tragitto. Questo meccanismo 'a pila', o 'a incapsulamento' è lo stesso su cui si basa tutta internet.

10 prof. Guido Russo 10 Architettura a livelli Il modello ISO/OSI è uno standard per l'interconnessione di sistemi che descrive il modo in cui le informazioni vengono trasferite tra gli host in rete: modello di riferimento per la classificazione ordinata di problemi e protocolli nel campo delle telecomunicazioni, basato sui sistemi aperti dove non ci sono cioè specifiche regole costruttive, ma standard di comunicazione tra dispositivi di produttori diversi. Il modello suddivide i problemi in 7 livelli (layers) applicabili ad ogni tipo di comunicazione: ogni livello fornisce servizi ai livelli superiori, mascherando e standardizzando il modo in cui questi servizi sono implementati.

11 prof. Guido Russo 11 Architettura a livelli Ogni livello passa dati ed informazioni al livello sottostante, fino al livello fisico che effettua la trasmissione. Lo scopo di ogni livello è quello di fornire: ricezione servizi al livello superiore (in fase di ricezione) trasmissione e dati al livello inferiore (in fase di trasmissione).

12 prof. Guido Russo 12  Riduce la complessità dividendo la comunicazione in parti più piccole e semplici  Standardizza le comunicazioni tra le interfacce consentendo l’integrazione di apparati multivendor  Consente a tipi differenti di hardware e software di comunicare insieme  Modularità: i cambiamenti in un livello non influenzano gli altri Architettura a livelli: vantaggi

13 prof. Guido Russo 13 livello 1 La connessione fisica tra calcolatori è presente unicamente a livello 1, che infatti è l’unico che effettua fisicamente la ricetrasmissione. Architettura a livelli

14 prof. Guido Russo 14 livello 1 La connessione fisica tra calcolatori è presente unicamente a livello 1, che infatti è l’unico che effettua fisicamente la ricetrasmissione. protocollo Chi consente il colloquio fra due computer è naturalmente un software, che nel gergo prende il nome di protocollo. Il livello n di un elaboratore colloquia con il livello n di un altro elaboratore, usando un protocollo di livello n. Si realizza una comunicazione multilivello che consente, ad esempio, di implementare algoritmi diversi per l'instradamento in rete pur disponendo di protocolli di trasporto connessi. Architettura a livelli

15 prof. Guido Russo 15 trasmissione In fase di trasmissione, viceversa, ogni livello passa dati e informazioni di controllo al livello sottostante, fino a quando si raggiunge il livello fisico. ’imbustamento Il passaggio dei dati, in fase di trasmissione, da un livello a quello sottostante, avviene con la cosiddetta tecnica dell’imbustamento successivo. ricezione In fase di ricezione, i servizi messi a disposizione da un livello a un livello superiore, sono forniti, attraverso un’interfaccia software, in modo mascherato, mascherato nel senso che sui servizi non viene detto come vengono implementati né come sono forniti, ma definendo solo quali sono. Architettura a livelli

16 prof. Guido Russo 16 Architettura a livelli: Physical – NIC Trasmette un flusso di dati non strutturati attraverso un collegamento fisico, occupandosi della forma e del voltaggio del segnale. Ha a che fare con le procedure meccaniche e elettroniche necessarie a stabilire, mantenere e disattivare un collegamento fisico. Semplicemente Semplicemente: si occupa di controllare la rete, gli hardware che la compongono e i dispositivi che permettono la connessione.

17 prof. Guido Russo 17 Architettura a livelli: Physical – NIC In questo livello si decidono:  Le tensioni scelte per rappresentare i valori logici 0 e 1  La durata in microsecondi del segnale elettrico che identifica un bit  L'eventuale trasmissione simultanea in due direzioni  La forma e la meccanica dei connettori usati per collegare l'hardware al mezzo trasmissivo

18 prof. Guido Russo 18 Architettura a livelli: Physical - NIC Comprende tutte le funzioni (procedure meccaniche ed elettroniche) che permettono una connessione a livelo fisico. Si occupa della trasmissione dei bit attraverso il mezzo trasmissivo, specifica la codifica binaria per quel mezzo e le caratteristiche di cavi e connettori. Esempi di protocolli:  RS 232  RS 485  RS 422  G.703  G.704  X 21  IEEE 488  V 24  V 35

19 prof. Guido Russo 19 Architettura a livelli: Physical - NIC Il livello fisico, è nel dominio dell'ingegneria elettronica. A questo livello vanno specificati:  i cavi, e quindi: tipi, dimensioni e impedenze dei cavi stessi  le tensioni, ovvero i valori logici 0 ed 1  il tipo di connettori.

20 prof. Guido Russo 20 Architettura a livelli: Data Link (Collegamento)- NIC Definisce le regole per inviare e ricevere informazioni tra due sistemi in comunicazione. Permette il trasferimento affidabile di dati attraverso il livello fisico. Invia frame di dati con la necessaria sincronizzazione ed effettua un controllo degli errori e delle perdite di segnale. Tutto cio' consente di far apparire, al livello superiore, il mezzo fisico come una linea di trasmissione esente da errori di trasmissione. Questo livello si occupa di formare i dati da inviare attraverso il livello fisico, incapsulando i dati in un pacchetto provvisto di header (intestazione) e tail (coda), usati anche per sequenze di controllo.

21 prof. Guido Russo 21 Architettura a livelli: Data Link (Collegamento)- NIC Questa frammentazione dei dati in specifici pacchetti è detta framing e i singoli pacchetti sono i frame. Verifica la presenza di errori aggiungendo un FCS (Frame Control Sequense) e gestisce la ritrasmissione del dato in caso di errore. Tiene conto degli indirizzi fisici e del tipo di rete. Per ogni pacchetto ricevuto, il destinatario invia al mittente un pacchetto ACK (acknowledgement, conferma) contenente lo stato della trasmissione: il mittente deve ripetere l'invio dei pacchetti mal trasmessi e di quelli che non hanno ricevuto risposta.

22 prof. Guido Russo 22 Architettura a livelli: Data Link (Collegamento)- NIC ACKPiggybacking Per ottimizzare l'invio degli ACK, si usa una tecnica detta Piggybacking, che consiste nell'accodare ai messaggi in uscita gli ACK relativi ad una connessione in entrata, per ottimizzare l'uso del livello fisico. I pacchetti ACK possono anche essere raggruppati e mandati in blocchi. Questo livello si occupa anche di controllare il flusso di dati: in caso di sbilanciamento di velocità di trasmissione, si occupa di rallentare l'opera della macchina più veloce, accordandola all'altra e minimizzando le perdite dovute a sovraccarico. trama La sua unità dati fondamentale è la trama.

23 prof. Guido Russo 23 Architettura a livelli: Data Link (Collegamento)- NIC Esempi di protocollo:  SDLC (Simple Data Link Control)  HDLC (High-level Data Link Control)  LAPB (Link Access Procedure Balanced)  LAPD (Link Access Procedure D-channel)  Frame relay  SLIP (Serial Line Internet Protocol)  PPP (Point to Point Protocol)

24 prof. Guido Russo 24 Mentre lo strato DataLink è usato per controllare la comunicazione tra due dispositivi connessi direttamente tra loro, lo strato di rete fornisce servizi di internetworking (connessione tra reti). Questi servizi assicurano che un pacchetto di informazioni raggiunga la destinazione dopo un percorso comprendente più collegamenti punto a punto, collegati tra loro da router (dispositivi d'instradamento che uniscono reti diverse). Lo strato di rete si occupa di smistare pacchetti su collegamenti multipli. Architettura a livelli: Network – Sistemi operativi

25 prof. Guido Russo 25 Architettura a livelli: Network – Sistemi operativi A B Se non esistesse, il calcolatore A potrebbe solo colloquiare con il calcolatore B grazie al livello data link Gestisce l'instradamento dei messaggi, determina cioè quali calcolatori intermedi conviene che i pacchetti attraversino affinchè raggiungano il calcolatore destinatario del messaggio Fa riferimento perciò a dei calcolatori che all'interno di una rete prendono il nome di nodi o router, e che appunto gestiscono delle tabelle di instradamento che consentono di ottimizzare il traffico della rete. Il livello 3:

26 prof. Guido Russo 26 Quando il collegamento è unicamente locale, come avviene in una LAN (rete locale) all'interno di un ufficio o di un'abitazione, la consegna dei pacchetti può utilizzare protocolli semplificati come NetBIOS (Network Basic Input Output System - l'originaria interfaccia di rete del PC IBM), che fanno leva sulle funzioni dello strato data link per distribuire i pacchetti; però, con l'avvento di Internet e la necessità di collegare la propria rete ad altre, anche distanti, è diventato standard l'impiego di protocolli di rete veri e propri, e in particolare della famiglia di protocolli TCP/IP. L'Internet Protocol è un protocollo di internetworking che opera allo strato di rete, dove il mittente e il destinatario vengono riconosciuti sulla base di un indirizzo univoco, valido per l'intero dominio Internet, che prende il nome, appunto, di indirizzo IP. Architettura a livelli: Network – Sistemi operativi

27 prof. Guido Russo 27 Tale strato non si occupa di verificare l'integrità della trasmissione supponendo che, se lo strato 2 non ha segnalato errori, la rete sia operativa, e lasciando agli strati superiori il compito di monitorare la consegna a destinazione dei pacchetti e di garantire l'affidabilità della comunicazione. Il protocollo TCP (Transmission Control Protocol) si occupa di verificare che la sequenza dei pacchetti sia corretta e che venga mantenuta nel corso delle operazioni d'instradamento su Internet, dove ogni pacchetto viaggia in maniera indipendente. Infatti, un messaggio di posta elettronica, oppure una pagina Web, devono essere suddivisi in pacchetti per poter essere trasmessi mediante IP; lo strato TCP (equivalente allo strato 4 OSI) verifica che la sequenza con cui arrivano a destinazione sia corretta. Architettura a livelli: Network – Sistemi operativi

28 prof. Guido Russo 28 Gestisce l’instradamento (routing) dei pacchetti di dati e determina se e quali sistemi intermedi devono essere attraversati dal pacchetto per raggiungere la destinazione. Stabilisce il percorso migliore e gestisce le tabelle di instradamento ed i percorsi alternativi (fault tolerance). Le tabelle di instradamento, per ogni destinazione, contengono le varie possibili strade che conducono alla destinazione finale. pacchetto La sua unità dati fondamentale è il pacchetto. Architettura a livelli: Network – Sistemi operativi

29 prof. Guido Russo 29 Esempi di protocolli:  IP (Internet Protocol)  ICMP (Internet Control Message Protocol)  ARP (Address Resolution Protocol)  RARP (Reverse Address Resolution Protocol) Architettura a livelli: Network – Sistemi operativi

30 prof. Guido Russo 30 Architettura a livelli: Trasporto - Sistemi operativi Questo strato fornisce un alto livello di controllo sullo spostamento delle informazioni tra i sistemi terminali di una sessione di comunicazione. Comprende i servizi per il trasferimento dei dati end-to-end, apre e chiude le connessioni, frammenta e riassembla i dati, rileva e corregge gli errori, controlla il flusso dei dati, gestisce connessioni multiple. Esempi di protocolli:  TCP (Transmission Control Protocol)  UDP (User Datagram Protocol) messaggio. La sua unità dati fondamentale è il messaggio.

31 prof. Guido Russo 31 Architettura a livelli: Trasporto - Sistemi operativi livello 4 Il livello 4, quello di trasporto, frammenta i pacchetti in modo che abbiano dimensioni idonee alla trasmissione al livello 3, oltre a controllarne la velocità trasmissiva in modo che la rete non si congestioni. Una rete congestionata è quella dove i nodi non riescono più a smaltire le informazioni. A differenza dei livelli precedenti, che si occupano di connessioni tra nodi contigui di una rete, il Trasporto (a livello logico) si occupa solo del punto di partenza e di quello di arrivo. Si occupa anche di effettuare la frammentazione dei dati provenienti dal livello superiore in pacchetti, detti 'segmenti' e trasmetterli in modo efficiente ed affidabile usando il livello rete ed isolando da questo i livelli superiori.

32 prof. Guido Russo 32 Architettura a livelli: Sessione - Software di rete Lo strato di sessione ha il compito di stabilire e mantenere la comunicazione tra due computer. In generale, si tratta di un processo a tre fasi: stabilire le regole iniziali per la connessione logica, scegliendo tra i tipi di comunicazione simplex (flusso unico), half- duplex (doppio flusso alternato) e duplex (flusso bidirezionale), muovere i dati da un host all'altro e, infine, rilasciare la connessione. Lo scambio d'informazioni avviene in termini di dialogo, per indicare, ad esempio, da dove ricominciare la trasmissione, se una connessione è stata temporaneamente perduta, o dove terminare un data set (insieme di dati) e iniziarne un altro.

33 prof. Guido Russo 33 Architettura a livelli: Sessione - Software di rete TOKEN Consente di aggiungere, ai servizi forniti dal livello di trasporto, servizi più avanzati, quali la gestione del dialogo (mono o bidirezionale), la gestione del TOKEN (per effettuare mutua esclusione) o la sincronizzazione (inserendo dei checkpoint in modo da ridurre la quantità di dati da ritrasmettere in caso di gravi malfunzionamenti). Si occupa anche di inserire dei punti di controllo nel flusso dati: in caso di errori nell'invio dei pacchetti, la comunicazione riprende dall'ultimo punto di controllo andato a buon fine.

34 prof. Guido Russo 34 Architettura a livelli: Session - Software di rete Stabilisce, gestisce e termina le sessioni di comunicazione tra le applicazioni. Gestisce il dialogo mono o bidirezionale e la sincronizzazione tra le applicazioni. Due esempi di protocolli che operano anche allo strato di sessione sono: RPC (Remote Procedure Call - per attivare a distanza moduli di programma) NFS NFS (Network File System - per accedere a dischi condivisi in rete in ambiente Internet) PPP anche il protocollo PPP opera parzialmente a questo livello SQL SQL (Structured Query Language)

35 prof. Guido Russo 35 Architettura a livelli: Presentation - Software di rete Lo scopo dei processi che operano allo strato 6 è, principalmente, di agire da traduttori per i servizi dello strato applicativo. Spesso si tratta di convertire i dati da un formato proprietario a uno universale e viceversa, in modo che i protocolli dallo strato 5 in giù interagiscano con dati in formato standard senza essere coinvolti nelle conversioni. Altre funzioni di questo strato sono la compressione/decompressione e la cifratura/ decifratura dei dati. I protocolli di file sharing (condivisione dei file), che trasferiscono i file attraverso la rete verso condivisioni di rete (nomi assegnati a risorse condivise), funzionano allo strato di presentazione.

36 prof. Guido Russo 36 Architettura a livelli: Presentation - Software di rete Tale livello assicura che il dato sia leggibile dal sistema ricevente, gestisce il formato del dato e la sua struttura, negozia la sintassi di trasferimento del dato con il livello Applicazione. Esso consente di gestire la sintassi dell'informazione da trasferire; sono previste tre diverse sintassi: astratta (definizione formale dei dati che gli applicativi si scambiano) concreta locale (come i dati sono rappresentati localmente) di trasferimento (come i dati sono codificati durante il trasferimento).

37 prof. Guido Russo 37 Architettura a livelli: Presentation - Software di rete Tale livello assicura che il dato sia leggibile dal sistema ricevente, gestisce il formato del dato e la sua struttura, negozia la sintassi di trasferimento del dato con il livello Applicazione.  Traduzione tra ASCII ed EBCDIC  Presentazione immagini  Presentazione audio e video  Compressione dati  Crittografia

38 prof. Guido Russo 38 Architettura a livelli: Application - Software di rete Tale livello rappresenta l’interfaccia tra utente e macchina. Lo strato applicativo fornisce l'interfaccia di rete per protocolli applicativi che vengono utilizzati direttamente dall'utente finale, come HTTP per accedere alle pagine web, POP3 per scaricare la posta elettronica, FTP per trasferire file. Tale strato non ha a che fare con la parte di applicazione che s'interfaccia con l'utente, e che non rientra nel modello OSI. Lo strato 7 si occupa solo di determinare lo stato delle comunicazioni tra due applicazioni.

39 prof. Guido Russo 39 Architettura a livelli: Application - Software di rete L'obiettivo è stabilire se le risorse sono disponibili per poter iniziare la comunicazione tra due o più host, e scoprire se i computer interessati sono in grado di comunicare. Lo strato 7 comprende numerosi protocolli e applicazioni, molti dei quali sono in grado di fornire un certo servizio anche da soli, ma più spesso si integrano a vicenda per fornire all'utente una gamma di funzionalità più ricca. I protocolli che operano a stretto contatto con le applicazioni. È errato identificare un'applicazione utente come parte del livello applicazione.

40 prof. Guido Russo 40 Architettura a livelli: Application - Software di rete Tra i protocolli applicativi nella sfera della famiglia TCP/IP citiamo: HTTP (HyperText Transfer Protocol - per l'accesso alle pagine Web) SMTP (Simple Mail Transfer Protocol - per l'invio di messaggi a un server di posta elettronica) SNMP (Simple Network Management Protocol - per la gestione a distanza di dispositivi di rete) POP (Post Office Protocol - per il prelievo di messaggi da un server di posta elettronica)

41 prof. Guido Russo 41 Architettura a livelli: Application - Software di rete FTP (File Transfer Protocol - per il trasferimento di file su Internet) TFTP (Trivial FTP, una versione semplificata di FTP) Telnet (per l'accesso via rete a computer remoti) NFS (Network File System - la condivisione di dischi su rete) NTP (Network Time Protocol, per sincronizzare gli orologi dei computer).

42 prof. Guido Russo 42 Comunicazione La comunicazione tra i nodi della rete è di tipo peer-to-peer e coinvolge i livelli 1-2-3 che dialogano ognuno con il proprio pari. I dialoghi tra i livelli 4-5-6-7 sono di tipo end-to-end (dal mittente al destinatario). Tipicamente sono trasmissioni trasparenti che contengono i dati utente, che ai nodi della rete non interessano. Ogni livello contiene i protocolli che risolvono le problematiche ad esso inerenti, questi protocolli sono implementati mediante pacchetti software detti entità. Le entità comunicano con le altre entità in livelli adiacenti attraverso le interfacce passando per punti ben precisi detti SAP (Service Access Point), ognuno dei quali è identificato da un numero SAPI (SAP Identifier) descritto dettagliatamente negli standard.

43 prof. Guido Russo 43 Comunicazione Le entità, al loro interno, possono essere implementate in qualsiasi modo, purché comunichino con le altre rispettando gli standard delle interfacce SAP. Le porte del protocollo TCP/IP, ad esempio, sono SAP. Ogni livello ed ogni entità fornisce un servizio per il livello superiore, usufruendo dei servizi messi a disposizione dal livello sottostante, ai quali aggiunge le proprie funzionalità. I livelli e le entità sono indipendenti tra loro e ciò favorisce la modularità. Affinché un livello fornisca il proprio servizio specifico, vengono aggiunti dei bit al flusso proveniente dal livello superiore.

44 prof. Guido Russo 44 Comunicazione Questi bit contengono i messaggi che il livello deve scambiare con il suo pari remoto per implementare le proprie funzionalità e devono rispettare gli standard di comunicazione. Tali messaggi sono trasmessi in modo trasparente attraverso i livelli inferiori fino al mezzo trasmissivo che li trasmette al nodo di destinazione dove risalgono fino al livello che è in grado di utilizzarli. Questo li preleva e li utilizza per realizzare il proprio servizio. Così si realizza un flusso di dati orizzontale, detto peer-to-peer, cioè tra strati di pari livello.

45 prof. Guido Russo 45 Comunicazione

46 prof. Guido Russo 46 Comunicazione Considerando il livello N (può essere uno qualunque dei 7 livelli), il pacchetto di bit che esso riceve dal livello superiore N+1 è detto PDU (Protocol Data Unit). Il livello N considera questo pacchetto come un UD (User Data), cioè dati ricevuti da un utente di livello superiore che devono essere trasmessi senza modifiche e vi aggiunge i bit del proprio messaggio PCI (Protocol Control Information) destinato al livello corrispondente nel nodo remoto. PCI+UD costituiscono la nuova PDU che il livello N passa al sottostante livello N-1. Alle interfacce SAP vengono scambiati i PDU che devono quindi essere specificati accuratamente negli standard.

47 prof. Guido Russo 47 Comunicazione: Cross-Layer adiacenti Lo scambio di informazioni nell’ambito della stessa pila protocollare, avviene tra gli strati non adiacenti. Cross-Layer (CL) Questa possibità prende il nome di Cross-Layer (CL), ed è interessante soprattutto nelle comunicazioni radio per la natura stessa variabile del mezzo trasmissivo. Cross-Layer L’idea fondamentale del concetto Cross-Layer è di introdurre la capacità, nei vari protocolli di comunicazione, di scambiarsi informazioni per adattarsi agli specifici stati del collegamento della rete.

48 prof. Guido Russo 48 Comunicazione: Cross-Layer A differenza del modello OSI classico, non si vogliono più prendere solo delle contromisure preventive o meccanismi di controllo successivi ad un determinato evento verificatosi nella rete, bensì si cerca di decidere in modo interattivo con essa sfruttando le informazioni comuni a tutti gli strati.

49 prof. Guido Russo 49 Comunicazione I PDU possono assumere nomi differenti secondo i livelli: Nello scambio tra L4 e L3: segmento Nello scambio tra L3 e L2: pacchetto Nello scambio tra L2 e L1: frame Frame Ethernet ?166264-15004 Preamble Start of frame delimiter Destination Address Source Address TypeData Frame Chech Sequence

50 prof. Guido Russo 50 Esempio di incapsulamneto

51 prof. Guido Russo 51 Comunicazione di pacchetto I dati da trasmettere sono suddivisi in pacchetti. Ogni pacchetto contiene l’indirizzo del mittente e del destinatario. Ogni nodo di commutazione analizza tutti i pacchetti che riceve e decide in quale direzione inviarli in uscita in base all’indirizzo del destinatario ed alle condizioni di traffico e di funzionamento della rete. I pacchetti successivi possono seguire percorsi diversi attraverso la rete ed arrivare a destinazione non nello stesso ordine con cui sono stati inviati.

52 prof. Guido Russo 52 Formato del pacchetto

53 prof. Guido Russo 53 Formato del pacchetto VERS: (4 bit) versione di protocollo utilizzata HLEN: (4 bit) lunghezza dell’header, in termini di numero di righe da 32 bit Service Type: (8 bit) livello di priorità dei dati contenuti nel pacchetto Total Lenght: (16 bit) lunghezza di tutto il pacchetto, compresi header e dati, espressa in byte Identification: (16 bit) numero del pacchetto Flags: (3 bit) controllo della frammentazione dei dati tra più pacchetti di lunghezza inferiore. 0 0 flag riservato DF DF (don’t fragment) se attivo indica che il pacchetto non deve essere frammentato MF MF (more fragments) se è 0 indica che è l’ultimo pacchetto

54 prof. Guido Russo 54 Formato del pacchetto Fragment Offset: (13 bit) aiuta a ricomporre i frammenti dei pacchetti, se si utilizza la frammentazione. Contiene quanti dati, misurati in unità da 8 byte, sono presenti nei frammeti precedenti. Se il frammento è il primo o l’unico, il valore è 0 Time to Live: (8 bit) tempo di vita che resta al pacchetto, espresso in termini di numero di router che può ancora attraversare. Quando il pacchetto viene costruito, il TTL ha un certo valore, che viene decrementato ogni volta che il pacchetto attraversa un router. Quando arriva a 0, il router non inoltra più il mìpacchetto, ma lo elimina. Serve per evitare che alcuni pacchetti girino in loop senza fine nella rete. Protocol: (8 bit) indica a quale protocollo di livello superiore mandare i dati in ricezione. Per esempio ICMP ha il valore 1, per IP è 4, per TCP è 6, per UDP è 17 Header Checksum: (16 bit) serve per rilevare errori nell’header Source IP Address: (32 bit) indirizzo IP dell’host mittente del pacchetto

55 prof. Guido Russo 55 Formato del pacchetto Destination IP Address: (32 bit) indirizzo IP dell’host destinatario del pacchetto IP Options: (lunghezza variabile) consente di supportare varie opzioni del protocollo IP; può anche non esserci Padding: (lunghezza variabile) bit = 0 che vengono aggiunti per completare l’header in modo che sia sempre di lunghezza multipla di 32 bit Data: (massimo 64 kB) dati (PDU) ricevuti dal livello superiore

56 prof. Guido Russo 56 Struttura di uno strato In ciascuno dei sistemi si ha una entity per strato (in figura si suppone di avere due sistemi, quindi sono evidenziate due entity). entity La entity è la parte attiva di un sottosistema, in pratica possiamo identificare entity con sottosistema, per cui ogni rettangolino rappresenterà una entity. A volte in un sottosistema si possono avere più entity per strato, in questo caso la distinzione sarà evidenziata. Una entity è caratterizzata dalla sigla del proprio strato, a livello 3 avremo per esempio delle N-entity.

57 prof. Guido Russo 57 Struttura di uno strato Uno strato (e quindi le sue entity, che dello strato sono le parti attive) fornisce servizio allo strato superiore attraverso un’interfaccia. SA PSAP A questa interfaccia le entity di livello superiore accedono mediante un Service Access Point (SAP). Anche i SAP, come le entity, sono caratterizzati dalla sigla del proprio strato; quindi lo strato 3 fornirà servizio attraverso un N-SAP, lo strato 4 fornirà servizio su un T-SAP e così via. Il dialogo fra due strati avviene, attraverso i SAP, secondo uno scambio di primitive.

58 prof. Guido Russo 58 Struttura di uno strato Il generico strato di livello X è costituito da gruppi funzionali chiamati entità (entity),

59 prof. Guido Russo 59 Struttura di uno strato Ogni entity riceve a sua volta servizio dallo strato inferiore attraverso il SAP di livello inferiore (ad esempio un’entity di livello 4 fornisce servizio su un T-SAP e riceve servizio attraverso un N-SAP). Quanto detto vale all’interno di un sistema. Per quanto riguarda l’interazione fra sistemi, essa avviene unicamente fra entity di pari livello (dette anche peer entity) secondo certe regole che costituiscono il protocollo di quel livello. Le due X-entity sono quindi due peer entity.

60 prof. Guido Russo 60 Struttura di uno strato Un protocollo è definito da un insieme di formati secondo i quali i dati devono essere strutturati e di procedure utilizzate per scambiarsi i dati. Gli enti di standardizzazione definiscono i vari protocolli cui i sistemi devono allinearsi per poter comunicare. La realizzazione delle interfacce è invece lasciata libera ai costruttori, purché esse realizzino funzionalmente le primitive che definiscono il servizio. In ogni strato è quindi attivo un protocollo. Le specifiche del protocollo di uno strato sono indipendenti da quelle degli altri strati.

61 prof. Guido Russo 61 Struttura di uno strato In altre parole, è possibile sostituire il protocollo di uno strato con un protocollo diverso senza dover cambiare alcunché nei protocolli degli strati adiacenti (naturalmente il servizio offerto allo strato superiore deve rimanere lo stesso). I protocolli dei quattro livelli inferiori del modello OSI sono legati al tipo di infrastruttura trasmissiva usata e hanno lo scopo di ottenere da essa il tipo di servizio voluto. I protocolli dei tre livelli superiori sono orientati esclusivamente ad aspetti elaborativi e non sono legati a problematiche di telecomunicazione.

62 prof. Guido Russo 62 Primitive di servizio service-user e serviceprovider. Servono per fornire una rappresentazione astratta dell'interazione fra service-user e serviceprovider. indipendenti Sono indipendenti dall'implementazione e seguono un unico schema. Il pacchetto così costruito viene ulteriormente incapsulato dal livello di comunicazione, o livello internet, che aggiunge al pacchetto informazioni circa l'indirizzo IP (indirizzo logico, non fisico) del mittente e del destinatario.

63 prof. Guido Russo 63 Primitive di servizio Sono definite 4 primitive dipendenti dalla fase dell’interazione :  Request  Indication  Response  Confirme

64 prof. Guido Russo 64 Modalità di dialogo Confermato Prevede esplicita conferma da parte del destinatario Non confermato Non prevede alcuna conferma Parzialmente confermato La richiesta viene confermata dal serviceprovider

65 prof. Guido Russo 65 Modelli di funzionamento L’interazione fra strati, ossia il come un servizio può essere ottenuto mediante scambio di primitive. Supponiamo che il generico strato X fornisca un servizio di tipo "connection-oriented".

66 prof. Guido Russo 66 Modelli di funzionamento Ciò significa che il suo utente (lo strato X+1) prima di poter usare il servizio deve richiedere una connessione. Come sempre nei servizi "connection-oriented" c’è un utente chiamante e un utente chiamato. Si suppone che il chiamante sia il Sistema A. La slide precedente illustra la sequenza di formazione della connessione. altre parole, è possibile sostituire il protocollo di uno strato con un protocollo diverso senza dover cambiare alcunché nei protocolli degli strati adiacenti (naturalmente il servizio offerto allo strato superiore deve rimanere lo stesso).

67 prof. Guido Russo 67 Modelli di funzionamento Per richiedere la connessione l’utente usa la primitiva "CONNECT". Di questa primitiva (che essendo usata per accedere al servizio di livello X si chiamerà X-CONNECT, secondo una convenzione che dovrebbe ormai risultare evidente).

68 prof. Guido Russo 68 Modelli di funzionamento Nella precedente slide le primitive sono usate nella sequenza temporale seguente:  L’utente chiamante (X+1-entity di sistema A) emette, attraverso il proprio SAP, una richiesta di connessione (CONNECT request);  Il servizio avvisa il chiamato mandandogli un’indicazione (CONNECT indication);  Il chiamato (sistema B) accetta la connessione mediante la CONNECT response;  Il servizio notifica al chiamante che la sua richiesta è stata accettata mediante la CONNECT confirm.

69 prof. Guido Russo 69 Modelli di funzionamento Lo schema precedente discende direttamente dalla rappresentazione della slide 57, ma non viene in pratica usato per specificare un servizio. sequenze temporali Al suo posto si usa il seguente diagramma di sequenze temporali (Time-sequence diagram).

70 prof. Guido Russo 70 Modelli di funzionamento In questo tipo di diagramma la fascia centrale compresa fra le due rette verticali rappresenta il fornitore di servizio (ossia lo strato di cui si descrivono le funzioni), le zone a sinistra e a destra rappresentano gli utenti del servizio, ossia le entity di livello superiore. CONNECT La primitiva CONNECT è una primitiva di segnalazione, serve a gestire la connessione fra gli utenti ma non provoca il trasferimento di informazione. DATA RequestIndication Per il trasferimento di un messaggio si usa la primitiva "DATA"; di questa primitiva esistono solo i tipi "Request" e "Indication".

71 prof. Guido Russo 71 Modelli di funzionamento

72 prof. Guido Russo 72 Modelli di funzionamento A titolo di esempio nella slide precedente sono riportati alcuni diagrammi temporali relativi a un caso reale, ossia quelli della specifica del servizio "connection oriented" di livello 2 (DL - Data Link), presi dallo standard IS 8886 (equivalente alla Raccomandazione X.212). Si noti come questi diagrammi rappresentino solo alcuni dei molti casi possibili nel funzionamento reale. Una volta che fra due X-SAP è stata stabilita una X-connection, su di essa i due utenti (ossia le due X+1-entity) possono trasferire i propri dati. I dati vengono trasferiti organizzati in blocchi che chiameremo messaggi.

73 prof. Guido Russo 73 Modelli di funzionamento Possiamo quindi affermare che: "il modello OSI sottintende una comunicazione di tipo a pacchetto“ La natura a pacchetto della comunicazione prevista nel modello OSI risulta evidente anche dalla seguente rappresentazione, dove uno strato generico è modellizzato come un sistema di due code, una per verso. Ogni coda è formata dai messaggi consegnati dagli utenti e in attesa di essere serviti. Chiedere allo strato di trasferire dei dati vuol dire inserire un messaggio nella coda appropriata.

74 prof. Guido Russo 74 Modelli di funzionamento Tale modello vale per tutti gli strati, ad eccezione dello strato fisico (livello 1). Esso svolge infatti funzioni puramente trasmissive e non è in grado di gestire code: "lo strato fisico non funziona secondo un modello a code"

75 prof. Guido Russo 75 Modelli di funzionamento Nello strato fisico quindi, a differenza di tutti gli altri strati, il trasferimento dei dati (la pura trasmissione di bit) avviene in modo trasparente, ossia: · la velocità di emissione è uguale a quella di ricezione; · il ritardo di trasferimento è fisso e non dipendente dal traffico. In definitiva lo strato fisico funziona secondo uno schema di comunicazione a circuito e introduce dei ritardi che sono per lo più ritardi di propagazione; in quanto tali risultano —nel contesto globale della comunicazione fra due sistemi— trascurabili rispetto ai ritardi dovuti agli altri strati.

76 prof. Guido Russo 76 Modelli di funzionamento connection oriented Gli esempi precedenti erano relativi a un servizio "connection oriented". connectionless Uno strato può anche operare in modo "connectionless". In questo caso la sequenza di primitive risulta molto semplificata: per usufruire del servizio non occorre alcuna connessione fra i due SAP. UNITDATA Per il trasferimento di un messaggio si usano le primitive "UNITDATA" (UNITDATA.request e UNITDATA.indication) che possono venire emessa in un istante qualunque attraverso un SAP.

77 prof. Guido Russo 77 TCP/IP Il modello ISO/OSI è un modello protocollare teoricamente perfetto, teorizzato dalla più grande organizzazione di standard mondiale per essere usato su larga scala da qualsiasi tipo di rete. ISO/OSI è stato progettato per permettere la comunicazione in reti a 'commutazione di pacchetto', del tutto simili al paradigma TCP-UDP/IP usato in Unix e nella rete ARPAnet, poi divenuta Internet. modello TCP/IP Ciò nonostante non è questo il modello su cui oggi si basa la rete internet, ma tutta internet si basa sul modello TCP/IP.

78 prof. Guido Russo 78 TCP/IP: Perché? Mentre i grandi teorici si riunivano per teorizzare il modo perfetto in cui strutturare internet (siamo intorno alla metà degli anni '70) un gruppo di hacker e studenti dell'università di Berkley aveva già preparato un altro modello, più snello, che era già in grado di far comunicare tra loro tutte le macchine dell'ateneo. La differenza sostanziale fra TCP/IP e ISO/OSI consiste nel fatto che nel TCP/IP il layer applicativo è esterno alla pila di protocolli (ovvero è una applicazione stand- alone che 'usa' TCP/IP per comunicare con altre applicazioni), i layer sono dunque solo 5 (applicazione, trasporto, rete, data-link, fisico) e i livelli sessione, presentazione sono assenti perché implementati (eventualmente) altrove, cioè nell'applicazione stand-alone esterna.

79 prof. Guido Russo 79 ISO/OSI è uno stack di protocolli incapsulati, che sicuramente è più flessibile rispetto al paradigma di TCP/IP, ma soltanto perché risulta più astratto rispetto a questo. In pratica non esistono implementazioni 'complete' di ISO/OSI, a parte quelle proprietarie (ad esempio DECNET della Digital) e di interesse accademico. TCP/IP

80 prof. Guido Russo 80 TCP/IP La nascente rete internet si trovava quindi da un lato con uno standard de iure (ovvero certificato dalla più grande organizzazione di standard mondiale) che però era ancora definito solo a livello teorico e non aveva mai avuto applicazioni pratiche, dall'altro con quello che poi è diventato uno standard de facto, un modello già efficiente a livello pratico, pensato e progettato da un gruppo di hacker universitari e che era già in grado di far comunicare tra loro host di natura diversa. La scelta è ricaduta proprio su quest'ultimo, e nonostante a livello giuridico lo standard di internet sia la pila protocollare ISO/OSI, di fatto l'intera rete si appoggia sulla pila protocollare TCP/IP.

81 prof. Guido Russo 81 TCP/IP Il TCP/IP è una pila protocollare del tutto simile a ISO/OSI come funzionamento, ma strutturata a 4 livelli anziché 7.

82 prof. Guido Russo 82 TCP/IP: funzionamento  Il messaggio originale viene gestito a livello applicativo (può essere una richiesta di una pagina web, una richiesta di un messaggio di posta, un messaggio di status in una chat...).  Il messaggio originale viene passato al livello di trasporto host-to-host (TCP, o UDP), che si preoccupa di incapsulare il messaggio originale aggiungendo informazioni per il corretto recapito del messaggio (come bit di checksum per la verifica di eventuali corruzioni durante l'invio, bit di flag per la gestione della comunicazione...) e informazioni circa la porta sorgente del mittente e la porta di destinazione per il ricevente.

83 prof. Guido Russo 83 TCP/IP: funzionamento  Il pacchetto così costruito viene ulteriormente incapsulato dal livello di comunicazione, o livello internet, che aggiunge al pacchetto informazioni circa l'indirizzo IP (indirizzo logico, non fisico) del mittente e del destinatario.  Il pacchetto viene infine incapsulato a livello fisico, che aggiunge informazioni per il recapito fisico quali l'indirizzo fisico (MAC) dell'interfaccia del mittente e del destinatario. Il pacchetto così costruito (frame) è pronto ad essere immesso nella rete, eventualmente attraversare uno o più commutatori di pacchetto (router, switch o hub) e infine giungere a destinazione, dove verrà 'spogliato' delle informazioni aggiuntive che lo hanno accompagnato durante il viaggio e dove il messaggio originale verrà consegnato nuovamente al livello applicativo dello stack TCP/IP.


Scaricare ppt "Prof. Guido Russo 1 Il modello ISO/OSI prof. G. Russo"

Presentazioni simili


Annunci Google