8-Modele en Couches
8-Modele en Couches
8-Modele en Couches
Modèle en couches
Table des matières
1. Introduction......................................................................................................................................2
2. Services avec connexion et sans connexion.....................................................................................3
3. Modèles de référence........................................................................................................................4
3.1. Le modèle de référence OSI/OSI..............................................................................................4
3.2. Le modèle de référence TCP/IP................................................................................................8
4. Comparaison des modèles OSI/OSI et TCP/IP..............................................................................11
4.1. Critique du modèle de référence OSI/OSI..............................................................................11
4.2. Critique du modèle de référence TCP/IP................................................................................12
5. Protocoles du modèle OSI/OSI......................................................................................................13
Lors de la conception des premiers réseaux d’ordinateurs, les ingénieurs se sont surtout concentrés
sur l’aspect matériel, reléguant l’aspect logiciel au second plan. Cette stratégie ne tient plus. Les
logiciels de réseaux sont aujourd’hui hautement structurés.
8-modele_en_couches.odt 1
Informatique et Science du Numérique
1. Introduction
Afin de réduire la complexité de conception, la plupart des réseaux sont organisés en strates,
appelées couches ou niveaux, chacune étant placée au-dessus de la précédente. Le nombre de
couches ainsi que le nom, le contenu et la fonction de chacune d’elles diffèrent selon les réseaux. Le
rôle de chaque couche est de fournir des services à la couche immédiatement supérieure tout en lui
dissimulant les détails d’implémentation. En un sens, on peut dire que chaque niveau représente une
boite noire qui offre certains services au niveau supérieur.
Lorsque la couche n d’une machine dialogue avec la couche n d’une autre machine, les règles et les
conventions qui gouvernent cette communication sont regroupées sous le nom de protocole de
couche n. En substance, un protocole est une convention acceptée par les parties communicantes sur
la façon dont leur dialogue doit avoir lieu.
Un ensemble de couches et de protocoles forme une architecture de réseau. La spécification d’une
architecture doit contenir suffisamment d’informations pour qu’un développeur puisse écrire le
programme (ou construire le matériel) pour chaque couche de façon que celui-ci obéisse
correctement au protocole concerné. Il n’est même pas utile que les interfaces soient les mêmes sur
toutes les machines d’un réseau, du moment que chaque machine peut utiliser correctement tous les
protocoles. L’ensemble des protocoles utilisés par un système donné, avec un protocole par couche,
s’appelle une pile de protocoles.
Pour mieux comprendre ce que représente la communication en couches, imaginez la situation
suivante. Deux philosophes (processus de couche 3) souhaitent s’entretenir, mais l’un parle ourdou
et anglais, et l’autre chinois et français. Faute de pouvoir partager une langue commune, ils
engagent chacun un traducteur (processus de couche 2), qui fait appel à son tour à une secrétaire
(processus de couche 1). Le premier philosophe transmet un message (en anglais) à son traducteur
par l’intermédiaire de l’interface 2/3, en indiquant « I like rabbits ». Comme les traducteurs se sont
accordés sur une langue commune, en l’occurrence le néerlandais, le message est converti en « Ik
vind konijnen leuk ».
Le traducteur passe le message à sa secrétaire pour transmission, par exemple, par courrier
électronique (protocole de couche 1). Quand le message parvient à l’autre secrétaire, il est transmis
au traducteur local, qui le traduit en français et le transmet par l’intermédiaire de l’interface 2/3 au
deuxième philosophe. Notez que les protocoles sont complètement indépendants les uns des autres
tant que les interfaces ne sont pas changées. Les traducteurs pourraient passer au finnois, pourvu
qu'ils soient tous les deux d’accord et qu’aucun ne change ses interfaces avec les couches 1 et 3. De
même, les secrétaires pourraient choisir le téléphone à la place du courrier électronique, sans
déranger, ni même aviser, les autres couches. Chaque processus peut ajouter certaines informations
à l’intention du processus pair uniquement, et celles-ci ne seront pas transmises à la couche
supérieure.
8-modele_en_couches.odt 2
Informatique et Science du Numérique
Le but d’un système en couche est de séparer le problème en différentes parties (les couches) selon
leur niveau d’abstraction.
Chaque couche du modèle communique avec une couche adjacente (celle du dessus ou celle du
dessous). Chaque couche utilise ainsi les services des couches inférieures et en fournit à celle du
niveau supérieur.
Entre deux appareils reliés, les couches doivent être les mêmes et pouvoir communiquer avec le
même protocole.
8-modele_en_couches.odt 3
Informatique et Science du Numérique
selon le contexte : un paquet est un message au niveau de la couche réseau. Lorsque les nœuds
intermédiaires reçoivent un message en entier avant de le transmettre au prochain nœud, on parle de
commutation en mode différé (store-and-forward). Normalement, lorsque deux messages sont
envoyés à une même destination, le premier envoyé sera le premier à arriver. Toutefois, des retards
peuvent se produire et faire en sorte que le second arrive avant.
Chaque service peut encore être caractérisé par sa fiabilité. Certains services sont qualifiés de
fiables au sens où ils ne perdent jamais de données. En principe, un service fiable est implémenté au
moyen d’un système de notification dans lequel le récepteur accuse réception de chaque message
afin que l’émetteur soit certain qu’il est arrivé. Le processus d’acquittement provoque une surcharge
de service et des délais, qui valent souvent la peine qu’on les supporte mais sont parfois
indésirables.
Dans certaines applications, les délais introduits par les acquittements sont inacceptables. L’une
d’elles est le transport de la voix numérisée, pour la voix sur IP (VoIP). Il est moins gênant pour les
usagers d’entendre du bruit sur la ligne de temps à autre que de supporter un retard occasionné par
l’attente des acquittements. Dans le même ordre d’idées, quelques pixels défectueux ne posent pas
de problèmes lors d’une conférence vidéo, alors qu’il serait irritant d’avoir des images saccadées en
raison des arrêts de transmission liés à la correction d’erreurs.
Un service non fiable sans connexion (c’est-à-dire non acquitté) est souvent appelé service de
datagramme, par analogie avec le service télégraphique qui n’envoie pas non plus d’accusé de
réception à l’émetteur.
Dans d’autres situations, il est souhaitable pour des questions pratiques d’éviter d’établir une
connexion pour envoyer un message, mais la fiabilité est essentielle. Le service de datagramme
acquitté peut alors être utilisé. Il s’apparente à l’envoi d’une lettre recommandée avec accusé de
réception.
3. Modèles de référence
Bien que les protocoles associés au modèle OSI soient rarement utilisés aujourd’hui, le modèle en
lui-même est tout à fait général et reste valide : les fonctionnalités examinées au niveau de chaque
couche sont toujours très importantes. Avec le modèle TCP/IP, c’est l’inverse qui se produit : le
modèle n’est pas très employé alors que ses protocoles sont largement déployés.
8-modele_en_couches.odt 4
Informatique et Science du Numérique
normalisation internationale des protocoles utilisés dans les diverses couches. Il a été révisé en
1995. On l’appelle modèle de référence OSI car il traite des systèmes ouverts, c’est-à-dire des
systèmes ouverts à la communication avec d’autres systèmes.
Les données transmises sont appelées unité de données (data unit en anglais). On les nomme
parfois PDU (Protocol Data Unit : « unité de données de protocole ») ; dans ce cas, leur nom sera
précédé de l'initiale de la couche dont ces données sont issues. Par exemple dans la couche
applicative, elles prennent le nom d'APDU (Application Protocol Data Unit : « unité de données de
protocole d’application »). Dans la couche de session, elles s’appelleront donc... SPDU (Session
Protocol Data Unit : « unité de données de protocole de session »)...
Ce modèle se compose de sept couches :
1. La couche physique
La couche physique se charge de la transmission de bits à l’état brut sur un canal de
communication. L’un des objectifs de conception de ce niveau est de s’assurer qu’un bit à 1
envoyé sur une extrémité arrive aussi à 1 de l’autre côté et non à 0. Les questions que l’on se
pose portent généralement sur les signaux électriques à utiliser pour représenter un 1 et un 0,
le nombre de nanosecondes que doit durer un bit, la possibilité de transmission
bidirectionnelle simultanée, la façon dont une connexion initiale est établie puis libérée
lorsque les deux extrémités ont fini, ou encore le nombre de broches d’un connecteur et le
rôle de chacune. Les problèmes de conception concernent principalement les interfaces
mécaniques et électriques et la synchronisation, ainsi que le support physique de
transmission sous-jacent à la couche physique.
2. La couche liaison de données
Le rôle principal de la couche liaison de données est de faire en sorte qu’un moyen de
communication brut apparaisse à la couche réseau comme une liaison exempte d’erreurs de
8-modele_en_couches.odt 5
Informatique et Science du Numérique
transmission non détectées. Pour ce faire, elle masque les erreurs réelles afin que la couche
réseau ne les voie pas en implantant des codes de détection d’erreurs.. S’il s’agit d’un
service fiable, le récepteur confirme la bonne réception de chaque trame en envoyant à
l’émetteur une trame d’acquittement.
Un autre point important à résoudre dans cette couche, mais aussi dans la plupart des
couches supérieures, est d'éviter la saturation d’un récepteur lent par les données d’un
émetteur rapide. Recourir à des mécanismes de contrôle du flux afin d’éviter l’engorgement
de données.
3. La couche réseau
La couche réseau contrôle le fonctionnement du sous-réseau. C’est dans la couche réseau
que les ordinateurs connectés au réseau sont identifiés et qu’est déterminé la façon dont les
paquets sont routés de la source vers la destination. Les routes peuvent être choisies au
moyen de tables statiques « câblées » dans le réseau et rarement modifiées ou, plus souvent,
mises à jour automatiquement pour éviter les composants défaillants. Elles peuvent
également être déterminées au début de chaque conversation, par exemple, lors d’une
connexion à partir d’un terminal (comme une ouverture de session sur une machine
distante). Enfin, elles peuvent aussi être très dynamiques et déterminées à nouveau pour
chaque paquet, afin de prendre en compte la charge actuelle du réseau.
Lorsqu’un paquet doit passer d’un réseau à un autre pour atteindre sa destination, de
nombreux problèmes peuvent surgir : la technique d’adressage du second réseau peut être
différente de celle du premier, le second réseau peut refuser le paquet s’il est trop grand, les
protocoles peuvent être différents, etc. La couche réseau doit gérer tous ces problèmes pour
que des réseaux hétérogènes puissent être interconnectés.
4. La couche transport
La fonction de base de la couche transport est d’accepter des données de la couche
supérieure, de les diviser en unités plus petites si nécessaire, de les transmettre à la couche
réseau et de s’assurer qu’elles arrivent correctement à l’autre bout.
La couche transport est une vraie couche de bout-en-bout : elle transporte les données tout
du long, de la source à la destination. Autrement dit, un programme sur la machine source
entretient une conversation avec un programme similaire sur la machine de destination, en
utilisant les en-têtes des messages et des messages de contrôle. Dans les couches plus
basses, chaque protocole prend place entre une machine et ses voisins immédiats, non entre
les machines source et de destination, qui peuvent être séparées par de nombreux routeurs.
C’est dans la couche transport que sont corrigées les erreurs de transmission et qu’est vérifié
le bon acheminement des données. Elle optimise l’utilisation de la couche réseau et assure
des travaux de type fragmentation de message. Si une connexion est interrompue, elle va
décider de réinitialiser la connexion et de reprendre le transfert des données.
La différence entre les couches 1 à 3, qui sont chaînées, et les couches 4 à 7, qui sont de
bout-en-bout, est illustrée ci-dessous :
8-modele_en_couches.odt 6
Informatique et Science du Numérique
5. La couche session
La couche session permet aux utilisateurs de différentes machines d’établir des sessions
entre eux. Une session offre divers services, parmi lesquels la gestion du dialogue (suivi du
tour de transmission), la gestion du jeton (empêchant deux participants de tenter la même
opération critique au même moment) et la synchronisation (gestion de points de reprise
permettant aux longues transmissions de reprendre là où elles en étaient, à la suite d’une
interruption).
C’est au niveau de la couche session que sont ouverts les ports de communication.
6. La couche présentation
À la différence des couches les plus basses, qui sont principalement concernées par le
transport des bits, la couche présentation s’intéresse à la syntaxe et à la sémantique des
informations transmises. Pour permettre à des ordinateurs utilisant des représentations de
données internes différentes de communiquer.
C’est dans cette couche que sont converties les informations d’un format à un autre (ASCII
par exemple) afin d’assurer l’indépendance entre l’utilisateur et le transport.
Les opérations de conversion, de cryptage et de compression y sont réalisées.
8-modele_en_couches.odt 7
Informatique et Science du Numérique
7. La couche application
La couche application contient différents protocoles dont les
utilisateurs ont couramment besoin. HTTP (HyperText
Transfer Protocol), qui forme la base du World Wide Web,
est un protocole d’application largement utilisé. Lorsqu’un
navigateur veut afficher une page web, il transmet son nom
au serveur qui l’héberge au moyen du protocole HTTP, et le
serveur envoie la page en réponse. D’autres protocoles
d’application sont utilisés pour le transfert de fichiers, le
courrier électronique et les nouvelles (news).
Remarque : L’ensemble des trois couches application, présentation
et session assure la collecte des données au niveau de l’utilisateur et leur mise en forme afin
d’assurer leur transmission à l’application de destination.
8-modele_en_couches.odt 8
Informatique et Science du Numérique
8-modele_en_couches.odt 9
Informatique et Science du Numérique
4. La couche application
Le modèle TCP/IP ne comprend ni couche session, ni couche présentation, leur nécessité
n’ayant pas été perçue. À la place, les applications incluent simplement les fonctions
8-modele_en_couches.odt 10
Informatique et Science du Numérique
8-modele_en_couches.odt 11
Informatique et Science du Numérique
initiale. Les entreprises ont pratiqué l’attentisme, aucune ne voulant prendre le risque d’être
la première, et OSI a fait long feu.
2. mauvaise technologie : Le choix des sept couches a été plus politique que technique, et deux
d’entre elles – session et présentation – sont pratiquement vides, alors que deux autres –
liaison de données et réseau – sont au contraire trop pleines.
Un autre problème avec OSI est que certaines fonctions, telles que l’adressage, le contrôle
de flux et le contrôle d’erreurs, réapparaissent dans chaque couche. Des études ont montré
que, par exemple, pour être efficace, le contrôle d’erreurs doit être réalisé dans la couche la
plus haute, si bien que le réitérer à chaque niveau est souvent inutile et inefficace.
3. mauvaises implémentations : Étant donné l’énorme complexité du modèle et des protocoles,
il n’est pas surprenant que les implémentations initiales aient été volumineuses, lourdes à
manipuler et lentes. Tous ceux qui s’y sont frottés s’en sont rendu compte à leurs dépens.
Dans ce contexte, il n’a pas fallu longtemps pour que OSI devienne synonyme de piètre
qualité.
Par contraste, l’une des premières implémentations de TCP/IP, qui faisait partie de l’UNIX
de Berkeley, était tout à fait réussie (et gratuite de surcroît). Elle a rapidement fait de
nombreux adeptes, ce qui a conduit à des améliorations, puis à l’élargissement de la
communauté d’utilisateurs, qui a entraîné elle-même de nouvelles améliorations.
4. mauvaise stratégie : Suite à la première implémentation, nombreux sont ceux, en particulier dans le
milieu universitaire, à avoir pensé que TCP/IP faisait partie d’UNIX. Et le milieu universitaire des années
1980 voyait UNIX comme le nec plus ultra. D’un autre côté, OSI a été vu comme le produit des
administrations européennes des télécommunications, puis de la Communauté européenne, et plus tard du
gouvernement des États-Unis.
8-modele_en_couches.odt 12
Informatique et Science du Numérique
Enfin, alors que les protocoles IP et TCP ont été soigneusement conçus et bien implémentés, le
développement des autres protocoles de la suite a été improvisé et généralement confié à des
doctorants. Leurs implémentations étant distribuées gratuitement, ces protocoles se sont largement
imposés au point qu’il est encore difficile aujourd’hui de les remplacer. À titre d’exemple, le
protocole de terminal virtuel, Telnet, a été conçu pour un terminal Télétype mécanique à 10
caractères par seconde et ignore donc tout des interfaces graphiques et de la souris. Malgré cela, il
est toujours largement utilisé trente ans plus tard.
7. Application BGP · DHCP · DNS · FTP · Gopher · H.323 · HTTP · IMAP · IRC · NFS ·
NNTP · POP3 · RTSP · SILC · SIMPLE · SIP · SMTP · SNMP · SMB-CIFS ·
SSH · TCAP · Telnet · TFTP · VoIP · XMPP · WebDAV
6. Présentation AFP · ASCII · ASN.1 · MIME · NCP · SSP · TDI · TLV · Unicode · UUCP ·
Vidéotex · XDR
3. Réseau ARP · Babel · BOOTP · CLNP · ICMP · IGMP · IPv4 · IPv6 · IPX · IS-IS ·
NetBEUI · OSPF · RARP · RIP · X.25
2. Liaison Anneau à jeton · Token Bus · ARINC 429 · ATM · AFDX · Bitnet · CAN ·
Ethernet · FDDI · Frame Relay · HDLC · I²C · IEEE 802.3ad (LACP) · IEEE
802.1aq (SPB) · LLC · LocalTalk · MIL-STD-1553 · PPP · STP · Wi-Fi · X.21
8-modele_en_couches.odt 13