Le fondement d'un bon réseau, c'est que le système d'exploitation soit capable:
C'est le cas de tous les systèmes d'exploitation à jour.
A priori, rien ne devrait obliger les plates formes client et serveur à fonctionner avec le même système d'exploitation. C'était le cas pour les solutions propriétaires, c'est impensable aujourd'hui. Même si un réseau Microsoft dispose d'outils qui lui sont spécifiques, les hôtes de ce réseau peuvent tout de même dialoguer avec ceux d'un réseau Unix.
Pour arriver à cette interopérabilité, il faut que les divers protagonistes se mettent d'accord sur les fonctionnalités à implanter dans leurs applications et leurs fonctions réseau. C'est le rôle des RFC (Request For Comment) et des normes que de définir ces critères.
C'est l'objectif du modèle théorique O.S.I. qui décrit comment l'O.S. réseau, encore appelé N.O.S. doit être construit. Il décrit l'architecture en 7 couches logicielles présentant chacune des interfaces standard pour communiquer entre elles.
Même si ce modèle reste très théorique, il a le mérite d'être le plus méthodique. (C'est d'ailleurs sa raison d'être).
Il y a deux points qu'il convient de bien comprendre avant tout:
Chaque couche est conçue de manière à dialoguer avec son homologue, comme si une liaison virtuelle était établie directement entre elles.
Chaque couche fournit des services clairement définis à la couche immédiatement supérieure, en s'appuyant sur ceux, plus rudimentaires, de la couche inférieure, lorsque celle-ci existe.
C'est la couche spécifique à la "tuyauterie" du réseau. Elle permet de transformer un signal binaire en un signal compatible avec le support choisi (cuivre, fibre optique, HF etc.) et réciproquement.
Cette couche fournit des outils de transmission de bits à la couche supérieure, qui les utilisera sans se préoccuper de la nature du médium utilisé.
Cette couche assure le contrôle de la transmission des données. Une trame doit être envoyée ou reçue en s'affranchissant d'éventuels parasites sur la ligne. Le contrôle est effectué au niveau du paquet de bits (trame), au moyen d'un "checksum".
Elle est elle-même divisée en deux sous-couches.
Nous aurons l'occasion de reparler de ces notions plus loin, dans les protocoles UDP et TCP.
Cette couche fournit des outils de transmission de paquets de bits (trames) à la couche supérieure. Les transmissions sont "garanties" par des mécanismes de contrôle de validité.
Cette couche assure la transmission des données sur les réseaux. C'est ici que la notion de routage intervient, permettant l'interconnexion de réseaux différents. C'est dans le cas de TCP/IP la couche Internet Protocol. En plus du routage, cette couche assure la gestion des congestions. Il faudrait beaucoup développer ce chapitre pour être clair. Disons simplement que lorsque les données arrivent sur un routeur, il ne faudrait pas que le flot entrant soit plus gros que le flot sortant maximum possible, sinon il y aurait congestion. Une solution consiste à contourner les points de congestion en empruntant d'autres routes (phénomène bien connu des vacanciers sur les routes).
Le problème de la congestion est un problème épineux, auquel il nous arrive assez souvent hélas d'être confrontés.
Cette couche est la plus haute dans la partie purement "réseau".
Cette couche fournit des outils de transmission de paquets de bits (trames) à la couche supérieure. Les transmissions sont routées et la congestion est contrôlée.
Cette couche apparaît comme un superviseur de la couche Réseau. Qu'est-ce à dire? Il n'est par exemple pas du ressort de la couche réseau de prendre des initiatives si une connexion est interrompue. C'est la couche Transport qui va décider de réinitialiser la connexion et de reprendre le transfert des données.
Son rôle principal est donc de fournir à la couche supérieure des outils de transport de données efficaces et fiables.
La notion de session est assez proche de celle de connexion. Il existe cependant quelques détails qui peuvent justifier la présence de ces deux concepts.
Une seule session peut ouvrir et fermer plusieurs connexions, de même que plusieurs sessions peuvent se succéder sur la même connexion. Comme cette explication n'est pas forcément claire pour tout le monde, essayons de prendre quelques exemples:
Cette couche fournit donc à la couche supérieure des outils plus souples que ceux de la couche transport pour la communication d'informations, en introduisant la notion de session.
Le format de codage interne des données
Les "mots" sont une suite d'octets. Un mot de 32 bits est donc une collection de 4 octets. Chez Intel, les octets sont numérotés de droite à gauche, alors que chez Motorola, ils le sont de gauche à droite. Il s'en suit que si une machine à base Intel envoie des mots à une machine à base Motorola, il vaut mieux tenir compte de ce détail pour ne pas s'y perdre...
D'autres exemples pourraient être trouvés dans le style, comme la complémentation à 1 ou à 2 pour les représentations négatives, les divers dialectes ASCII etc.
La compression des données.
Certains transferts de données se font par le biais d'algorithmes de compression. C'est intéressant pour certains types de documents comme le son, l'image ou la vidéo. Dans le modèle OSI, ces algorithmes sont fournis par la couche présentation.
Le cryptage des données.
Même chose pour la cryptographie.
Ce ne sont que des exemples, le modèle définissant bien d'autres fonctions.
A priori, cette couche pourrait être la plus simple à comprendre, ce n'est pas obligatoirement le cas. En effet, dans le modèle OSI, cette couche propose également des services: Principalement des services de transfert de fichiers, (FTP), de messagerie (SMTP) de documentation hypertexte (HTTP) etc.
Dans le modèle, les applications ayant à faire du transfert de fichiers utilisent le service FTP fourni par la couche 7.
Ce modèle théorique, extrêmement détaillé est fait pour que chaque couche puisse être construite indépendamment des couches qui sont immédiatement au dessus et au dessous d'elle.
Le modèle O.S.I. est tellement
théorique qu'il va à l'encontre de l'efficacité. Il est donc souvent simplifié. Les
simplifications se bornant toutefois à regrouper les fonctions de plusieurs couches
O.S.I. en une seule. Exemple: Le modèle
D.O.D. utilisé dans le protocole TCP/IP. Cependant, les couches O.S.I. restent une référence dès lors que l'on parle de transmission de données sur un réseau. Lorsqu'une information (Données) est émise par une application, cette donnée descend les diverses couches du réseau, en récupérant au passage des informations supplémentaires à chaque couche, comme le montre l'illustration suivante. |
Les trames qui circulent sur le réseau contiennent donc non seulement les données des applications, mais également tout un tas d'informations rajoutées par le N.O.S. Ces diverses informations permettront entre autres fonctions:
Lorsque la trame entre dans le récepteur, elle remonte les couches qui lui enlèvent au passage les informations qui les concernent, si bien que l'application reçoit ses données sans se préoccuper de la façon dont elles ont été transportées.
Vous trouverez sur ce site quelques explications supplémentaires sur les points suivants: