Relazione tra modello OSI e protocolli di rete


27

Quando la maggior parte degli studenti in rete apprende per la prima volta il modello OSI, passa molto tempo a cercare di capire a quale livello del modello si adatta un protocollo specifico. In questo forum riceviamo molte domande sui livelli OSI e di solito sono simili:

  • In quale livello OSI opera IS-IS?
  • HTML è un protocollo di presentazione o applicazione?
  • I tunnel VPN sono layer 2 o 3?

Come dovrebbe uno studente (o un professionista del genere) comprendere la relazione tra il modello OSI e i protocolli con cui lavora?

Risposte:


35

Ci sono due fatti importanti sul modello OSI da ricordare:

  1. È un modello concettuale. Ciò significa che descrive un gruppo idealizzato, astratto, teorico di funzioni di rete. Non descrive nulla di ciò che qualcuno ha effettivamente costruito (almeno nulla che è in uso oggi).

  2. Non è l'unico modello. Esistono altri modelli, in particolare la suite di protocolli TCP / IP (RFC-1122 e RFC-1123), che è molto più vicina a quella attualmente in uso.

Un po 'di storia: probabilmente avete sentito tutti parlare dei primi tempi della rete di pacchetti, tra cui ARPANET, il predecessore di Internet. Oltre agli sforzi del Dipartimento della Difesa degli Stati Uniti per creare protocolli di rete, sono stati coinvolti anche molti altri gruppi e società. Ogni gruppo stava sviluppando i propri protocolli nel nuovissimo campo del cambio di pacchetti. IBM e le compagnie telefoniche stavano sviluppando i propri standard. In Francia, i ricercatori stavano lavorando al proprio progetto di rete chiamato Cicladi.

Il lavoro sul modello OSI iniziò alla fine degli anni '70, principalmente come reazione alla crescente influenza di grandi aziende come IBM, NCR, Burroughs, Honeywell (e altri) e i loro protocolli e hardware proprietari. L'idea alla base era quella di creare uno standard aperto che garantisse l'interoperabilità tra diversi produttori. Ma poiché il modello ISO era di portata internazionale, aveva molti interessi politici, culturali e tecnici in competizione. Ci sono voluti ben sei anni per raggiungere il consenso e pubblicare gli standard.

Nel frattempo, è stato sviluppato anche il modello TCP / IP. Era semplice, facile da implementare e, soprattutto, era gratuito. Per creare il software è stato necessario acquistare le specifiche standard OSI. Tutti gli sforzi di attenzione e sviluppo gravitavano su TCP / IP. Di conseguenza, il modello OSI non è mai stato implementato come un insieme di protocolli e TCP / IP è diventato lo standard per Internet.

Il punto è, tutti i protocolli in uso oggi, la suite TCP / IP; protocolli di routing come RIP, OSPF e BGP; e protocolli del sistema operativo host come Windows SMB e Unix RPC, sono stati sviluppati senza pensare al modello OSI. A volte hanno qualche somiglianza con esso, ma gli standard OSI non sono mai stati seguiti durante il loro sviluppo. Quindi è una folle commissione cercare di adattare questi protocolli all'OSI. Non si adattano esattamente.

Ciò non significa che il modello non abbia valore; è comunque una buona idea studiarlo in modo da poter comprendere i concetti generali. Il concetto dei livelli OSI è così intrecciato nella terminologia della rete, che parliamo dei livelli 1, 2 e 3 nel discorso di rete quotidiano. La definizione dei livelli 1, 2 e 3 è, se strizza gli occhi un po ', abbastanza d'accordo. Solo per questo motivo, vale la pena saperlo.

Le cose più importanti da capire sul modello OSI (o qualsiasi altro) sono:

  • Possiamo dividere i protocolli in livelli
  • I livelli forniscono l'incapsulamento
  • Gli strati forniscono astrazione
  • Gli strati disaccoppiano le funzioni dagli altri

Dividere i protocolli in strati ci consente di parlare separatamente dei loro diversi aspetti. Rende i protocolli più facili da capire e da risolvere. Siamo in grado di isolare facilmente funzioni specifiche e raggrupparle con funzioni simili di altri protocolli.

Ogni "funzione" (in senso lato) incapsula i livelli sopra di essa. Il livello di rete incapsula i livelli sopra di esso. Il livello di collegamento dati incapsula il livello di rete e così via.

I livelli astraggono i livelli sottostanti. Il tuo browser web non ha bisogno di sapere se stai usando TCP / IP o qualcos'altro a livello di rete (come se ci fosse qualcos'altro). Per il tuo browser, i livelli inferiori forniscono solo un flusso di dati. La modalità di visualizzazione dello stream viene nascosta dal browser. TCP / IP non sa (o cura) se stai usando Ethernet, un modem via cavo, una linea T1 o un satellite. Elabora solo i pacchetti. Immagina quanto sarebbe difficile progettare un'applicazione che dovrebbe occuparsi di tutto ciò. Gli strati astraggono gli strati inferiori, quindi la progettazione e il funzionamento del software diventano molto più semplici.

Disaccoppiamento: in teoria, è possibile sostituire una tecnologia specifica con un'altra nello stesso livello. Finché il layer comunica con quello sopra e quello sotto allo stesso modo, non dovrebbe importare come è implementato. Ad esempio, possiamo rimuovere il noto protocollo di livello 3, IP versione 4, e sostituirlo con IP versione 6. Tutto il resto dovrebbe funzionare esattamente allo stesso modo. Per il tuo browser o il tuo modem via cavo, non dovrebbe fare alcuna differenza.

Il modello TCP / IP è quello su cui si basava la suite di protocolli TCP / IP (sorpresa!). Ha solo quattro livelli e tutto quanto sopra è solo "applicazione". È più semplice da capire e impedisce infinite domande come "È questo livello di sessione o livello di presentazione?" Ma anche questo è solo un modello e alcune cose non ' Non si adatta bene nemmeno a questo, come i protocolli di tunneling (GRE, MPLS, IPSec per citarne alcuni).

In definitiva, i modelli sono un modo per rappresentare idee astratte invisibili come indirizzi, pacchetti e bit. Se lo si tiene a mente, il modello OSI o TCP / IP può essere utile per comprendere la rete.


1
Mi sono sempre chiesto perché ci riferiamo al modello OSI quando, in tutta la realtà, il modello TCP / IP si adatta meglio al conto.
Ryan Foley,

5
@RyanFoley, vero in molti casi. Tuttavia, quando si tratta di risoluzione dei problemi (e soprattutto di insegnamento), è meglio avere livelli fisici e di dati separati per affrontare i problemi separatamente. Ad esempio, è bene conoscere la differenza in un dispositivo Cisco tra un'interfaccia che è su / su, una che è su / giù e una che è su / giù.
Impara

"Ad esempio, possiamo rimuovere il noto protocollo di livello 3, versione IP 4, e sostituirlo con la versione IP 6. Tutto il resto dovrebbe funzionare esattamente allo stesso modo. Per il tuo browser o il tuo modem via cavo, non dovrebbe fare alcuna differenza. " Sfortunatamente fa la differenza perché le astrazioni perdono. Le applicazioni e i protocolli di trasporto devono conoscere l'indirizzo utilizzato dal protocollo Internet.
Peter Green,

Bene, ecco perché i modelli sono solo modelli.
Ron Trunk,

1
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions Costruiamo astrazioni per nascondere i brutti dettagli della cosa sottostante, ma alcuni dettagli della cosa sottostante perdono e causano problemi. Una cosa del genere che arriva fino in cima allo stack è il sistema di indirizzamento.
Peter Green

2

C'è un po 'di confusione qui. Solo perché una funzione non sembra adattarsi a un livello non significa che non lo sia. L'OSI è flessibile e consente oggetti e sublayer in cui le implementazioni pratiche si associano al modello. Alcune funzioni di un livello possono anche essere duplicate su altri livelli. Inoltre l'elaborazione non deve avvenire a livello di applicazione. Infine, l'OSI era più che un modello, è stato implementato nella sua interezza da alcuni produttori. Ho lavorato al progetto DEC. La praticità ha significato che oggi vengono utilizzate solo alcune parti dell'OSI.


1

Tutti i protocolli di routing IGP (protocolli gateway interni) funzionano a livello 3. BGP esterno funziona a livello 4, mentre interno funziona a livello 3.

Livello fisico: si occupa di dispositivi di rete hardware, ad esempio laptop, telefoni cellulari, desktop. Il livello 1 è noto per essere un dominio di collisione, il livello 1 PDU (l'unità di dati del protocollo è bit).

Livello dati / collegamento: questo livello riguarda switch di livello 2, domini broadcast, VLANS, STP, VTP. L'unità dati di protocollo di questo livello è chiamata frame.

Livello di rete: quando si verifica il routing, la maggior parte dei protocolli di routing funziona a questo livello. Questo è anche noto come livello IP, in cui comunicano VLANS. Il PDU per questo livello è noto come pacchetti.

Livello di trasporto: il livello di trasporto si occupa delle porte TCP e UDP, qui vengono inviati i pacchetti dai livelli 3 alle loro porte di destinazione. È importante ricordare che TCP è un protocollo orientato alla connessione mentre UDP è un protocollo orientato alla connessione (consegna di dati non garantita). La PDU per questo livello è datagrammi.

Livello di sessione: il livello di sessione è il punto in cui i pacchetti vengono incapsulati dal decapsulamento dal livello 3. Questo livello si occupa di più linguaggi di programmazione lato server in cui è possibile creare applicazioni basate su software e convertirle in ->

Il livello Presentazione: questo livello riguarda i codici lato client visualizzati sul browser Web o quando fai clic con il pulsante destro del mouse e visualizzi la fonte, si tratta principalmente di codici HTM / CSS / Javascript che ti consentono di visualizzare i tuoi ->

Il livello applicazione - Qui è dove la GUI (interfaccia utente grafica) traduce i codici HTML / CSS dal livello 6 a questo livello. Quello che vedi sul tuo browser web è la GUI del front-end. Il livello 5,6,7 PDU è chiamato messaggio.

Spero che rispondano a tutte le domande relative all'OSI.

In quale livello OSI opera IS-IS? - Livello 3
HTML è un protocollo di presentazione o applicazione? - Presentazione
I tunnel VPN sono di livello 2 o 3? -> L2TP è di livello 2 -> I tunnel VPN in genere funzionano su layer3 come IPSEC.


1
Questo non risponde all'OP; non ha mai chiesto cosa facesse ogni strato, ha chiesto cosa qualcuno dovrebbe capire sui concetti sottostanti.
Ryan Foley,

1
L'informazione è ottima, ma questo è un sito problematico / risolutivo. La tua risposta è ottima se la domanda fosse "Quali sono i diversi livelli del modello OSI e cosa fanno ciascuno?" . La domanda riguarda i fondamenti alla base del modello OSI, non direttamente il modello OSI. Ottima intuizione, ma cattiva risposta per questa domanda specifica.
Ryan Foley,

5
Chris, apprezzo le tue risposte e, in larga misura, hai ragione. Ma ISIS funziona su IP, lo rende layer 4? Che ne dici di BGP? Funziona su TCP. È il livello 5? Il mio punto è che sebbene si possano spremere i protocolli nei livelli, non si adattano davvero. Se dovessi guardare le specifiche del livello di presentazione OSI, non credo che l'HTML sarebbe abbastanza qualificato. Anche l'OSI ha ammesso che il layer 2 era troppo ampio e hanno dovuto dividerlo in due sublayer.
Ron Trunk,

2
Il modello OSI è solo un modello teorico. Anche se il protocollo di routing <name here> utilizza pacchetti (L2 | L3), fa anche parte di L7, poiché è un'applicazione e deve calcolare la tabella di routing e forse lo stesso livello tra di loro. Non tutto è in bianco e nero.
mulaz,

3
@Ron, ISIS non è un protocollo IP nativo. OSPF è. (Solo per aggiungere più confusione. :-))
John Jensen,

1

HTTP (non HTML) ha sia il livello di presentazione che di applicazione. I tunnel VPN aggiungono strati sovrapposti allo stack esistente: potrebbe essere Layer 2 o Layer 3 a seconda del tipo. Quindi sarai in grado di vedere questo / i strato / i aggiunto / i due volte nel pacchetto.


1
Puoi sicuramente etichettare le cose come ritieni opportuno, ma HTTP è stato sviluppato indipendentemente dal modello OSI e non è conforme alle specifiche. Lo stesso vale per le VPN: gli standard OSI non le hanno mai anticipate. Quindi ogni somiglianza è, come si dice, del tutto casuale.
Ron Trunk,

0

Una delle pochissime cose che in realtà provengono dal modello OSI sono i certificati X.509 e grossi pezzi di LDAP provenienti da X.500. L'altra cosa è X.400 per la messaggistica, MS Exchange aveva questo almeno in 5.5, non sono sicuro se le versioni successive lo includessero.

Quindi, l'OSI è un modello, nel dominio della rete ha perso la corsa contro il TCP / IP e non capisco davvero perché questo sia ancora insegnato agli studenti. Cercare di mettere cose come MPLS in questo modello non ha alcun senso.

Scavare più a fondo ti porterà al dolore delle grandi organizzazioni che cercano di imporre standard, cose orribili come ASN.1 e BER ... esagerando con tutto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.