Modello OSI: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Collegamenti esterni: Aggiunto il template "FOLDOC" |
+TeX ; –overlink; –wl in titoli; fix note; fix vari |
||
Riga 1:
{{U|Open Systems Interconnection|Informatica|luglio 2023}}
[[File:OSI Model v1.svg|upright=1.4|thumb|Il modello di riferimento OSI]]
Il '''modello OSI''' (acronimo di [[Open Systems Interconnection]], conosciuto anche come '''modello ISO/OSI'''), in [[telecomunicazioni]] e [[informatica]], è uno [[standard (informatica)|standard]] stabilito nel [[1984]] dall'[[International Organization for Standardization]] (ISO), il principale ente di standardizzazione internazionale, il quale sentì la necessità<ref name="isomodel">{{Cita web
Tale modello stabilisce per l'[[architettura di rete|architettura]] logica di rete, ovvero per le funzioni di comunicazione delle [[Telecomunicazione|telecomunicazioni]] o di [[sistema informatico|sistemi informatici]], una struttura a strati composta da una pila di [[Protocollo di rete|protocolli di comunicazione di rete]] suddivisa in 7 livelli, i quali insieme eseguono tutte le funzionalità della rete, seguendo un modello logico-gerarchico. A livello implementativo lo standard ''[[de facto]]'' affermatosi per architetture di rete a livelli è invece il [[TCP/IP]]<ref>{{cita|Denenberg, 1990}}.</ref><ref>{{cita|Davey e Houghton, 2016}}.</ref>.
Riga 9:
[[File:Rm-osi parallel it.svg|thumb|upright=1.4|Parallelo fra [[impresa|imprese]] (livelli superiori) e sistema postale (livelli inferiori) e il modello ISO/OSI.]]
Il modello ISO/OSI, concepito per [[rete di telecomunicazione|reti di telecomunicazioni]] a [[commutazione di pacchetto]], è 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 (o livelli), i cosiddetti ''layer'', che definiscono e racchiudono in sé a livello logico uno o più aspetti fra loro correlati della comunicazione fra due [[nodo (informatica)|nodi]] di una rete. I layer sono in totale 7<ref>{{Cita web|url=http://docwiki.cisco.com/wiki/Internetworking_Basics|titolo=Internetworking Basics|sito=
Ogni layer individua un protocollo di comunicazione del livello medesimo. ISO/OSI realizza una ''comunicazione per livelli'', cioè dati due nodi <math>A</math> e <math>B</math>, il livello <math>n</math> del nodo <math>A</math> può scambiare [[informazione|informazioni]] col livello <math>n</math> del nodo <math>B</math>, ma non con gli altri. Ogni livello in trasmissione realizza la comunicazione col livello corrispondente sui nodi di transito o destinatari usando il [[Service Access Point|SAP]] (''service access point'') del livello immediatamente sottostante. Sicché ISO/OSI [[imbustamento|incapsula]] i messaggi di livello <math>n</math> in messaggi del livello <math>n-1</math>. Così se <math>A</math> deve inviare, ad esempio, una [[e-mail]] a <math>B</math>, l'applicazione (liv. 7) di <math>A</math> propagherà il messaggio usando il layer sottostante (liv. 6) che a sua volta userà il
In tal modo si realizza una comunicazione ''multilivello'' che consente, ad esempio, di implementare [[algoritmo|algoritmi]] diversi per l'[[instradamento]] in rete pur disponendo di protocolli di trasporto connessi e scegliere ed adattare protocolli e relativi algoritmi alla particolare [[rete di telecomunicazioni]] da realizzare. Tutto ciò conferisce modularità al sistema con maggiore semplicità di [[progettazione]] e gestione della rete ovvero possibilità di migliorare, sviluppare e dunque eventualmente sostituire i protocolli dei vari strati cioè [[implementazione|implementare]] e reimplementare con dei protocolli ciascuna delle rispettive funzionalità logiche lasciando inalterate le funzioni altrui.
Al fine di ottenere un miglioramento dell'attuale modello può risultare interessante la possibilità di trarre vantaggio da uno scambio di informazioni nell'ambito della stessa pila protocollare, tra gli strati non adiacenti.<ref>{{Cita web |url=http://netlab.caltech.edu/publications/tcpip-ton2004-2005.pdf |titolo=Cross-Layer |accesso=1 settembre 2018 |urlarchivio=https://web.archive.org/web/20180901233119/http://netlab.caltech.edu/publications/tcpip-ton2004-2005.pdf |dataarchivio=1 settembre 2018 |urlmorto=sì
Questa possibilità prende il nome di [[Cross-layer|
=== Elenco e funzioni dei livelli ===
{{ISO/OSI}}
====
{{vedi anche|Livello fisico}}
:''Obiettivo: trasmettere un flusso di dati non strutturati attraverso un collegamento fisico, occupandosi della forma e dei livelli di tensione del segnale. Ha a che fare con le procedure meccaniche ed elettroniche necessarie a stabilire, mantenere e disattivare un collegamento fisico.''<ref name="osilevel">
Semplicemente: si occupa di controllare la rete, gli [[hardware]] che la compongono e i dispositivi che permettono la connessione.
In questo livello si decidono:
*
*
*
*
*
*
A questo livello lavorano i [[modem]] e gli [[Hub (informatica)|hub]].
====
{{vedi anche|Livello di collegamento dati}}
:''Obiettivo: permettere il trasferimento ''affidabile'' di dati attraverso il livello fisico. Invia frame di dati con la necessaria sincronizzazione ed effettua un [[Rilevazione e correzione d'errore|controllo degli errori]] e delle perdite di segnale. Tutto ciò consente di far apparire, al livello superiore, il mezzo fisico come una [[linea di trasmissione]] esente da errori di trasmissione.''<ref name="osilevel"/>
Questo livello si occupa in primis di formare i dati da inviare attraverso il livello fisico, [[imbustamento|incapsulando]] il pacchetto proveniente dallo strato superiore in un nuovo [[pacchetto (reti)|pacchetto]] provvisto di un nuovo ''[[header]]'' (intestazione) e ''tail'' (coda), usati anche per sequenze di controllo. Questa frammentazione dei dati in specifici pacchetti è detta ''framing'' e i singoli pacchetti sono i ''[[data frame|frame]]'' (trame).
Come [[controllo di errore]], per ogni pacchetto ricevuto, il destinatario invia al mittente un pacchetto ''ACK'' (''acknowledgement'', conferma) contenente lo stato della trasmissione: il mittente deve ripetere l'invio dei pacchetti mal trasmessi e di quelli che non hanno ricevuto riscontro/risposta. Per ottimizzare l'invio degli [[ACK (informatica)|ACK]], si usa una tecnica detta ''Piggybacking'', che consiste nell'accodare ai messaggi in uscita gli ACK relativi ad una [[connessione (informatica)|connessione]] in entrata, per ottimizzare l'uso del livello fisico. I pacchetti ACK possono anche essere raggruppati e mandati in blocchi.
Line 48 ⟶ 49:
A questo livello lavorano gli [[switch]] e i [[Bridge (informatica)|bridge]].
====
{{vedi anche|livello di rete}}
:''Obiettivo: rendere i livelli superiori indipendenti dai meccanismi e dalle tecnologie di trasmissione usate per la connessione e prendersi carico della consegna a destinazione dei pacchetti.''<ref name="osilevel"/>
È responsabile di:
* [[Instradamento#Routing|routing]]: scelta ottimale del percorso di rete da utilizzare per garantire la consegna delle informazioni dal mittente al destinatario, scelta svolta dal [[router]] attraverso dei particolari [[protocolli di routing|algoritmi di Routing]] e [[routing table|tabelle di routing]]
* conversione dei dati nel passaggio fra una rete ed un'altra con diverse caratteristiche, come il protocollo di rete utilizzato (''internet-working''). Deve, quindi:
** tradurre gli indirizzi di rete;
Line 62 ⟶ 64:
A questo livello lavorano i [[router]].
====
{{vedi anche|livello di trasporto}}
:''Obiettivo: permettere un trasferimento di dati trasparente e affidabile (implementando anche un controllo degli errori e delle perdite) tra due [[host]]. È il primo livello realmente'' end-to-end'', cioè da host sorgente a destinatario.''<ref name="osilevel"/>
Si occupa di:
* stabilire, mantenere e terminare una [[connessione (informatica)|connessione]], garantendo il corretto e ottimale funzionamento della sottorete di comunicazione
* [[controllo della congestione]]: evitare che troppi pacchetti dati arrivino allo stesso [[router]] contemporaneamente con effetto di perdita di pacchetti stessi.
A differenza dei livelli precedenti, che si occupano di connessioni tra nodi contigui di una rete, il Trasporto (a livello logico) si occupa solo del punto di partenza e di quello finale.
Si occupa anche di effettuare la frammentazione dei dati provenienti dal livello superiore in pacchetti, detti
La sua unità dati fondamentale è il ''segmento'', ''user datagram'' o ''pacchetto''.
====
{{vedi anche|livello di sessione}}
:''Obiettivo: controllare la comunicazione tra applicazioni. Instaurare, mantenere
Esso consente di aggiungere ai servizi forniti dal livello di trasporto servizi più avanzati, quali la gestione del dialogo (mono o bidirezionale), la gestione del [[Token (testo)|token]] (per effettuare mutua esclusione) o la sincronizzazione (inserendo dei checkpoint in modo da ridurre la quantità di dati da ritrasmettere in caso di gravi malfunzionamenti).
Line 82 ⟶ 86:
Si occupa anche di inserire dei punti di controllo nel flusso dati: in caso di errori nell'invio dei pacchetti, la comunicazione riprende dall'ultimo punto di controllo andato a buon fine.
====
{{vedi anche|livello di presentazione}}
:''Obiettivo: trasformare i dati forniti dalle applicazioni in un formato standardizzato e offrire servizi di comunicazione comuni, come la [[crittografia]], la [[compressione dati|compressione]] del testo e la riformattazione.''<ref name="osilevel"/>
Esso consente di gestire la sintassi dell'[[informazione]] da trasferire. E sono previste tre diverse sintassi:
* ''astratta'' (definizione formale dei dati che gli applicativi si scambiano);
* ''concreta locale'' (come i dati sono rappresentati localmente);
* ''di trasferimento'' (come i dati sono codificati durante il trasferimento).
====
{{vedi anche|livello applicazioni}}
:''Obiettivo: funzione di interfaccia tra utente e macchina.''<ref name="osilevel"/>
Line 96 ⟶ 102:
I protocolli delle applicazioni tipiche di questo livello realizzano operazioni come ad esempio:
*
* [[
* [[
=== Elenco protocolli per livello ===
Line 104 ⟶ 110:
Elenco non esaustivo di protocolli di rete e/o tecnologie appartenenti ai vari livelli ISO/OSI:
==== Livello 1:
* [[Bluetooth]]
* [[DSL]]
* [[Fiber distributed data interface|FDDI]]
* [[Optical Transport Network|OTN]] (
* [[RS-232]]
* [[Banda ultralarga|Ultra Wide Band]]
==== Livello 2:
* [[Ethernet]]
* [[Wi-Fi]]
* [[Point-to-Point Protocol|PPP]]
* [[Token ring]]
* [[Asynchronous Transfer Mode|ATM]]
==== Livello 3:
* [[Internet Protocol|IP]]
* [[X.25]]
* [[Internetwork Packet Exchange|IPX]]
* [[Internet Control Message Protocol|ICMP]]
==== Livello 4:
* [[Transmission Control Protocol|TCP]] e [[User Datagram Protocol|UDP]] (usati su IP)
* [[Sequenced Packet Exchange|SPX]] (usato su IPX)
==== Livello 5:
*[[NetBIOS]]
*[[SOCKS]]
==== Livello 6:
*[[Pretty Good Privacy|PGP]]
*[[Multipurpose Internet Mail Extensions|MIME]]
*[[ASCII]]
==== Livello 7:
*Protocolli di servizio:
** [[Dynamic Host Configuration Protocol|DHCP]]
** [[Domain Name System|DNS]]
** [[Finger (Unix)|Finger]] protocol
** [[Network Time Protocol|NTP]]
** [[Simple Network Management Protocol|SNMP]]
** [[Lightweight Directory Access Protocol|LDAP]]
* Protocolli di accesso a terminali remoti:
** [[Telnet]]
** [[Secure Shell|SSH]]
* Protocolli usati per realizzare il servizio di [[posta elettronica]] e [[newsgroup]]:
** [[Simple Mail Transfer Protocol|SMTP]]
** [[Post Office Protocol|POP]]
** [[Internet Message Access Protocol|IMAP]]
** [[Network News Transfer Protocol|NNTP]]
* Protocolli di trasferimento file:
** [[File Transfer Protocol|FTP]]
** [[Hypertext Transfer Protocol|HTTP]]
** [[Internet Relay Chat|IRC]]
** [[Gnutella]]
Line 169 ⟶ 176:
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]], precorritrice di [[Internet]], paradigma quest'ultimo affermatosi come standard nell'ambito networking.
Il modello ISO/OSI non è rigido: costituisce, piuttosto, un punto di riferimento per le [[architettura di rete|architetture di rete]] a pacchetto, che possono distanziarsi più o meno da esso. La differenza sostanziale fra
* [[
* [[
* [[
* [[
== Note ==
|