VIII. Le modèle OSI▲
VIII-A. La normalisation des communications des réseaux hétérogènes▲
Le modèle OSI (Open Systems Interconnection) d'interconnexion des systèmes ouverts décrit un ensemble de spécifications pour une architecture réseau permettant la connexion d'équipements hétérogènes. Le modèle OSI normalise la manière dont les matériels et les logiciels coopèrent pour assurer la communication réseau. Le modèle OSI est organisé en 7 couches successives.
Le modèle OSI a été publié en 1978 par un organisme de normalisation, l'ISO (International Standard Organization). En 1984, l'ISO publia une mise à jour du modèle OSI qui dès lors devint une norme internationale. Le modèle IEEE 802 (de février 1980) est une version améliorée du modèle OSI.
Le modèle OSI est le modèle le plus connu et le plus utilisé pour décrire et expliquer un environnement réseau. Les fabricants d'équipements réseau suivent les spécifications du modèle OSI, mais aucun protocole ne s'y conforme à la lettre.
VIII-B. L'activité d'un réseau▲
L'activité d'un réseau consiste à envoyer et à recevoir des données d'un ordinateur vers un autre. « L'ordinateur émetteur » prépare les données (qui seront transmises sur le support de communication du réseau) afin que celles-ci s'acheminent correctement vers « l'ordinateur récepteur ».
L'activité d'un réseau ressemble à l'activité de la belle Cendrillon. Cendrillon suit des règles très précises de séduction auxquelles elle ne déroge jamais. Cendrillon s'habille d'abord, puis la princesse monte dans son carrosse, pour aller danser au bal, enfin Cendrillon se déshabille. Effectivement, Cendrillon se comporte de la même façon que les données qui sont transmises sur un réseau. Dans un premier temps, les données sont revêtues des habits adéquats par « l'ordinateur émetteur », dans un deuxième temps, les trames défilent et dansent sur le support de communication (un câble par exemple), dans un troisième temps, les données sont déshabillées par « l'ordinateur récepteur ».
VIII-C. La préparation des données▲
La préparation des données, du côté de « l'ordinateur émetteur », est en réalité une transformation. Plusieurs tâches sont réalisées lors de ce processus de transformation, et à chacune de ces tâches correspond une fonction bien précise :
- La reconnaissance des données
- La segmentation des données en « paquets »
- L'adjonction d'informations à chaque paquet :
- L'adresse de l'expéditeur
- L'adresse du destinataire
- Les bits de synchronisation
- Les bits de contrôle d'erreurs
- L'expédition des trames sur le support de communication
Le système d'exploitation réseau effectue chacune de ces tâches en suivant strictement un ensemble de procédures appelées « protocoles ». Ces procédures ont été normalisées par l'ISO qui les a rassemblées dans le modèle OSI en 7 couches.
VIII-D. L'architecture en 7 couches du modèle OSI▲
Le modèle OSI est constitué de 7 couches successives. Chacune de ces 7 couches est spécialisée dans une tâche bien précise. Les données de « l'ordinateur émetteur » traversent chacune des ces 7 couches (de haut en bas) avant d'être transmises (sous la forme de trames) au support de communication, puis, arrivées à destination, les trames traversent chacune des ces 7 couches (de bas en haut) avant d'être communiquées à « l'ordinateur récepteur ».
L'architecture du modèle OSI |
||
---|---|---|
Numéro |
Nom |
Fonction |
7 |
Application |
Une interface pour l'accès au réseau |
6 |
Présentation |
Le format des données |
5 |
Session |
La gestion d'une connexion |
4 |
Transport |
La gestion des paquets |
3 |
Réseau |
La gestion de l'adressage |
2 |
Liaison |
La gestion des trames |
1 |
Physique |
La gestion des signaux sur le câble |
Le support physique |
Chaque couche est spécialisée dans une tâche bien précise. On dit que chaque couche propose une fonctionnalité ou un « service ». À chaque niveau, un traitement est réalisé, et des informations sont codées ou décodées (ajoutées ou en levées du paquet).
Chaque couche de « l'ordinateur émetteur » ajoute des informations supplémentaires dans le paquet qui lui a été transmis par la couche supérieure, et transmet celui-ci à la couche inférieure (ou au support). Les informations de chaque couche sont destinées à « la couche homologue » de « l'ordinateur récepteur ». Les couches de « l'ordinateur récepteur » décodent et enlèvent une partie des informations contenues dans le paquet qui lui a été transmis par la couche inférieure (ou par le support), et transmet celui-ci à la couche supérieure.
L'activité de chaque couche est codifiée selon un certain protocole. La fonctionnalité d'une couche peut être réalisée par un logiciel, un équipement et un protocole différents de ceux des autres couches.
Chaque couche prépare les données pour la couche suivante. On dit que les couches « communiquent » entre elles, et la frontière qui les sépare est appelée une « interface ».
Les couches 7 à 3 sont appelées les couches hautes et leur travail est plus complexe que celui des couches basses. Les couches 1 et 2 sont appelées les couches basses, leur fonction est d'envoyer des flux de bits sur le réseau.
Les « couches homologues » sont les deux couches d'un même niveau, l'une située dans « l'ordinateur émetteur » et l'autre dans « l'ordinateur récepteur ». Les « couches homologues » ont la même fonction, l'une fait ce que l'autre défait. L'activité de chacune des couches est codifiée selon un protocole très précis, de façon que chacune des couches sache exactement comment travaille son homologue (les couches ont besoin de savoir exactement comment ont été transformées les données afin de pouvoir les restituer à l'identique).
Les données provenant de « l'ordinateur émetteur » sont découpées en « paquets ». Les paquets passent de couche en couche. À chaque couche, des informations de formatage et d'adressage sont ajoutées au paquet. Les paquets sont transformés en trames, et ce sont les trames qui circulent sur le réseau. Arrivées à destination les trames sont transformées en paquets par les couches de « l'ordinateur récepteur ». Les informations de formatage et d'adressage sont vérifiées puis supprimées à chaque niveau, de telle sorte que les données émises soient exactement les données reçues.
Il n'y a que la couche la plus basse qui puisse « communiquer » directement avec son homologue sans que « le message » ne transite par toutes les autres couches. Toutes les autres couches ne « communiquent » pas avec leur homologue, les informations qu'elles ajoutent à chaque paquet sont transmises à la couche suivante et ainsi de suite. S'il peut paraître qu'il y a une forme de « communication virtuelle » entre chaque couche et son homologue, c'est seulement parce que chaque couche a été définie de la même façon que son homologue (fondue dans le même moule, comme les clones sont issus des mêmes gênes) et que chacune effectue le travail symétrique de l'autre.
VIII-E. La couche APPLICATION▲
La couche APPLICATION (APPLICATION LAYER) joue le rôle d'une interface d'accès des applications au réseau. La couche APPLICATION concerne les applications réseau qui tournent sur un poste (TELNET, FTP…), et correspond à l'interface de l'utilisateur.
Les fonctions de la couche APPLICATIONÂ :
- La gestion des applications réseau
- Utilitaires de transfert de fichiers
- Logiciels d'accès aux bases de données
- Messagerie électronique
- L'accès au réseau
- Le contrôle du flux et la correction des erreurs
VIII-F. La couche PRESENTATION▲
La couche PRESENTATION (PRESENTATION LAYER) détermine le format utilisé pour l'échange des données entre ordinateurs du réseau.
Les fonctions de la couche PRESENTATIONÂ :
- La conversion du format issu de la couche APPLICATION en un format standard
- La conversion des protocoles
- La traduction et l'encodage des données
- La conversion du jeu de caractères
- L'exécution des commandes graphiques
- La compression ou la décompression des données
Un utilitaire appelé « redirecteur » (REDIRECTOR) opère sur la couche PRESENTATION et permet de rediriger les opérations d'Entrée/Sortie vers les ressources d'un serveur.
La couche PRESENTATION permet par exemple d'afficher des données UNIX sur un écran MS-DOS.
VIII-G. La couche SESSION▲
La couche SESSION (SESSION LAYER) gère la connexion entre deux ordinateurs du réseau.
Les fonctions de la couche SESSIONÂ :
- L'ouverture et la fermeture d'une connexion (d'une session)
- La reconnaissance des noms
- La synchronisation des tâches utilisateur à l'aide de points de contrôle
- Le contrôle du dialogue entre les processus communicants (qui transmet, à qui, à quel moment, pour combien de temps…)
VIII-H. La couche TRANSPORT▲
La couche TRANSPORT (TRANSPORT LAYER) s'assure que les paquets ont été reçus dans l'ordre, sans erreurs, sans pertes, ni duplication. La couche TRANSPORT gère l'empaquetage et le réassemblage des paquets ainsi que le contrôle et la correction des erreurs.
Les fonctions de la couche TRANSPORTÂ :
- La division des messages longs en plusieurs paquets
- Le contrôle de la taille des paquets
- Le regroupement des messages courts en un seul paquet
- Le rassemblement des paquets en un seul message
- L'extraction et la reconstitution du message d'origine
- L'envoi et la réception d'un accusé de réception
- Le contrôle du flux et la correction des erreurs dans la reconstitution des paquets
VIII-I. La couche RESEAU▲
La couche RESEAU (NETWORK LAYER) se charge de l'adressage des messages. La couche RESEAU fournit un schéma d'adressage. La couche RESEAU traduit les adresses logiques (les adresses IP) en adresses physiques (les adresses MAC des cartes réseau).
Les fonctions de la couche RESEAUÂ :
- La traduction des adresses et des noms logiques en adresses physiques
- Le routage des messages en fonction de leur priorité et de l'état du réseau
- La gestion du trafic sur le réseau :
- La commutation de paquets
- Le contrôle de l'encombrement des messages sur le réseau
- Le découpage ou le réassemblage des messages en fonction de la capacité de la carte réseau (et de celle de son correspondant)
VIII-J. La couche LIAISON▲
La couche LIAISON (DATA LINK LAYER) gère le transfert des trames. Une trame (souvent synonyme de paquet) est une structure logique et organisée dans laquelle sont placées les données.
La structure d'une trame (d'un paquet) est toujours la même. La trame est constituée de plusieurs éléments et dans un ordre précis :
-
L'en-tête :
- Numéro d'identification du destinataire
- Numéro d'identification de l'expéditeur
- Des informations de contrôle pour la détection du type de trame, le routage et la segmentation des données
-
Le corps :
- Les données
-
La queue :
- Des informations CRC (Cyclical Redundancy Check) pour la correction et la vérification des erreurs dans la transmission d'un paquet
Les fonctions de la couche LIAISONÂ :
- La préparation des trames pour la couche PHYSIQUE :
- La fabrication des trames en fonction de la méthode d'accès au réseau.
- La division des messages en trames de bits bruts ou leur regroupement.
- Le contrôle CRC des erreurs dans la transmission d'un paquet.
- L'envoi et la réception d'un accusé de réception pour chaque trame, sinon la trame est réexpédiée.
VIII-K. La couche PHYSIQUE▲
La couche PHYSIQUE (PHYSICAL LAYER) transmet des flux de bits bruts sur le support de communication. La couche PHYSIQUE est en relation directe avec la carte réseau.
Les fonctions de la couche PHYSIQUEÂ :
- La gestion du branchement au support :
- Le branchement du câble à la carte réseau
- La définition du nombre de broches du connecteur
- La fonction de chacune des broches du connecteur
- La gestion des signaux, électriques, optiques, mécaniques :
- L'encodage et la synchronisation du flux de bits
- La durée de chaque bit, les caractéristiques de l'impulsion électrique ou optique
- La méthode d'accès des bits sur le support de communication :
- L'envoi des trames sur le réseau
VIII-L. Le modèle IEEE-802▲
Le modèle IEEE 802 fait référence au mois et à l'année où il sortit (février 1980). Le modèle IEEE 802 a été mis au point par l'IEEE (Institute of Electrical and Electronics Engineers) pour définir des normes pour les réseaux locaux.
Le modèle IEEE 802 est sorti juste un peu avant le modèle OSI ; les deux modèles se ressemblent beaucoup et sont compatibles entre eux.
Le modèle IEEE 802 définit :
- La façon dont les données accèdent et sont transmises sur le réseau
- Les normes des composants physiques d'un réseau :
- La carte réseau
- Le câblage en coaxial ou en paires torsadées
- Les spécifications correspondant aux couches LIAISON et PHYSIQUE du modèle OSI
VIII-M. Les douze catégories du modèle IEEE 802▲
La norme 802 a été présentée en douze catégories :
Les normes IEEE 802 pour les réseaux locaux |
|
---|---|
Numéro |
Caractéristiques |
802.1 |
Le fonctionnement inter réseaux (INTERNETWORKING) |
802.2 |
Le contrôle des liaisons logiques LLC (Logical Link Control) |
802.3 |
Les réseaux locaux en bus logique (ETHERNET LAN) à 10 Mb/s, avec la méthode d'accès CSMA/CD |
802.4 |
Les réseaux locaux en bus à jeton (Token Bus LAN) |
802.5 |
Le réseau local en anneau logique (Token Ring LAN) à 4 ou 16 Mb/s, avec la méthode d'accès du passage du jeton. L'anneau logique ressemble à une étoile, mais l'anneau physique se trouve à l'intérieur de concentrateur… |
802.6 |
Les réseaux métropolitains MAN (Metropolitan Area Network) |
802.7 |
La transmission en large bande (Broadband Technical Advisory Group) |
802.8 |
La fibre optique (Fiber-Optic Technical Advisory Group) |
802.9 |
Les réseaux intégrant la voix et les données (Integrated Voice/Data Networks) |
802.10 |
La sécurité des réseaux (Network Security) |
802.11 |
Les réseaux sans fil (Wireless Networks) |
802.12 |
La méthode d'accès priorité de la demande (Demand Priority Access LAN) pour les réseaux 100VG-AnyLAN à 100 Mb/s |
VIII-N. Les sous-couches LLC et MAC du modèle IEEE 802▲
Les deux couches basses du modèle OSI (LIAISON et PHYSIQUE) définissent la façon dont plusieurs ordinateurs peuvent utiliser simultanément le réseau sans interférer les uns avec les autres. Le comité de normalisation 802 a voulu définir plus en détail ces deux couches.
La couche LIAISON a été divisée en deux sous couches :
-
La sous-couche Contrôle des Liaisons Logiques (LLC pour Logical Link Control)
- Chargée de contrôler le flux des données
- Responsable de l'interface Points d'Accès aux Services (SAP pour Services Access Point)
-
La sous-couche Contrôle d'Accès au Support (MAC pour Media Access control)
- Chargée de mettre en forme les trames en fonction de la méthode d'accès au réseau.
- Chargée de contrôler l'accès au réseau et les erreurs de transmission des paquets.
- Responsable du transfert sans erreurs des données entre deux ordinateurs.
- Communique directement avec la carte réseau.
Certaines normes de la spécification 802 concernent les sous-couches LLC ou MAC.
VIII-O. La segmentation des données en paquets▲
Un réseau ne fonctionne pas de manière optimale si les fichiers qui sont transmis sur le réseau ne sont pas segmentés. La « taille des chaînes de données d'origine » est souvent importante et peut pénaliser le réseau :
- Le transfert de gros fichiers en un seul bloc monopolise le support de communication pendant une période importante, pendant laquelle les autres ordinateurs ne peuvent pas accéder au réseau. Un seul ordinateur peut saturer le réseau avec un seul fichier, et la notion d'interactivité est exclue du réseau.
- Une erreur de transmission sur un gros fichier implique de retransmettre l'intégralité du fichier. Quand les données sont segmentées et qu'une erreur survient, seule la petite partie concernée est retransmise.
Les données sont segmentées afin d'apporter de la fluidité et de la convivialité au réseau. Les données sont segmentées en petites parties appelées « paquets » (les paquets sont aussi, par abus de langage, appelés des « trames ». Les trames sont construites avec un en-tête et une queue, tandis que les paquets n'ont qu'un en-tête. On utilisera les deux termes comme des synonymes!).
Les paquets sont « l'unité de base des communications réseau ». La division des données en paquets accélère la transmission globale des données de tous les utilisateurs. Les données sont segmentées chez l'émetteur puis réassemblées chez le récepteur.
VIII-P. La structure d'un paquet▲
La segmentation des données d'origine en paquets commence dès la première couche (la couche 7 : APPLICATION) du modèle OSI. Chaque couche du modèle OSI ajoute son propre en-tête au paquet, avec des informations spécifiques à la couche en question, ce qui permet aux « couches homologues » de « l'ordinateur récepteur » de traduire correctement le paquet. La couche TRANSPORT détermine la taille d'un paquet en fonction du protocole utilisé, mais aussi des capacités respectives de la carte réseau de l'expéditeur et de celle du destinataire.
Un paquet est toujours constitué de la même manière :
Lors de la segmentation des données en paquets, certaines informations sont ajoutées aux paquets. Toutes les couches du modèle OSI contribuent à la constitution du paquet, chacune des six couches ajoute des informations au paquet. Ce sont les « couches basses » qui procèdent à « l'encapsulation finale » du paquet (la couche LIAISON ajoute la queue et la couche PHYSIQUE ajoute le début de l'en-tête) :
Paquet = En-tête + Données + Queue
Certaines de ces informations sont ajoutées systématiquement à tous les paquets, tandis que d'autres ne sont ajoutées que s'il est nécessaire de le faire :
Les informations ajoutées systématiquement à chaque paquet :
-
L'en-tête (HEADER) du paquet :
-
Des informations de transmission (couche PHYSIQUE)
- Un signal d'alerte indiquant qu'un paquet est en cours de transmission.
- Des informations d'horloge pour synchroniser la transmission
-
Des informations de routage et d'adressage (couche RESEAU)
- L'adresse source de l'expéditeur
- L'adresse cible du destinataire
-
Les en-têtes de chacune des couches du modèle OSI :
- Des informations d'interface (couche APPLICATION)
- Des informations de formatage (couche PRESENTATION)
- Des informations de connexion (couche SESSION)
- Des informations de séquence (couche TRANSPORT) indiquant au destinataire comment réassembler tous les paquets qui concernent le même message. Le numéro d'ordre du paquet permet de reconstituer le message d'origine dans le bon ordre.
-
- Les données (DATA) ou une partie des données d'origine. La taille des données à l'intérieur d'un paquet varie en fonction des réseaux, mais cette section est généralement comprise entre 512 octets (0,5 Ko, un demi-Kilo Octet) et 4 Ko.
-
La queue (TRAILER) dépend du protocole utilisé :
- Des informations de contrôle d'erreur (couche LIAISON).
- Le CRC (Cyclical Redundancy Check) est le résultat d'un calcul mathématique effectué chez l'émetteur et vérifié chez le destinataire. Quand le CRC n'est pas conforme, une demande de retransmission est envoyée à l'expéditeur (ou l'accusé de réception n'est pas envoyé, ce qui déclenche une retransmission du paquet).
Les informations ajoutées selon les besoins :
- Les commandes de contrôle (par exemple une requête de service)
- Les codes de contrôle de session (par exemple pour demander une retransmission après une erreur)
- Les accusés de réception
VIII-Q. L'adressage d'un paquet▲
Généralement un paquet n'est adressé qu'à un seul destinataire avec une adresse bien précise.
Les paquets circulent le long d'un segment de câble et passent devant chacune des cartes réseau (un nœud qui peut être une station, un routeur, une imprimante…) qui est connectée au même segment de câble. Quand le paquet lui est destiné, la carte réseau l'intercepte et le traite ; quand le paquet ne lui est pas destiné, la carte réseau le laisse défiler sans intervenir. Les cartes réseau « écoutent » le câble à la recherche d'un signal d'alerte indiquant qu'un paquet est en cours de transmission. Quand un paquet passe à leur hauteur, la carte réseau vérifie si l'adresse du destinataire lui correspond. Si le paquet lui correspond, soit la carte réseau envoie une requête d'interruption à l'ordinateur et celui-ci enregistre le paquet dans sa mémoire vive (mémoire RAM), soit la carte réseau enregistre directement le paquet (dans la mémoire vive de l'ordinateur, si elle a un accès direct à la mémoire (DMA) ou dans sa propre mémoire vive si elle en dispose). Aucune ressource de l'ordinateur n'est engagée tant que la carte réseau n'a pas identifié un paquet comme lui étant adressé.
Il existe des « adresses de diffusion générale » (BROADCAST). Les paquets avec une telle adresse sont adressés à toutes les stations d'un segment de câble, voire à toutes les stations d'un réseau.
Le processus de transfert d'un paquet peut être condensé en quelques étapes :
VIII-R. Le routage d'un paquet▲
Dans un contexte de « réseaux étendus », c'est-à -dire dépassant le cadre d'un LAN (Local Area Network), les dispositifs de connexion et les équipements de commutation du réseau utilisent les informations d'adressage des paquets afin de déterminer la route la plus appropriée. L'adresse cible d'un paquet et d'une manière plus générale les informations d'en-tête d'un paquet peuvent être utilisées, soit pour rediriger le paquet, soit pour le filtrer.
VIII-S. Les types de trames avec le protocole IPX▲
La plupart des protocoles déterminent eux-mêmes quel est le type de paquet à utiliser. Il est quand même important de bien vérifier si toutes les stations du réseau communiquent avec le même protocole, c'est un minimum…
Il peut toutefois survenir des problèmes de trames, particulièrement avec le protocole IPX. Le protocole IPX de la pile SPX/IPX de NOVELL, comme la couche TRANSPORT du protocole NWLink de MICROSOFT, n'est pas associé à un seul type de trames. Le protocole IPX peut employer plusieurs types de trames différentes :
-
Dans un environnement ETHERNET
- Quatre types de trames
-
Dans un environnement TOKEN RING
- Deux types de trames