Modello OSI: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Livello 1: fisico: +OTN |
m Bot: numeri di pagina nei template citazione |
||
(80 versioni intermedie di 45 utenti non mostrate) | |||
Riga 1:
[[File:OSI Model
In [[informatica]] e [[telecomunicazioni]], il '''modello OSI''' (acronimo di ''Open Systems Interconnection'', conosciuto impropriamente anche come "modello ISO/OSI") è uno [[standard (informatica)|standard]] architetturale per [[reti di calcolatori]] [[interoperabilità|interoperabili]], ufficializzato nel 1984 dall'[[Organizzazione internazionale per la normazione]] (ISO) sotto il nome ISO 7498.<ref>{{cita web|url=http://www.iso.org/iso/catalogue_detail.htm?csnumber=14256|titolo=ISO 7498}}</ref>
Il modello venne sviluppato nell'ambito dell'omonima iniziativa ''Open Systems Interconnection'', avviata nel 1977 e portata avanti congiuntamente da [[ISO]] e [[ITU-T]].<ref name="zim">
{{Cita pubblicazione
|titolo=OSI Reference Model—The ISO Model of Architecture for Open Systems Interconnection
|autore= Baskar Zimmermann
|rivista= IEEE Transactions on Communications
|data= aprile 1980
|volume= 28 |numero= 4
|pp= 425-432
|doi= 10.1109/TCOM.1980.1094702
|lingua= en
}}
</ref><ref name="isomodel">
{{Cita web
|url=http://www.fis.unipr.it/lca/Corsi/iso_osi/iso_osi.html
|titolo=Il modello ISO/OSI
|autore=Roberto Alfieri
|accesso=17 novembre 2023
|urlarchivio=https://web.archive.org/web/20160531102814/http://www.fis.unipr.it/lca/Corsi/iso_osi/iso_osi.html
|dataarchivio=31 maggio 2016
|urlmorto=sì
}}
</ref>
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 diversi di astrazione, i quali insieme eseguono tutte le funzionalità della rete, seguendo un modello logico-gerarchico.<ref>{{cita|Denenberg, 1990}}.</ref><ref>{{cita|Davey e Houghton, 2016}}.</ref>
== Storia ==
Fra gli anni sessanta e settanta, le reti informatiche erano gestite soprattutto a livello governativo ([[ARPANET]] negli [[Stati Uniti d'America|Stati Uniti]], [[CYCLADES]] in [[Francia]]) o tramite standard proprietari (come la [[Systems Network Architecture]] (SNA) di [[IBM]] o [[DECnet]] della [[Digital Equipment Corporation]]).
Essendoci un vasto consenso sulla necessità di standard comuni, un primo tentativo di unificazione fu tentato nel 1972 con la formazione dell'[[International Network Working Group]] (INWG), con a capo [[Vint Cerf]].<ref name=ieee201703>{{cita web|url=https://spectrum.ieee.org/tech-history/cyberspace/osi-the-internet-that-wasnt|lingua=en|titolo=OSI: The Internet That Wasn't|data=30 luglio 2013|autore=Andrew L. Russell|editore=IEEE Spectrum|accesso=27 settembre 2017|urlarchivio=https://web.archive.org/web/20170927214351/https://spectrum.ieee.org/tech-history/cyberspace/osi-the-internet-that-wasnt|dataarchivio=27 settembre 2017|urlmorto=no}}</ref> L'INWG cercò di promuovere l'idea di [[commutazione a pacchetto]] basata sul [[datagramma]], invenzione di [[Louis Pouzin]]. Il gruppo, guidato da Cerf e Pouzin, sottopose il proprio protocollo nel 1975 al [[ITU-T|Comité Consultatif International Téléphonique et Télégraphique]], che respinse l'idea giudicandola troppo rischiosa e mal testata.<ref name=ieee201703/>
Subito dopo Cerf lasciò il suo incarico nell'INWG, segnando una rottura all'interno del gruppo. Fu seguito da [[Bob Kahn]], con il quale pose le basi per la [[suite TCP/IP]]. Altri membri, invece, intrapresero il progetto Open Systems Interconnection.<ref name=ieee201703/>
L'OSI venne portato avanti da vari informatici del Regno Unito, Francia e Stati Uniti. Nel 1977 fecero richiesta all'[[Organizzazione internazionale per la normazione]] (ISO) di poter sviluppare un nuovo standard per le reti a commutazione di pacchetto, la quale accettò ponendo [[Charles Bachman]] (già [[premio Turing]]) a capo del progetto.<ref name=ieee201703/>
Il modello OSI, sviluppato da Bachman assieme ad altri informatici come [[Hubert Zimmermann]] (INWG) e John Day (ARPANET), introdusse l'idea di un unico modello di [[Protocollo di comunicazione|protocolli]] suddivisi in più livelli, puntando a garantire l'[[interoperabilità]] fra i vari dispositivi e software di rete. Il modello divenne standard ISO nel 1984.<ref name=ieee201703/>
== Punti critici ==
La suite di protocolli OSI venne considerata da alcuni, fra i quali l'informatico [[Andrew S. Tanenbaum]], troppo complicata e inefficiente, e per grande parte non implementabile.<ref name="Tanenbaum">{{cita|Tanenbaum, 2002|§ 1.4.4.}}</ref> Con l'approccio "''forklift upgrade''", in ciascun livello dello stack ogni protocollo già esistente dovette essere sostituito, rendendo l'implementazione molto difficoltosa. Inoltre, i protocolli includevano talmente tante caratteristiche opzionali che talvolta le varie implementazioni non risultavano essere interoperabili.<ref name="Tanenbaum"/>
Sebbene ci si riferisca sempre al modello OSI come standard, nella pratica viene spesso applicata la [[suite di protocolli Internet]]. L'approccio pragmatico della suite TCP/IP l'ha resa lo standard ''de facto''.<ref name="Tanenbaum"/> A tal proposito rimase famosa la frase del pioniere di Internet [[Einar Stefferud]] "OSI è un bellissimo sogno, e TCP/IP lo sta vivendo".<ref name=ieee201703/><ref>{{cita libro|url=https://books.google.it/books?id=MwMDUBKZ3wwC&pg=SA32-PA2|curatore=Richard Zurawski|titolo=The Industrial Information Technology Handbook|anno=2014|capitolo=32.2 SNMP: History|editore=CRC Press|città=South San Francisco|lingua=en|isbn=0-8493-1985-4}}</ref>
== Lo standard ==
Lo standard ISO/IEC 7498 è suddiviso come segue:
* ISO/IEC 7498-1: Modello base<ref>{{cita web|url=https://www.iso.org/standard/20269.html|titolo=ISO/IEC 7498-1:1994|lingua=en}}</ref>
* ISO 7498-2: Sicurezza<ref>{{cita web|url=https://www.iso.org/standard/14256.html|titolo=ISO 7498-2:1989|lingua=en}}</ref>
* ISO/IEC 7498-3: Denominazione e indirizzamento<ref>{{cita web|url=https://www.iso.org/standard/25022.html|titolo=ISO/IEC 7498-3:1997|lingua=en}}</ref>
* ISO/IEC 7498-4: Gestione<ref>{{cita web|url=https://www.iso.org/standard/14258.html|titolo=ISO/IEC 7498-4:1989|lingua=en}}</ref>
== Caratteristiche ==
{{vedi anche|Sistema client
[[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 [[
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}}
==== Livello 1: fisico (Physical Layer) ====
:''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">{{cita web|url= http://searchnetworking.techtarget.it/articoli/0,1254,19_ART_75935,00.html |titolo= I livelli del sistema OSI|urlmorto=sì|sito=TechTarget|urlarchivio=https://web.archive.org/web/20100103192605/http://searchnetworking.techtarget.it/articoli/0,1254,19_ART_75935,00.html|data=29 gennaio 2007}}</ref>
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]].
==== Livello 2: collegamento dati (Datalink Layer) ====
{{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 44 ⟶ 94:
La sua unità dati fondamentale è il ''frame''.
A questo livello lavorano gli [[switch]] e i [[Bridge (informatica)|bridge]].
==== Livello 3: rete (Network Layer) ====
{{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 56 ⟶ 110:
La sua unità dati fondamentale è il ''datagram''.
A questo livello lavorano i [[router]].
==== Livello 4: trasporto (Transport Layer) ====
{{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 e abbattere connessioni (sessioni) tra applicazioni cooperanti. Si occupa anche della sincronia di invio/ricezione messaggi.''<ref name="osilevel"/>
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).
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).
==== Livello 7: applicazione (Application Layer) ====
{{vedi anche|Livello di applicazione}}
:''Obiettivo: funzione di interfaccia tra utente e macchina.''<ref name="osilevel"/>
Fornisce un insieme di protocolli che operano a stretto contatto con le [[applicazione (informatica)|applicazioni]]. Potrebbe essere errato identificare un'applicazione utente come parte del livello applicazione.
I protocolli delle applicazioni tipiche di questo livello realizzano operazioni come ad esempio:
*
* [[
* [[
=== Elenco protocolli per livello
[[File:Isoosi.jpeg|thumb|Il Modello ISO-OSI completo con l'attraversamento dei [[router]] nella [[rete di accesso]] e [[rete di trasporto|trasporto]] con gli [[host]] agli estremi]]
Elenco non esaustivo di protocolli di rete e/o tecnologie appartenenti ai vari livelli ISO/OSI:
==== Livello 1: fisico ====
* [[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]]
I livelli visti precedentemente sono una suddivisione concettuale, ma la loro implementazione non è uniforme; infatti il livello fisico e quello di collegamento di solito sono presenti sulla [[scheda di rete|scheda di interfaccia della rete]], mentre il livello di rete ha un'implementazione mista hardware-software.
Line 161 ⟶ 224:
{{vedi anche|Suite di protocolli Internet}}
[[File:Abbinamento ISO-OSI e TCP-IP.jpg|thumb|upright=1.8|Confronto tra ISO/OSI e [[TCP/IP]]]]
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 ==
Line 175 ⟶ 239:
*{{cita pubblicazione|titolo=Data communications and osi|autore=Ray Denenberg|rivista=Library Hi Tech|lingua=en|volume=8|numero=4|pagine=15-32|data=1990|doi=10.1108/eb047805|cid=Denenberg, 1990}}
*{{cita pubblicazione|titolo=Why not OSI?|autore=Bill Davey|autore2=Robert F. Houghton|rivista=IFIP Advances in Information and Communication Technology|editore=Tatnall A., Leslie C. (eds) International Communities of Invention and Innovation|lingua=en|volume=491|pagine=115-121|data=2016|doi=10.1007/978-3-319-49463-0_8|cid=Davey e Houghton, 2016}}
* {{cita libro|lingua=en|autore=[[John Day (informatico)|John Day]]|titolo=Patterns in Network Architecture: A Return to Fundamentals|url=https://archive.org/details/patternsinnetwor0000dayj|editore=Prentice Hall|anno=2007|isbn=978-0-13-225242-3}}
* {{cita libro|lingua=en|autore=[[Marshall Rose|Marshall T. Rose]]|titolo=The Open Book: A Practical Perspective on Osi|url=https://archive.org/details/openbookpractica00rose|editore=Prentice Hall|anno=gennaio 1990|isbn=0-13-643016-3}}
* {{cita libro|lingua=en|autore=David M. Piscitello|autore2=A. Lyman Chapin|titolo=Open Systems Networking: TCP/IP and OSI|url=https://archive.org/details/opensystemsnetwo0000pisc|editore=Addison-Wesley Longman|città=Boston|anno=1993|isbn=0-201-56334-7}}
* {{cita libro|lingua=en|autore=[[Andrew S. Tanenbaum]]|titolo=Computer Networks|edizione=4|editore=Prentice-Hall|anno=2002|isbn=0-13-066102-3|cid=Tanenbaum, 2002}}
* {{cita libro|lingua=en|titolo=Open Systems Interconnection/Computer Communications Standards and Gossip Explained|anno=1992|url=https://archive.org/details/opensystemsinter0000dick|editore=Prentice-Hall|autore=Gary Dickson|autore2=Alan Lloyd|data=luglio 1992|città=New York|isbn=0-13-640111-2}}
== Voci correlate ==
Line 183 ⟶ 252:
== Altri progetti ==
{{interprogetto|preposizione=sul}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|Open Systems Interconnection|Open Systems Interconnection}}
*{{cita web|url=https://www.iso.org/ics/35.100/x/|titolo=35.100 - Open systems interconnection (OSI)|editore=[[Organizzazione internazionale per la normazione]]|lingua=en}}
* {{cita web|url=http://www.itu.int/rec/T-REC-X.200/en/|titolo=ITU-T Recommendation X.200 (11/93) <nowiki>[ISO/IEC 7498-1:1994]</nowiki>|editore=[[ITU-T]]|lingua=en}}
* {{cita web|url=http://docwiki.cisco.com/wiki/Internetworking_Technology_Handbook|titolo=Open System Interconnection|editore=[[Cisco Systems]]|lingua=en|accesso=27 settembre 2017|dataarchivio=6 settembre 2015|urlarchivio=https://web.archive.org/web/20150906053851/http://docwiki.cisco.com/wiki/Internetworking_Technology_Handbook|urlmorto=sì}}
{{Standard ISO}}
Line 192 ⟶ 265:
{{Portale|informatica|telematica}}
[[Categoria:Modello OSI
[[Categoria:Standard ISO]]
|