III.1.INTRODUCTION:
Nous avons vu précédemment que dans sa pratique courante, un utilisateur d'internet peut se contenter de
connaître un petit nombre de concepts d'une manière très globale et synthétique (sites web, boîtes de
messagerie, fournisseur d'accès, etc...), sans entrer dans la complexité de ceux-ci. Il possède, en quelque
sorte, une connaîssance « en surface » de l' « océan » de composants et de mécanismes qui supportent le web.
Avant de pousser plus avant dans ces profondeurs, et pour éviter de nous y perdre, nous allons hiérarchiser
les nombreux concepts qui les occupent en plusieurs « niveaux », dont voici la description:
III.2.LES DIFFERENTS NIVEAUX DE LA COMMUNICATION:
III.2.1.TRANSPARENCE DES MECANISMES DE COMMUNICATION POUR L'USAGER:
Nous avons vu précédemment que lorsque nous utilisons internet, nous le faisons toujours par l'intermédiaire
d'une application logicielle (c'est à dire d'un programme: un navigateur, un logiciel de messagerie, etc...).
Ces APPLICATIONS RÉSEAU nous permettent d'accéder à un certain nombre de services disponibles en ignorant
totalement les mécanismes logiciels et les infrastructures matérielles que ces services utilisent: pour
naviguer sur internet, il nous suffit la plupart du temps de savoir utiliser l'interface du navigateur que
nous utilisons.
EXEMPLE:
Certains logiciels navigateurs internet (Mozilla firefox, Safari, Opera, etc...) possèdent des versions adaptées à
plusieurs systèmes d'exploitation (Window, Linux, systèmes Unix divers, etc.). Un utilisateur pourra les utiliser de
la même manière quel que soit le système d'exploitation et quelle que soit l'infrastructure matérielle (ordinateur,
connexion réseau) dont il dispose.
En fait, les spécificités du poste de travail sont rendues TRANSPARENTES pour l'utilisateur par l'action de divers
mécanismes inclus dans le « software » et le « hardware » de la machine. Cette transparence est obtenue par
l'organisation de ces mécanismes en plusieurs niveaux dont nous allons décrire le principe.
III.2.2.UNE HISTOIRE DE LUTINS:
Bien que nous nous en défendions avec la dernière énergie, qui d'entre nous n'est pas intimement persuadés (surtout dans
des moments de grand désarrois technologique), que son ordinateur est animé par une armée de petits lutins plus ou moins
malfaisants ? (ne niez pas: j'ai même vu certains d'entre vous leur parler...). Ce point de vue n'est d'ailleurs pas
sans avantage psychologique, car il constitue un moyen pratique et peu onéreux de détourner nos colères et frustrations
« informatiques » vers des boucs émissaires aussi disponibles qu'endurants.
Pour humaniser et imager un peu l'univers très abstrait des mécanismes de communication, je me suis résolu à convoquer
ces petits lutins industrieux. Je vous demande de supposer qu'ils se mettent en action chaque fois que nous activons
l'interface graphique de notre application réseau (en cliquant sur un lien, en validant un formulaire, en utilisant
un menu...).
Ces petits lutins (qui ne sont autres que les programmes informatiques ou les mécanismes de logique électronique
installés sur le poste de travail ou les organes de liaison), se chargent de traduire les commandes saisie sur votre
interface en actions correspondant à la fonctionnalité activée. La plupart de ces commandes aboutissent à l'envoi de
messages à destination d'un hôte éloigné du réseau (serveur web, serveur de messagerie, etc...), qu'il s'agisse de
l'envoi de REQUETES destinées à obtenir un service quelconque de la part du destinataire ou de la transmission
de DONNEES nécessaires au fonctionnement de celui-ci.
Nos lutins uniront donc leurs efforts pour réaliser les tâches suivantes:
- E1: Interpréter la commande passée par l'utilisateur, en déduire les actions à effectuer, et en particulier
les messages à transmettre, puis élaborer ces messages.
- E2: Conditionner ces messages pour la transmission: les morceler en segments de longueur acceptable, y inclure
l'adresse de la machine destinataire et du programme destinataire dans cette machine (le message est-il destiné
au navigateur? au programme de messagerie électronique?), etc.
- E3: Transformer ces segments de données en signaux physiques capables de se propager sur le média du réseau,
puis injecter ces signaux sur le média.
Remarquons que les tâches E1, E2 et E3 doivent se succéder pour aboutir à l'émission d'un message vers un destinataire, qui
est un programme hébergé par une machine distante connectée au réseau.
De même, lorsqu'un message destiné à votre application arrive sur la connexion physique de votre
poste de travail, ces mêmes lutins infatigables tenteront l'impossible pour mettre à votre disposition les informations
qu'il contient. Ils devront, pour cela:
- R3:Examiner les signaux circulant sur le média, en extraire ceux qui sont destinées à la machine locale
et en vérifier le contenu.
- R2:Transformer ces signaux en segments de messages, détecter le programme réseau de la machine qui en
est destinataire (est-ce le navigateur ou le client de messagerie? les deux peuvent fonctionner en même temps),
réassembler ces segment pour reconstituer le message complet.
- R1:Enfin, interpréter le message pour accomplir l'action à laquelle il est destiné (affichage
d'une page web sur le navigateur ou d'une liste de courriels sur la fenêtre du client de messagerie,
enregistrement des données reçues dans un fichier local, etc.).
Remarquons que les tâche R3, R2 et R1 doivent se succéder pour aboutir à la réception et au traitement d'un message
par une des applications réseau lancées sur la machine.
Pour poursuivre notre analogie, nous dirons que l'activité d'une telle « armée » nécessiterait obligatoirement une
très forte organisation. En particulier, il pourrait sembler judicieux de spécialiser chaque lutin dans certaines
des activités que nous avons énumérées ci-dessus. Par exemple:
- Certains d'entre eux seraient spécialisés dans les activités E1 et R1.
- D'autres seraient spécialisés dans les activités E2 et R2.
- D'autres enfin seraient spécialisés dans les activités E3 et R3.
III.2.3.LES TROIS NIVEAUX DU MECANISME:
Si nous avons gardé en tête que nos lutins symbolisent en fait des mécanismes matériels et logiciels intervenant
dans la communication réseau, les trois spécialisations ainsi définies correspondent à trois niveaux de mécanismes
que l'on peut représenter par le schéma suivant:
COMMENTAIRES SUR LE SCHEMA:
Les UTILISATEURS ont accès aux fonctionnalités offertes par le réseau en activant les SERVICES APPLICATIFS. Ils le font
par l'intermédiaire d'applications informatiques. Pour les utilisateurs basiques d'internet, ces applications seront
essentiellement les Navigateurs (internet explorer, Mozilla, Opera, etc..), les Clients de Messagerie (outlook, lotus, etc..)
ou les programmes de transfer de fichiers (Filezilla...).
Les mécanismes du niveau des SERVICES APPLICATIF ont pour rôle:
- Soit d'interpréter les commandes passée par l'utilisateur, d'en déduire les actions à effectuer, et en particulier
les messages à transmettre, puis d'élaborer ces messages.
- Soit d'interpréter un message reçu du réseau afin accomplir l'action à laquelle il est destiné (affichage
d'une page web sur le navigateur ou d'une liste de courriels sur le client de messagerie, enregistrement des
données dans un fichier local, etc.).
Pour réaliser les fonctions activées par les utilisateurs, les applications réseau ont besoin d'échanger des
messages avec d'autres utilisateurs du réseau (sites web, serveurs de messagerie, etc). Pour ce faire, ils utilisent
les mécanismes du niveau des SERVICES RESEAU, qui ont donc pour rôle:
- Soit de conditionner les messages élaborés par le niveau des services applicatifs pour la transmission (par
exemple, les morceler en "paquets" de longueur acceptable, y inclure l'adresse de la machine destinataire et du
programme destinataire dans cette machine, etc.).
- Soit de transformer les segments de données acquises par le niveau gestion du lien physique en "paquets", de
détecter le programme réseau local qui en est destinataire, puis réassembler ces "paquets" pour reconstituer le message
initial.
Cependant, les mécanismes du niveau services reseau n'ont pas connaîssance de la structure matérielle de la machine,
ni des mécanismes qui permettent de transformer les messages en signaux physiques injectables sur le média du réseau.
Ce niveau fera donc appel aux mécanismes du niveau GESTION DU LIEN PHYSIQUE pour réaliser ces tâches. Ce niveau aura
donc pour rôle:
- Soit de transformer les segments fournis par le niveau des services réseaux en signaux physiques capables
de se propager sur le média, puis d'envoyer ces signaux vers le noeud adjacent du réseau qui constitue la première
étape de la route à suivre pour atteindre le destinataire.
- Soit de récupérer les signaux circulant sur le média et destinées à l'utilisateur de la machine, d'en vérifier
le contenu, puis de les transmettre au niveau des services réseau.
III.3.LE MODELE O.S.I.
L'I.S.O. (International Standard Organization), a diffusé dès les années 1980 un modèle d'organisation pour les
« systèmes d'interconnexion ouverts ». Celui-ci, appelé Modèle O.S.I (pour Open Systems Interconnexion) hiérarchise
les mécanismes de communication en sept COUCHES (dites « fonctionnelles », car elles décrivent les mécanismes
indépendemment de la manière dont ils sont réalisés matériellement). Ces couches peuvent être succintement définies
comme suit:
NUMERO DE COUCHE | NOM | FONCTION |
7 |
APPLICATION |
Mécanismes supportant les fonctions externes des applications. |
6 |
PRESENTATION |
Résolution des problèmes liés aux différences de codage des données entre systèmes connectés. |
5 |
SESSION |
Synchronisation des flux de données échangés, points de reprise en cas d'erreurs, etc. |
4 |
TRANSPORT |
Conditionnement des messages pour le transport: découpage des messages en « paquets de données»
de longueur compatible avec une bonne transmission et réassemblage à la réception. |
3 |
RESEAU |
Routage de « paquets de données » vers leur destinataire à travers des réseaux interconnectés
(pouvant être de technologie hétérogène). |
2 |
LIAISON |
- Sous-couche LLC: Etablissement, entretien et contrôle des liaisons de données entre deux noeuds
« adjacents » du réseau
- Sous couche MAC: contrôle de l'accès au média de transmission..
|
1 |
PHYSIQUE |
Transformation des données en signaux physiques inversement. |
REMARQUES: L.L.C. = Logical Link Control, M.A.C. = Media Acces Control.
Nous pouvons voir que la décomposition effectuée par le modèle O.S.I. est plus détaillé que la décomposition en trois
niveaux présentée plus haut. Nous pouvont établir la correspondance suivante:
NIVEAU | CORRESPONDANCE O.S.I. | PRODUITS RESEAUX CORRESPONDANTS |
GESTION DU LIEN PHYSIQUE |
Couches OSI 1 et 2 (physique, liaison) |
Cartes réseaux, connectique, médias, pilotes de péripheriques |
SERVICES RESEAU |
Couches OSI 3 et 4 (réseau, routage) |
Logiciels contrôleurs de réseaux (TCP-IP pour internet). |
SERVICES APPLICATIFS |
Couches OSI 5, 6 et 7 (session, présentation, application) |
Applications réseaux (navigateurs, clients de messagerie, etc...). |
En fait, très peu de solutions techniques respectent entièrement le modèle O.S.I:
- Les matériels de connexion et les pilotes de périphériques disponibles sur le marché traitent en général la
totalité des mécanismes des couches 1 et 2.
- Les mécanismes correspondant aux couches 3 et 4 sont traités par des produits logiciels qui englobent ces deux
couches (c'est le cas, en particulier de TCP-IP, utilisé sur internet).
- Enfin, la plupart des applications réseau disponibles assurent elles-même la gestion des sessions et la présentation
des données.
Le modèle O.S.I. a donc surtout une valeur théorique. En fait, la plupart des architectures de réseaux existantes s'appuient
sur une décomposition (implicite) correspondant aux trois niveaux définis plus haut.
REMARQUE:
La connaîssance détaillée des couches de l'O.S.I. n'est pas nécessaire dans le cadre du présent ouvrage.
Pour approfondir cette notion, vous pouvez consulter l'ouvrage RESEAUX INFORMATIQUES, disponible dans la
rubrique Reseaux de la documentation en ligne du site ATLANTIC. Sinon, je vous conseille de vous contenter
de retenir le tableau ci-dessus.
III.4.MODELE OSI ET TRAMES D'ENVOI DE DONNEES
A l'intérieur d'un ordinateur, les informations se présentent sous la forme d'une suite d'octets (c'est à dire de
groupes de 8 « bits ») contenant le codage de l'information en binaire. Ces octets vont constituee la « partie utile »
d'un message à à transmettre.
Cependant, pour qu'une transmission puisse s'effectuer en toute sécurité et atteindre le bon destinataire, il est
nécessaire de rajouter un certain nombre d'octets «de service» aux octets utiles. Ces octets, ajoutés par les mécanismes
de communication de l'émetteur sont destinés à être exploités par les mécanismes de communication du récepteurs.
Ils permettront à ceux-ci:
- De s'assurer que le message leur est bien adressé.
- De vérifier qu'il a été transmis intégralement et sans erreur.
- De connaître le format des données.
- D'identifier les différents segments d'un message qui a subi une segmentation afin de les remettre dans l'ordre à
la réception.
- Etc.
Lors de l'émission d'un message, chacune des couche (au sens de l'OSI) de mécanismes de communication traversée ajoute
ses propres octets de service. Lorsque toutes les couches d'émission auront été traversées, les segments de messages à
injecter sur le média correspondront chacun à une structure de ce type:
Le contenu, le format et la position des octets de service de chaque couche dépend de la technologie de transmission
utilisée par cette couche. Par exemple, sur internet, le contenu des couches 3 et 4 (niveau des services réseaux)
correspond aux spécifications du protocole TCP-IP.
C'est cet ensemble d'octets (octets utiles+octets de service) qui est injecté sur le média de liaison, sous forme
d'impulsions physiques dont la nature dépend du média (impulsions électriques, optiques, électromagnétiques,
infrarouges...). Le train d'impulsion engendré, circulant sur le média, constitue une TRAME DE TRANSMISSION DE DONNEES.
Lors de la réception d'une trame par un hôte du réseau, les mécanismes de communication de cet hôte exploiteront ces
différentes enveloppes d'octets de service dans l'ordre inverse de l'émetteur:
- En premier lieu, les octets de service des couches 1 et 2 seront utilisés par les mécanismes de gestion du lien
physique pour déterminer si la trame leur est bien adressée et si elle a été transmise sans erreur.
- Puis, la trame, dépouillée de ses deux premières couches d'octets de service sera transmise aux mécanismes des
services réseaux pour y être traitée par eux.
- Et ainsi de suite....
III.5.UTILITE DE L'APPROCHE PAR NIVEAUX:
Chaque niveau cache au niveau qui lui est supérieur la complexité des traitements qu'il accomplit pour le compte de ce
niveau supérieur. Il permet donc à celui-ci de faire abstraction de ces traitements. C'est grâce à cette architecture
en plusieurs niveaux d'abstraction qu'un utilisateur d'internet n'a, à priori, besoin de connaître que le mode d'emploi
du navigateur qu'il utilise.
D'autre part, la décomposition en niveaux permet de créer des architectures composites: chaque niveau ou couche peut être
supporté par des composants d'origine différentes, pourvu que ces composants respectent les interfaces entre les niveaux.
Cette possibilité est à la base de la création de « systèmes ouverts », c'est à dire acceptant des produits de n'importe
quel fournisseur, pourvu qu'il respecte les normes et standards d'interconnexion.
Les chapitres suivant exposent plus en détail les différents concepts attachés à ces trois niveaux.