Couches de modèle OSI : un guide d’introduction



Le concept d’interconnexion des systèmes ouverts (OSI) constitue une référence essentielle pour les développeurs et les fournisseurs désireux de concevoir des solutions logicielles à la fois compatibles et sûres.

Ce modèle décompose en détail les mécanismes de transmission de données à travers un réseau, en mettant en lumière les protocoles de communication tels que TCP, ainsi que les distinctions entre les divers outils et technologies.

Bien que l’utilité des couches du modèle OSI puisse être débattue, leur pertinence, en particulier à l’ère de la cybersécurité, reste incontestable.

La maîtrise des couches du modèle OSI est un atout pour évaluer les faiblesses techniques et les risques associés aux applications et systèmes. Elle facilite également l’identification et la localisation physique des données, ainsi que la définition d’une politique de sécurité adéquate par les équipes.

Cet article a pour but d’explorer en profondeur les différentes couches du modèle OSI, en soulignant leur importance pour les utilisateurs et les organisations.

Qu’est-ce que le modèle d’interconnexion de systèmes ouverts (OSI) ?

Le modèle OSI (Open System Interconnect) est un cadre de référence qui se compose de sept couches. Ces couches sont utilisées par les systèmes informatiques et les applications pour interagir avec d’autres systèmes via un réseau.

Le modèle OSI segmente les processus, normes et protocoles de transmission de données en sept niveaux distincts. Chacun de ces niveaux est chargé de tâches spécifiques liées à l’envoi et à la réception des informations.

Les niveaux du modèle OSI

Créé par l’Organisation internationale de normalisation (ISO) en 1984, le modèle OSI est la première référence standard qui établit comment les systèmes doivent communiquer au sein d’un réseau. Il a été adopté par toutes les grandes entreprises du secteur des télécommunications et de l’informatique.

Le modèle se présente comme une représentation visuelle où les sept couches sont disposées les unes au-dessus des autres. Dans cette architecture, la couche inférieure sert de base à la couche supérieure. Ainsi, lorsqu’un utilisateur interagit avec le réseau, les données circulent à travers ces couches, en commençant par l’appareil source, puis remontent les couches jusqu’à atteindre l’appareil récepteur.

Le modèle OSI englobe divers éléments tels que le matériel réseau, les protocoles, les systèmes d’exploitation, etc., permettant aux systèmes de transmettre des signaux par le biais de supports physiques variés (fibre optique, cuivre à paire torsadée, Wi-Fi, etc.) dans un réseau.

Ce cadre conceptuel facilite la compréhension des relations entre les systèmes et sert de guide aux développeurs et fournisseurs dans la création d’applications et de logiciels interopérables. Il promeut un cadre décrivant le fonctionnement des systèmes de télécommunications et de réseaux utilisés.

Pourquoi est-il important de comprendre le modèle OSI ?

La connaissance du modèle OSI est essentielle dans le développement logiciel, car chaque application et système fonctionne à un niveau spécifique de ces couches.

Les professionnels des réseaux informatiques s’appuient sur le modèle OSI pour conceptualiser la manière dont les données transitent au sein d’un réseau. Cette compétence est précieuse non seulement pour les éditeurs de logiciels et les développeurs, mais également pour les étudiants qui souhaitent obtenir des certifications telles que Cisco Certified Network Associate (CCNA).

Voici quelques avantages à connaître les couches du modèle OSI :

  • Compréhension du flux de données : Le modèle OSI offre aux administrateurs réseau une vue claire de la circulation des données au sein d’un réseau. Cela leur permet de comprendre l’interaction entre le matériel et les logiciels. Grâce à ces informations, il est possible de créer un système amélioré, doté d’une sécurité et d’une résilience renforcées, en utilisant des logiciels et du matériel appropriés.
  • Dépannage simplifié : La résolution des problèmes est facilitée par la division du réseau en sept couches distinctes, chacune ayant ses propres fonctionnalités et composants. Les professionnels peuvent ainsi diagnostiquer les problèmes plus rapidement. En identifiant la couche responsable des dysfonctionnements, il est possible de concentrer les efforts sur cette zone spécifique.
  • Interopérabilité accrue : Les développeurs sont en mesure de concevoir des systèmes et des dispositifs logiciels compatibles, qui peuvent interagir aisément avec les produits d’autres fournisseurs. Cela améliore la fonctionnalité de ces systèmes et favorise l’efficacité du travail des utilisateurs.

Vous pouvez définir les éléments et composants avec lesquels vos produits doivent fonctionner. Cela permet également de communiquer aux utilisateurs finaux la couche réseau sur laquelle vos produits et systèmes fonctionnent, que ce soit sur l’ensemble de la pile technologique ou sur une seule couche.

Les différentes couches du modèle OSI

Couche physique

La couche physique, située au niveau le plus bas du modèle OSI, est celle qui décrit les aspects physiques et électriques d’un système.

Elle englobe des éléments tels que le type de câble, la configuration des broches, les liaisons radiofréquences, les tensions, les types de signaux, ainsi que les connecteurs utilisés pour connecter les appareils. Elle est responsable de la connexion filaire ou sans fil entre les différents nœuds du réseau, en facilitant la transmission de données brutes et en contrôlant les débits binaires.

Niveau physique

Dans cette couche, les données brutes sous forme de bits (0 et 1) sont converties en signaux puis échangées. Une synchronisation entre les extrémités émettrice et réceptrice est nécessaire pour assurer une transmission fluide des données. La couche physique fournit une interface entre différents appareils, supports de transmission et types de topologie de réseau. Le type de mode de transmission utilisé est également défini au niveau de la couche physique.

La topologie du réseau peut être en bus, en anneau ou en étoile, tandis que le mode de transmission peut être simplex, full-duplex ou half-duplex. Les dispositifs de la couche physique comprennent des connecteurs de câbles Ethernet, des répéteurs, des hubs, etc.

Lorsqu’un problème de réseau est détecté, les professionnels commencent par vérifier le bon fonctionnement de la couche physique. Ils peuvent contrôler les connexions des câbles et l’alimentation électrique des systèmes (routeurs, etc.).

Les principales fonctions de la couche 1 sont :

  • Définir les topologies physiques, c’est-à-dire la façon dont les appareils et systèmes sont agencés dans un réseau donné.
  • Définir le mode de transmission, c’est-à-dire la manière dont les données circulent entre deux appareils connectés au réseau.
  • Assurer la synchronisation des bits, où une horloge permet de contrôler les récepteurs et les émetteurs au niveau des bits.
  • Contrôler le débit binaire de la transmission de données.

Couche liaison de données

La couche liaison de données se situe au-dessus de la couche physique. Elle est chargée d’établir et de mettre fin aux connexions entre deux nœuds connectés au sein d’un même réseau. Cette couche divise les paquets de données en trames distinctes, qui sont ensuite acheminées de la source vers la destination.

La couche liaison de données comporte deux sous-couches :

  • La sous-couche LLC (Logical Link Control), qui détecte les protocoles réseau, synchronise les trames et effectue des vérifications d’erreurs.
  • La sous-couche MAC (Media Access Control), qui utilise les adresses MAC pour relier les appareils et définir les autorisations de transmission des données.

Les adresses MAC sont des identifiants uniques attribués à chaque système au sein d’un réseau, facilitant ainsi leur identification. Ces codes à 12 chiffres sont utilisés pour l’adressage physique au niveau de la couche liaison de données, afin de contrôler l’accès des composants réseau à un support physique.

Couche de liaison de données

Par exemple, une adresse MAC peut être composée de 6 octets, tels que 00:5e:53:00:00:af, où les trois premiers chiffres représentent l’identifiant unique d’organisation (OUI), et les trois derniers, le contrôleur d’interface réseau (NIC).

Les principales fonctions de la couche 2 sont :

  • Détection des erreurs : La détection des erreurs se produit au niveau de cette couche, mais pas leur correction, qui est effectuée au niveau de la couche de transport. Des signaux parasites, appelés bits d’erreur, peuvent parfois perturber les signaux de données. Pour pallier ce problème, l’erreur doit d’abord être identifiée à l’aide de méthodes telles que la somme de contrôle ou le contrôle de redondance cyclique (CRC).
  • Contrôle de flux : La transmission des données entre l’émetteur et le récepteur doit s’effectuer à une vitesse constante. Si les trames de données sont envoyées plus rapidement que la vitesse à laquelle le récepteur peut les traiter, des pertes peuvent survenir. Pour éviter cela, la couche liaison de données utilise des mécanismes de contrôle de flux afin de maintenir une vitesse de transmission constante. Ces mécanismes incluent :
    • La méthode de la fenêtre glissante, où l’émetteur et le récepteur conviennent du nombre de trames à transmettre. Cela permet de gagner du temps et des ressources lors de la transmission.
    • Le mécanisme d’arrêt et d’attente, où l’émetteur interrompt la transmission après l’envoi d’une trame et attend un accusé de réception du récepteur avant d’envoyer la trame suivante.
  • Accès multiple : La couche liaison de données permet à plusieurs appareils d’accéder simultanément au même support de transmission sans collision. Cela est réalisé grâce à des protocoles d’accès multiple avec détection de porteuse et de collision (CSMA/CD).
  • Synchronisation des données : Au niveau de la couche liaison de données, les appareils qui partagent des données doivent être synchronisés afin de faciliter la fluidité de la transmission.

La couche liaison de données utilise également des dispositifs tels que les ponts et les commutateurs de couche 2. Les ponts sont des dispositifs à 2 ports qui relient différents réseaux locaux (LAN). Ils agissent comme des répéteurs, en filtrant les données inutiles et en les envoyant à leur point de terminaison. Ils permettent de connecter des réseaux qui utilisent le même protocole. Par ailleurs, les commutateurs de couche 2 transfèrent les données vers la couche suivante en fonction de l’adresse MAC du système.

Couche réseau

La couche réseau se situe au-dessus de la couche liaison de données, et constitue la troisième couche en partant du bas du modèle OSI. Elle utilise des adresses réseau, telles que les adresses IP, pour acheminer les paquets de données vers un nœud de réception, qu’il fonctionne ou non sur les mêmes protocoles et réseaux.

Cette couche réalise deux tâches principales :

  • Segmenter les données du réseau en différents paquets réseau lors de la transmission et réassembler ces paquets au niveau du nœud de destination.
  • Déterminer le chemin optimal à travers un réseau physique et acheminer les paquets en conséquence.

Le terme « chemin optimal » désigne l’itinéraire le plus court, le plus rapide et le plus simple entre un émetteur et un récepteur pour la transmission de données. Pour cela, la couche réseau utilise des commutateurs, des routeurs, ainsi que diverses méthodes de détection et de traitement des erreurs.

Couche réseau

La couche réseau utilise une adresse logique et la conception du sous-réseau. Que les appareils soient ou non sur le même réseau, utilisent le même protocole et la même topologie, la couche réseau acheminera les données de la source vers la destination en utilisant une adresse IP et un routeur. Les composants principaux de cette couche sont donc les adresses IP, les sous-réseaux et les routeurs.

  • Adresse IP : Il s’agit d’un numéro unique de 32 bits attribué à chaque appareil, qui sert d’adresse logique sur le réseau. Elle se compose de deux parties : l’adresse de l’hôte et l’adresse du réseau. Une adresse IP est généralement représentée par quatre nombres séparés par des points, comme par exemple 192.0.16.1.
  • Routeurs : Au niveau de la couche réseau, les routeurs sont utilisés pour communiquer des données entre des appareils qui fonctionnent sur des réseaux étendus (WAN) différents. Étant donné que les routeurs ne connaissent pas l’adresse de destination précise, les paquets de données sont acheminés.

Ils possèdent uniquement des informations concernant l’emplacement de leur réseau et exploitent les informations collectées dans la table de routage. Cela permet aux routeurs de trouver l’itinéraire pour acheminer les données. Une fois que les données sont livrées au réseau de destination, elles sont ensuite transmises à l’hôte de destination.

  • Masques de sous-réseau : Un masque de sous-réseau est composé de 32 bits de l’adresse logique qu’un routeur peut utiliser en complément d’une adresse IP pour découvrir l’emplacement de l’hôte de destination et y livrer les données. Cela est essentiel car les adresses d’hôte et de réseau seules ne suffisent pas pour identifier l’emplacement, que ce soit dans un réseau local ou un sous-réseau distant. Un exemple de masque de sous-réseau pourrait être 255.255.255.0.

En examinant un masque de sous-réseau, il est possible de déterminer l’adresse réseau et l’adresse de l’hôte. Lorsqu’un paquet de données arrive depuis la source avec l’adresse de destination calculée, le système le reçoit et le transmet à la couche suivante. Contrairement à la couche 2, cette couche n’exige pas que l’émetteur attende un accusé de réception du destinataire.

Couche transport

La couche transport est la quatrième couche en partant du bas du modèle OSI. Elle reçoit les données de la couche réseau et les transmet à la couche application. Au niveau de cette couche, les données sont appelées « segments », et sa principale fonction est de garantir la transmission du message complet. Elle assure également une confirmation de la transmission et renvoie les données en cas d’erreur.

En outre, la couche transport assure le contrôle du flux de données afin de maintenir une vitesse de transmission constante, gère les erreurs et renvoie les données en cas de détection d’erreurs.

Couche transport

Voici ce qui se passe à chaque extrémité :

  • Côté émetteur, après réception des données formatées des couches supérieures, la couche transport effectue une segmentation. Elle applique ensuite des techniques de contrôle de flux et d’erreurs pour assurer une transmission fluide. Les numéros de port source et de destination sont ajoutés dans l’en-tête avant de transmettre les segments à la couche réseau.
  • Côté récepteur, la couche transport identifie le numéro de port en examinant l’en-tête et transmet les données à l’application ciblée. Elle séquence également les données segmentées pour les réassembler.

La couche transport assure une connexion de bout en bout sans erreur entre les appareils ou les hôtes d’un réseau, acheminant les segments de données à l’intérieur et entre les sous-réseaux.

Pour faciliter la communication de bout en bout dans un réseau, chaque appareil doit disposer d’un point d’accès de service de transport (TSAP) ou d’un numéro de port. Cela permet à l’hôte d’identifier les hôtes homologues par leur numéro de port sur un réseau distant. Il est généralement déterminé manuellement ou par défaut, la plupart des applications utilisant le numéro de port 80 par défaut.

La couche transport utilise deux protocoles :

  • Le protocole TCP (Transmission Control Protocol) : Ce protocole fiable établit d’abord une connexion entre les hôtes avant de débuter la transmission de données. Il exige que le récepteur envoie un accusé de réception pour confirmer la réception des données. Une fois l’accusé de réception reçu, l’émetteur envoie le lot de données suivant. Le protocole TCP surveille également la vitesse et le contrôle de flux, et corrige les erreurs.
  • Le protocole UDP (User Datagram Protocol) : Considéré comme non fiable et non orienté connexion, le protocole UDP ne nécessite pas d’accusé de réception du récepteur après la transmission des données. L’émetteur continue d’envoyer les données sans confirmation. C’est pourquoi il est sujet aux cyberattaques, comme les attaques par inondation UDP. Il est utilisé dans les jeux en ligne, le streaming vidéo, etc.

Parmi les fonctions de la couche transport, on retrouve :

  • L’adressage des points de service : La couche transport utilise des adresses de port ou de point de service pour transmettre les messages au destinataire approprié.
  • La détection et le contrôle des erreurs : Cette couche assure la détection et le contrôle des erreurs. Des erreurs peuvent se produire pendant le stockage des segments ou des données dans la mémoire du routeur, même si aucune erreur n’a été détectée pendant leur transmission sur une liaison. La couche liaison de données n’est pas en mesure de détecter toutes les erreurs. De plus, toutes les liaisons ne sont pas sécurisées. La détection d’erreur au niveau de la couche transport est donc essentielle et elle s’effectue selon deux méthodes :
    • Le contrôle de redondance cyclique (CRC)
    • Les générateurs et vérificateurs de sommes de contrôle

Couche session

Couche session

La cinquième couche en partant du bas du modèle OSI est la couche session. Elle est utilisée pour établir des canaux de communication, également appelés sessions, entre différents appareils. Ses fonctions comprennent :

  • L’ouverture de sessions
  • La fermeture de sessions
  • Le maintien des sessions ouvertes et fonctionnelles pendant la transmission de données
  • La synchronisation du dialogue entre différentes applications afin de faciliter une transmission de données transparente, sans perte au niveau du récepteur.

La couche session peut créer des points de contrôle pour assurer un transfert sécurisé des données. En cas d’interruption de session, tous les appareils reprendront la transmission à partir de leur dernier point de contrôle. Cette couche permet aux utilisateurs qui emploient différentes plateformes de créer des sessions de communication actives entre eux.

Couche présentation

La sixième couche en partant du bas est la couche présentation ou la couche de traduction. Elle est chargée de préparer les données avant leur envoi à la couche application. Elle présente aux utilisateurs finaux des données qu’ils peuvent comprendre aisément.

La couche présentation spécifie comment deux appareils d’un réseau doivent compresser, chiffrer et coder les données afin qu’elles soient reçues correctement par le récepteur. Cette couche utilise les données que la couche application transmet et les envoie ensuite à la couche session.

La couche présentation gère la syntaxe, car l’émetteur et le récepteur peuvent utiliser différents modes de communication, ce qui peut entraîner des incohérences. Cette couche permet aux systèmes de communiquer et de se comprendre sur le même réseau.

La couche 6 assure des tâches telles que :

  • Le chiffrement des données du côté de l’émetteur
  • Le déchiffrement des données du côté du récepteur
  • La conversion des données, telle que la conversion du format ASCII vers EBCDIC
  • La compression des données multimédias avant la transmission

La couche divise les données, qu’elles contiennent des caractères ou des nombres, en bits, puis les transmet. Elle traduit également les données d’un réseau vers le format requis pour divers appareils tels que smartphones, tablettes, ordinateurs, etc., dans un format acceptable.

Couche application

La couche application est la septième et la plus élevée du modèle OSI. Les logiciels et applications de l’utilisateur final, tels que les clients de messagerie et les navigateurs web, font appel à cette couche.

La couche application met à disposition des protocoles qui permettent aux systèmes logiciels de transmettre des données et de fournir des informations pertinentes aux utilisateurs finaux.

Par exemple, les protocoles de la couche application peuvent être le protocole HTTP (Hypertext Transfer Protocol), le protocole SMTP (Simple Mail Transfer Protocol), le protocole DNS (Domain Name System), le protocole FTP (File Transfer Protocol), etc.

TCP/IP et modèle OSI : différences

Voici les principales différences entre TCP/IP et le modèle OSI :

  • Le modèle TCP/IP, développé par le département de la Défense des États-Unis (DoD), est un concept antérieur au modèle OSI.
  • Le modèle fonctionnel TCP/IP a été créé pour résoudre des problèmes spécifiques de communication et s’appuie sur des protocoles standard. À l’inverse, le modèle OSI est un modèle générique indépendant du protocole, destiné à définir les communications réseau.
  • Le modèle TCP/IP est plus simple et comporte moins de couches que le modèle OSI. Il se compose de quatre couches, qui sont :
    • La couche d’accès au réseau, qui combine les couches 1 et 2 du modèle OSI.
    • La couche Internet, qui correspond à la couche réseau du modèle OSI.
    • La couche transport.
    • La couche application, qui combine les couches 5, 6 et 7 du modèle OSI.
  • Le modèle OSI comporte sept couches : la couche physique, la couche liaison de données, la couche réseau, la couche transport, la couche session, la couche présentation et la couche application.
  • Les applications qui utilisent TCP/IP font appel à toutes les couches, tandis que dans le modèle OSI, la plupart des applications n’utilisent pas toutes les sept couches. En effet, seules les couches 1 à 3 sont nécessaires pour la transmission des données.

Conclusion

La connaissance du modèle OSI est un atout pour les développeurs et les fournisseurs qui souhaitent créer des applications et des produits logiciels interopérables et sécurisés. Elle facilite également la distinction entre les différents outils et protocoles de communication et leur mode de fonctionnement. Enfin, pour les étudiants qui préparent des examens de certification réseau tels que le CCNA, la maîtrise du modèle OSI est un avantage indéniable.