Modello ISO OSI
Protocollo di comunicazione
Una rete di TLC deve seguire determinate "regole" che costituiscono un protocollo: un protocollo definisce il formato e l’ordine dei messaggi scambiati tra due o più entità in comunicazione, così come le azioni intraprese in fase di trasmissione e/o ricezione di un messaggio o di un altro evento.
Reti di dati
Il flusso di bit inviato deve avere lo stesso significato per entrambi i terminali: il protocollo definisce cosa viene comunicato, come e quando.
Architettura a livelli
In casi molto semplici un solo protocollo è sufficiente, ma in generale è necessario suddividere i compiti tra più livelli (layer) — organizzazione dei protocolli in livelli. Con un'architettura a livelli è possibile dividere funzionalità complesse con una stratificazione di più funzionalità di base.
Per comunicare
Per comunicare è necessario che esista un canale fisico adatto (requisito per la connessione fisica), è necessario avere competenze linguistiche comuni (requisito per la trasmissione) e competenze di contenuto comuni (requisito per la comunicazione). Si comunica!
Se le soluzioni adottate per soddisfare le tre precondizioni sono efficienti, la comunicazione si realizza come se esse non fossero più necessarie ("trasparenza" dei protocolli e dell’infrastruttura).
Architettura a livelli
Ciascuno è indipendente dagli altri in modo che possa essere sostituito senza dover modificare gli altri (facilita manutenzione ed aggiornamento) — ad un livello interessano solo gli ingressi/uscite degli altri non come questi sono ottenuti. Un livello deve essere in grado di usufruire dei servizi del livello inferiore e offrire servizi al livello superiore.
Eventuali nodi intermedi (es. stazione intermedia di smistamento) hanno bisogno solo di alcuni livelli non di tutti, quindi è più semplice e meno costoso. Ogni livello ha un livello corrispondente e reciproco nel nodo destinazione. La funzione dello smistamento aziendale è prendere la lettera dall’ufficio del direttore e la porta ad un altro ufficio, preleva qualcosa dallo strato sopra e lo porta allo strato sotto. Il postino della città A fa lo stesso del postino della città B, devono condividere delle regole comuni date da protocollo.
Protocollo di comunicazione
L’insieme delle funzioni necessarie per un processo di comunicazione è partizionato in sottoinsiemi funzionali ben definiti detti layer. I layer sono organizzati in modo da operare in un ordine gerarchico.
Ogni layer è caratterizzato da:
- Servizi: insieme di primitive (operazioni) che uno strato fornisce ad uno strato soprastante.
- Protocolli: insieme di regole che governano il formato e il significato dei frame, dei pacchetti o dei messaggi che vengono scambiati tra gli strati paritari di due entità diverse.
- Interfacce: insieme di regole che governano il formato e il significato dei frame, dei pacchetti o dei messaggi che vengono scambiati tra due strati successivi della stessa entità.
Tra un layer e un altro, strati uguali condividono un protocollo. La stratificazione si fa perché così se cambiano le regole riscrivo il protocollo solamente di uno strato.
Interfacce e API
Interfaccia — Insieme di regole che permettono a due entità di scambiarsi reciproci servizi.
Application Programming Interface (API) — Regole e definizioni per scambio dati tra programmi.
Principi di base
Separation of Concern: Separazione degli interessi e delle responsabilità, fare ciò che compete, delegando ad altri tutto ciò che è delegabile.
Information Hiding: Nascondere tutte le informazioni che non sono indispensabili a che il committente possa compiutamente definire l'operazione.
Modello ISO/OSI
Per rendere interoperabili e permettere la comunicazione tra apparati di costruttori diversi è necessario avere un modello di riferimento unico. Un set di protocolli si definisce aperto se:
- I dettagli del protocollo sono disponibili pubblicamente.
- I cambiamenti sono gestiti da un’organizzazione la cui partecipazione è aperta al pubblico.
L’International Standard Organization (ISO) propose un modello di riferimento per l’interconnessione di sistemi aperti (Open System Interconnection [OSI]) — modello ISO/OSI (1970).
Obiettivo: facilitare la comunicazione tra sistemi differenti senza imporre vincoli HW o SW. Standardizzare il sistema in termini di sequenze ordinate e coordinate di messaggi.
ISO/OSI è un modello funzionale di riferimento per una rappresentazione dell’ambiente di comunicazione, non è un protocollo. ISO/OSI è un modello teorico, ma utile dal punto di vista didattico: fornisce una base per capire i sistemi di comunicazione dati. Il livello più basso è quello fisico che deve capire con quale mezzo trasferire l’informazione. Al livello applicativo segue l’interfaccia che mi fa scrivere la mail, e il mio computer sa che deve seguire le regole dello strato applicazione che lo passa a quello di presentazione che anch’esso ha delle regole che devo fare delle operazioni tipo le può comprimere se si parla di immagini, poi si passa alla sessione e lui ci deve fare delle operazioni dettate dal suo protocollo, stabilisce una connessione con il nodo di destinazione, e lo passa al livello di trasporto il quale lo può suddividere in pacchetti. Quindi ogni strato ha le sue regole, e il messaggio deve essere capace di attraversare un nodo fisico e arrivare a destinazione. Questo è un modello di riferimento.
Gerarchia di strati (layer)
Quando ho delle necessità di cambiare delle regole, ad esempio invece del doppino telefonico nel livello fisico metto la fibra ottica, le regole dovranno essere diverse perciò posso cambiare solamente le regole dello strato fisico, non ho bisogno di cambiare tutte le regole delle varie stratificazioni. Se cambio il mezzo fisico ad esempio, devo cambiare solamente qualche cosa del datalink e della rete, il resto rimane uguale, quindi devo variare solamente gli strati che comprendono il protocollo di rete.
Essendo un modello teorico è possibile ripensare all’esempio dell’invio della lettera:
Principio di incapsulamento
L’header porta non solo i dati del messaggio ma anche dei dati di controllo necessari all’invio del messaggio allo strato successivo. Ogni livello aggiunge all’informazione proveniente dal livello superiore una propria sezione informativa: header, trailer (principio di incapsulamento). Per i dati ricevuti si eseguono le operazioni inverse.
Il processo di incapsulamento delle informazioni è:
- Ricorsivo — ogni incapsula i dati precedentemente incapsulati dal livello precedente.
- Reversibile — è sempre possibile estrarre i dati precedentemente incapsulati.
C’è bisogno di così tante informazioni di controllo perché ogni strato agisce indipendentemente dagli altri e lo strato sopra deve comunicare e dire cosa ha fatto allo strato sotto, ed anche perché la rete internet è una rete di carattere distribuito perciò sono nodi paritetici e devono condividere delle regole per poter distribuire informazioni e scambiarsi messaggi tra loro, perciò ho bisogno delle informazioni di controllo (pensa ad un post it che viene appiccicato da uno strato con le informazioni necessarie da comunicare al livello successivo).
Primitive
I comandi e le risposte che i livelli si scambiano attraverso l'interfaccia sono chiamati primitive. Le primitive sono suddivise in quattro classi fondamentali:
Livello applicazione
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Reti di calcolatori
-
Appunti di Reti dati per applicazioni industriali
-
Reti dei calcolatori elettronici – livelli ISO/OSI, TCP/IP, protocolli e trasmissione dati
-
Appunti programma Reti di calcolatori