Le modèle OSI, qui signifie Open Systems Interconnection Model, est un cadre conceptuel utilisé pour comprendre et normaliser les fonctions d'un système de télécommunication ou informatique sans tenir compte de sa structure interne et de sa technologie sous-jacentes.
Développé par l'Organisation internationale de normalisation (ISO) en 1978, le modèle est divisé en sept couches, chacune spécifiant des fonctions de réseau particulières. L'objectif du modèle OSI est de guider les développeurs de produits et de promouvoir l'interopérabilité des produits et logiciels de mise en réseau grâce à un ensemble commun de lignes directrices.
Couche physique (couche 1) : cette couche traite de la connexion physique entre les appareils ainsi que de la transmission et de la réception de flux binaires bruts sur un support physique. Il comprend des spécifications pour les câbles, les connecteurs et les signaux électriques.
Couche de liaison de données (couche 2) : cette couche est responsable du transfert de données de nœud à nœud, un lien entre deux nœuds directement connectés. Il gère également la correction des erreurs de la couche physique, la synchronisation des trames et le contrôle de flux. Ethernet et PPP sont des exemples de protocoles de couche liaison de données.
Couche réseau (couche 3) : la couche réseau est responsable du transfert des paquets, y compris le routage via des routeurs intermédiaires, car elle fournit le moyen de transférer des paquets réseau de longueur variable d'une source à une destination via un ou plusieurs réseaux. IP (Internet Protocol) est un exemple de protocole de couche réseau.
Couche de transport (couche 4) : cette couche assure un transfert transparent des données entre les systèmes finaux, ou hôtes, et est responsable de la récupération des erreurs et du contrôle de flux de bout en bout. Il garantit un transfert complet des données. TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) sont des exemples de protocoles de couche transport.
Couche session (couche 5) : la couche session établit, gère et met fin aux connexions entre les applications. Il établit, coordonne et termine les conversations, les échanges et les dialogues entre les applications à chaque extrémité. Il traite de la coordination des sessions et des connexions.
Couche de présentation (couche 6) : cette couche traduit les données entre la couche application et le réseau. Il est responsable de la traduction, de la compression et du cryptage/déchiffrement. Il garantit que les données sont dans un format utilisable et que c'est là que les données sont cryptées.
Couche application (couche 7) : la couche application est la couche la plus proche de l'utilisateur final et elle interagit avec l'application logicielle qui implémente un composant communicant. Ainsi, la couche application et l’utilisateur interagissent directement uniquement avec les applications logicielles. Cette couche fournit des services réseau aux utilisateurs finaux et fournit des protocoles que les applications utilisent pour échanger des données, tels que HTTP pour la navigation Web, SMTP pour le courrier électronique et FTP pour le transfert de fichiers.