Loading...

La Couche Session : Fonctionnement et Rôle dans le Modèle OSI

Le modèle OSI (Open Systems Interconnection) est une norme de communication réseau fondamentale pour tous les systèmes informatiques. Il s'agit d'un modèle conceptuel qui décrit le fonctionnement théorique de n'importe quel réseau en sept couches. Cette architecture, décrite par la norme ISO7498, sert de cadre général pour la création de normes futures, sans imposer de technologies physiques ou logicielles spécifiques. L'objectif est de définir une architecture que les technologies doivent respecter pour qu'un réseau global puisse émerger. Le découpage en couches permet de séparer les préoccupations et de traiter un aspect particulier de la problématique générale, comme identifier une machine, envoyer des données ou formater les données.

Définition : Service, Protocole et Interface

Dans la terminologie OSI, chaque couche est délimitée par un service, un protocole et une interface. Un service correspond aux fonctions réalisables par une couche, c'est-à-dire un ensemble de commandes ou primitives. Un protocole correspond aux règles d'échange entre les couches, dans le but de réaliser un service. L'interface est le point d'accès concret au service, spécifiant comment utiliser le protocole permettant d'accéder au service. Les couches basses rendent des services aux couches plus hautes.

Présentation Générale du Modèle OSI

Le modèle OSI comprend sept couches distinctes, chacune ayant un rôle spécifique dans le processus de communication réseau :

  1. Couche Physique : Chargée d'émettre et de recevoir des données brutes entre deux machines, en utilisant diverses techniques comme la fibre optique, le câble Ethernet, ou les ondes électromagnétiques. Elle régit des paramètres comme le débit binaire, la puissance du signal, les connecteurs physiques, les types de câbles et la topologie réseau.
  2. Couche Liaison de Données : Gère la communication entre deux machines directement connectées, en structurant les données transmises à l'aide de marqueurs, de champs et de mécanismes de contrôle. Elle crée des trames de données à partir des bits bruts provenant de la couche physique et gère les communications node-to-node au moyen d’adresses physiques (adresses MAC). Sa capacité à détecter et corriger les erreurs lui permet de garantir la fiabilité des transmissions de données.
  3. Couche Réseau : Gère les communications entre plusieurs machines d'un même réseau, en utilisant les notions d'adressage, de routage et de fragmentation. Elle assure le transfert de blocs de données de longueurs variables (des « paquets ») d’un nœud à l’autre au sein de différents réseaux.
  4. Couche Transport : Gère les communications de bout en bout, sans se soucier du mode de transport, en raisonnant en termes de messages complets plutôt qu'en termes de paquets. Elle assure la fiabilité des transmissions, grâce notamment aux protocoles TCP et UDP.
  5. Couche Session : Agit comme un chef d'orchestre des discussions entre les différents acteurs, en gérant par exemple les tours de parole. Elle établit, gère et clôt les connexions (ou sessions) entre les applications aux deux extrémités de la communication.
  6. Couche Présentation : Chargée du codage des données à communiquer, en transformant les données en un format transportable par les couches inférieures et en négociant un format commun avec le destinataire. Elle concerne le codage des données, à savoir leur traduction dans un format standard. Les opérations de chiffrement, de décryptage et de compression de données sont effectuées à ce niveau.
  7. Couche Application : Ne contient pas les véritables applications, mais leur rend des services en offrant un ensemble de fonctionnalités standard, comme le transfert de fichiers. Elle sert d’interface pour les communications entre les utilisateurs/processus et le réseau. Elle fournit des services spécifiques à chaque application, dont la navigation web (HTTP), le transfert de fichiers ou la messagerie électronique.

Focus sur la Couche Session (Couche 5)

La couche session, située au cinquième niveau du modèle OSI, joue un rôle crucial dans l'organisation et la synchronisation des communications entre applications. Son rôle est parfois considéré comme ambigu, car ses fonctions sont souvent intégrées directement dans le code applicatif.

Rôle de Chef d'Orchestre

La couche session agit comme un chef d'orchestre des discussions entre les différents acteurs impliqués dans une communication. Elle synchronise les communications provenant de différentes sources en organisant les connexions de niveau 4 (couche transport). Elle va regrouper des tâches, s’assurer qu’elles sont réalisées en posant des jalons dans la transmission, elle assurera enfin le partage équitable de la parole ! Démocratique la couche 5 !

Lire aussi: Couches bébé : guide d'achat

Par exemple, dans une application de diffusion vidéo, la voix et l'image proviennent de deux sources différentes. La couche session combinerait ces deux flux en veillant à leur synchronisation.

Gestion des Sessions

La principale mission de la couche session consiste à établir une connexion logique, appelée "session", entre deux systèmes. Chaque session est unique et explicite. La couche session assure également le contrôle de ces sessions, en gérant l'accès temporaire à un autre système et en contrôlant la communication.

Cette communication peut être bilatérale, parallèle ou directionnelle. Ce procédé est appelé "contrôle de boîte de dialogue" (Dialog Control). Pour une communication unilatérale, la couche session peut octroyer des jetons afin de contrôler l'ordre et d'éviter toute perturbation lors du dialogue.

Les Jetons de la Couche Session

Pour la couche session OSI, les jetons sont répartis selon quatre catégories :

  • Jetons de données (Data Token) : Pendant une communication unilatérale en mode "half-duplex", ils précisent quel interlocuteur a l'autorisation d'émettre, et à quel moment.
  • Jetons d'activité (Activity Major Token) : Ces jetons servent à diviser une connexion en différentes activités. Si l'une de ces activités est interrompue ou annulée, elle peut être reprise par la suite, que ce soit dans la session concernée ou dans une autre.
  • Jetons de synchronisation (Synchronize Minor Token) : Numérotés de 0 à 999 999, ces jetons sont utilisés pour décomposer une communication.
  • Jetons de clôture (Release Token) : Ces jetons marquent la fin d'une session.

Synchronisation et Reprise de Communication

Un autre service essentiel assuré par la couche session est la synchronisation de l'échange de données. Celle-ci prend toute son importance dès lors qu'un transfert de données est interrompu de façon inattendue et accidentelle à l'un des quatre premiers niveaux.

Lire aussi: Causes et symptômes de la fausse couche

Pour parer à toute éventualité, la couche session OSI crée donc des points de synchronisation spéciaux. Si la communication vient à être interrompue, le transfert peut donc reprendre à l'un de ces points, ce qui évite d'avoir à tout recommencer. Ce service peut s'avérer particulièrement utile dans le cadre de communications où les connexions sont lentes et instables, ou dont les fichiers sont particulièrement volumineux.

Les points de synchronisation prévus par la couche session peuvent se ranger dans deux grandes catégories :

  • Points de synchronisation majeurs : Ils permettent de fractionner en unités individuelles les données devant faire l'objet d'un transfert. Une confirmation explicite est requise pour ces points de synchronisation.
  • Points de synchronisation mineurs : Ils garantissent l'aspect logique et pratique au sein de ces unités ; leur confirmation est facultative.

Imaginez votre déconfiture lorsqu’un transfert de 10 Mo est sur le point de se terminer et qu’une coupure réseau, que n’a pas pu rattraper la couche 4, vient interrompre le travail en cours ! Une heure de boulot, à l’eau ! Dans ce cas, la couche 5 permet de reprendre la communication à l'endroit où elle s'est arrêtée. Tous les 2 Mo par exemple, l’émetteur se serait arrêté et se serait assuré auprès du destinataire de la bonne réception. Si dans un train de 2 Mo il y avait un problème, la couche session aurait lancé une reprise à partir des derniers 2 Mo validés !

Services Pris en Charge par la Couche Session

Les services proposés par la couche session, notamment ceux mentionnés précédemment, sont mis à disposition des processus d'application. Ils ont pour but d'optimiser l'organisation et la synchronisation des communications et sont utilisés dès que la couche session demande une connexion à un deuxième ordinateur auprès de la couche transport (soit le quatrième niveau). Les services sont rassemblés sous forme d'unités fonctionnelles.

L'Organisation internationale de normalisation (International Organization for Standardization, ISO), qui a participé au développement du modèle OSI, propose un système de classification pour les unités fonctionnelles. Les deux interlocuteurs concernés choisissent leur combinaison avant la session.

Lire aussi: Couche-Tard : Stratégies et développement

  • Basic Combined Subset (BCS) : Compatible avec le noyau et les communications en mode "half-duplex" et "duplex".
  • Basic Synchronized Subset (BSS) : Compatible avec le noyau, les communications en mode "half-duplex", la clôture négociée, les points de synchronisation mineurs et majeurs et la resynchronisation.
  • Basic Activity Subset (BAS) : Compatible avec le noyau, les communications en mode "half-duplex", les points de synchronisation mineurs, les exceptions et la gestion des activités.

Protocoles Utilisant la Couche Session

De nombreux protocoles font appel à la couche session OSI. Par l'intermédiaire d'interfaces de programmation, la couche session met en effet ses protocoles et services à disposition des couches qui lui succèdent. Il convient de préciser que les paramètres et les propriétés des couches qui la précèdent sont sans importance pour les liaisons de communication résilientes.

L’unité de donnée du protocole est appelée la SPDU (Session Protocol Data Unit).

Exemples de Fonctionnement

  • Gestion des dialogues : La couche session a pour rôle de gérer l’attribution de la parole à chaque entité applicative à tour de rôle par délivrance d’un jeton. Seule l’entité applicative possédant le jeton a le droit de prendre l’initiative d’un travail.
  • Reprise de téléchargement : Une évolution du protocole FTP a permis de reprendre un téléchargement à l’endroit où il a été interrompu. Il n’est plus nécessaire de le reprendre au début. FTP simule ce principe en mémorisant le nombre d’octets téléchargés. Il conserve cette information en cache sur votre disque dur, en l’associant à l’URL du fichier téléchargé. De cette manière vous pouvez même reprendre votre téléchargement plusieurs jours après.
  • Organisation des activités : La couche session va organiser sur la connexion de couche 4, la séparation en activités qui seront généralement séquencées dans le temps. Chaque activité aura donné lieu à un point de reprise majeur, qui jalonne le début et la fin d’une activité !

Le Modèle OSI et TCP/IP

L'architecture du modèle OSI est très stricte et s'efforce de séparer les fonctionnalités qui sont séparables. Internet repose essentiellement sur les protocoles IP et TCP, que l'on peut associer aux couches 3 et 4. Pour les applications Internet, chaque session est liée à un port particulier, c'est-à-dire à un numéro associé à une application d'une couche supérieure. Par exemple, HTTP porte toujours le numéro de port 80. Les numéros de port associés aux principales applications Internet sont dits réservés.

Le modèle TCP/IP, plus axé sur les réalités de la communication réseau, regroupe certaines fonctions en une seule couche, et n’en possède donc que quatre : Couche d’accès réseau, Couche Internet, Couche de transport et Couche applicative.

tags: #la #couche #session #fonctionnement

Articles populaires:

Share: