Open System Interconnection
Template:Avvisodoppione Il modello ISO/OSI è un modello utilizzato nell'ambito delle reti di calcolatori per descrivere i principi dell'architettura di una rete di computer.
Alla fine degli anni Settanta il principale ente di standardizzazione internazionale (ISO - International Organization for Standardization) sentì la necessità di produrre una serie di standard per le reti di calcolatori ed avviò il progetto OSI (Open System Interconnection), un modello standard di riferimento per l'interconnessione di sistemi aperti. Il documento che illustra tale attività è il Basic Reference Model di OSI, noto come standard ISO 7498.
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. In particolare ISO/OSI è costituito da strati, i cosidetti 'layer', che racchiudono uno o più aspetti fra loro correlati della comunicazione fra due nodi di una rete. I layer 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'. Lo stack è costituito dai seguenti layer (in ordine decrescente):
- 7 - layer/protocollo/livello applicativo
- 6 - layer/protocollo/livello di presentazione
- 5 - layer/protocollo/livello di sessione
- 4 - layer/protocollo/livello di trasporto
- 3 - layer/protocollo/livello di rete
- 2 - layer/protocollo/livello di collegamento dati (data-link layer)
- 1 - layer/protocollo/livello fisico (segnali elettrici, ottici, radio, etc)
Ogni layer individua un protocollo di comunicazione del livello medesimo. ISO/OSI realizza una comunicazione per livelli, ovvero dati due nodi A e B, il livello n del nodo A può scambiare informazioni col livello n del nodo B ma non con gli altri: ciò conferisce modularità al sistema e semplicità di implementazione e reimplementazione. Inoltre 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 messagggi 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.
In tal modo 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.
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. 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 4 (trasporto, rete, data-link, fisico) e i livelli sessione, presentazione, applicazione sono assenti perché implementati (eventualmente) altrove, cioè nell'applicazione stand-alone esterna.
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 e di interesse accademico.