Le modèle OSI (Open Systems Interconnection), également appelé modèle de référence OSI, est un modèle conceptuel qui divise la communication et l’interopérabilité des réseaux en sept couches abstraites. Il s’agit d’un modèle standardisé qui permet aux applications, systèmes informatiques et réseaux de communiquer.
Le modèle OSI a vu le jour pour résoudre les incompatibilités de communication entre les divers protocoles réseau utilisés au début du siècle. Les couches OSI ont fourni aux développeurs et aux ingénieurs un cadre pour créer des composants matériels et logiciels interopérables sur les réseaux, proposant une approche catégorielle de la mise en réseau.
À chaque couche de la pile, généralement affichée dans l’ordre inverse pour illustrer la façon dont les données se déplacent au sein du réseau, le modèle OSI fournit des lignes directrices et des critères pour les composants et leurs fonctions informatiques.
Les couches sont les suivantes :
Le modèle OSI fournit une liste de tâches que les ingénieurs doivent accomplir pour créer chaque couche de l’architecture réseau, au lieu de spécifier les protocoles de communication des couches. Son approche théorique permet aux développeurs de visualiser et de construire des réseaux informatiques très complexes, même sans une connaissance préalable du système réseau. Elle permet également aux équipes de mieux comprendre comment les données traversent le réseau et d’adapter les fonctions de ce dernier grâce à un codage spécifique aux couches.
Bien que le modèle OSI ne soit pas la base directe des technologies modernes de réseau informatique, il a eu un impact profond sur le développement des normes informatiques, ce qui a contribué à façonner la compréhension contemporaine de l’architecture réseau.
À la fin des années 1970 et au début des années 1980, les systèmes informatiques étaient de plus en plus interconnectés, mais les fabricants développaient souvent leurs propres solutions de réseau, créant ainsi un patchwork de systèmes propriétaires et non interopérables.
Plusieurs des premiers efforts de mise en réseau ont tenté de résoudre les problèmes de compatibilité avec l’ARPANET (qui a jeté les bases de l’internet moderne) et la suite TCP/IP (commandée par le Department of Defense). Ces deux initiatives ont représenté des avancées significatives, mais elles ont également mis en évidence la nécessité d’une approche plus globale et universellement acceptée.
Reconnaissant l’importance croissante des réseaux et la nécessité d’un cadre universel, l’Organisation internationale de normalisation (ISO) et le Comité consultatif international pour les télégraphes et les appels téléphoniques (CCITT) ont lancé le développement d’un modèle de réseau standardisé.
L’ISO a officiellement publié le modèle OSI, un cadre pour le développement de solutions de réseau interopérables, en 1984. Contrairement aux tentatives de normalisation précédentes, la configuration en couches de l’OSI permet à des systèmes disparates de communiquer malgré les différences dans leurs architectures et protocoles sous-jacents.
Le modèle OSI reste essentiel pour comprendre l’architecture réseau, malgré l’évolution des technologies et l’émergence de nouveaux modèles. Qu’il s’agisse de concevoir un réseau local (LAN) simple ou de gérer un réseau mondial complexe, les principes du modèle OSI fournissent une approche claire et structurée de la mise en réseau.
Le modèle OSI comprend sept couches distinctes. La couche applicative (couche 7), la couche de présentation (couche 6) et la couche de session (couche 5) constituent les couches logicielles de l’OSI, où se produisent toutes les transmissions entre les applications logicielles (y compris les systèmes d’exploitation et les utilitaires, comme les navigateurs Web et les clients de messagerie).
La couche transport (couche 4), le « cœur de l’OSI », gère toutes les communications de données entre les réseaux et les systèmes. Enfin, la couche réseau (couche 3), la couche données (couche 2) et la couche physique (couche 1) constituent les couches matérielles de l’OSI, où les données se déplacent à travers les composants physiques du réseau, au fur et à mesure de leur traitement.
Les données se déplacent de manière bidirectionnelle à travers le modèle OSI : chaque couche communique avec les couches situées en dessous et au-dessus au sein de la pile. En outre, les dispositifs d’envoi et de réception transmettent les données à travers les couches de données. Il est à noter que les émetteurs et les récepteurs changent souvent de rôle au cours du processus.
Par exemple, si un utilisateur souhaite envoyer un e-mail à une autre personne, il doit tout d’abord rédiger l’e-mail et l’envoyer. Lorsque l’utilisateur appuie sur « Envoyer », son e-mail rejoint la couche applicative, qui choisit le protocole approprié (généralement SMTP) et envoie l’e-mail à la couche de présentation. La couche de présentation compresse ensuite les données du message et les envoie à la couche session, qui lance une session de communication et envoie les données à la couche transport pour y être segmentées.
Comme l’e-mail est destiné à un autre réseau, ses données doivent atteindre la couche réseau pour être divisées en paquets, puis la couche liaison de données, où elles sont décomposées en trames. Ces trames sont ensuite transmises à travers la couche physique (le réseau Wi-Fi du destinataire). L’appareil du destinataire reçoit le flux de bits, et les données de l’e-mail traversent les mêmes couches en sens inverse. À la fin du processus, les données de l’e-mail atterrissent dans la couche applicative de l’appareil destinataire et sont livrées, dans un format lisible par l’homme, dans la boîte de réception du destinataire.
Le modèle OSI est à la base du développement de protocoles, chaque couche du cadre gérant des processus réseau bien spécifiques.
La couche applicative est la couche OSI la plus proche de l’utilisateur final. Elle fournit des services réseau directement aux applications utilisateur et facilite la communication entre les points de terminaison API et les couches inférieures du modèle OSI. En d’autres termes, les applications logicielles utilisent la couche applicative pour initier la communication avec le réseau et envoyer les données vers la couche de présentation.
Les applications ne font pas partie de cette couche. La couche applicative fournit les protocoles (par exemple, HTTP, FTP, DNS et SMTP) qui permettent au logiciel d’envoyer et de recevoir les données. Elle se charge des processus suivants :
Services d’annuaire. La couche applicative fournit des services d’annuaire, c’est-à-dire une base de données partagée contenant des informations sur les périphériques réseau et les utilisateurs, pour faciliter la gestion des ressources réseau.
La couche de présentation transforme les données pour obtenir un format que la couche applicative accepte à des fins de transmission sur le réseau (d’un fichier texte codé EBCDIC vers un fichier codé ASCII, par exemple). En raison de son rôle dans la conversion des données et des graphiques aux formats affichables pour la couche applicative, on l’appelle parfois « couche de syntaxe ».
Elle prend en charge les protocoles SSL/TLS (Secure Sockets Layer/Transport Layer Security), les protocoles JPEG (pour la compression d’images) et les protocoles MPEG (pour la vidéo). La couche de présentation transforme les données pour obtenir un format que la couche applicative accepte pour la transmission sur le réseau (d’un fichier texte codé EBCDIC vers un fichier codé ASCII, par exemple). En raison de son rôle dans la conversion des données et des graphiques aux formats affichables pour la couche applicative, on l’appelle parfois « couche de syntaxe ».
Elle prend en charge les protocoles SSL/TLS (Secure Sockets Layer/Transport Layer Security), les protocoles JPEG (pour la compression d’images) et les protocoles MPEG (pour la compression vidéo). La couche de présentation remplit les fonctions suivantes :
Traduction des données. La couche de présentation convertit les données au format approprié (spécifié par la couche application) pendant le processus d'encapsulation, au fur et à mesure que les messages sortants avancent dans la pile de protocoles, de l’expéditeur vers le destinataire.
Compression des données. La couche de présentation réduit la taille du flux de données à des fins de transmission, et le décompresse pour l’utiliser.
Parfois, le formatage et la traduction sont inversés pendant le processus de désencapsulation, au fur et à mesure que les messages entrants se déplacent vers le haut de la pile de protocoles. Les messages sortants sont alors convertis au format spécifié lors de l’encapsulation, tandis que les messages entrants subissent une conversion inverse lors de la désencapsulation.
La couche session est responsable de la gestion des sessions, qui consiste à établir, à gérer et à mettre fin aux connexions (appelées « sessions ») entre deux ou plusieurs ordinateurs. Elle initie les connexions entre les applications locales et distantes, maintient la session ouverte suffisamment longtemps pour transmettre les données nécessaires, et la ferme, une fois terminée, pour préserver les ressources du réseau.
Les principales fonctions de la couche de session sont les suivantes :
Interactions de session. La couche de session gère la connexion (ouverture) et la déconnexion (fermeture) de l’utilisateur, y compris les protocoles d’authentification intégrés au logiciel client.
Récupération de session. La couche session gère les échecs de session et rétablit les connexions en cas de problème réseau.
Elle établit également des protocoles pour connecter et déconnecter les sessions entre les flux de données connexes, tels que l’audio et la vidéo dans les conférences web. Par conséquent, la couche session est souvent mise en œuvre dans les environnements réseau qui utilisent des appels de procédure à distance.
La couche transport s’appuie sur des protocoles tels que TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) pour gérer la livraison de bout en bout des messages complets. Elle prend les messages de la couche session et les divise en unités plus petites (appelées « segments »), chacune ayant un en-tête associé. À destination, la couche de transport réassemble les segments dans le bon ordre pour reconstruire le message d’origine.
La couche de transport gère également les éléments suivants :
Adressage des points de service. La couche transport permet de s’assurer que les messages sont remis au processus approprié en ajoutant un en-tête de couche transport (notamment un point de service ou une adresse de port).
Multiplexage. La couche de transport permet aux différentes applications réseau d’utiliser simultanément la même connexion.
Côté expéditeur, la couche de transport reçoit les données formatées des couches supérieures, procède à une segmentation et met en œuvre un contrôle des flux et des erreurs pour assurer une transmission précise des données. Elle ajoute les numéros de port source et de destination à l’en-tête, puis elle transmet les données segmentées à la couche réseau.
Côté destinataire, la couche de transport lit le numéro de port figurant dans l’en-tête et transmet les données reçues à l’application appropriée. Elle gère également le séquençage et le réassemblage des données segmentées, et les transmet à nouveau si des erreurs sont détectées.
La couche de transport fournit deux types de services.
Avec un service orienté connexion, un processus en trois étapes comprenant l’ouverture, le transfert des données et la fermeture (ou déconnexion), le récepteur renvoie un accusé de réception à l'expéditeur, une fois le paquet de données livré. Le service sans connexion ne concerne toutefois que le transfert de données. Le récepteur ne confirme pas la réception, ce qui accélère la communication, mais ce service peut s’avérer moins fiable que le service orienté connexion.
La couche réseau du modèle OSI est chargée de faciliter le transfert des données d’un nœud à l’autre sur différents réseaux. La couche réseau détermine le meilleur chemin (routage) que les données doivent emprunter entre les nœuds. Si les segments sont trop volumineux, la couche réseau les divise en « paquets » pour le transport et les réassemble à la réception.
Un réseau est un support permettant à plusieurs nœuds (chacun avec une adresse unique) de se connecter. La couche réseau permet aux nœuds d’envoyer des messages aux nœuds sur d’autres réseaux en fournissant le contenu du message et l’adresse de destination. Elle laisse ainsi le réseau déterminer le chemin de livraison optimal (qui peut impliquer un routage via des nœuds intermédiaires).
La couche réseau utilise principalement les protocoles Internet v4 (IPv4) et IPv6 :
Fragmentation et réassemblage des paquets. La couche réseau divise les paquets volumineux (ceux qui dépassent les limites de taille de la couche liaison de données) en paquets plus petits pour la transmission, et les réassemble à destination.
La fiabilité n'est pas garantie dans la couche réseau. En effet, tous les protocoles de la couche réseau ne garantissent pas une livraison fiable. En outre, le signalement des erreurs n’est pas obligatoire dans cette couche de l’OSI, ce qui fait que les expéditeurs de données ne reçoivent pas systématiquement une confirmation de livraison.
La fonction principale de la couche liaison de données est d’assurer un transfert sans erreur de ces dernières entre plusieurs appareils interagissant sur le même réseau.
La couche liaison de données est divisée en deux sous-couches.
La couche de contrôle de liaison logique (LLC ), qui sert d’interface entre la couche de contrôle d’accès au support (MAC) et la couche réseau, gère le contrôle du flux, la synchronisation et le multiplexage (deux ou plusieurs flux de données partagent la même connexion à l’hôte). La couche MAC contrôle la manière dont les appareils accèdent aux supports du réseau et transmettent les données.
Lorsque la couche liaison de données reçoit un paquet de la couche réseau, elle le divise en « trames », selon la taille de trame de la carte d’interface réseau (NIC), et le transmet à l’hôte à l’aide de son adresse MAC.
Voici les fonctions de la couche liaison de données :
Tramage. La couche liaison de données permet à l’expéditeur de transmettre un ensemble de bits (données) significatifs au destinataire, en associant des schémas de bits spéciaux au début et à la fin de la trame.
Contrôle des erreurs. La couche liaison de données détecte les trames endommagées ou perdues et gère la retransmission (le cas échéant) pour garantir l’intégrité des données.
Contrôle d’accès.Lorsque plusieurs appareils partagent le même canal de communication, la sous-couche MAC détermine quel appareil a le contrôle sur le canal à un moment donné.
La couche physique comprend les composants physiques responsables de la transmission des données brutes (sous forme de « bits » ou de chaînes de 1 et de 0) entre les périphériques (par exemple, connecteurs, routeurs, répéteurs et câbles à fibre optique) et un support physique (par exemple, Wi-Fi).
La couche physique remplit les fonctions suivantes :
Contrôle du débit binaire. La couche physique définit les taux de transmission des données, généralement en bits par seconde.
Mode de transmission. La couche physique définit la manière dont les données circuleront entre les appareils connectés (mode transmission simplex, semi-duplex ou duplex intégral).
La couche physique définit également la manière dont le codage s’effectue sur un signal physique (par exemple, impulsion électrique, radio ou lumineuse).
Le modèle de référence OSI fournit une base théorique qui aide les ingénieurs et les développeurs à appréhender la complexité de la communication réseau. Cependant, on le compare parfois à un autre modèle de réseau : le modèle TCP/IP (Transmission Control Protocol/Internet Protocol).
Contrairement au modèle OSI, le modèle TCP/IP s’appuie sur des protocoles standardisés qui sont largement et directement mis en œuvre dans les réseaux. Il comporte quatre couches (au lieu de sept), dont chacune correspond à une ou plusieurs couches du modèle OSI.
Couche d’accès réseau. Également appelée couche liaison de données ou couche physique, la couche d’accès réseau d’un réseau TCP/IP englobe les composants matériels et logiciels nécessaires pour assurer l’interface avec le support du réseau, combinant les couches physique et liaison de données du modèle OSI. Elle gère la transmission physique des données entre les appareils du même réseau, grâce aux protocoles Ethernet (pour LAN) et ARP.
Couche de transport. La couche de transport TCP/IP remplit la même fonction que la couche de transport du modèle OSI : elle permet un transfert de données fiable entre les couches supérieure et inférieure. À l’aide des protocoles TCP et UDP, elle fournit également des mécanismes de vérification des erreurs et de contrôle des flux.
La valeur principale du modèle OSI réside dans son utilité éducative et son rôle de cadre conceptuel pour la conception de nouveaux protocoles, en s’assurant qu’ils peuvent interagir avec les systèmes et technologies existants.
Cependant, l’orientation pratique du modèle TCP/IP et son applicabilité dans le monde réel en ont fait l’épine dorsale des réseaux modernes. Sa conception robuste et évolutive et son approche en couches horizontales ont été à l’origine de la croissance explosive d’Internet, qui accueille des milliards d’appareils et des quantités massives de trafic de données.
Son approche abstraite et verticale de la mise en réseau permet une conception de protocole modulaire, chaque couche pouvant être développée et mise à jour de façon indépendante.
La modularité du modèle OSI accélère l’innovation en matière de développement de protocoles, puisque les ingénieurs logiciels peuvent intégrer de nouvelles technologies sans avoir à refondre toute la pile du réseau.
Cela permet également aux développeurs d’abstraire les couches inférieures du modèle afin de simplifier le développement.
Les ingénieurs logiciels peuvent séparer les couches opérationnelles de chaque composant du réseau et les organiser en fonction de leur rôle principal dans le réseau. Cette décomposabilité facilite la conceptualisation des réseaux, ainsi que le partage de modèles simplifiés entre les équipes de développement.
Lorsqu’un appareil du réseau tombe en panne ou qu’une application perd la connexion, le modèle OSI permet aux équipes d’identifier et d’isoler la couche problématique afin de résoudre les problèmes de sécurité ou de corriger les vulnérabilités du réseau sans perturber l’ensemble de la structure.
IBM Cloud Infrastructure Center est une plateforme logicielle compatible avec OpenStack pour gérer l’infrastructure de clouds privés sur IBM zSystems et IBM LinuxONE.
Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour votre stratégie d’entreprise en matière de cloud hybride et d’IA.
Trouvez la solution d’infrastructure cloud adaptée aux besoins de votre entreprise et ajustez les ressources en fonction de la demande.