Introduzione alle reti telematiche/OSI
Il modello OSI è il modello di riferimento per le reti di telecomunicazione a pacchetto. È recepito nei seguenti standard: ISO IS 7498 e CCITT X.200. È organizzato gerarchicamente in livelli:
Una rete si può definire rete Internet se a livello rete vi è implementato il protocollo IP. In una rete Internet i 3 livelli superiori sono lasciati agli applicativi sul PC dell'utente.
Le reti B-ISDN (es. ATM) hanno delle architetture molto più complesse ma consentono una maggiore affidabilità.
Nomenclatura
modificaIn un sistema gli strati sono organizzati in modo gerarchico: ogni strato fornisce servizi allo strato superiore, usando i servizi dello strato inferiore (detto black-box) e le proprie determinate funzioni.
Le entità sono gli elementi attivi di un sottosistema e interagiscono all'interno di uno strato. Ad esempio, le entità che si trovano al livello più alto sono gli applicativi in esecuzione sul PC dell'utente.
Strati
modificaI sistemi si distinguono in:
- sistemi terminali: implementano tutti i livelli;
- sistemi di rilegamento (relay): implementano sono alcuni dei livelli più bassi (es. switch Ethernet).
Nelle reti pubbliche gli strati di utilizzazione, che corrispondono all'utente, accedono alla sezione di accesso della rete tramite protocolli di accesso, e i nodi della rete interna comunicano tra di loro attraverso protocolli di rete.[non chiaro]
Livello 1: fisico
modificaPer approfondire, vedi 4. Livello 1 OSI. |
Il livello fisico (physical) è lo strato deputato al trasporto fisico dei bit di informazione tra un sistema e l'altro. Un livello fisico è definito in base a codifiche di linea, connettori, livelli di tensione, ecc.
Livello 2: collegamento
modificaPer approfondire, vedi 5. Livello 2 OSI. |
Il livello di collegamento (data link) permette il trasferimento di unità dati del livello rete e cerca di fronteggiare i malfunzionamenti dello strato fisico.
- Funzioni
- rivelare e recuperare gli errori di trasmissione;
- controllare il flusso, cioè evitare di inondare la destinazione se non è pronta a ricevere dati;
- delimitare le unità dati, cioè individuare l'inizio e la fine di una PDU, di una PCI, e così via.
Livello 3: rete
modificaPer approfondire, vedi 9. Protocollo IPv4. |
Il livello di rete (network) controlla:
- l'instradamento, cioè trova il percorso all'interno della rete;
- il flusso, cioè evita di inondare la destinazione;
- la congestione, cioè evita di intasare la rete;
- la tariffazione.
Siccome l'Internet Protocol Suite non segue rigorosamente lo standard, i controlli di flusso, congestione e tariffazione non vengono svolti nel livello di rete (IP) ma nel livello di trasporto.
Livello 4: trasporto
modificaPer approfondire, vedi 18. Livello Trasporto: Protocolli TCP-UDP. |
Il livello di trasporto (transport):
- effettua controlli di errore e di sequenza: cerca di garantire una certa qualità di servizio riparando gli errori che si verificano nello strato di rete;
- controlla il flusso, cioè evita di inondare la destinazione;
- gestisce la multiplazione, la suddivisione, la segmentazione e la concatenazione dei pacchetti.
Nell'Internet Protocol Suite il livello di trasporto controlla anche la congestione, ed è il primo livello ad essere implementato solo nel PC dell'utente, mentre il livello di rete è ancora presente in tutti gli apparati di commutazione.
Livello 5: sessione
modificaIl livello di sessione (session) gestisce lo scambio di dati a livello temporale. Ad esempio, in una applicazione che riproduce una sorgente video il livello di sessione è quello che ricostruisce l'ordine corretto dei fotogrammi e gestisce la funzione di pausa. Su Internet questo livello è interamente all'interno dell'applicazione stessa.
Livello 6: presentazione
modificaIl livello di presentazione (presentation) controlla come i dati vengono rappresentati, risolve eventuali problemi di compatibilità e può fornire anche servizi di cifratura dei dati.
Livello 7: applicazione
modificaPer approfondire, vedi 19. Application Layer. |
Il livello di applicazione (application) è lo strato che interagisce con l'utente.
Comunicazione
modificaProtocollo
modificaIl protocollo è un insieme di convenzioni prestabilite. Attraverso un protocollo un'entità può comunicare con un'altra entità che si trova sullo stesso livello gerarchico, anche in sistemi diversi.
Definire un protocollo significa definire:
- algoritmi: la semantica del protocollo (i significati delle parole);
- formati: la sintassi del protocollo (la costruzione delle parole);
- temporizzazione: le sequenze temporali.
Service Access Point (SAP)
modificaAttraverso un Service Access Point (SAP) un'entità può comunicare con un'altra entità di livello inferiore o superiore.
Ad ogni entità è associato un titolo. Ad ogni SAP è associato un indirizzo.
La connessione tra entità può essere:
- multiplata: più entità di livello superiore condividono un'unica entità di livello inferiore;
- suddivisa: un'entità di livello superiore è collegata a più entità di livello inferiore.
Creazione PDU
modificaLa PDU di livello superiore diventa la SDU di livello inferiore, e ogni livello aggiunge la sua PCI:
Ogni volta che un'entità crea una PDU usando come SDU la PDU di livello superiore cambia il protocollo da usare per leggere la PDU.
A ogni passaggio le dimensioni della PDU aumentano sempre di più. Possono esistere dei vincoli relativi alle dimensioni dei pacchetti:
- segmentazione: il pacchetto dello strato superiore viene separato in più parti, e ogni parte viene inserita in una diversa SDU;
- concatenazione: più pacchetti dello strato superiore vengono caricati tutti su una sola SDU.
Il processo continua fino a quando il pacchetto arriva ai mezzi trasmissivi, che lo trasferiscono fisicamente a un altro sistema.
Servizio
modificaUn servizio può essere:
- connection-oriented (CO): prima di trasferire i dati il trasmittore si assicura che il ricevitore sia raggiungibile;
- connectionless (CL): send & pray.
Ad esempio, per trasferire informazioni tra un'entità e un'altra entità dello stesso livello ma di un altro sistema è necessario un fornitore del servizio di livello inferiore:
- trasferimento con connessione (CO): esiste un accordo preliminare tra le tre parti entità-fornitore-entità che precede l'invio delle informazioni;
- trasferimento senza connessione (CL): sono necessari accordi tra le singole parti che sono indipendenti tra loro: un accordo tra l'entità sorgente e quella di destinazione, un accordo tra l'entità sorgente e il fornitore del servizio, e un accordo tra il fornitore del servizio e l'entità di destinazione.
Le primitive sono le interazioni tra le entità che permettono di offrire un servizio:
- richiesta: la primitiva chiamata dall'entità trasmettitore verso l'entità fornitore del servizio;
- indicazione: la primitiva chiamata dall'entità fornitore del servizio verso l'entità ricevitore;
- risposta: la primitiva chiamata dall'entità ricevitore verso l'entità fornitore del servizio;
- conferma: la primitiva chiamata dall'entità fornitore del servizio verso l'entità trasmettitore.
La chiamata di una primitiva genera le chiamate di altre primitive di livello inferiore fino ad arrivare ai mezzi trasmissivi.