Revenons un peu aux sources avec cet article 😊 Les bases du rĂ©seau : le fameux modĂšle OSI et son [ami ? rival ?] le modĂšle TCP/IP !

La norme OSI est le modĂšle de rĂ©fĂ©rence en 7 couches pour les rĂ©seaux. Inconsciemment, on l’utilise pour effectuer des dĂ©pannages en procĂ©dant par Ă©tapes. Mais il n’est pas simple de retenir quelle couche sert Ă  quoi, quels protocoles vont ici ou là


Allez, petit zoom sur ce qu’est vraiment, la pile OSI !


Introduction au modÚle de référence : OSI

Info + : Pour cet article, j’ai dĂ» me replonger dans mes vieux cours Cisco CCNA qui ne sont pas toujours simples Ă  comprendre pour des utilisateurs non avertis. Aussi, j’ai essayĂ© d’ĂȘtre la plus simple possible lors de la rĂ©daction. N’oubliez pas que ce n’est qu’un aperçu du concept !

Un peu d’histoire…

L’architecture OSI (Open Systems Interconnection) a vu le jour fin des annĂ©es 1970 et a Ă©tĂ© conçue par des ingĂ©nieurs amĂ©ricains spĂ©cialisĂ©s en Architecture Informatique.

On parle de « modĂšle de rĂ©fĂ©rence pour l’interconnexion des systĂšmes ouverts » qui dĂ©finit la façon dont les ordinateurs doivent communiquer ensemble.

Ce qu’on appelle donc « modĂšle OSI » est une norme officialisĂ©e seulement en 1984. Le retard d’adoption de ce modĂšle est dĂ» Ă  un rejet des grands groupes tĂ©lĂ©coms europĂ©ens de l’époque qui ont vu cette architecture trop thĂ©orique et peu pratique.

A cause de ce rejet massif ayant entraßné un retard dans sa normalisation, la norme OSI a été supplantée par la norme TCP/IP, préférée par ARPANET en 1983 pour son utilisation tournée vers le futur et sa simplicité.

ARPANET est le 1er rĂ©seau Ă  « commutation de paquets ». C’est l’ancĂȘtre du plus grand rĂ©seau mondial que nous connaissons tous aujourd’hui : Internet.

 

ModĂšle OSI et modĂšle TCP/IP

On peut entendre dire que le modĂšle OSI est « dĂ©passé », « inutilisé », que TPC/IP « c’est mieux » 

La rĂ©alitĂ© c’est que ces allĂ©gations sont fausses et surtout ne veulent rien dire !

Le modĂšle OSI est diffĂ©rent du modĂšle TCP/IP et les deux peuvent ĂȘtre complĂ©mentaires.

Info + : La pile TCP/IP sera ici seulement Ă©voquĂ©e puisque l’on peut difficilement passer outre quand on parle modĂšle OSI… Si vous voulez en savoir plus, je vous conseille une nouvelle fois le site trĂšs complet frameip : frameip/tcpip

Dans les faits, il existe deux « types de modÚles de réseau de base » :

  • Le modĂšle de protocole,

qui suit la structure d’une suite de protocoles donnĂ©e. La « suite de protocoles » est une association hiĂ©rarchique de plusieurs protocoles qui reprĂ©sente, de façon gĂ©nĂ©rale, toutes les fonctionnalitĂ©s nĂ©cessaires pour faire le lien entre l’Homme et la machine (on parle de rĂ©seau « humain » et de rĂ©seau « de donnĂ©es ».)

Le modĂšle TCP/IP est un modĂšle de protocoles. Il dĂ©crit les fonctions spĂ©cifiques (et les moyens devant ĂȘtre mis en Ɠuvre) qui interviennent Ă  chaque « ensemble de protocoles » (chaque couche).

  • Le modĂšle de rĂ©fĂ©rence,

assure la cohérence de tous les types de protocoles et services réseau en décrivant seulement les opérations à effectuer à chaque étape (chaque couche).

Il ne fournit pas un niveau de dĂ©tails suffisant pour dĂ©finir prĂ©cisĂ©ment les services de l’architecture rĂ©seau. Son rĂŽle principal est d’assurer une comprĂ©hension plus claire des fonctions et des processus impliquĂ©s.

Le modĂšle OSI est un modĂšle de rĂ©fĂ©rence. Il n’indique pas spĂ©cifiquement comment les protocoles et services doivent ĂȘtre implĂ©mentĂ©s.

MalgrĂ© les disconvenues qu’il a rencontrĂ©, le modĂšle OSI reste donc le « modĂšle de rĂ©fĂ©rence » inter-rĂ©seau le plus connu et est toujours utilisĂ©, notamment par les constructeurs d’équipements rĂ©seau afin d’assurer une compatibilitĂ© entre tous les matĂ©riels, mais Ă©galement pour la conception de rĂ©seaux de donnĂ©es et mĂȘme la rĂ©solution des problĂšmes.

 

Un modĂšle en couches (layers)

Que ce soit le modÚle OSI ou le modÚle TCP/IP, ce sont des modÚles dits « en couches ».

Une telle forme de modĂšle permet de mieux visualiser l’interaction entre les diffĂ©rents protocoles intervenant dans chaque couche mais Ă©galement les interactions avec les couches supĂ©rieures et infĂ©rieures.

La norme OSI dispose de 7 couches, chacune ayant un rĂŽle Ă  tenir qui lui est propre.

Voyons rapidement à quoi servent ces différentes couches :

  • La couche 1 Physique



 est chargée de la transmission des bits de données (en binaire) sur les différents supports existants (cùblage cuivre, fibre optique, ondes électromagnétiques
). Dans cette couche on y associe également le hub (concentrateur) qui se charge de la transmission des données dans un réseau sans cibler le destinataire selon son adresse physique (MAC) ou son adresse logique (IP).

  • La couche 2 Liaison de donnĂ©es



 dĂ©finie les mĂ©thodes de transmission des donnĂ©es entre les pĂ©riphĂ©riques d’un mĂȘme rĂ©seau local (LAN) et gĂšre la dĂ©tection d’erreurs de transmission. Le protocole de rĂ©seau local Ă  commutation de paquet le plus utilisĂ© que l’on trouve dans cette couche sera Ethernet. Les adresses physiques des cartes rĂ©seaux (MAC) sont associĂ©es Ă  cette couche. De mĂȘme que les switchs qui sont chargĂ©s de relier entre eux plusieurs pĂ©riphĂ©riques d’un mĂȘme rĂ©seau.

  • La couche 3 RĂ©seau



 gĂšre les communications entre les machines placĂ©es sur diffĂ©rents rĂ©seaux en utilisant l’adressage logique des Ă©quipements (adressage IP). Cette couche est en charge d’acheminer les donnĂ©es d’un rĂ©seau A Ă  un rĂ©seau B en empruntant le meilleur chemin ce qui se fait au moyen de routeurs et de protocoles de routage.

  • La couche 4 Transport



 est chargĂ©e de la gestion des problĂšmes de transport (renvoi des donnĂ©es si manquantes) et donc de la fiabilitĂ© des communications. Cette couche joue Ă©galement un rĂŽle dans le contrĂŽle de flux (dĂ©bit) et permet d’utiliser en simultanĂ©e plusieurs applications utilisant des protocoles/ports diffĂ©rents. Elle fait le lien entre une application et le protocole rĂ©seau de communication utilisĂ© (notamment TCP ou UDP).

~ Petit aparté sur TCP et UDP ~

Le protocole de transport TCP (Transport Control Protocol) est un protocole dit « orientĂ© connexion ». Avant l’envoi de donnĂ©es, TCP s’assure que le destinataire est en mesure de recevoir ces donnĂ©es. Il utilise Ă©galement les accusĂ©s de rĂ©ception pour s’assurer de la remise des donnĂ©es.

TCP contrĂŽle Ă©galement l’intĂ©gritĂ© des donnĂ©es transmises. En cas de corruption des donnĂ©es, l’expĂ©diteur peut alors les retransfĂ©rer. C’est donc un protocole trĂšs fiable et le plus utilisĂ© actuellement.

 

Le protocole de transport UDP (User Datagram Protocol) est en revanche lui « non orienté connexion ». Il transfÚre les données sans se soucier si le destinataire est apte à les recevoir. Avec le protocole UDP, nous ne sommes pas non plus capables de dire si les données ont bien été transmises.

Le protocole de transport UDP est donc bien moins fiable que son homologue TCP. En revanche, il est plus beaucoup rapide puisqu’il ne nĂ©cessite pas d’échanges prĂ©alables Ă  l’envoi ou suite Ă  la rĂ©ception de donnĂ©es. Il est prĂ©fĂ©rĂ© pour les services pouvant supporter une lĂ©gĂšre altĂ©ration tels que le DNS (Domain Name System), le NTP (Network Time Protocol) ou encore, de nos jours, pour des services de vidĂ©os en streaming ou en direct.

 

  • La couche 5 Session



 fournie des services Ă  la couche « PrĂ©sentation » afin d’organiser sa mĂ©thode de dialogue et de gĂ©rer les ouvertures/fermetures des sessions dans ET entre les applications. On peut retrouver dans cette couche le protocole RPC (Remote Procedure Call) qui assure la communication entre un client qui Ă©met une requĂȘte et un serveur qui rĂ©pond Ă  la requĂȘte ou encore l’ancien systĂšme de nommage NetBIOS qui permet d’établir des sessions entre diffĂ©rents ordinateurs.

  • La couche 6 PrĂ©sentation



 fournie une reprĂ©sentation commune des donnĂ©es demandĂ©es/attendues par une application. Plus simplement, elle gĂšre le codage/dĂ©codage des donnĂ©es (ASCII, unicode, HTML
). Cette couche convertie les donnĂ©es de façon exploitable pour l’application.

  • La couche 7 Application



 permet d’obtenir une connectivitĂ© finale entre les parties telles que le service et l’application utilisant ledit service (ex : service de messagerie (SMTP) et client de messagerie Outlook, service web (HTTP) et navigateur internet Firefox, serveur de tĂ©lĂ©phonie Asterisk (VoIP) et tĂ©lĂ©phone IP). Cette couche est le point d’accĂšs aux services d’un rĂ©seau et fait le lien en l’Homme et la machine.

Il est important de prĂ©ciser que chaque couche est totalement indĂ©pendante des autres et ne s’occupe que de son cas. L’intĂ©rĂȘt de ceci Ă©tant que n’importe quelle couche peut subir des modifications sans en impacter les autres.

De mĂȘme, une couche ne peut interagir qu’avec une couche adjacente. Cela garanti que pour communiquer, toutes les couches du modĂšle OSI devront bien ĂȘtre parcourue.

 

Le modÚle TCP/IP 

Le modĂšle OSI en 7 couches est purement « thĂ©orique » car encore une fois, le modĂšle TCP/IP a dĂ©montrĂ© le peu d’intĂ©rĂȘt de certaines couches en passant directement de la couche 7 Ă  la couche 4


Voici une représentation du modÚle TCP/IP en 4 couches :

  • La couche 1 AccĂšs rĂ©seau



 contrÎle les périphériques matériels ainsi que les supports constituant le réseau.

  • La couche 2 Internet



 dĂ©termine le meilleur chemin Ă  prendre par les paquets pour arriver Ă  destination dans et vers n’importe quel rĂ©seau.

  • La couche 3 Transport



 prend en charge la communication entre les différents périphériques à travers le réseau grùce aux protocoles de transport TCP et UDP notamment.

  • La couche 4 Application


reprĂ©sente les donnĂ©es pour l’utilisateur (interface Homme/machine), gĂšre le codage et le contrĂŽle du dialogue

Info + : Il existe une variante en 5 couches du modÚle TCP/IP. Dans le modÚle en 5 couches, la couche accÚs réseau est remplacée par une couche « Physique » et une couche « Liaison de données ». La couche « Internet » est également renommée « Réseau » dans le modÚle en 5 couches.

Cela ne signifie toutefois pas que certains rĂŽles jouĂ©s par les couches du modĂšle OSI soient totalement inutiles. Il s’agit plutĂŽt de les regrouper diffĂ©remment.

Voici une représentation des modÚles OSI et TCP/IP juxtaposés afin de démonter les correspondances des différentes couches :

 

Transmissions des données à travers le modÚle OSI

Essayons d’illustrer le fonctionnement du modùle OSI avec un cas concret :

Dans notre rĂ©seau local Ethernet en IPv4, nous avons un ordinateur fixe reliĂ© par un cĂąble RJ45 Ă  un switch, lui-mĂȘme reliĂ© Ă  un routeur Internet. Nous allons utiliser le navigateur Google Chrome de notre ordinateur pour consulter le site internet http://mon-site.com.

L’ordinateur va donc envoyer une requĂȘte au serveur distant qui hĂ©berge le site mon-site.com afin d’initier une connexion. Le protocole utilisĂ© pour le service web est HTTP (port 80) qui est un protocole TCP. Le site mon-site.com est codĂ© en HTML.

 

Voici comment notre rĂ©seau va suivre le modĂšle OSI en partant de l’ordinateur et Ă  destination du serveur :

L’ordinateur utilise l’application pour envoyer/recevoir des donnĂ©es. Il va donc descendre successivement les couches du modĂšle OSI qui auront chacune un impact sur les donnĂ©es.

Les donnĂ©es seront acheminĂ©es par cĂąble Ethernet (RJ45) jusqu’au switch oĂč notre ordinateur est reliĂ©.

Contrairement Ă  un PC, un switch ne va pas parcourir l’ensemble des couches du modĂšle OSI tout simplement parce qu’il n’en a pas besoin. Si vous avez bien suivi, vous devez vous souvenir que le switch est le matĂ©riel associĂ© Ă  la couche 2 du modĂšle OSI. Il n’ira donc pas plus loin. On dit qu’il n’utilise que « les couches basses ».

Le switch en recevant les donnĂ©es du PC va remonter les couches du modĂšle OSI qui l‘intĂ©resse.

Il va regarder dans sa table CAM s’il possĂšde une entrĂ©e pour l’adresse physique (MAC) du destinataire. Comme nous allons vers un serveur hĂ©bergĂ© en dehors de notre rĂ©seau local, ça ne sera pas le cas. Il va donc diffuser les donnĂ©es en broadcast, c’est-Ă -dire qu’il va les transfĂ©rer sur tous les ports jusqu’à ce qu’un autre pĂ©riphĂ©rique sache oĂč les rediriger.

Il va donc redescendre les 2 couches du modÚle OSI et les données arriveront au routeur.

Tout comme le switch, le routeur n’utilisera que les couches basses du modĂšles OSI. A la diffĂ©rence qu’il n’utilise pas l’adressage physique (MAC) du destinataire, mais son adresse logique (IP). Il va donc parcourir le modĂšle OSI jusqu’à la couche 3 RĂ©seau.

En recevant les donnĂ©es, il va remonter les couches du modĂšle OSI qui l’intĂ©resse.

Il va ensuite vĂ©rifier si le destinataire est dans son rĂ©seau, ce qui encore une fois n’est pas le cas puisqu’on envoie une requĂȘte Ă  un serveur externe.

Le routeur va finalement redescendre les couches du modĂšle OSI et transmettre les donnĂ©es Ă  un autre routeur situĂ© sur Internet qui sera susceptible de connaitre le destinataire et ainsi de suite de routeur en routeur, de switch en switch
 jusqu’au serveur web qui hĂ©berge le site mon-site.com

Lorsque les données arriveront au serveur, celles-ci vont tout simplement remonter une à une les couches du modÚle OSI.

Le serveur va alors rĂ©pondre Ă  la requĂȘte du client et envoyer les donnĂ©es demandĂ©es, Ă  savoir, le contenu de la page web demandĂ©e.

Les donnĂ©es vont alors faire le chemin inverse. Depuis le serveur, elles vont redescendre les couches du modĂšle OSI, ĂȘtre transmises aux routeurs/switch, et finalement remonter la couche du modĂšle OSI au niveau du PC.

Voici comment nous pouvons illustrer grossiÚrement la façon dont les données sont transmises à travers le modÚle OSI !

 

Evidemment, dans les faits, vous vous doutez bien que c’est bien plus complexe que ça


Les donnĂ©es sont encapsulĂ©es, c’est-Ă -dire conditionnĂ©es dans un entĂȘte (header) de protocole spĂ©cifique. Chaque couche parcourue va ajouter un entĂȘte supplĂ©mentaire.

On ne parlera alors plus à proprement parler de « données » (techniquement on dit « PDU », Protocol Data Unit, soit en français Unité de données) mais de « segment », « paquet » ou « datagramme », « trame » ou encore « bits » selon les couches.

Lorsque les donnĂ©es remonteront la pile du modĂšle OSI, chaque couche enlĂšvera alors l’entĂȘte la concernant et transfĂ©rera les donnĂ©es Ă  sa couche supĂ©rieure.

Si vous souhaitez creuser le sujet, voici un lien intéressant : les-reseaux-de-zero/modele-osi

 

En attendant, c’est tout pour cette introduction au modùle OSI !

Si vous avez compris le fonctionnement du modĂšle OSI, vous savez comment fonctionne un rĂ©seau ! Il ne vous reste plus qu’à assimiler quels protocoles sont utilisĂ©s dans chaque couche.

Bon courage ! bb


Introduction au modĂšle OSI

Articles pouvant vous intéresser