La couche session, située au cinquième niveau du modèle OSI (Open Systems Interconnection), joue un rôle crucial, bien que parfois sous-estimé, dans l'organisation et la synchronisation des communications entre applications sur un réseau. Elle agit comme un chef d'orchestre, assurant un dialogue structuré et efficace entre les processus applicatifs.
Introduction au Modèle OSI
Le modèle OSI est une norme de communication en réseau qui structure le fonctionnement théorique d'un réseau en sept couches distinctes. Chaque couche est délimitée par un service, un protocole et une interface, permettant une séparation des préoccupations et une spécialisation des tâches. Les couches basses rendent des services aux couches plus hautes, facilitant ainsi la communication entre systèmes hétérogènes.
Les sept couches du modèle OSI sont :
- Couche physique ("physical layer") : Transmission de données brutes.
- Couche liaison de données ("data link layer") : Gestion de la communication entre deux machines directement connectées.
- Couche réseau ("network layer") : Gestion des communications entre plusieurs machines d'un même réseau (adressage, routage, fragmentation).
- Couche transport ("transport layer") : Gestion des communications de bout en bout, correction des erreurs et contrôle de flux.
- Couche session ("session layer") : Organisation et synchronisation des communications entre applications.
- Couche présentation ("presentation layer") : Codage et décodage des données.
- Couche application ("application layer") : Interface d'accès des applications au réseau.
Rôle et Fonctions de la Couche Session
La couche session a pour mission principale d'établir et de gérer des sessions, c'est-à-dire des connexions logiques uniques et explicites, entre deux systèmes finaux. Elle s'assure que la communication est organisée, synchronisée et peut être reprise en cas d'interruption.
1. Organisation du Dialogue:
La couche session structure la connexion de couche 4 en activités séquencées dans le temps, chacune jalonnée par des points de reprise majeurs. Elle organise 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é. Cela permet de gérer des relations complexes entre applications, qui peuvent impliquer plusieurs tâches consécutives, voire simultanées.
Lire aussi: Choisir les meilleures couches de piscine pour bébés
2. Gestion de l'Attribution de la Parole:
La couche session peut gérer l'attribution de la parole à chaque entité applicative à tour de rôle, par la délivrance d'un jeton. Seule l'entité applicative possédant le jeton a le droit de prendre l'initiative d'un travail. Cette fonction assure un partage équitable de la parole et évite les conflits lors de la communication. La couche session assure également le contrôle de ces sessions. Celle-ci peut par exemple accorder un accès temporaire à un autre système tout en contrôlant la communication à cet égard. Celle-ci peut être bilatérale, parallèle ou directionnelle. Ce procédé porte le nom de « contrôle de boîte de dialogue » (Dialog Control), et il est pris en charge par la couche session OSI.
3. Synchronisation des Données:
La synchronisation est une autre fonction essentielle de la couche session. Elle permet de 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. En cas d'interruption inattendue lors d'un transfert de données, la couche session permet de reprendre la communication à l'endroit où elle s'est arrêtée, évitant ainsi de devoir recommencer depuis le début. 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 dans le cadre de communications où les connexions sont lentes et instables, ou dont les fichiers sont particulièrement volumineux.
4. Jetons de la couche session OSI:
- 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.
5. Points de synchronisation:
- Les points de synchronisation majeurs 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.
- Les points de synchronisation mineurs, quant à eux, garantissent l’aspect logique et pratique au sein de ces unités ; leur confirmation est facultative.
La SPDU (Session Protocol Data Unit)
L'unité de donnée du protocole de la couche session est appelée la SPDU (Session Protocol Data Unit).
Services Offerts par la Couche Session
Les services proposés par la couche session, notamment ceux que nous avons déjà mentionnés, 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.
- 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
Couche Session et Protocoles
Nombreux sont les protocoles qui 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.
Lire aussi: Comprendre les pleurs nocturnes de bébé
Importance et Pertinence Actuelle
Bien que la couche session soit parfois considérée comme moins cruciale que d'autres couches du modèle OSI, son rôle dans la gestion du dialogue et la synchronisation des données reste important, en particulier dans les environnements où les connexions sont instables ou les transferts de données sont volumineux.
Couche session et contrôle des communications
La principale mission de la couche session consiste à établir une connexion logique entre deux systèmes. Cette connexion porte le nom de « session ». Chaque fois, celle-ci est unique et explicite. La couche session assure également le contrôle de ces sessions. Cette couche peut par exemple accorder un accès temporaire à un autre système tout en contrôlant la communication à cet égard.
Exemple de la couche session
Dans une application de diffusion vidéo, la voix et l'image proviennent de deux sources différentes. Il faut organiser leur transmission de telle sorte que les données de la voix soient synchronisés avec les données de l'image. En respectant le modèle OSI, la couche session combinerait ces deux flux en veillant à leur synchronisation.
Couche Session et TCP/IP
Il est important de noter que l'architecture TCP/IP, qui est la base d'Internet, n'implémente pas directement une couche session distincte. Les fonctions de la couche session sont souvent intégrées dans les applications elles-mêmes ou gérées par d'autres protocoles. Internet repose essentiellement sur les protocoles IP et TCP, que l'on peut associer aux couches 3 et 4.
Couche Session, Présentation et Application
Les couches 5 à 7, sortent sérieusement du domaine purement téléinformatique ! Jusqu’à peu, elles étaient systématiquement noyées dans le code source applicatif. La couche présentation, également appelée « presentation layer », interagit de très près avec la couche application qui la suit. Elle a pour principale mission de présenter les données de sorte que celles-ci puissent être comprises et interprétées par les deux interlocuteurs concernés, c’est-à-dire le système qui émet et celui qui reçoit. Ensuite, elle crée automatiquement un ensemble d’instructions ou une syntaxe de transfert abstraite à partir de ces informations. Une deuxième mission des plus importantes est très souvent confiée à la couche présentation, celle de chiffrer et déchiffrer les données. Pour la mener à bien, il faut commencer par chiffrer les données du côté de l’expéditeur, puis les envoyer sous cette forme au destinataire. Des clés et d’autres méthodes de chiffrement sont donc échangées par l’intermédiaire de la couche présentation. La troisième fonction de la couche présentation OSI se rapporte à la sérialisation des objets, gérée directement par la « presentation layer ». Les objets de données d’application complexes sont convertis pour un transfert plus facile et un meilleur stockage chez le destinataire. Cela permet de faciliter le transfert de données, y compris pour les fichiers les plus ambitieux. Le destinataire peut ensuite reconstruire l’objet de façon rapide et infaillible. Pour ce faire, ce dernier est à nouveau converti dans un format exécutable par l’application concernée. Ainsi, il n’est pas nécessaire d’intégrer des fonctions de compression à l’application en elle-même.
Lire aussi: Guide pour une Couche Confortable
tags: #la #couche #session #définition
