Les couches réseaux du modèle OSI

DéfinitionModèle OSI

Le modèle OSI (pour Open Systems Interconnection) est une norme de communication en réseau de tous les systèmes informatiques.

C'est un modèle conceptuel qui décrit le fonctionnement théorique de n'importe quel réseau en 7 couches.

Modèle OSIInformations[1]

RemarqueUne norme... pour créer des normes

Le modèle complet est décrit par la norme ISO7498 et porte le nom de "Modèle basique de référence pour l'interconnexion des systèmes ouverts". Cette norme spécifie un cadre général propice à la création de normes futures.

En d'autres termes, le modèle OSI n'impose aucune technologie physique ou logicielle, mais définit une architecture que les technologies doivent respecter afin qu'un réseau global puisse émerger.

Le découpage en couche permet de "séparer les préoccupations", c'est-à-dire de traiter un aspect particulier de la problématique générale (identifier une machine, envoyer des données, formater les données, etc.)

DéfinitionService, protocole et interface

Dans la terminologie OSI, chaque couche est délimitée par un service, un protocole et une interface.

  • Un service correspond aux fonctions réalisables par une couche : c'est un ensemble de commandes, ou primitives.

  • Un protocole correspond aux règles d'échange entre les couches, dans le but de réaliser un service.

  • L'interface est le point d'accès concret au service. Elle spécifie comment utiliser le protocole permettant d'accéder au service.

Les couches basses rendent des services aux couches plus hautes.

ExempleUne cuisine et des étagères

Le modèle OSI peut être difficile à conceptualiser. On peut se le représenter grossièrement comme le placard d'une cuisine :

  • Chaque étagère (couche) contient des objets ayant des buts communs (protocoles) : de haut en bas, l'étagère des aliments, l'étagère des ustensiles, l'étagère des plats, l'étagère des condiments, etc.

  • Il y a un ordre : on commence par sélectionner les aliments, les découper, puis les faire cuire et enfin assaisonner le plat.

  • On peut dire que chaque étagère plus basse rend service aux étagères les plus hautes : la casserole va faire cuire les aliments, les condiments vont assaisonner le plat, etc.

  • L'interface dans ce cas est l'être humain qui cuisine : il interface les objets des différentes étagères.

FondamentalNiveau 1 : couche physique

La couche physique est chargée d'émettre et de recevoir des données brutes entre deux machines.

ExemplePlus compliqué qu'il n'y paraît...

Si envoyer un 0 ou un 1 à une machine peut paraître trivial, il existe une grande diversité de techniques pour ce faire : fibre optique, câble Ethernet, ondes électromagnétiques, ondes radio, etc., et pourquoi pas des écriteaux tenus par un humain ?

FondamentalNiveau 2 : couche liaison de données

Cette couche gère la communication entre deux machines directement connectées entre elles. Elle répond à plusieurs questions problématiques de la couche physique : où commence un message donné et où s'arrête-t-il ? Un support physique n'est jamais parfait, comment détecter les erreurs ? Peut-on réparer les erreurs ?

Pour ce faire, elle structure les données transmises à l'aide de marqueurs (début, fin, etc.), de champs (ici se trouvent les données, ici se trouve l'identifiant du destinataire, etc.) et elle met en place des mécanismes de contrôle.

Les entités transmises par la couche 2 sont des trames.

ExempleDétection d'erreur

En supposant que la couche 2 transmette une suite de nombres, elle pourra rajouter la somme de ces nombres à la fin du message. Le destinataire pourra refaire cette somme et vérifier qu'il n'y a pas eu d'erreur de transmission si le résultat est exact.

FondamentalNiveau 3 : couche réseau

La couche réseau gère les communications entre plusieurs machines d'un même réseau.

Elle exploite les notions d'adressage, de routage, de fragmentation.

  • Pour s'adresser à une machine à laquelle on n'est pas directement connecté, il faut un moyen de l'identifier : c'est son adresse.

  • Pour arriver jusqu'à cette machine, il faut trouver le chemin qui nous sépare d'elle : c'est le routage.

  • Si le message à transmettre est trop gros pour les couches inférieures, il faut le découper : c'est la fragmentation.

Les entités transmises par la couche 3 sont des paquets, ou datagrammes.

ExempleLes adresses postales d'Internet

L'équivalent des adresses postales sur Internet sont les adresses IP (pour Internet Protocol). Le protocole IP permet l'adressage unique de toutes les machines du réseau et prend en charge la fragmentation.

FondamentalNiveau 4 : couche transport

La couche transport gère les communications de bout en bout, sans se soucier du mode de transport.

Plutôt que de raisonner en terme de paquets, elle raisonne en terme de messages complets.

Elle est capable de corriger des erreurs dans la transmission des messages (congestion du réseau...) et de ré-ordonnancer des paquets qui auraient pris une route différente et seraient arrivés dans le mauvais ordre.

Ses mécanismes de contrôle de flux permettent d'adapter la vitesse d'envoi des données à la capacité de réception du destinataire.

Les entités transmises par la couche 4 sont des messages.

FondamentalNiveau 5 : couche session

La couche session a un rôle de chef d'orchestre des discussions entre les différents acteurs. Elle gère par exemple les tours de parole.

Elle synchronise les communications émanant de différentes sources en organisant les connexions de niveau 4.

Aussi, si une communication est interrompue et que la couche 4 ne peut pas corriger les erreurs (exemple : coupure longue d’électricité), la couche 5 permet de reprendre la communication à l'endroit où elle s'est arrêtée.

ExempleDiffusion vidéo

Dans une application de diffusion vidéo, la voix et l'image proviennent de deux sources différentes. Il faut organiser leur transmission de telle sorte que les données de la voix soient synchronisés avec les données de l'image. En respectant le modèle OSI, la couche session combinerait ces deux flux en veillant à leur synchronisation.

FondamentalNiveau 6 : couche présentation

La couche présentation chargée du codage des données à communiquer. Les couches 1 à 5 transportent une donnée brute sans se préoccuper de leur signification. La couche présentation a pour rôle de transformer les données (image, texte, vidéo, etc.) en format transportable par les couches inférieures.

Elle négocie également avec le destinataire pour élire un format commun et assurer que les deux systèmes se comprennent.

Optionnellement, cette couche assure chiffrement des données, les rendant inintelligibles pour tous sauf le destinataire.

ExempleUne analogie avec les langages

Si l'ordinateur A parle français et anglais et que l'ordinateur B parle anglais et espagnol, alors la couche présentation négociera une communication en anglais.

FondamentalNiveau 7 : couche application

La couche application ne contient pas les véritables applications mais leur rend des services. Elle offre un ensemble de fonctionnalités standard, comme du transfert de fichier.

ExempleDes protocoles bien connus

On peut rattacher à la couche 7 les protocoles de communication tels que HTTP pour consulter des fichiers sur le Web ou FTP pour transférer des fichiers.

FondamentalChemin d'une donnée dans le modèle OSI

Une application sur un ordinateur A voulant communiquer avec une application sur un ordinateur B fera passer les données par toutes les couches de haut en bas. La série de bits sortant de la couche 1 va circuler sur Internet via les routeurs pour arriver à destination, où le chemin inverse sera fait.

Communication selon le modèle OSI

ExempleLe parcours d'une requête web

Suivons le parcours d'une requête web d'un client à un client. On descend d'abord en couche :

  • la requête est émise par l'utilisateur via son client, via un navigateur Web par exemple (application),

  • la requête est chiffrée par HTTPS (présentation),

  • s'en suit la mise en place de la connexion (session) et son transport de données (transport),

  • ces paquets sont passés de proche en proche sur le réseau via IP (couche réseau),

  • au niveau du réseau local ces données sont acheminées vers à la machine en question grâce à son adresse MAC (couche liaison),

  • ces données sont transférées via un médium, ondes ou signaux électriques par exemple (couche physique).

Puis on remonte dans les couches :

  • ce médium est écouté par l'interface réseau de la machine du serveur (couche physique),

  • les données sont reçues par la machine du serveur (couche liaison),

  • la machine récupère les paquets (couche réseau) et les ordonne selon leur ordre de départ (couche transport),

  • la connexion avec le client est fermée ou maintenue (couche session),

  • les données sont déchiffrées pour obtenir la requête (couche présentation),

  • la requête est lue puis traitée par le serveur,

ComplémentModèle OSI et TCP/IP

L'architecture du modèle OSI est très stricte et s'efforce de séparer les fonctionnalités qui sont séparables.

Si ce modèle forme une excellente base théorique pour créer de nouveaux protocoles et de nouveaux réseaux, l'architecture n'est pas intégralement utilisée en pratique.

Internet repose essentiellement sur les protocoles IP et TCP, que l'on peut associer aux couches 3 et 4. Par contre, les couches 5, 6 et 7 n'ont pas vraiment d'équivalent dans le monde Internet : leurs services sont intégrés soit dans les couches plus basses, soit dans la couche 8.

À retenir

  • Le modèle OSI est une base théorique pour former des réseaux dont les machines sont capables de communiquer entre elles.

  • Il définit 7 couches indépendantes qui remplissent plusieurs services.

  • Le modèle OSI décrit tous les aspects des communications mais ne spécifie pas de protocole concret.