OSI et TCP/IP


1.  Introduction

Avant  d'expliquer  en  quoi  consiste  le  modèle  OSI,  il  convient  tout  d'abord  de  comprendre  pourquoi  une
architecture de ce type a été mise en place.

Le principe même d'un réseau est d'échanger des informations entre deux entités.
Pour cela, le réseau doit être à même d'acheminer des bits, de transporter des paquets, de gérer des échanges d'applications,  ….  Il  doit  même  gérer  les  problèmes  qui  peuvent  apparaître  comme  l'altération  des  données,  la perte de données, la congestion du réseau, des pannes matérielles, ….

Il est difficile pour une même personne de gérer plusieurs choses en même temps et on a rien trouvé de mieux aujourd'hui que de se répartir les tâches. Et bien pour un réseau, c'est la même chose, il a donc fallut décomposer le problème. Pour cela le principe a été de décomposer la structure en couches. (niveaux).
 

2.  Structure en couche

Chaque  couche  est  construite  sur  la  précédente.  Un  nombre  déterminé  de  couche  est construite  mais  chaque  réseau  peut  n'utiliser  que  les  couches  qui  lui  sont  nécessaire. La couche session, par exemple, est peu utilisée.  Par  contre, dans  tous  les réseaux,  le rôle de chaque couche est d'offrir des services à la couche supérieure.
Il y a deux aspects positifs à la mise en place d'une structure en couche, un aspect vertical et horizontal.

2.1.  Aspect vertical

 Aspect vertical
Chaque  couche  est  constituée  d'éléments  matériels  et  logiciels  offrant  un  service  à  la  couche  située
immédiatement au-dessus d'elle en lui épargnant les détails d'implémentation nécessaire.
Entre deux couches, il y a une interface.  

2.2.  Aspect horizontal

 Aspect horizontal
Comme le montre le schéma ci-dessus, chaque couche (N) d'une station gère la communication avec la couche
(N) d'une autre station en suivant un protocole de niveau (N) qui est un ensemble de règles de communication
pour le service de niveau (N).
 
Sur ce schéma, les entités (N) représentent les éléments actifs de la couche (N).
 

2.3.  Aspect général

En fait, aucune donnée n'est transférée directement d'une couche (N) à une autre couche (N), mais elle l'est par
étapes successives. Un message qui sera envoyé d'une station A à une station B passera de couches en couches
sur  la  même  station  afin  d'atteindre  le  support  physique  avant  d'atteindre  le  destinataire  et  de  remonter  de
couches en couches pour valider le message.
 
Il résulte, de ce principe d'échange par service et protocole, les informations suivantes :
 

2.4.  La communication entre couches

La relation entre couches adjacentes est appelée Interface. Celle-ci décrit comment accéder aux services offerts
par une couche et elle est définie par un ensemble de primitives élémentaires.
La communication s'effectue aussi en réalisant des services par un ensemble d'entités (matérielles ou logiciels) ainsi qu'un accès aux services par des points d'accès (Service Access Point - SAP) étant identifié par une adresse.
 Schéma de la communication entre couches
 
 
On trouve alors 4 types de primitives de services :
Schéma des 4 primitives de services

3.  Le modèle de référence OSI

Un  modèle  d'architecture  développé  par  l'Organisation  Internationale  de  Normalisation  (ISO  :  International Standards Organization) est donc utilisé pour décrire la structure et les fonctions des protocoles de transmission de données.
Ce modèle d'architecture, appelé Modèle de référence de l'Interconnexion de Systèmes Ouverts (OSI :  Open  Systems  Interconnect  Reference  Model),  fournit  un  cadre  de  référence  commun  permettant  d'expliquer correctement  les  transmissions  de  données.
Les  termes  définis  aux  moyens  de  ce  modèle  ne  posent  aucun problème de compréhension et sont utilisés par les spécialistes de la transmission de données. En fait, il s'avère pratiquement impossible de traiter de la transmission de données sans utiliser la terminologie OSI.

Dans la pratique, on n'utilise pas un modèle d'architecture. Il permet de décrire, de représenter une architecture. Il s'agit d'un modèle conceptuel, arbitaire.
Il permet, dans l'élaboration d'un site, de visualiser différentes étapes qui correspondent aux intitulés des couches du modèles OSI. Il y aura insi différentes étapes faisant appel à des applications, des présentations, des sessions, du transport de données, aux réseaux, aux liaisons et au matériel (physique).

OSI est plus fin, plus précis que TCP/IP qui est plus courant.

Le  modèle  de  référence  OSI  comporte  sept  couches,  définissant  les  différentes  fonctions  des  protocoles  de transmissions de données. Chaque couche du modèle OSI représente une fonction exécutée lorsque les données sont transférées entre deux applications coopérantes sur un réseau intermédiaire.
Une  couche  ne  correspond  pas  à  la  spécification  d'un  protocole. Elle  définit  une  fonction  de  transmission  de données, qui peut être exécutée par un nombre quelconque de protocoles. Par conséquent, chaque couche peut contenir  plusieurs  protocoles,  chacun  fournissant  un  service  utile  à  la  fonction  de  cette  couche.  Exemple  :  un protocole  de  transfert  de  fichiers  et  un  protocole  de  courrier  électronique  fournissent  tous  deux  des  services
utilisateurs et sont partie intégrante de la couche Application.
 
 Modèle OSI
 
Sur  ce  schéma  du  modèle  OSI,  on  trouve  un  découpage  des  couches  en  deux  niveaux  :  couches  hautes  et
couches basses.
Les  couches  hautes  rendent  un  service  d'accès  et  comportent  les  fonctions  de  traitement  sur  les  données
transportées.
Les couches basses rendent un service de transport et comportent les fonctions de transmissions de données.

 

3.1.  Rôles de 7 couches

De bas en haut :
Couche 1 : Physique La couche Physique définit les caractéristiques du matériel nécessaire à  l'acheminement  du  signal  de  transmission  de  données (les  niveaux  de  tension  ainsi  que  le  nombre  et  la localisation  des  broches  de  l'interface).  Exemples  de  standard  au  niveau  de  la  couche Physique : connecteurs d'interface tels que RS232C et V.35 ainsi que les standards pour le câblage du réseau local tels que IEEE802.3.Equivaut à la carte réseau.
 
Elle définit les caractéristiques physiques du matériel réseau
Couche 2 : Liaison La  couche  Liaison  de  données  garantit  la  fiabilité  de  la  transmission des  données  sur  le  réseau  physique  sous-jacent.  Elle  établie  un contrôle de flux et un contrôle d'erreur.
 
Elle assure la transmission des données sur la liaison physique
Couche 3 : Réseau La  couche  Réseau  gère  les  connexions  sur  le  réseau  et  isole  les protocoles de la couche supérieure des détails du réseau sous-jacent. Cette  couche  est  responsable  de  l'adressage,  du  routage  et  du contrôle de congestion.
 
Elle gère les connexions au travers du réseau pour les couches
supérieures
Couche 4 : Transport La couche Transport garantit que le récepteur reçoit les données telles qu'elles ont été envoyées. Elle est responsable du transfert de bout-
en-bout, avec fiabilité et efficacité. Elle est responsable du contrôle de flux, de reprise sur erreur et de l'optimisation.
Elle certifie le processus de destination.
 
Elle assure la détection et la correction d'erreur bout en bout.
Couche 5 : Session La  couche  Session  gère  les  connexions, les sessions  entre  les  applications coopérantes.  Elle  est  responsable  des  mécanismes  nécessaires  à  la gestion d'une session. Elle organise, synchronise le dialogue et établie et libère une session.
 
La session paut-être définie comme une mise en relation pour communiquer. Un sessions FTP met en contact deux espaces mémoires par exemple.
Elle gère les sessions entre applications
Couche 6 : Présentation Pour que les applications coopérantes puissent échanger des données, elles  doivent  utiliser  la  même  représentation  de  données.  Dans  le modèle  OSI,  la couche Présentation  fournit  les  sous  programmes  de présentation  de  données.  Elle  s'occupe  de  la  traduction,  de  la compression et du cryptage des données.
 
Elle  standardise  la  présentation  des  données  destinées  aux
applications
Couche 7 : Application Dans  la  hiérarchie  de  protocole,  la  couche  Application  correspond  au niveau  où  sont  localisées  les  opérations  du  réseau  accessibles  à l'utilisateur. Exemples : aux protocoles HTTP, FTP, SMTP correspondent des applications.
 
Elle  comporte  les  programmes  d'applications  utilisant  le
réseau.

 

3.2.  Transmission de données

Schéma de transmission des données
Le  processus  émetteur  remet  les  données  à  envoyer  au  processus  récepteur  à  la  couche  application  qui  leur
ajoute un en-tête application AH. Le résultat est alors transmis à la couche présentation.

La couche présentation transforme alors ce message et lui ajoute un nouvel en-tête. La couche présentation ne
connaît  et  ne  doit  pas  connaître  l'existence  éventuelle  de  AH ;  pour  la  couche  présentation,  AH  fait  partie  des
données  utilisateur.  Une  fois  le  traitement  terminé,  la  couche  présentation  envoie  le  nouveau  "message"  à  la
couche session et le même processus recommence.

Cf PDU et SPDU : transmission des données et encapsulage à chaque étape : cf siteduzéro.
En fait chaque encapsulage, ajoute des informations pour préciser la "procédure" de traitement de la donnée en cours.
L'encapsulage correspondant à la couche transport, précisera ce qui sera à faire.

A chaque étape l'entête correspondant à la couche est ajoutée à la donnée utilisateur.

Les données atteignent alors la couche physique qui va effectivement transmettre les données au destinataire. A
la réception, le message va remonter les couches et les en-têtes sont progressivement retirés jusqu'à atteindre le
processus récepteur.
 

4.  TCP/IP

Modéle le plus courant.

4.1.  Description

S'appuyant sur le modèle OSI le modèle TCP/IP peut être représenté comme un modèle à 4 couches.
 Présentation de TCP/IP à partir du modèle OSI
  
Chaque  couche  possède  ses  propres  structures  de  données  indépendantes.  Une  couche  n'est  pas  sensible  aux
structures  de  données  qu'utilisent  les  couches  situées  sous  ou  au-dessus  d'elle.  En  réalité,  les  structures  de
données d'une couche sont conçues de manière à garantir une parfaite compatibilité avec les structures utilisées
par  les  autres  couches  afin  d'assurer  une  transmission  plus  efficace  des  données.  De  plus,  une  structure  de
données et une terminologie spécifique à chaque couche ont été définies de manière à la décrire.
 
 Termes des couches TCP/IP
 
L'image  ci-dessus  illustre  les  termes qu'utilisent  les  différentes  couches  de  TCP/IP  pour  faire  référence  à  des  données transmises.
Les applications utilisant TCP font référence aux données comme étant des trains de données (streams),  alors  que  les  applications  utilisent  le  protocole  datagramme  (UDP  :  User  Datagram  Protocol)  y  font référence  comme  étant  un  message.
Dans  TCP  les  données  sont  appelées  segment  tandis  que  dans  UDP,  la structure de donnée correspond à un paquet.
La couche Internet représente toutes les données sous la forme de blocs  appelés  datagramme. 
TCP/IP  utilise  plusieurs  types  différents  de  réseaux  sous-jacents,  il  se  peut  que chacun  d'entre  eux  utilise  une  terminologie  différente  pour  décrire  la  transmission  de  données.  La  plupart  des réseaux font références aux données transmises comme étant des paquets ou des trames. Chacun de ces termes font référence à la même chose, des données à transmettre. Les termes varient en fonction de la représentation des données entre les différentes couches du modèle.

 

4.2.  La couche Accès Réseau

La couche Accès réseau correspond à la première couche dans la hiérarchie des protocoles TCP/IP, la plus basse. Les protocoles de cette couche fournissent au système les moyens nécessaires lui permettant de transmettre des données vers d'autres machines périphériques directement connectées sur le réseau. Elle définit l'utilisation du réseau afin de transmettre un datagramme IP.
Contrairement aux protocoles de haut niveau, les protocoles de la couche Accès réseau doivent connaître impérativement les caractéristiques techniques du réseau sous-jacent (sa structure de paquet, son adressage, …) de manière à structurer correctement les données à transmettre afin de respecter les
contraintes inhérentes au réseau.
La couche Accès réseau de TCP/IP peut intégrer les fonctions de deux couches inférieures du modèle OSI (Liaison
de données et Physique).

En gros, elle comporte les routines permettant d'accéder aux réseaux phyqiques.
 

4.3.  La couche Internet

Le protocole Internet constitue la pierre angulaire du réseau Internet. Ses fonctions incluent :
En gros, elle définit la datagramme et prend en charge le routage des données.  
IP  est  avant  tout  un  protocole  orienté  non  connexion.  Il  n'échange  aucune  information  de connexion  de  bout  en  bout  avant  de  transmettre  les  données. 
En  revanche,  un  protocole  orienté  connexion échange  des  informations  de  contrôle  avec  le  système  à  distance  afin  de  vérifier  qu'il  est  prêt  à  recevoir  les données avant de les envoyer. Dès que le message d'établissement de connexion est reçu avec succès, on dit que
les systèmes ont établi une connexion.
Le protocole Internet délègue aux protocoles des autres couches le soin d'établir la connexion s'ils requièrent un service orienté connexion.
 

4.4.  La couche transport

La couche Transport est située au-dessus de la couche Internet. Ses deux protocoles les plus importants sont : le protocole de contrôle de la transmission (TCP) et le protocole de datagramme utilisateur (UDP).
TCP assure un service de transmission de données fiable avec une détection et une correction d'erreurs de bout en bout.
UDP offre un service de transmission de datagrammes sans connexion.
Ils transmettent  des  données  entre  la  couche  Application  et  la  couche  Internet.
Les  développeurs d'applications peuvent choisir le service répondant le mieux aux besoins de leurs applications spécifiques.
 

4.4.1. UDP : User Datagram Protocol

Le protocole UDP permet aux applications d'accéder directement à un service de transmission de datagrammes,
tel que le service de transmission qu'offre IP. De cette manière, les applications peuvent échanger des messages
au travers du réseau avec un surcoût minimum, dû au protocole.
UDP  est  un  protocole  de  datagramme  sans  connexion,  peu  fiable.  (c'est-à-dire  que  le  protocole  ne  comprend
aucune technique permettant de vérifier que l'autre extrémité du réseau a correctement réceptionné les données).
 Exemple : utiliser lors de la consultation de vidéo sur Internet.

4.4.2. TCP : Transfer Control Protocol

TCP est un protocole fiable en ce sens ou un mécnisme d'accusé de réception est utilisé.
TCP est un protocole orienté connexion car il établit une connexion logique de bout en bout entre 2 stations.
TCP  se  représente  les  données  qu'il  envoie  sous  la  forme  d'un  flot  continu  d'octets  et  non  sous  la  forme  de
paquets indépendants. Par conséquent, TCP veille à maintenir l'ordre dans lequel les octets ont été transmis et
reçus.
 

4.5.  Couche application

La  Couche  Application  constitue  le  sommet  de  l'architecture  TCP/IP.  Elle  inclut  tous  les  processus  qui  utilisent les protocoles de la couche Transport pour transmettre des données. Il existe de nombreux protocoles d'applications. La plupart assurent les services utilisateur ; les nouveaux services sont toujours ajoutés au niveau de cette couche. On peut trouver :
En gros, elle comporte les applications et processus utilisant le réseau.

5.  Représentation de TCP/IP sur le modèle OSI

 
 Réprésentation de TCP/IP sur le modéle OSI

Précision :
Protocole ARP et RARP : protocole d'adressage.
Par exemple, dans ordinateur, il y a une table ARP qui va connaître le routeur et ce routeur va connaître la table ARP d'un serveur web etc...
grâce à  cette table ARP, le dialogue va être possible.

6. Sites à consulter :

Modèles OSI et TCP-IP par le siteduzero
Des explications sur les protocoles réseau sur wikipédia
Deux tutoriels intéressants sur le site du zéro
Les protocoles Internet par comment ça marche