Il modello Open Systems In­ter­con­nec­tion (ab­bre­via­to in modello ISO/OSI) è stato pro­get­ta­to dall’In­ter­na­tio­nal Or­ga­ni­za­tion for Stan­dar­di­za­tion (ISO) come modello di ri­fe­ri­men­to per con­sen­ti­re una co­mu­ni­ca­zio­ne aperta tra diversi sistemi tecnici. Questo punto diventa più chiaro, se si pensa alle origini di Internet: alla fine degli anni ’70 i leader del settore nelle tec­no­lo­gie di rete si ri­tro­va­ro­no di fronte al problema che le ar­chi­tet­tu­re di rete pro­prie­ta­rie si potevano collegare solo tramite di­spo­si­ti­vi propri, infatti nessun pro­dut­to­re aveva pensato di costruire com­po­nen­ti hardware o software com­pa­ti­bi­li con le spe­ci­fi­ca­zio­ni di altri fornitori. Ma un progetto come quello di Internet pre­sup­po­ne alcuni standard per poter rendere possibile una co­mu­ni­ca­zio­ne comune.

Il modello lSO/OSI è nato dal tentativo di creare uno standard di questo tipo e offre una base per gli standard di co­mu­ni­ca­zio­ne, in­di­pen­den­te­men­te dai fornitori. In base a questo modello, il complesso processo della co­mu­ni­ca­zio­ne di rete si divide in sette strati, i livelli (in inglese layer). Si parla perciò anche di una co­mu­ni­ca­zio­ne per livelli. All’interno della co­mu­ni­ca­zio­ne tra due sistemi devono essere svolti degli specifici compiti su ogni singolo livello, tra questi rientrano ad esempio il controllo della co­mu­ni­ca­zio­ne, l’in­di­riz­za­men­to del sistema target o la con­ver­sio­ne dei pacchetti in segnali fisici. Ma questo funziona solo se tutti i sistemi coinvolti nella co­mu­ni­ca­zio­ne si attengono a regole precise, stabilite nei pro­to­col­li, che si applicano ai singoli livelli o si possono uti­liz­za­re su ciascuno di questi (mul­ti­li­vel­lo).

Il modello di ri­fe­ri­men­to ISO/OSI non è però uno standard di rete concreto, ma descrive in forma astratta quali pro­ce­di­men­ti devono essere regolati per far fun­zio­na­re la co­mu­ni­ca­zio­ne in una rete. 

I livelli del modello ISO/OSI

La co­mu­ni­ca­zio­ne tra due computer può apparire banale agli utenti, ma in realtà durante la tra­smis­sio­ne di dati in una rete devono essere compiuti numerosi compiti e sod­di­sfat­te diverse richieste nell’ambito dell’at­ten­di­bi­li­tà, della sicurezza e dell’integrità. Per questo si è deciso di dividere la co­mu­ni­ca­zio­ne di rete in livelli. Ad ogni livello, strut­tu­ra­to ge­rar­chi­ca­men­te, sono assegnate delle funzioni spe­ci­fi­che (quindi uno standard copre ge­ne­ral­men­te solo una parte del modello): ogni livello accede tramite un’in­ter­fac­cia a quello inferiore e mette a di­spo­si­zio­ne il servizio del livello superiore. Questo principio ha due vantaggi decisivi:

  • I compiti e le richieste che devono essere compiuti e sod­di­sfat­ti all’interno di un livello sono definiti chia­ra­men­te. Per ogni livello possono essere svi­lup­pa­ti degli standard in­di­pen­den­ti gli uni dagli altri.
  • La chiara divisione tra i singoli livelli fa sì che le modifiche ad uno standard non abbiano alcun effetto sui processi che si svolgono su un altro livello. In­tro­dur­re nuovi standard risulta così più semplice.

I sette livelli del modello ISO/OSI si dividono in due gruppi in base ai compiti che svolgono: orientati all’ap­pli­ca­zio­ne e orientati al trasporto. I processi che si svolgono sui singoli livelli si possono spiegare prendendo ad esempio la tra­smis­sio­ne e-mail da un di­spo­si­ti­vo ad un mail server.

I livelli orientati all’ap­pli­ca­zio­ne

Ci si riferisce ai livelli superiori del modello di ri­fe­ri­men­to ISO/OSI come livelli orientati all’ap­pli­ca­zio­ne. Si distingue tra livello di ap­pli­ca­zio­ne, livello di pre­sen­ta­zio­ne e livello di sessione.

  • Livello 7 – livello di ap­pli­ca­zio­ne (Ap­pli­ca­tion Layer): questo livello del modello ISO/OSI è quello a diretto contatto con le ap­pli­ca­zio­ni, come programmi di posta elet­tro­ni­ca o browser. Qui avviene l’input e l’output dei dati e viene stabilita la con­nes­sio­ne con i livelli inferiori del modello ISO/OSI, oltre che essere messe a di­spo­si­zio­ne le fun­zio­na­li­tà per le ap­pli­ca­zio­ni. Prendendo in con­si­de­ra­zio­ne la tra­smis­sio­ne delle e-mail, il processo si può chiarire così: un utente scrive un messaggio nel programma di posta elet­tro­ni­ca presente sul suo di­spo­si­ti­vo, che viene preso in carico sotto forma di pacchetto nel livello di ap­pli­ca­zio­ne, dove vengono aggiunte in­for­ma­zio­ni ag­giun­ti­ve ai dati delle e-mail sotto forma di un ap­pli­ca­tion header (si parla anche di “in­cap­su­la­men­to”). Nell’header è contenuta anche l’in­for­ma­zio­ne che i dati elaborati pro­ven­go­no da un programma di posta elet­tro­ni­ca.  Inoltre viene definito il pro­to­col­lo da uti­liz­za­re per la tra­smis­sio­ne delle e-mail sul livello di ap­pli­ca­zio­ne (nel caso di un’e-mail si tratta ge­ne­ral­men­te di quello SMTP).
     
  • Livello 6 – livello di pre­sen­ta­zio­ne (Pre­sen­ta­tion Layer): nella co­mu­ni­ca­zio­ne di rete è im­por­tan­te garantire che i dati siano trasmessi nei formati standard, quindi in questo livello le rap­pre­sen­ta­zio­ni locali vengono tra­sfe­ri­te nel formato standard. Nel caso della tra­smis­sio­ne delle e-mail viene definito come il messaggio dovrebbe apparire e per questo viene aggiunto al pacchetto un pre­sen­ta­tion header, che contiene in­for­ma­zio­ni su come l’e-mail deve essere co­di­fi­ca­ta (in genere in Italia si usa la codifica ISO 8859-1 (Latin1) o ISO 8859-15), in quale formato sono eventuali allegati (ad esempio JPEG o MPEG4) e come i dati sono compressi o crit­to­gra­fa­ti (ad esempio con i pro­to­col­li SSL/TLS). Così si ga­ran­ti­sce che il formato delle e-mail viene compreso anche dal sistema target e il messaggio verrà con­se­gna­to cor­ret­ta­men­te.
     
  • Livello 5 – livello di sessione (Session Layer): la funzione prin­ci­pa­le portata a termine nel livello di sessione è quella di or­ga­niz­za­re la con­nes­sio­ne tra entrambi i sistemi facenti parte della co­mu­ni­ca­zio­ne, per questo si parla anche di livello di co­mu­ni­ca­zio­ne. Qui si accede a specifici mec­ca­ni­smi di re­go­la­zio­ne e controllo, che ge­sti­sco­no le fasi di una con­nes­sio­ne (in­stau­ra­zio­ne, man­te­ni­men­to e di­scon­nes­sio­ne). Per questo controllo della co­mu­ni­ca­zio­ne sono ne­ces­sa­rie in­for­ma­zio­ni ag­giun­ti­ve, che vengono aggiunte tramite un session header ai dati dell’e-mail da tra­smet­te­re. I pro­to­col­li di ap­pli­ca­zio­ne più comuni, come quelli SMTP o FTP, si occupano au­to­no­ma­men­te delle sessioni o non pre­sen­ta­no alcuno stato, come nel caso del pro­to­col­lo HTTP. Il modello TCP/IP, che fa con­cor­ren­za a quello ISO/OSI, raggruppa i livelli 5, 6 e 7 nel livello di ap­pli­ca­zio­ne. Altri standard che si basano su questo livello sono NetBIOS, Socks e RPC.

I livelli orientati al trasporto

Dopo i livelli orientati all’ap­pli­ca­zio­ne del modello ISO/OSI, ne seguono quattro orientati al trasporto. Si distingue tra il livello di trasporto, il livello di rete, il livello di col­le­ga­men­to e il livello fisico.

  • Livello 4 – livello di trasporto (Transport Layer): il livello di trasporto serve come elemento di unione tra i livelli orientati all’ap­pli­ca­zio­ne e quelli orientati al trasporto. Qui si realizza la con­nes­sio­ne logica end-to-end del canale di tra­sfe­ri­men­to tra i sistemi co­mu­ni­can­ti. Anche in questo caso bisogna ag­giun­ge­re delle in­for­ma­zio­ni precise ai dati delle e-mail. Al pacchetto che è stato già ampliato con l’header dei livelli orientati all’ap­pli­ca­zio­ne, viene aggiunto qui un transport header. Si uti­liz­za­no in questo caso i pro­to­col­li di rete standard come TCP o UDP. Inoltre qui vengono definite le porte dalle quali entrano le ap­pli­ca­zio­ni sul sistema target. Sul livello 4 avviene anche l’as­se­gna­zio­ne di un pacchetto ad una precisa ap­pli­ca­zio­ne.
     
  • Livello 3 – livello di rete (Network Layer): con il livello 3 la tra­smis­sio­ne dati raggiunge la rete Internet e qui avviene l’in­di­riz­za­men­to logico dei di­spo­si­ti­vi, a cui viene assegnato un indirizzo IP univoco. Ri­tor­nan­do al nostro esempio, ai dati delle e-mail viene aggiunto un network header, che comprende le in­for­ma­zio­ni sul routing e il controllo del flusso di dati. Anche in questo caso i sistemi ricorrono a standard Internet come IP, ICMP, X.25, RIP o OSPF. So­li­ta­men­te nello scambio e-mail si utilizza il pro­to­col­lo TCP over IP.
     
  • Livello 2 – livello di col­le­ga­men­to (Datalink Layer): su questo livello le funzioni di iden­ti­fi­ca­zio­ne e ri­so­lu­zio­ne dell’errore e di controllo del flusso di dati servono ad evitare gli errori di tra­smis­sio­ne. Per fare ciò, il pacchetto com­pren­si­vo di ap­pli­ca­tion, pre­sen­ta­tion, session, transport e network header rientra in un frame composto da datalink header e datalink trail. Inoltre sul livello 2 avviene l’in­di­riz­za­men­to dell’hardware grazie all’utilizzo di indirizzi MAC. L’accesso ad un mezzo fisico viene regolato da pro­to­col­li quali Ethernet o PPP.
     
  • Livello 1 – livello fisico (Physical Layer): qui avviene la con­ver­sio­ne dei bit in un pacchetto in un segnale fisico adatto per il mezzo di tra­smis­sio­ne, che è possibile tra­smet­te­re solo tramite un filo di rame, fibra ottica o per via aerea. La co­mu­ni­ca­zio­ne con il mezzo di tra­smis­sio­ne viene definito tramite pro­to­col­li e norme come DSL, ISDN, Bluetooth, USB (livello fisico) o Ethernet (livello fisico). 

In­cap­su­la­men­to e de­cap­su­la­men­to

I pacchetti at­tra­ver­sa­no ogni livello del modello ISO/OSI sia sul sistema di partenza che su quello target. Tutti gli altri di­spo­si­ti­vi che un pacchetto at­tra­ver­sa durante il suo percorso si basano solo sui primi 3 livelli. L’e-mail del nostro esempio inizia a passare come segnale fisico il router, prima di pro­se­gui­re il percorso per giungere ad Internet, collocato sul livello 3 del modello ISO/OSI e che elabora quindi solo in­for­ma­zio­ni dei primi tre livelli; non percorre i livelli dal 4 al 7. Per accedere alle in­for­ma­zio­ni ne­ces­sa­rie, il router deve prima di tutto de­com­pri­me­re il pacchetto in­cap­su­la­to. Si parla quindi di “de­cap­su­la­men­to”. I livelli del modello ISO/OSI vengono quindi at­tra­ver­sa­ti nell’ordine inverso.

Prima di tutto avviene la codifica del segnale nel livello fisico e dopo vengono letti gli indirizzi MAC sul livello 2, gli indirizzi IP e i pro­to­col­li di routing sul livello 3. Sulla base di queste in­for­ma­zio­ni, il router è in grado di prendere una decisione per l’inoltro. Il pacchetto può così essere in­cap­su­la­to nuo­va­men­te e in base alle in­for­ma­zio­ni ottenute viene inoltrato alla stazione suc­ces­si­va sul percorso per giungere al sistema target.

Di solito sono coinvolti nella tra­smis­sio­ne dei dati più router, nei quali si svolge il processo descritto qui (de­cap­su­la­men­to e in­cap­su­la­men­to) fino a quando il pacchetto, sotto forma di un segnale fisico, non arriva a de­sti­na­zio­ne (nell’esempio il mail server). Anche qui il pacchetto viene de­cap­su­la­to, at­tra­ver­san­do i livelli del modello ISO/OSI dall’1 al 7. L’e-mail inviata tramite un client è così giunta al mail server, dove può essere aperta da un altro client.

Vai al menu prin­ci­pa­le