L’interazione tra computer in rete, ed in generale tra reti eterogenee, ha come premessa essenziale l’esistenza di protocolli standard di comunicazione. Per protocolli di comunicazione intendiamo un insieme ben definito di regole che permette a due sistemi informatici (anche se eterogenei) di scambiare informazioni. Lo scambio è possibile perché le regole e le modalità sono chiare e conosciute da tutti e due i sistemi.
Un protocollo può essere proprietario (specifico di alcuni vendor) o aperto: nel secondo caso si rende possibile la comunicazione di hardware e software di diversi produttori.
L'internetworking, a causa dell'eterogeneità delle architetture di rete esistenti, deve essere necessariamente multiprotocollo. Questo significa che la stessa struttura fisica, sia locale sia geografica, deve essere utilizzata simultaneamente da più architetture di rete, le quali devono convivere il più armoniosamente possibile.
Alla fine degli anni '70, l'ISO sentì la necessità di proporre una serie di standard per le reti di calcolatori e avviò il Progetto OSI (Open System Interconnection); venne quindi proposto un modello di riferimento per l'interconnessione di sistemi aperti. Il modello di riferimento OSI ha due scopi:
-
fornire una base comune su cui sviluppare standard per l'interconnessione di sistemi informatici;
-
fornire un modello rispetto a cui confrontare le architetture di rete proprietarie.
Per semplificare le complesse operazioni delnetworking si utilizza un’architettura divisa in livelli. Nella figura sottostante sono rappresentati i livelli che compongono il modello di riferimento ISO-OSI.
Nell’invio di un’informazione, ogni livello comunica con il corrispondente livello del sistema di destinazione. E’ come se livelli paritari comunicassero in modo diretto: per esempio il livello 4 di trasporto comunica solo con il livello 4 del sistema di destinazione. In realtà l’informazione viaggia dal sistema di partenza procedendo dal livello 4, scendendo ai livelli 3, 2, 1 e risalendo poi ai livelli 1, 2, 3, 4 del sistema di destinazione.
L’organizzazione a strati semplifica la progettazione di dispositivi e servizi di rete: livelli adiacenti comunicano tramite la loro interfaccia e mediante protocolli specifici per ogni livello. Inoltre ogni livello utilizza i servizi messi a disposizione dal livello sottostante, mettendo a sua volta a disposizione del livello superiore nuovi servizi. L’accesso di un livello a quello sottostante si basa sul principio dell’incapsulamento: considerando l’azione di un utente che utilizza un applicativo interagendo con un sistema OSI, possiamo dire che nel momento in cui l’utente inserisce dei dati questi vengono consegnati ad una entità del livello Applicazione, e da questo momento l’informazione scorrerà verticalmente verso i livelli inferiori. Ogni protocollo di ogni livello attraversato aggiungerà una quantità di informazioni di controllo (header). Quando l’informazione raggiungerà il sistema di destinazione si verificherà il processo inverso di decapsulamento, e quindi i vari header aggiunti dai livelli del sistema di partenza verranno eliminati dai corrispondenti livelli del sistema di destinazione, fino ad arrivare al processo applicativo corrispondente.
-
LIVELLO 7: APPLICAZIONE
-
Il livello 7 è il livello Applicazione, cioè dei programmi applicativi (facenti parte del sistema operativo o scritti dagli utenti) attraverso i quali l'utente finale utilizza la rete.
-
-
LIVELLO 6: PRESENTAZIONE
-
Gestisce la sintassi dell'informazione da trasferire (ad esempio codifica ASCII o EBCDIC).
-
-
LIVELLO 5: SESSIONE
-
E’ responsabile dell'organizzazione del dialogo tra due programmi applicativi e del conseguente scambio di dati.
-
-
LIVELLO 4: TRASPORTO
-
Si occupa di fornire un trasferimento dati affidabile e di ottimizzare l'uso delle risorse di rete. Compiti del livello 4 saranno quindi tipicamente la frammentazione, la correzione degli errori e la prevenzione della congestione della rete.
-
-
LIVELLO 3: RETE
-
Gestisce l'instradamento dei messaggi; esso determina se e quali sistemi intermedi devono essere attraversati dal messaggio per giungere a destinazione, quindi deve gestire delle tabelle di instradamento e provvedere ad instradamenti alternativi in caso di guasti (fault tolerance).
-
-
ILIVELLO 2: DATA LINK
-
Ha come scopo la trasmissione affidabile di dati ricevuti dai livelli superiori, dati che vengono suddivisi in trame (frame); accetta come input dei pacchetti di livello 3 (tipicamente poche centinaia di bit) e li trasmette sequenzialmente. Di fatto i dati vengono “incorniciati”, ovvero raggruppati in blocchi che contengono, oltre alle informazioni dell’utente, una serie di informazioni di servizio (come gli indirizzi MAC di origine e destinazione e vari dati di controllo). Il livello, successivamente ai lavori del comitato IEEE 802, è stato suddiviso in due sottolivelli:
-
–LLC (LogicalLinkControl): divide i dati in strutture logiche; crea la forma finale dei pacchetti; controlla la topologia logica della rete. L’LLC presenta un’interfaccia comune e funzionalità di controllo del flusso e dell’affidabilità della trasmissione.
-
–MAC (Media AccessControl): trasforma indirizzi di rete in indirizzi MAC; gestisce l’accesso al mezzo trasmissivo. Il MAC fornisce l’interfaccia tra l’LLC e il supporto di rete che si utilizza. Mentre LLC rimane comune, si possono avere diversi sottostrati MAC secondo il tipo di rete, per esempio CSMA/CD (Ethernet), Token Ring o altro. Il MAC completa il confezionamento del frame aggiungendovi l’effettivo indirizzo fisico (detto appunto MAC-Address) dell’interfaccia di rete di destinazione, quindi passa il frame al livello fisico, dove viene inviato come flusso di bit.
-
-
-
LIVELLO 1: FISICO
-
Si occupa di trasmettere sequenze binarie sul canale di comunicazione; a questo livello si specificano, ad esempio, le tensioni elettriche che devono rappresentare i valori binari 0 e 1. Definisce le caratteristiche fisiche dell’interfaccia di rete, tra cui i componenti meccanici e i connettori, gli aspetti elettrici (per esempio i valori ditensione del segnale) e gli aspetti funzionali (per esempio la conversione dei frame dello strato 2 in un flusso di bit, la codifica dei segnali, e così via). Specifica i meccanismi necessari per trasferire il segnale sul supporto di trasmissione e viceversa, e definisce le caratteristiche dei cavi.
-
ISO-OSI e TCP/IP
La pila ISO-OSI è indispensabile per capire le tecnologie di rete. E’ il modello a cui si fa riferimento quando si descrive un qualsiasi protocollo di rete, ed è il modello generale di riferimento per il progetto di reti eterogenee. OSI però è “solo” un modello di riferimento.
L'architettura adottata dalla rete Internet che, con le sue decine di milioni di calcolatori è la più grande rete al mondo, è rappresentata dall'Internet Protocol Suite, meglio conosciuta come TCP/IP, suite di protocolli di cui i due più noti sono il TCP (Transmission ControlProtocol) e l'IP (Internet Protocol). Questi protocolli furono utilizzati da un gruppo di ricercatori per la rete ARPAnet e ottennero un elevato successo, anche perché posti sin dall'inizio nel dominio pubblico e quindi utilizzabili gratuitamente da tutti. TCP/IP ebbe un successo tale che dopo gli anni ‘90, gli anni della maturità dell'ISO/OSI, l'unica architettura di rete che sembrava interessare il mercato era TCP/IP.Anche gli enti di standardizzazione nazionali e internazionali si arresero davanti alla massiccia diffusione di TCP/IP e dargli la stessa dignità di ISO/OSI, che oggi rimane quello per cui è stato ideato, ossia un modello di riferimento. Il confronto tra ISO/OSI e TCP/IP è quindi d’obbligo.
Nell’architettura TCP/IP ci sono 4 livelli:
- il quarto livello è lo strato applicazione,che accorpa i tre livelli più alti (applicazione, presentazione, sessione) del modello di riferimento ISO-OSI. E' responsabile dell’interfaccia utente e della presentazione dei dati. FTP (File Transfer Protocol), NFS (Network File Systems) e SMTP (Simple Mail Transfer Protocol) sono esempi di protocolli del livello applicazione.
- il terzo livello è lo strato di trasporto, corrispondente al livello di trasporto 4 del modello di riferimento ISO-OSI. In questo livello, si possono adottare il TCP (Transmission Control Protocol) o l’UDP (User Datagram Protocol). Il primo offre garanzie sul corretto invio dei messaggi (potremmo paragonarlo ad una spedizione con ricevuta di ritorno!), il secondo è più veloce proprio perché non si preoccupa di fornire tali garanzie.
- il secondo livello è lo strato di rete, corrispondente al livello di rete 3 del modello di riferimento ISO-OSI. In questo livello i pacchetti provenienti dal livello di trasporto soprastante vengono organizzatti in pacchetti che devono essere spediti a un indirizzo di destinazione. Il livello di rete è inoltre responsabile dell’indirizzamento logico dei dispositivi di rete e del passaggio dei pacchetti tra una rete e l’altra.
- il primo livello è lo strato di interfaccia con la rete (Network Interface), corrispondente ai primi due livelli del modello di riferimento ISO-OSI. In questo livello i pacchetti provenienti dal livello di rete soprastante vengono incapsulati in frames (trame) per essere trasmessi attraverso un mezo fisico, per esempio il doppino intrecciato nelle reti cablate o onde radio nel caso di reti senza fili.