L’architettura a strati ISO-OSI
Introduzione Il modello lSO/OSI offre una base per gli standard di comunicazione, indipendentemente dai fornitori. Non è uno standard di rete concreto, ma descrive in forma astratta quali procedimenti devono essere regolati per far funzionare la comunicazione in una rete. Il modello ISO/OSI è stato pensato perché la comunicazione tra due computer può apparire banale agli utenti, ma in realtà durante la trasmissione di dati in una rete devono essere compiuti numerosi compiti e soddisfatte diverse richieste nell’ambito dell’attendibilità, della sicurezza e dell’integrità. L’architettura a strati definisce quindi, le specifiche di una rete di comunicazione
Introduzione ISO è un acronimo e sta per International Standardization Organization- organismo per la standardizzazione formale per connettere i computer Nel 1978 l’ISO specificò un modello di riferimento per la connessione di pc Il modello di riferimento per le reti fu chiamato Open Systems Interconnection; esso è un insieme di indicazioni e di regole non in possesso esclusivo di alcuna organizzazione ma di pubblico dominio.
Architettura a strati Il modello ISO/OSI suddivide la progettazione di una rete in sette livelli funzionali separati, detti Layer, ognuno dei quali ha proprie caratteristiche e si occupa di un particolare aspetto del protocollo di comunicazione. Ogni livello utilizza i servizi del layer sottostante in modo trasparente, (ovvero senza conoscere il funzionamento interno) e fornisce i propri servizi a quello superiore. Ogni livello di un nodo comunica virtualmente con l'equivalente livello dell'altro nodo, anche se solo i layer più bassi (livello Fisico) sono realmente in contatto tra loro. Il modello ISO/OSI (che attualmente è solo un riferimento per il progetto di una rete, non una struttura da applicare rigorosamente) definisce esclusivamente quali sono le funzioni di ogni livello, senza indicare le tecnologie di costruzione.
I sette livelli
Architettura a strati Per poter comunicare tra loro, ogni strato ha bisogno di interfaccia. Partendo dal livello superiore da dove si inviano i dati, ogni livello aggiunge per quello inferiore delle informazioni. Il pacchetto dati sarà quindi dato dai dati veri e propri detti payload e, da un header che sono informazioni dati. Questo principio è detto incapsualmento.
Architettura a strati Un sistema terminale è origine o destinazione finale delle informazioni Un sistema intermedio provvede ad assicurare il collegamento fisico tra più sistemi terminali Nei nodi di rete sono presenti solo i primi tre livelli Nei DTE devono essere presenti tutti i livelli OSI
I livello Livello fisico Si occupa di trasmettere i dati sui canali di comunicazione e comprende i dispositivi Hardware necessari alle connessioni. Dispositivi: Hub, schede di rete. Specifica: Codifica dei bit Caratteristiche dei cavi e dei connettori Dominio dell’Ingegneria elettronica
II Livello Livello di Linea Raggruppa i dati ricevuti dal network layer in strutture di bit (dette frame) compatibili con il livello fisico, e viceversa. Inoltre si occupa delle operazioni di verifica ed eventuali correzioni degli errori presenti nel protocollo. Apparati: bridge e switch Deve: Identificare il bit di inizio e di fine dei pacchetti Gestire le ritrasmissioni se necessario Controllare il flusso Nelle reti locali gestisce il controllo dell’accesso al mezzo
III livello Livello di Rete Il Network Layer determina il modo in cui i frame vengono instradati dal trasmettitore al ricevitore, (routing dei dati) ricercando i percorsi migliori (non solo dal punto di vista delle distanze) all'interno della rete con particolari Algoritmi di Instradamento; il livello, in tal modo, controlla l'intero percorso dei messaggi dal trasmettitore al ricevitore. Gli algoritmi di Instradamento sono di tipo Statico (basano le proprie scelte su informazioni memorizzate in un archivio, solo periodicamente aggiornato) o Dinamico (utilizzano misure e stime del traffico sulla rete, in modo da instradare i dati sui percorsi che di volta in volta sembrano più promettenti). Il Network Layer fornisce al livello superiore (trasporto) una connessione end-to-end tra i due elaboratori coinvolti nello scambio dei dati. Compito del Network Layer è anche la misurazione del traffico attraverso i singoli tratti attraversati. Dispositivi: router
III livello Deve: Conoscere la topologia della rete Scegliere il cammino migliore Gestire la compatibilità di reti eterogenee
IV livello Livello Trasporto provvede al trasferimento dei messaggi sulla rete (senza che gli utenti, ovvero i livelli superiori, debbano essere a conoscenza della sua struttura) procedendo in tre fasi: 1. realizzazione della connessione 2. trasferimento dei dati 3. rimozione della connessione. La connessione è generalmente riservata per tutta la durata della comunicazione (commutazione di circuito), ma il livello può dividere il messaggio in pacchetti da inoltrare con percorsi distinti (commutazione di pacchetto).
IV livello Deve: Aprire e chiudere le connessioni Frammentare in maniera opportuna i pacchetti e riassemblarli Rilevare e correggere gli errori Controllare il flusso e le congestioni Gestire le connesioni multiple all’interno dello stesso dispositivo (es. PC) Bisogna evitare che un pacchetto dati possa essere riassemblato in maniera errata o, che un frame possa essere trasmesso più volte.
V Livello Livello Sessione Ogni volta che un utente si collega alla rete, deve generalmente effettuare il Login (cioè fornire Account e Password): ogni singolo Login viene anche chiamato Sessione di lavoro, e dura fino alla disconnessione dell'utente dalla rete. Per ogni Login il Session Layer si occupa di negoziare tra i due nodi e fissare i parametri del colloquio (velocità, controllo, errori, tipo di trasferimento simplex, half-duplex o full-duplex, ecc..) ed in seguito di verificare che questi parametri siano ancora ottimali, modificandoli in caso contrario.
VI Livello Livello Presentazione Il Presentation Layer determina il modo con cui le informazioni appaiono all'utente, controllandone la sintassi e la semantica, cioè eseguendo conversioni di codici e di formati da un sistema operativo all'altro. Compito del sesto livello è anche di crittografare eventualmente i messaggi per motivi di sicurezza.
VII Livello Livello Applicazioni L'Application Layer si occupa di fornire agli utenti il mezzo per accedere alle reti, funzionando da interfaccia tra il sistema informativo e il mondo reale. Alcune delle funzioni fornite sono: * Trasferimento file tra nodi. * Gestione di messaggi (come la posta elettronica). * Scambio risultati tra programmi (Applicazioni Client-Server). * Visualizzazioni di pagine informative.
Interfaccia di protocollo Applicazione Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico Presentazione Sessione Trasporto Sistema intermedio Rete Data Link Fisico Rete Data Link Fisico
In breve 7 - Applicazione: Programma applicativo che deve comunicare (es. Terminale Virtale, mail agent, ecc.) 6 - Presentazione: Gestisce la sintassi e la codifica (es ASCII, EBCDIC) che puo' avere diverse rappresentazioni interne. 5 - Sessione: Organizza (sincronizza, tiene traccia delle comunicazioni correnti) il dialogo tra i due end-system. E' raramente utilizzato. 4 - Trasporto: Fornisce il trasferimento trasparente ent-to-end dell'informazione (frammentazione del flusso in trame, correzione errori, prevenzione della congestione,..). Non si occupa della topologia della rete. Corrisponde ai protocolli udp e tcp di TCP/IP. 3 - Network: gestisce l'instradamento dei messaggi. Corrisponde a X25 (connection oriented) ed a IP (connection-less) 2 - Data-Link: Si occupa della trasmissione affidabile delle trame (frame) mediante l'inserimento di Frame Control Sequence (FCS). 1 - Fisico: Si occupa della trasmissione di sequenze binarie sul camale di comunicazione.