Le modèle OSI de l’ISO

par jean-michel stazzu et eric segovia





Le modèle OSI a été développé en 1978 par l’ISO (International Organization of Standards) afin que soit défini un standard utilisé dans le développement de systèmes ouverts.
Les réseaux s'appuyant sur les spécifications de l’OSI "parlent le même langage", c'est-a-dire qu'ils utilisent des méthodes de communication semblables pour échanger des données.
Avant les définitions du modèle OSI, les systèmes propriétaires régnaient en maîtres.Une entreprise qui désirait installer un réseau devait choisir entre IBM, DEC, HP,Honeywell et Sperry. Chacune de ces sociétés proposait des architectures propriétaires, et il était pratiquement impossible de faire communiquer les réseaux de ces différents constructeurs.

Dès qu'une entreprise avait choisi son système, elle devenait prisonnière du constructeur.
Les mises a jour ou les modifications du système ne pouvaient être effectuées que par le constructeur choisi, ce qui éliminait toute concurrence.

Les utilisateurs d'aujourd'hui peuvent se dire que rien n'a changé dans de nombreux secteurs de l'industrie informatique. Les architectures propriétaires existent toujours. Cependant, le modèle OSI peut vous éclairer sur la façon dont les différents éléments d'un réseau sont reliés entre eux.

Le modèle OSI est formé de sept couches.

Les sept couches

Applications
7
Présentation
6
Session
5
Transport
4
Réseau
3
Liaison de données
2
Physique
1



Cinq Principes de base s'appliquent aux différentes couches

l . Une couche ne peut être créée que quand un niveau différent d'abstraction est nécessaire.

2. Chaque couche doit fournir une fonction bien définie.

3. La fonction de chaque couche doit être choisie de façon à définir internationalement les protocoles standards.

4. Les caractéristiques d'une couche doivent être choisies pour qu’elles réduisent les informations transmises entre les couches.

5. Des fonctions différentes doivent être définies dans des couches différentes, mais il faut éviter d'augmenter le nombre de couches pour que I'architecture ne devienne trop compliquée.

L’application de ces cinq principes crée un modèle idéal, où chaque couche effectue une, seule fonction et dépend des services de la couche immédiatement inférieure. De même, chaque couche fournit ses services à la couche immédiatement supérieure.

Les couches physique et application se situent aux extrémités du modèle OSI. La couche physique n'utilise aucun service d'une autre couche, mais fournit la connectivité physique à la couche supérieure, liaison des données. La couche application utilise les services de la couche présentation et propose ses services à l'utilisateur final.

Les fonctions de chacune des couches sont décrites dans les paragraphes qui suivent.



Couche physique

La couche physique transmet les bits à travers un canal de communication. Les bits représentent des enregistrements de base de données ou des fichiers à transférer, mais la couche physique ignore ce que ces bits représentent. Ces bits peuvent être encodés sous forme de 0 et 1 ou sous forme analogique. La couche physique fait intervenir les interfaces mécaniques et électriques sur le média physique.

La couche physique n'a aucune connaissance de la structure des données nécessaires pour émettre ou recevoir. La couche physique est responsable de la transmission des bits de données sur le média physique, en utilisant le signal approprié compatible avec les périphériques de communication. La couche physique reçoit aussi des signaux et les convertit en bits de données qu'elle délivre à la couche liaison des données.




Couche liaison des données

La couche liaison des données prend les données de la couche physique et fournit ses services à la couche réseau. Les bits reçus sont groupés en unités logiques appelées trame.
Dans le contexte d'un réseau, une trame peut être une trame Token Ring ou Ethernet, FDDI, ou une autre type de trame réseau. Pour les liens des réseaux étendus, ces trames peuvent être des trames SLIP, PPP, X.25 ou ATM.
Les bits d'une trame ont une signification spéciale. Le début et la fin d'une trame peuvent être marqués par des bits spéciaux. De plus, les bits de la trame sont répartis en champ adresses, champ de contrôle, champ de données et champ de contrôle d'erreurs.

Les champs d'adresses contiennent les adresses source et destination. Le champ de contrôle indique les différents types de trames de liaison de données. Le champ de données contient les données proprement dites, transmises par la trame. Le champ de contrôle d’erreurs détecte les erreurs dans la trame de liaison de données.

Trame d’une couche de liaison de données.


La couche liaison de données est la première couche qui gère les erreurs de transmission.
En général, le champ de contrôle d'erreurs consiste en un générateur de checksum, utilisé pour détecter les erreurs dans la trame de liaison de données. Dans la plupart des cas, les réseaux modernes utilisent un contrôle de redondance cyclique (CRC). Pour les réseaux locaux, c'est un CRC 32 bits. Pour les réseaux étendus où les liens sont plus lents, on utilise un CRC à 16 bits pour éviter la surcharge des liaisons.

Il suffit de savoir que les CRC peuvent détecter:

Dans les réseaux TCP/IP, les implémentations de la couche liaison de données comprennent les technologies suivantes : Token Ring, Ethernet, FDDI, Frame Relay, X.25, SLIP, PPP et ATM.


Couche réseau

La couche réseau gère les connexions entre les nœuds du réseau. Un service supplémentaire, fourni par la couche réseau, concerne la façon de router les paquets (unité d'information de la couche réseau) entre les nœuds d'un réseau La couche réseau sert aussi à éliminer les congestions et à réguler le flot des données.
Cette couche permet aussi à deux réseaux différents d'être interconnectés en implémentant un mécanisme d'adressage uniforme.
Token Ring et Ethernet possèdent, par exemple, différents types d'adresses. Pour interconnecter ces réseaux, vous avez besoin d'un mécanisme d'adressage compréhensible par les deux réseaux. Pour les réseaux TCP/IP, la couche réseau est implémentée en utilisant le protocole IP.





Couche transport


La couche transport offre des services supplémentaires par rapport à la couche réseau.
Cette couche garantit que les données reçues sont telles qu'elles ont été envoyées. Pour vérifier l'intégrité des données, cette couche se sert des mécanismes de contrôle des couches inférieures.

La couche transport est aussi responsable de la création de plusieurs connexions logiques par multiplexage sur la même connexion réseau. Le multiplexage se produit quand plusieurs connexions logiques partagent la même connexion physique.

La couche transport se trouve au milieu du modèle OSI. Les trois couches inférieures forment le sous-réseau, et les trois couches supérieures sont implémentées par les logiciels réseau. La couche transport est aussi implémentée sur le nœud. Son travail consiste à relier un sous-réseau non fiable à un réseau plus fiable.

Dans les réseaux TCP/IP, la fonction de la couche transport est assurée par le protocole TCP (Transmission Control Protocol) et par le protocole UDP (User Datagram Protocol).

La couche transport implémente le multiplexage dans lequel plusieurs éléments logiciels partagent la même adresse de la couche réseau. Pour identifier sans erreur l'élément logiciel dans la couche transport, une forme plus spécifique d'adresse est nécessaire.
Ces adresses, appelées adresses de transport, sont fournies par une combinaison de l'adresse de la couche réseau et d'un numéro TSAP (Transport Service Access Point).
Dans les réseaux TCP/IP, l'adresse de transport porte le nom de numéro de port. Pour exemple, les serveurs Web utilisent le numéro 80.



Couche session

La couche session gère les connexions entre les applications coopérantes. Avec cette couche, un utilisateur peut se connecter à un hôte, à travers un réseau où une
session est établie pour transférer des fichiers. La couche session offre les fonctions suivantes :

En général, une session permet des communications full duplex, bien que certaines applications se contentent d'une communication half duplex. La couche session
peut fournir une ou deux voies de communication (contrôle du dialogue).

Pour certains protocoles, il est essentiel qu'un seul côté lance une opération critique. Pour éviter que les deux côtés lancent la même opération, un mécanisme de contrôle, comme l'utilisation de jetons, doit être implémenté. Avec la méthode du jeton, seul le côté qui possède le jeton peut lancer une opération. La détermination du côté qui doit posséder le jeton et son mode de transfert s'appellent la gestion du jeton.


Le jeton dont il est question ici n'a rien à voir avec le jeton des réseaux TokenRing. La gestion du jeton dans les réseaux Token Ring relève des couches 1 et 2 du modèle OSI, alors que celui dont il est question ici relève du niveau 5.

Si vous transférez un fichier pendant une heure entre deux machines, et qu'une panne réseau intervienne au bout de trente minutes, vous ne pourrez reprendre le
transfert là où il s'était arrêté. Il vous faudra toujours reprendre le transfert à son début. Pour éviter cela, vous pouvez traiter tout le fichier comme une seule activité
et insérer des points de vérification dans le flot de données. Ainsi, si une coupure survient, la couche session synchronisera à nouveau le transfert, à partir du
dernier point de vérification transmis. Ces points de vérification s'appellent "points de synchronisation". Il en existe deux types :

* majeurs.
* mineurs.

Un point de synchronisation majeur inséré par un des côtés doit recevoir un accusé de réception de la part de l'autre côté, alors qu'un point de synchronisation mineur n'a pas besoin d'être vérifié par un accusé de réception. La session comprise entre deux points majeurs s'appelle une unité de dialogue. La gestion de toute l'activité s'appelle une gestion
d'activité. Une activité consiste en une ou plusieurs unités de dialogue.

Les réseaux TCP/IP ne possèdent pas de couche session, car certaines caractéristiques de cette couche sont fournies par le protocole TCP. Les applications TCP/IP fournissent elles-mêmes certains services. Par exemple, le service NFS (Network File System) comporte son propre service de la couche session : le protocole RPC (Remote Procedure Call). Certaines applications TCP/IP n'utilisent aucun service de la couche session.




Couche présentation

Pour que deux systèmes puissent se comprendre, ils doivent utiliser le même système de représentation des données. La couche présentation gère cette représentation des données. Il existe plusieurs façons de représenter des données, par exemple, l'ASCII ou l'EBCDIC pour les fichiers texte. La couche présentation utilise un langage commun compréhensible par tous les nœuds du réseau.

Un exemple de ce langage commun est l’ASN.1 (Abstract Syntax Repesentation Rev 1). Ce langage est utilisé par SNMP pour coder ses données. Le protocole
NFS utilise son propre service: le protocole XDR (External Data Representation).Plusieurs applications TCP/IP n'utilisent pas les services de cette couche.



Couche application

La couche application fournit les protocoles et les fonctions nécessaires au applications utilisateurs qui doivent accomplir des tâches de communication.
Voici des exemples de fonctions fournies par la couche application :

Plusieurs de ces services sont appelés des API (Application Programming Interface). Les API consistent en des bibliothèques de programmation qu'un développeur peut utiliser pour écrire des logiciels réseau.
La Figure 6 donne quelques exemples de services TCP/IP: FTP (File Transfer Protocol),TFTP (Trivial File Transfer Protocol), NFS (Network File System), TELNET, SMNP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), HTTP (Hyper Text Transfer Protocol).




Exercices

Exercice n°1: Pouvez-vous citer un matériel composant la couche n°1 ( Physique ) du modèle OSI ?

Exercice n°2: Pouvez-vous citer un matériel composant la couche n°2 ( Liaison des données) du modèle OSI ?

Exercice n°3: Pouvez-vous citer un matériel composant la couche n°3 ( Réseau ) du modèle OSI ?

Exercice n°4: Pouvez-vous citer un protocole composant la couche n°4 ( Transport ) du modèle OSI ?

Exercice n°5: Pouvez-vous citer une fonction de la couche n°5 ( Session ) du modèle OSI ?

Exercice n°6: Pouvez-vous citer une fonction de la couche n°6 ( Présentation ) du modèle OSI ?

Exercice n°7: Pouvez-vous citer une fonction et/ou un logiciel de la couche n°7 ( Application) du modèle OSI ?