Revenons un peu aux sources avec cet article 😊 Les bases du réseau : le fameux modèle OSI et son [ami ? rival ?] le modèle TCP/IP !

La norme OSI est le modèle de référence en 7 couches pour les réseaux. Inconsciemment, on l’utilise pour effectuer des dépannages en procédant par étapes. Mais il n’est pas simple de retenir quelle couche sert à quoi, quels protocoles vont ici ou là…

Allez, petit zoom sur ce qu’est vraiment, la pile OSI !


Introduction au modèle de référence : OSI

Info + : Pour cet article, j’ai dû me replonger dans mes vieux cours Cisco CCNA qui ne sont pas toujours simples à comprendre pour des utilisateurs non avertis. Aussi, j’ai essayé d’être la plus simple possible lors de la rédaction. N’oubliez pas que ce n’est qu’un aperçu du concept !

Un peu d’histoire…

L’architecture OSI (Open Systems Interconnection) a vu le jour fin des années 1970 et a été conçue par des ingénieurs américains spécialisés en Architecture Informatique.

On parle de « modèle de référence pour l’interconnexion des systèmes ouverts » qui définit la façon dont les ordinateurs doivent communiquer ensemble.

Ce qu’on appelle donc « modèle OSI » est une norme officialisée seulement en 1984. Le retard d’adoption de ce modèle est dû à un rejet des grands groupes télécoms européens de l’époque qui ont vu cette architecture trop théorique et peu pratique.

A cause de ce rejet massif ayant entraîné un retard dans sa normalisation, la norme OSI a été supplantée par la norme TCP/IP, préférée par ARPANET en 1983 pour son utilisation tournée vers le futur et sa simplicité.

ARPANET est le 1er réseau à « commutation de paquets ». C’est l’ancêtre du plus grand réseau mondial que nous connaissons tous aujourd’hui : Internet.

 

Modèle OSI et modèle TCP/IP

On peut entendre dire que le modèle OSI est « dépassé », « inutilisé », que TPC/IP « c’est mieux »…

La réalité c’est que ces allégations sont fausses et surtout ne veulent rien dire !

Le modèle OSI est différent du modèle TCP/IP et les deux peuvent être complémentaires.

Info + : La pile TCP/IP sera ici seulement évoquée puisque l’on peut difficilement passer outre quand on parle modèle OSI… Si vous voulez en savoir plus, je vous conseille une nouvelle fois le site très complet frameip : frameip/tcpip

Dans les faits, il existe deux « types de modèles de réseau de base » :

  • Le modèle de protocole,

qui suit la structure d’une suite de protocoles donnée. La « suite de protocoles » est une association hiérarchique de plusieurs protocoles qui représente, de façon générale, toutes les fonctionnalités nécessaires pour faire le lien entre l’Homme et la machine (on parle de réseau « humain » et de réseau « de données ».)

Le modèle TCP/IP est un modèle de protocoles. Il décrit les fonctions spécifiques (et les moyens devant être mis en œuvre) qui interviennent à chaque « ensemble de protocoles » (chaque couche).

  • Le modèle de référence,

assure la cohérence de tous les types de protocoles et services réseau en décrivant seulement les opérations à effectuer à chaque étape (chaque couche).

Il ne fournit pas un niveau de détails suffisant pour définir précisément les services de l’architecture réseau. Son rôle principal est d’assurer une compréhension plus claire des fonctions et des processus impliqués.

Le modèle OSI est un modèle de référence. Il n’indique pas spécifiquement comment les protocoles et services doivent être implémentés.

Malgré les disconvenues qu’il a rencontré, le modèle OSI reste donc le « modèle de référence » inter-réseau le plus connu et est toujours utilisé, notamment par les constructeurs d’équipements réseau afin d’assurer une compatibilité entre tous les matériels, mais également pour la conception de réseaux de données et même la résolution des problèmes.

 

Un modèle en couches (layers)

Que ce soit le modèle OSI ou le modèle TCP/IP, ce sont des modèles dits « en couches ».

Une telle forme de modèle permet de mieux visualiser l’interaction entre les différents protocoles intervenant dans chaque couche mais également les interactions avec les couches supérieures et inférieures.

La norme OSI dispose de 7 couches, chacune ayant un rôle à tenir qui lui est propre.

Voyons rapidement à quoi servent ces différentes couches :

  • La couche 1 Physique…

… est chargée de la transmission des bits de données (en binaire) sur les différents supports existants (câblage cuivre, fibre optique, ondes électromagnétiques…). Dans cette couche on y associe également le hub (concentrateur) qui se charge de la transmission des données dans un réseau sans cibler le destinataire selon son adresse physique (MAC) ou son adresse logique (IP).

  • La couche 2 Liaison de données…

… définie les méthodes de transmission des données entre les périphériques d’un même réseau local (LAN) et gère la détection d’erreurs de transmission. Le protocole de réseau local à commutation de paquet le plus utilisé que l’on trouve dans cette couche sera Ethernet. Les adresses physiques des cartes réseaux (MAC) sont associées à cette couche. De même que les switchs qui sont chargés de relier entre eux plusieurs périphériques d’un même réseau.

  • La couche 3 Réseau…

gère les communications entre les machines placées sur différents réseaux en utilisant l’adressage logique des équipements (adressage IP). Cette couche est en charge d’acheminer les données d’un réseau A à un réseau B en empruntant le meilleur chemin ce qui se fait au moyen de routeurs et de protocoles de routage.

  • La couche 4 Transport…

… est chargée de la gestion des problèmes de transport (renvoi des données si manquantes) et donc de la fiabilité des communications. Cette couche joue également un rôle dans le contrôle de flux (débit) et permet d’utiliser en simultanée plusieurs applications utilisant des protocoles/ports différents. Elle fait le lien entre une application et le protocole réseau de communication utilisé (notamment TCP ou UDP).

~ Petit aparté sur TCP et UDP ~

Le protocole de transport TCP (Transport Control Protocol) est un protocole dit « orienté connexion ». Avant l’envoi de données, TCP s’assure que le destinataire est en mesure de recevoir ces données. Il utilise également les accusés de réception pour s’assurer de la remise des données.

TCP contrôle également l’intégrité des données transmises. En cas de corruption des données, l’expéditeur peut alors les retransférer. C’est donc un protocole très fiable et le plus utilisé actuellement.

 

Le protocole de transport UDP (User Datagram Protocol) est en revanche lui « non orienté connexion ». Il transfère les données sans se soucier si le destinataire est apte à les recevoir. Avec le protocole UDP, nous ne sommes pas non plus capables de dire si les données ont bien été transmises.

Le protocole de transport UDP est donc bien moins fiable que son homologue TCP. En revanche, il est plus beaucoup rapide puisqu’il ne nécessite pas d’échanges préalables à l’envoi ou suite à la réception de données. Il est préféré pour les services pouvant supporter une légère altération tels que le DNS (Domain Name System), le NTP (Network Time Protocol) ou encore, de nos jours, pour des services de vidéos en streaming ou en direct.

 

  • La couche 5 Session…

fournie des services à la couche « Présentation » afin d’organiser sa méthode de dialogue et de gérer les ouvertures/fermetures des sessions dans ET entre les applications. On peut retrouver dans cette couche le protocole RPC (Remote Procedure Call) qui assure la communication entre un client qui émet une requête et un serveur qui répond à la requête ou encore l’ancien système de nommage NetBIOS qui permet d’établir des sessions entre différents ordinateurs.

  • La couche 6 Présentation…

fournie une représentation commune des données demandées/attendues par une application. Plus simplement, elle gère le codage/décodage des données (ASCII, unicode, HTML…). Cette couche convertie les données de façon exploitable pour l’application.

  • La couche 7 Application…

permet d’obtenir une connectivité finale entre les parties telles que le service et l’application utilisant ledit service (ex : service de messagerie (SMTP) et client de messagerie Outlook, service web (HTTP) et navigateur internet Firefox, serveur de téléphonie Asterisk (VoIP) et téléphone IP). Cette couche est le point d’accès aux services d’un réseau et fait le lien en l’Homme et la machine.

Il est important de préciser que chaque couche est totalement indépendante des autres et ne s’occupe que de son cas. L’intérêt de ceci étant que n’importe quelle couche peut subir des modifications sans en impacter les autres.

De même, une couche ne peut interagir qu’avec une couche adjacente. Cela garanti que pour communiquer, toutes les couches du modèle OSI devront bien être parcourue.

 

Le modèle TCP/IP 

Le modèle OSI en 7 couches est purement « théorique » car encore une fois, le modèle TCP/IP a démontré le peu d’intérêt de certaines couches en passant directement de la couche 7 à la couche 4…

Voici une représentation du modèle TCP/IP en 4 couches :

  • La couche 1 Accès réseau…

contrôle les périphériques matériels ainsi que les supports constituant le réseau.

  • La couche 2 Internet…

détermine le meilleur chemin à prendre par les paquets pour arriver à destination dans et vers n’importe quel réseau.

  • La couche 3 Transport…

prend en charge la communication entre les différents périphériques à travers le réseau grâce aux protocoles de transport TCP et UDP notamment.

  • La couche 4 Application…

représente les données pour l’utilisateur (interface Homme/machine), gère le codage et le contrôle du dialogue

Info + : Il existe une variante en 5 couches du modèle TCP/IP. Dans le modèle en 5 couches, la couche accès réseau est remplacée par une couche « Physique » et une couche « Liaison de données ». La couche « Internet » est également renommée « Réseau » dans le modèle en 5 couches.

Cela ne signifie toutefois pas que certains rôles joués par les couches du modèle OSI soient totalement inutiles. Il s’agit plutôt de les regrouper différemment.

Voici une représentation des modèles OSI et TCP/IP juxtaposés afin de démonter les correspondances des différentes couches :

 

Transmissions des données à travers le modèle OSI

Essayons d’illustrer le fonctionnement du modèle OSI avec un cas concret :

Dans notre réseau local Ethernet en IPv4, nous avons un ordinateur fixe relié par un câble RJ45 à un switch, lui-même relié à un routeur Internet. Nous allons utiliser le navigateur Google Chrome de notre ordinateur pour consulter le site internet http://mon-site.com.

L’ordinateur va donc envoyer une requête au serveur distant qui héberge le site mon-site.com afin d’initier une connexion. Le protocole utilisé pour le service web est HTTP (port 80) qui est un protocole TCP. Le site mon-site.com est codé en HTML.

 

Voici comment notre réseau va suivre le modèle OSI en partant de l’ordinateur et à destination du serveur :

L’ordinateur utilise l’application pour envoyer/recevoir des données. Il va donc descendre successivement les couches du modèle OSI qui auront chacune un impact sur les données.

Les données seront acheminées par câble Ethernet (RJ45) jusqu’au switch où notre ordinateur est relié.

Contrairement à un PC, un switch ne va pas parcourir l’ensemble des couches du modèle OSI tout simplement parce qu’il n’en a pas besoin. Si vous avez bien suivi, vous devez vous souvenir que le switch est le matériel associé à la couche 2 du modèle OSI. Il n’ira donc pas plus loin. On dit qu’il n’utilise que « les couches basses ».

Le switch en recevant les données du PC va remonter les couches du modèle OSI qui l‘intéresse.

Il va regarder dans sa table CAM s’il possède une entrée pour l’adresse physique (MAC) du destinataire. Comme nous allons vers un serveur hébergé en dehors de notre réseau local, ça ne sera pas le cas. Il va donc diffuser les données en broadcast, c’est-à-dire qu’il va les transférer sur tous les ports jusqu’à ce qu’un autre périphérique sache où les rediriger.

Il va donc redescendre les 2 couches du modèle OSI et les données arriveront au routeur.

Tout comme le switch, le routeur n’utilisera que les couches basses du modèles OSI. A la différence qu’il n’utilise pas l’adressage physique (MAC) du destinataire, mais son adresse logique (IP). Il va donc parcourir le modèle OSI jusqu’à la couche 3 Réseau.

En recevant les données, il va remonter les couches du modèle OSI qui l’intéresse.

Il va ensuite vérifier si le destinataire est dans son réseau, ce qui encore une fois n’est pas le cas puisqu’on envoie une requête à un serveur externe.

Le routeur va finalement redescendre les couches du modèle OSI et transmettre les données à un autre routeur situé sur Internet qui sera susceptible de connaitre le destinataire et ainsi de suite de routeur en routeur, de switch en switch… jusqu’au serveur web qui héberge le site mon-site.com

Lorsque les données arriveront au serveur, celles-ci vont tout simplement remonter une à une les couches du modèle OSI.

Le serveur va alors répondre à la requête du client et envoyer les données demandées, à savoir, le contenu de la page web demandée.

Les données vont alors faire le chemin inverse. Depuis le serveur, elles vont redescendre les couches du modèle OSI, être transmises aux routeurs/switch, et finalement remonter la couche du modèle OSI au niveau du PC.

Voici comment nous pouvons illustrer grossièrement la façon dont les données sont transmises à travers le modèle OSI !

 

Evidemment, dans les faits, vous vous doutez bien que c’est bien plus complexe que ça…

Les données sont encapsulées, c’est-à-dire conditionnées dans un entête (header) de protocole spécifique. Chaque couche parcourue va ajouter un entête supplémentaire.

On ne parlera alors plus à proprement parler de « données » (techniquement on dit « PDU », Protocol Data Unit, soit en français Unité de données) mais de « segment », « paquet » ou « datagramme », « trame » ou encore « bits » selon les couches.

Lorsque les données remonteront la pile du modèle OSI, chaque couche enlèvera alors l’entête la concernant et transférera les données à sa couche supérieure.

Si vous souhaitez creuser le sujet, voici un lien intéressant : les-reseaux-de-zero/modele-osi

 

En attendant, c’est tout pour cette introduction au modèle OSI !

Si vous avez compris le fonctionnement du modèle OSI, vous savez comment fonctionne un réseau ! Il ne vous reste plus qu’à assimiler quels protocoles sont utilisés dans chaque couche.

Bon courage ! bb


Introduction au modèle OSI

Articles pouvant vous intéresser