Au début des années 70, chaque constructeur a développé sa propre solution réseau autour d'architecture et de protocoles privés (SNA d'IBM, DECnet de DEC, DSA de Bull, TCP/IP du DoD,...) et il s'est vite avéré qu'il serait impossible d'interconnecter ces différents réseaux «propriétaires» si une norme internationale n'était pas établie. Cette norme établie par l'International Standard Organization (ISO) est la norme Open System Interconnection (OSI, interconnexion de systèmes ouverts).
figure 1
Les sept couches du modèle de référence OSI de l'ISO.
Un système ouvert est un ordinateur, un terminal, un réseau, n'importe quel équipement respectant cette norme et donc apte à échanger des informations avec d'autres équipements hétérogènes et issus de constructeurs différents. Le premier objectif de la norme OSI a été de définir un modèle de toute architecture de réseau basé sur un découpage en sept couches, chacune de ces couches correspondant à une fonctionnalité particulière d'un réseau. Les couches 1, 2, 3 et 4 sont dites basses et les couches 5, 6 et 7 sont dites hautes. Chaque couche est constituée d'éléments matériels et logiciels et offre un service à la couche située immédiatement au-dessus d'elle en lui épargnant les détails d'implémentation nécessaires. Comme illustré dans la figure 2, chaque couche n d'une machine gère la communication avec la couche nd'une autre machine en suivant un protocole de niveau n qui est un ensemble de règles de communication pour le service de niveau n.
figure 2
Communication entre couches.
En fait, aucune donnée n'est transférée directement d'une couche n vers une autre couche n, mais elle l'est par étapes successives. Supposons un message à transmettre de l'émetteur Avers le récepteur B. Ce message, généré par une application de la machine A va franchir les couches successives de A via les interfaces qui existent entre chaque couche pour finalement atteindre le support physique. Là, il va transiter via différents noeuds du réseau, chacun de ces noeuds traitant le message via ses couches basses. Puis, quand il arrive à destination, le message remonte les couches du récepteur B via les différentes interfaces et atteint l'application chargée de traiter le message reçu. Ce processus de communication est illustré dans la figur 3.
figure 3
Communication entre couches.