Relation entre le modèle OSI et les protocoles de mise en réseau

27

Lorsque la plupart des étudiants en réseau découvrent pour la première fois le modèle OSI, ils passent beaucoup de temps à essayer de comprendre dans quelle couche du modèle un protocole particulier s'intègre. Nous recevons beaucoup de questions sur les couches OSI sur ce forum, et elles sont généralement comme:

  • Sur quelle couche OSI IS-IS fonctionne-t-il?
  • Le HTML est-il un protocole de présentation ou d'application?
  • Les tunnels VPN sont-ils de couche 2 ou 3?

Comment un étudiant (ou un professionnel d'ailleurs) doit-il comprendre la relation entre le modèle OSI et les protocoles avec lesquels il travaille?

Ron Trunk
la source

Réponses:

35

Il y a deux faits importants sur le modèle OSI à retenir:

  1. C'est un modèle conceptuel. Cela signifie qu'il décrit un groupe idéal, abstrait et théorique de fonctions de mise en réseau. Il ne décrit rien de ce que quelqu'un a réellement construit (du moins rien qui soit utilisé aujourd'hui).

  2. Ce n'est pas le seul modèle. Il existe d'autres modèles, notamment la suite de protocoles TCP / IP (RFC-1122 et RFC-1123), qui est beaucoup plus proche de ce qui est actuellement utilisé.

Un peu d'histoire: Vous avez probablement tous entendu parler des premiers jours de la mise en réseau de paquets, y compris ARPANET, le prédécesseur d'Internet. En plus des efforts du département américain de la Défense pour créer des protocoles de mise en réseau, plusieurs autres groupes et entreprises ont également été impliqués. Chaque groupe développait ses propres protocoles dans le tout nouveau domaine de la commutation de paquets. IBM et les compagnies de téléphone développaient leurs propres normes. En France, les chercheurs travaillaient sur leur propre projet de mise en réseau appelé Cyclades.

Les travaux sur le modèle OSI ont commencé à la fin des années 1970, principalement en réaction à l'influence croissante de grandes sociétés comme IBM, NCR, Burroughs, Honeywell (et d'autres) et leurs protocoles et matériels propriétaires. L'idée derrière cela était de créer une norme ouverte qui assurerait l'interopérabilité entre les différents fabricants. Mais parce que le modèle ISO avait une portée internationale, il avait de nombreux intérêts politiques, culturels et techniques concurrents. Il a fallu plus de six ans pour parvenir à un consensus et publier les normes.

Entre-temps, le modèle TCP / IP a également été développé. C'était simple, facile à mettre en œuvre et, surtout, c'était gratuit. Vous deviez acheter les spécifications standard OSI pour créer un logiciel pour cela. Tous les efforts d'attention et de développement se sont concentrés sur TCP / IP. En conséquence, le modèle OSI n'a jamais été implémenté comme un ensemble de protocoles, et TCP / IP est devenu la norme pour Internet.

Le point est, tous les protocoles utilisés aujourd'hui, la suite TCP / IP; des protocoles de routage comme RIP, OSPF et BGP; et des protocoles de système d'exploitation hôte comme Windows SMB et Unix RPC, ont été développés sans le modèle OSI. Ils y ressemblent parfois, mais les normes OSI n'ont jamais été suivies lors de leur développement. C'est donc une folle course d'essayer d'intégrer ces protocoles dans OSI. Ils ne correspondent pas exactement.

Cela ne signifie pas que le modèle n'a aucune valeur; c'est toujours une bonne idée de l'étudier afin que vous puissiez comprendre les concepts généraux. Le concept des couches OSI est tellement tissé dans la terminologie du réseau que nous parlons des couches 1, 2 et 3 dans le discours de réseautage quotidien. La définition des couches 1, 2 et 3 est, si vous plissez les yeux un peu, assez bien acceptée. Pour cette seule raison, il vaut la peine de savoir.

Les choses les plus importantes à comprendre sur le modèle OSI (ou tout autre) sont:

  • Nous pouvons diviser les protocoles en couches
  • Les couches fournissent l'encapsulation
  • Les couches fournissent l'abstraction
  • Les couches découplent les fonctions des autres

La division des protocoles en couches nous permet de parler de leurs différents aspects séparément. Il rend les protocoles plus faciles à comprendre et à dépanner. Nous pouvons facilement isoler des fonctions spécifiques et les regrouper avec des fonctions similaires d'autres protocoles.

Chaque «fonction» (au sens large) encapsule la ou les couches au-dessus. La couche réseau encapsule les couches au-dessus d'elle. La couche de liaison de données encapsule la couche réseau, etc.

Les couches font abstraction des couches en dessous. Votre navigateur Web n'a pas besoin de savoir si vous utilisez TCP / IP ou autre chose au niveau de la couche réseau (comme s'il y avait autre chose). Pour votre navigateur, les couches inférieures fournissent simplement un flux de données. La façon dont ce flux parvient à apparaître est masquée par le navigateur. TCP / IP ne sait pas (ou ne se soucie pas) si vous utilisez Ethernet, un modem câble, une ligne T1 ou un satellite. Il traite uniquement les paquets. Imaginez à quel point il serait difficile de concevoir une application qui devrait gérer tout cela. Les couches font abstraction des couches inférieures, ce qui simplifie la conception et le fonctionnement du logiciel.

Découplage: en théorie, vous pouvez remplacer une technologie spécifique par une autre sur la même couche. Tant que la couche communique avec celle ci-dessus et celle ci-dessous de la même manière, la façon dont elle est implémentée n'a pas d'importance. Par exemple, nous pouvons supprimer le protocole de couche 3 très connu, IP version 4, et le remplacer par IP version 6. Tout le reste devrait fonctionner exactement de la même manière. Pour votre navigateur ou votre modem câble, cela ne devrait faire aucune différence.

Le modèle TCP / IP est le fondement de la suite de protocoles TCP / IP (surprise!). Il n'a que quatre couches, et tout ce qui est au-dessus du transport n'est qu'une «application». Il est plus simple à comprendre et évite des questions sans fin comme «Est-ce que cette couche de session ou couche de présentation?» Mais c'est aussi juste un modèle, et certaines choses ne se t y s'intègrent bien non plus, comme les protocoles de tunneling (GRE, MPLS, IPSec pour n'en nommer que quelques-uns).

En fin de compte, les modèles sont un moyen de représenter des idées abstraites invisibles comme des adresses, des paquets et des bits. Tant que vous gardez cela à l'esprit, le modèle OSI ou TCP / IP peut être utile pour comprendre la mise en réseau.

Ron Trunk
la source
1
Je me suis toujours demandé pourquoi nous nous référions au modèle OSI alors que, en réalité, le modèle TCP / IP correspond mieux au projet de loi.
Ryan Foley
5
@RyanFoley, vrai dans de nombreux cas. Cependant, lorsqu'il s'agit de dépanner (et surtout de l'enseigner), il est préférable d'avoir des couches physiques et de données distinctes pour traiter les problèmes séparément. Par exemple, il est bon de connaître la différence dans un périphérique Cisco entre une interface qui est montée / montée, une qui est montée / descente et une qui est descendante / descendante.
YLearn
"Par exemple, nous pouvons supprimer le protocole de couche 3 très connu, IP version 4, et le remplacer par IP version 6. Tout le reste devrait fonctionner exactement de la même manière. Pour votre navigateur ou votre modem câble, cela ne devrait faire aucune différence." " Malheureusement, cela fait une différence car les abstractions fuient. Les applications et les protocoles de transport doivent connaître l'adressage utilisé par le protocole Internet.
Peter Green
Eh bien, c'est pourquoi les modèles ne sont que des modèles.
Ron Trunk
1
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions Nous construisons des abstractions pour cacher les moindres détails de la chose sous-jacente, mais certains détails de la chose sous-jacente fuient et causent des problèmes. Le système d'adressage est l'une de ces choses qui fuit jusqu'en haut de la pile.
Peter Green
2

Il y a une certaine confusion ici. Ce n'est pas parce qu'une fonction ne semble pas correspondre à un calque qu'elle ne l'est pas. OSI est flexible et permet aux objets et aux sous-couches où les implémentations pratiques sont mappées sur le modèle. Certaines fonctions d'un calque peuvent également être dupliquées sur d'autres calques. Le traitement ne doit pas non plus avoir lieu au niveau de la couche Application. Enfin, OSI était plus qu'un modèle, il a été implémenté dans son intégralité par certains constructeurs. J'ai travaillé sur le projet DEC. La praticité signifie que seules certaines parties de l'OSI sont utilisées aujourd'hui.

GUEULE
la source
1

Tous les protocoles de routage IGP (Interior Gateway Gateway Protocol) fonctionnent sur la couche 3. Le BGP externe fonctionne sur la couche 4, tandis que les protocoles internes fonctionnent sur la couche 3.

Couche physique - Traite des périphériques réseau matériels, c.-à-d. Ordinateurs portables, téléphones mobiles, ordinateurs de bureau. La couche 1 est connue pour être un domaine de collision, la couche 1 PDU (l'unité de données de protocole est des bits).

Couche données / liaison - Cette couche concerne les commutateurs de couche 2, les domaines de diffusion, les VLAN, STP, VTP. L'unité de données de protocole de cette couche est appelée trames.

Couche réseau - C'est lorsque le routage se produit, la plupart des protocoles de routage fonctionnent sur cette couche. Ceci est également connu comme la couche IP, où VLANS communique. L'unité PDU de cette couche est appelée paquets.

Couche de transport - La couche de transport traite des ports TCP et UDP, c'est là que les paquets des couches 3 sont envoyés à leurs ports de destination. Il est important de se rappeler que TCP est un protocole orienté connexion tandis que UDP est un protocole orienté sans connexion (livraison de données non garantie). Le PDU pour cette couche est les datagrammes.

Couche de session - La couche de session est l'endroit où les paquets sont encapsulés d'être décapsulés de la couche 3. Cette couche traite de plusieurs langages de programmation côté serveur où vous pouvez créer des applications logicielles et les convertir en ->

La couche Présentation - Cette couche concerne les codes côté client que vous voyez sur votre navigateur Web, ou lorsque vous faites un clic droit et affichez la source, ce sont principalement des codes HTM / CSS / Javascript qui vous permettent de visualiser vos ->

La couche Application - C'est là que l'interface utilisateur graphique (GUI) traduit les codes HTML / CSS de la couche 6 vers cette couche. Ce que vous voyez sur votre navigateur Web est l'interface graphique frontale. La couche 5,6,7 PDU est appelée message.

J'espère que ces réponses à toutes les questions liées à l'OSI.

Sur quelle couche OSI IS-IS fonctionne-t-il? - Couche 3
Le HTML est-il un protocole de présentation ou d'application? - Présentation
Les tunnels VPN sont-ils de couche 2 ou 3? -> L2TP est la couche 2 -> Les tunnels VPN fonctionnent généralement sur la couche 3 tels que IPSEC.

chris
la source
1
Cela ne répond pas à l'OP; il n'a jamais demandé ce que faisait chaque couche, il a demandé ce que quelqu'un devrait comprendre au sujet des concepts sous-jacents.
Ryan Foley
1
Informatif, c'est bien, mais c'est un site de problème / solution. Votre réponse est excellente si la question était "Quelles sont les différentes couches du modèle OSI, et que fait chacune d'elles?" . La question porte sur les principes fondamentaux du modèle OSI, et non directement sur le modèle OSI. Grande perspicacité, mais mauvaise réponse à cette question spécifique.
Ryan Foley
5
Chris, j'apprécie vos réponses et, dans une large mesure, vous avez raison. Mais ISIS fonctionne sur IP, cela en fait-il la couche 4? Et BGP? Il s'exécute au-dessus de TCP. Est-ce la couche 5? Mon point est que même si vous pouvez insérer des protocoles dans les couches, ils ne correspondent pas vraiment. Si vous regardiez la spécification de la couche de présentation OSI, je ne pense pas que le HTML serait tout à fait qualifié. Même OSI a admis que la couche 2 était trop large et a dû la diviser en deux sous-couches.
Ron Trunk
2
Le modèle OSI n'est qu'un modèle théorique. Même si le protocole de routage <nom ici> utilise des paquets (L2 | L3), il fait également partie de L7, car c'est une application, et il doit calculer la table de routage, et peut-être la même couche entre les deux. Tout n'est pas noir et blanc.
mulaz
3
@Ron, ISIS n'est pas un protocole IP natif. OSPF est. (Juste pour ajouter plus de confusion. :-))
John Jensen
1

HTTP (pas HTML) a à la fois une couche de présentation et d'application. Les tunnels VPN ajoutent des couches de superposition à la pile existante: il peut s'agir de la couche 2 ou de la couche 3 en fonction de leur nature. Ensuite, vous pourrez voir ces couches ajoutées deux fois dans le paquet.

alexlev2004
la source
1
Vous pouvez certainement étiqueter les choses comme bon vous semble, mais HTTP a été développé sans tenir compte du modèle OSI, et il n'est pas conforme aux spécifications. Il en va de même pour les VPN - les normes OSI ne les ont jamais anticipés. Ainsi, toute ressemblance est, comme on dit, complètement coïncidente.
Ron Trunk
0

L'une des très rares choses qui proviennent du modèle OSI sont les certificats X.509 et les gros morceaux de LDAP provenant de X.500. L'autre chose est X.400 pour la messagerie, MS Exchange l'avait au moins en 5.5, je ne sais pas si les versions ultérieures l'incluaient.

Donc, OSI est un modèle, dans le domaine du réseau, il a perdu la course contre TCP / IP et je ne comprends vraiment pas pourquoi cela est encore enseigné aux étudiants. Essayer de mettre des choses comme MPLS dans ce modèle n'a aucun sens.

Creuser plus profondément là-bas vous amènera à la douleur des grandes organisations essayant d'appliquer les normes, des choses horribles comme ASN.1 et BER ... suringénierie de tout.

TabTwo
la source