# Introduzione alle reti telematiche/OSI

Introduzione alle reti telematiche
Copertina Tutti i moduli · Sviluppo
    CopertinaIntroduzione alle reti telematiche/Copertina
* Nozioni introduttiveIntroduzione alle reti telematiche/Nozioni introduttive
* OSIIntroduzione alle reti telematiche/OSI
* Protocolli a finestraIntroduzione alle reti telematiche/Protocolli a finestra
* Livello 1 OSIIntroduzione alle reti telematiche/Livello 1 OSI
* Livello 2 OSIIntroduzione alle reti telematiche/Livello 2 OSI
* Reti localiIntroduzione alle reti telematiche/Reti locali
* Standard LANIntroduzione alle reti telematiche/Standard LAN
* Interconnessione LANIntroduzione alle reti telematiche/Interconnessione LAN
Modifica il sommario
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

In 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

I 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.

### Livello 1: fisico

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

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

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

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

Il 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

Il 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

Il livello di applicazione (application) è lo strato che interagisce con l'utente.

## Comunicazione
### Protocollo

Il 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)

Attraverso 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

La 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

Un 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.