Qu’est-ce que le modèle OSI ?

Le modèle OSI (de l’anglais Open System Interconnexion) a été créé par l’organisation internationale de standardisation (International Organization for Standardization (ISO)) en tant que modèle de référence pour une communication ouverte via divers systèmes techniques. Ce programme prend tout son sens si l’on tient compte des débuts de l’Internet. En effet, à la fin des années 70, les principaux acteurs des nouvelles technologies ont été confrontés à la multitude de modèles existants de machines. Peu de constructeurs pensaient alors à leur mise en réseau et ne se souciaient guère de leur adaptabilité les uns des autres. Internet a entrainé la mise en place de standards de conformité entre ordinateurs dans le but de permettre une communication commune.

Le modèle OSI est le résultat d’une tentative de standardisation. Il dessine un cadre conceptuel pour la base de design des standards de communication entre différents ordinateurs. Le modèle ISO divise ce processus complexe de communication en 7 couches (de l’anglais layer). On parle alors de modèle en couches. La communication entre deux systèmes exige que chaque couche respecte une tâche. Nous pouvons citer par exemple le contrôle des communications, l’adressage du système cible ou la traduction de paquets de données en signaux physiques. Pourtant, ce modèle fonctionne seulement si tous les systèmes participant à la communication s’en tiennent aux règles. On constate que ces derniers se trouvent dans des protocoles qui sont configurés pour des couches précises ou qui interviennent entre les couches.

Néanmoins, le modèle de référence ISO n’est pas une norme réseau concrète. Au lieu de cela, il décrit sous forme abstraite quels processus doivent être régulés pour que la communication fonctionne via un réseau.

Les couches d’un modèle OSI

Il se peut que la communication entre deux ordinateurs s’avère triviale. En effet, lors d’un transfert de données via un réseau, il est normal que de nombreuses actions soient maîtrisées et qu’elles remplissent certaines exigences en termes de confiance, de sécurité voire d’intégrité. Cette pratique de diviser la communication en plusieurs couches a depuis fait ses preuves. Ainsi, chaque couche conduit à un domaine de fonctions bien définies. Une norme couvre en général seulement une partie du modèle en couches. Elle est construite de manière hiérarchique. En passant par une interface, chaque couche a recours à une autre située en dessous et est à son tour disponible pour les autres couches du niveau supérieur. Ce principe présente deux avantages décisifs :

  • Les fonctions et les exigences qui doivent être maîtrisées remplies à l’intérieur d’une couche sont clairement définies. Les normes de chaque couche peuvent être développées indépendamment l’une de l’autre.
  • Etant donné que les couches individuelles sont clairement séparées, les modifications apportées à une norme n’ont aucune influence sur les processus qui fonctionnent sur d’autres couches.

Au regard de leurs tâches, ces 7 couches du modèle OSI sont divisées en deux groupes : celles orientées application et celles orientées communication. Ces processus qui se produisent à chaque couche peuvent être illustrés par l’exemple suivant : le transfert d’un email partant d’un ordinateur vers le serveur de messagerie :

Les couches orientées application

Les couches hautes du modèle de référence OSI sont décrites comme des couches orientées application. Elles présentent trois dénominations « application », « présentation » et « session ».

  • Couche 7 dite application : ce domaine du modèle OSI dispose d’un contact direct avec les applications telles que les programmes de messagerie ou le navigateur. C’est là qu’ont lieu les entrées et les sorties des données. La couche application crée le lien avec les autres couches matérielles (ou basses) du modèle OSI et enclenche les fonctionnalités d’application. Pour illustrer notre propos, prenons l’exemple de transfert d’un email : un usager écrit un message dans le programme de messagerie de son ordinateur. Cet email est transféré sous la forme d’un paquet de données dans la couche application. En même temps, d’autres informations sont ajoutées aux données de l’email sous la forme d’un en-tête (ou header) d’application. On parle alors d’encapsulation. Cet en-tête contient entre autre l’information qu’il s’agit de données provenant d’un programme de messagerie. Par ailleurs, le protocole définit que le transfert de l’email est utilisé sur la couche application (dans le cas d’un email normalement SMTP).
     
  • Couche 6 dite présentation : une des tâches courantes de la communication en réseau est de s’assurer que les données sont transmises sous format standard. La couche présentation présente des programmes locaux convertis en formats standards. Si nous prenons notre exemple, c’est la couche 6 qui définit la présentation du message transféré. En outre, le paquet de données est complété d’un en-tête de présentation. Celui-ci contient les informations sur le code de l’email, sur le format des pièces jointes et sur la manière dont les données sont comprimées voire chiffrées (par exemple SSL/TLS). C’est ainsi que l’on constate que le format d’un email est interprété par le système cible et qu’il est transmis en conséquence.
     
  • Couche 5 dite session : la tâche centrale de la couche session est la gestion de la liaison entre les deux systèmes. On parle alors de couches orientées communication. C’est là que ces mécanismes de contrôle spécifiques prennent effet. Ce sont eux qui régulent la liaison, le maintien de la connexion et la déconnexion. En ce qui concerne cette commande de communication, d’autres informations sont ajoutées aux données de l’email transmis via un en-tête de session. La plupart des protocoles d’applications courants tels que SMTO ou FTP s’occupent eux-mêmes des sessions ou sont à l’instar de HTTP indépendants. Le modèle TCP/IP qui est concurrent au modèle OSI résume OSI 5, 6, 7 en une couche d’application. Les autres normes qui agissent sur la couche 5 sont NetBIOS, Socks et RPC.

Les couches orientées communication

Quatre couches orientées communication font suite aux trois couches orientées application du modèle OSI. Ces quatre couches sont les suivantes : « transport », « réseau », « liaison » et « physique ».

  • Couche 4 dite transport : la couche transport sert de lien entre les couches orientées application et communication. A ce niveau du modèle OSI crée la connexion logique, soit le canal de transmission entre les systèmes communicants. Par ailleurs, certaines informations doivent être ajoutées aux données de l’email. Le paquet de données qui a déjà été ajouté à l’en-tête des couches orientées application est complété par un en-tête de transport sur la couche 4. C’est là qu’interviennent les protocoles de réseau standardisés tels que TCP. En outre, les ports sont définis sur la couche transport où les applications sont gérées sur le système cible. C’est sur la couche 4 que le paquet de données est attribué à application particulière.
     
  • Couche 3 dite réseau : la couche 3 permet la transmission de données sur Internet et plus particulièrement l’adressage logique des terminaux. Une adresse IP unique est attribuée sur la couche 3. Un en-tête de réseau est ajouté au paquet de données qui contient des informations sur le routage et le contrôle des flux. Les systèmes informatiques ont recours aux standards de l’internet tels que IP, ICMP, X.25, RIP voire OSPF. En ce qui concerne les échanges d’emails, TCP intervient en général avant IP.
     
  • Couche 2 dite liaison : la couche liaison assure les fonctions telles que la détection des défauts, le dépannage et le contrôle des flux et a pour but d’éviter des erreurs de transfert. Par ailleurs, le paquet de données qui inclue les en-têtes d’application, de présentation, de session, de transport et de réseau est encadré par un en-tête et un parcours de liaison. Enfin, c’est sur la couche 2 qu’a lieu l’adressage physique.
     
  • Couche 1 dite physique : c’est là qu’a lieu la conversion des bits d’un paquet de données en un signal physique approprié vers un support de transmission. Ce signal peut être transmis via un fil de cuivre, une fibre optique ou à l’air libre. L’interface de support de transmission est définie par des protocoles et des normes tels que DSL, ISDN, Bluetooth, USB ou Ethernet (tous deux des couches physiques).

Encapsulation et décapsulation

Les paquets de données passent à travers chaque couche du modèle OSI, sur le système émetteur et enfin le système cible. Tous les terminaux rencontrés sont configurés pour les couches allant de 1 à 3. L’email que notre exemple illustre passe en tant que signal physique d’abord par le routeur, avant de continuer sa route sur la Toile. Il est situé sur la couche 3 du modèle OSI et ne traite par conséquent que les informations des trois premières couches. Les couches allant de 4 à 7 ne sont pas prises en compte. Afin de recevoir un accès aux informations nécessaires, le routeur doit tout d’abord décompresser le paquet de donné encapsulé. On parle alors de décapsulation. Dans ce cas de figure, les couches du modèles OSI sont exécutées dans l’ordre inverse.

Tout d’abord, il faut décoder le signal sur la couche physique. Par la suite, il convient de lire les adresses MAC sur la couche 2 et l’adresse IP ainsi que le protocole de routage sur la couche 3. Avec ces informations, le routeur est en mesure de prendre l     a décision de transférer l’email. Le paquet de donnée peut ensuite être encapsulé et transmis en fonction des informations obtenues à la station suivante sur le chemin vers le système cible.

En règle générale, plusieurs routeurs sont impliqués dans un transfert de données. Le processus décrit de décapsulation et d’encapsulation expire jusqu’à ce que le paquet de données arrive sous la forme d’un signal physique auprès de la cible réelle (par exemple un serveur de messagerie). Le paquet de données est ici à nouveau décapsulé en parcourant les couches du modèle OSI de la couche 1 à 7. L’email envoyé via le client de messagerie arrive au serveur où il est prêt à être récupéré par un autre client.