Les modèles OSI & TCP/IP expliqués
Comprendre les 7 couches du modèle OSI et comment TCP/IP s'y superpose — un incontournable pour tout technicien réseau.
Introduction
Lorsqu'on parle de réseaux informatiques, deux modèles reviennent systématiquement : OSI et TCP/IP. Ces modèles décrivent comment les données transitent d'un équipement à un autre, en les découpant en couches indépendantes.
Le modèle OSI — 7 couches
OSI signifie Open Systems Interconnection. Il a été défini par l'ISO dans les années 1980 pour normaliser les communications réseau entre équipements de constructeurs différents.
Les 7 couches de bas en haut
- Physique — les signaux électriques, optiques ou radio (câbles, Wi-Fi)
- Liaison de données — trame, adresse MAC, détection d'erreurs (Ethernet, Wi-Fi)
- Réseau — adressage logique et routage (IP, ICMP)
- Transport — fiabilité de bout en bout (TCP, UDP)
- Session — ouverture/fermeture de sessions entre applications
- Présentation — encodage, chiffrement, compression des données
- Application — interface avec l'utilisateur (HTTP, FTP, SMTP, DNS…)
Couche Application (7) : Au-dessus de toutes les autres, représente les applications qui utilisent la connexion réseau, comme par exemple un logiciel de courrier électronique ou un logiciel de transfert de fichiers. Son objectif est d'être l'interface entre l'homme et la machine, par exemple des terminaux, des navigateurs (HTTP), des clients de messagerie (IMAP), mais aussi des serveurs Web (FTP), des serveurs de courrier électronique (SMTP – POP), etc.…
Elle permet à l'utilisateur d'interagir avec un équipement informatique sans à avoir à manipuler du binaire ou de l'hexadécimal, on retrouve l'usage des protocoles applicatif (ex : HTTP, FTP, SSH, etc.…).
Couche Présentation (6) : formate les données à envoyer dans un format compréhensible pour le destinataire. Elle gère par exemple le cryptage et la compression des données.
Les 3 fonctions majeurs :
- La 1ère est la représentation des données. Ceci permet de formuler dans un code commun pour tout le monde, des requêtes (ex : ASCII).
- Le 2ème objectif est la compression des données, pour réduire le flux de données nécessaire à la transmission.
- Le 3ème objectif est le chiffrement de données, ceci est relatif au fait de crypter les données avec 2 types de clé (soit la clé public et/ou la clé privés).
Couche Session (5) : établit et maintient des sessions. C'est la 1ère couche qui établie une communication formelle avec son homologue. Son rôle est la synchronisation des informations. On trouve également la synchronisation temporelle, des liaisons RPC. Géré l'ensemble des mécanismes qui permettent de demander l'ouverture de canal de transmission.
C'est aussi elle qui gère les sessions des ordinateurs.
Couche Transport (4) : complète les fonctions des couches précédentes en gérant les erreurs et en optimisant le transport. Cette couche est en relation directe avec les protocoles comme par exemple : TCP, SPX (pour leurs fiabilités et en mode connecté) et/ou UDP (pour leurs non fiabilités et en mode non connecté) qui permet de suivre un flux continu en streaming. Dans cette couche se trouve également encapsulé dans la PDU, les données, les ports source et destination.
La fragmentation des messages de manière à les adapter au support de transmission. Ceci est déterminé par le MTU = 1500 octets pour Ethernet).
Le transport des messages de bout en bout, cela signifie que les messages ne sont jamais modifiés avant leur destination finale.
Les ports de communication peuvent être définit en entrée comme en sortie. Le contrôle de flux intervient également sur cette couche afin de garantir le bon acheminement.
Couche Réseau (3) : doit acheminer des paquets d'information jusqu'à leur destination finale. Elle gère donc les flux d'informations (en évitant les embouteillages), leur routage, ainsi que l'adressage. Elle s'appuie par les moyens fournis par les couches physique et liaison. Elle permet au réseau de déterminer le meilleur itinéraire pour aller jusqu'à l'équipement de destination. Pour ce faire, elle utilise des tables de routage qui pourraient s'apparenter à des itinéraires autoroutiers. On retrouve dans cette couche des adresses logiques que l'on appelle «IP». Celles-ci son uniques.
Cette couche s'occupe de l'adressage IP source et destination.
Le protocole ICMP sert essentiellement du contrôle du bon fonctionnement du réseau. Ce protocole permet à IP d'être autonome dans le choix des itinéraires. Il est souhaitable de ne pas bloquer le protocole ICMP sur les firewalls.
Les messages ICMP peuvent être générés par une machine ou un homme afin de tester ou détourner le trafic.
L'ARP permet d'obtenir l'adresse @MAC du destinataire en réalisant un broadcast de l'adresse IP. L'ARP n'existe plus avec IPV6.
Le RARP (reverse ARP) quand à lui, c'est de répondre à l'ARP en lui envoyant son adresse IP par son adresse @MAC.
Pour fonctionner « IP » a besoin de l'ARP dont le but est de retrouver l'adresse physique de l'équipement de destination. L'IP a également besoin « d'ICMP ». Son rôle est de fluidifier les réseaux. Pour ce faire des messages peuvent être émis d'un routeur à destination d'un autre routeur pour l'informer de son niveau de « saturation ».
Couche Liaison de donnée (2) : s'occupe de l'établissement, du maintien et de la libération des connexions, en se basant sur les moyens fournis par la couche physique. Elle s'occupe aussi du partage d'un support physique unique entre plusieurs machines.
Une trame est créée à partir de ce moment et où le CRC est intégrer.
Remarque : les termes connectés et non connectés, utilisés ici, sont relatifs à l'écoute du réseau pour pouvoir émettre la trame.
Couche Physique (couche 1) : fournit les moyens mécaniques et électriques nécessaires à l'activation, au maintien et à la désactivation des connexions physiques destinées à la transmission des éléments binaires (bits).
La trame Ethernet est constituée de 5 champs ; l'@MAC du destinataire (6 octets), l'@MAC de la source (6 octets), du type ou de la longueur (2 octets) ; il permet de déterminer si la trame est en Ethernet V1 (Longueur = de 0 à 600(16)) ; pour la Longueur, le nombre d'octet dans la trame hors mis le bourrage (complément du Data) ou Ethernet V2 (Type = de 800 à FFFF(16)) ; valeur quantifiant pour le Type de protocole dans le champ « data ». Le champ de donnée vari (entre 64 octets à 1500 octets). La trame doit faire au minimum 64 octets (512 bit), c'est la taille que peut être transmis sur le réseau et elle correspond au nombre de bit suffisent à la détection de la collision. Le CRC est de 4 octets.
Le préambule est une suite d'octet qui précède la trame dans l'objectif de celui-ci, est d'informer les récepteurs qu'une nouvelle trame arrive. Son rôle principal est de signaler au récepteur, dans une transmission normal. Il est possible de perdre tout ou partie de 7 premiers octets du préambule, la valeur des 7 premiers octets en hexadécimale « AAA etc. … ». Le 8e octet ce nome SFD, il a pour objectif de déclarer que ce qui suit, est la trame. Cet octet est perdu aussi, la transmission ne peut pas ce synchronisé.
Le modèle TCP/IP — 4 couches
TCP/IP est le modèle réel d'Internet. Plus simple, il regroupe les 7 couches OSI en 4 grandes familles :
- Accès réseau = couches 1 + 2 OSI (physique + liaison)
- Internet = couche 3 OSI (réseau — protocole IP)
- Transport = couche 4 OSI (TCP ou UDP)
- Application = couches 5 + 6 + 7 OSI (tout ce que voit l'utilisateur)
Le protocole de communication TCP/IP tire son nom des deux principaux protocoles qu'il contient : TCP (Transmission Control Protocol) et IP (Internet Protocol). TCP/IP propose une méthode d'interconnexion logique des réseaux physiques et définit un ensemble de conventions permettant des échanges de données entre des ordinateurs situés sur des réseaux physiques différents. Il a été développé par la DARPA (Defense Advanced Research Projects Agency). Il est notamment opérationnel sur le réseau Internet qui est un réseau de taille mondiale fédérant les réseaux d'universités, d'institutions de recherche, de laboratoires de recherche américains et de nombreuses entreprises.
Dans la couche 4, on retrouve les trois couche haut du modèle OSI (Application, Présentation et Session), dont les fonctions propre est de mettre les services, l’encodage, le cryptage et l’établissement de la sessions entre les applications, comme par exemple le Web, la messagerie ; tout comme celles du modèle OSI.
Les couche 3 et 2, on les même fonction que les couches 4 et 3 du modèle OSI.
Et la dernière couche 1, qui réuni les couche 2 et 1 du modèle OSI, reprenne les même fonctions.
Comparaison OSI vs TCP/IP
En pratique, quand un ingénieur parle de "couche 3", il parle du niveau réseau (IP). Quand il parle de "couche 7", il parle du niveau applicatif. Cette terminologie OSI est universelle même si c'est TCP/IP qui est implémenté.
OSI TCP/IP
───────────── ────────────
Application ┐
Présentation ├─ Application
Session ┘
Transport ─── Transport
Réseau ─── Internet
Liaison ┐
Physique ┘── Accès réseau
Conclusion
Maîtriser ces deux modèles, c'est disposer d'une grille de lecture universelle pour analyser n'importe quel problème réseau. Quand un paquet ne passe pas, vous saurez exactement à quelle couche chercher le problème.