GÉNÉRALITÉS (1/1) Les couches supérieures du modèle OSI (Session, Présentation et Application) offrent des services orientés «utilisateur». Elles opèrent sur un canal de communication sans erreur fourni par la couche Transport. La couche Session fournit aux entités des couches supérieures les moyens nécessaires pour : ORGANISER et SYNCHRONISER leur DIALOGUE Analogie avec une conversation téléphonique : Full-duplex exploité en réalité en Half-Duplex (dialogue intelligible) intelligence humaine échange d identités qui parle d abord? test d écoute sujets différents reprise de conversation si interruption Dans les Réseaux : fonctions assurées par couche Application MAIS Session offre les outils pour les mettre en place : - échanger des données en half-duplex - rendre possible l interruption d un dialogue - autoriser le reprise du dialogue Th. DESPRATS - 1 - Couche Session
CONCEPTS utilisés dans l OSI (1/4) STRUCTURATION des ECHANGES Les ACTIVITÉS : Activité : Unité de structuration du dialogue qui représente une unité logique de travail qui peut être suspendue puis reprise. Une activité est indépendante d une connexion de session : au cours d une même connexion, plusieurs activités obligatoirement consécutives peuvent se dérouler (jamais plusieurs simultanées). une activité peut se prolonger sur plusieurs connexions de session. Une activité est désignée par un identificateur défini par l utilisateur. Une activité peut être structurée en plusieurs unités de dialogue. Les UNITÉS de DIALOGUE : Unité de dialogue : Unité de structuration logique d une activité (ou d une session) caractérisée par le fait que tous les éléments de dialogue échangés au cours d une unité sont complètement séparés de ceux qui la précèdent ou la suivent dans l activité. Une Unité de dialogue est délimité par deux points de synchronisation majeurs. Sa structure interne peut être raffinée en positionnant des points de synchronisation mineurs. Unité de dialogue Point de synchronisation majeur Point de synchronisation mineur Point de synchronisation mineur Point de synchronisation mineur Point de synchronisation majeur Th. DESPRATS - 2 - Couche Session
CONCEPTS utilisés dans l OSI (2/4) STRUCTURATION des ECHANGES Schéma RECAPITULATIF : SESSION Activité 1 Activité 2 Unité de dialogue Unité de dialogue Lancement d'activité Point de synchronisation majeur Terminaison d'activité Lancement d'activité Terminaison d'activité POINTS de SYNCHRONISATION : Les utilisateurs de session décident eux-mêmes de la structuration du dialogue : ils demandent à SESSION l insertion et la gestion des points de synchronisation. Ils sont ensuite capables d exploiter à leur niveau cette structuration. Tout point de synchronisation est identifié par un numéro de série attribué de façon incrémentale et géré par SESSION. Un point de synchronisation MAJEUR constitue une véritable frontière entre deux phases de dialogue : il doit être explicitement confirmé par l entité homologue avant de procéder à l envoi de données. Les points de synchronisation MINEURS ne sont pas confirmés obligatoirement un à un. La confirmation de l un entraîne explicitement la confirmation des précédents. La non confirmation n interdit pas la poursuite du transfert des données. POINT de SYNCHRO = DELIMITEUR LOGIQUE de PHASES de DIALOGUE = = = > REPRISE possible dans un état COHERENT Th. DESPRATS - 3 - Couche Session
CONCEPTS utilisés dans l OSI (3/4) Les JETONS JETONS et SERVICES de SESSION : Jeton : Objet purement logique ne pouvant être ni dupliqué ni perdu mais pouvant être cédé à un autre utilisateur de SESSION qui le demande. Utilisation des services de session : L utilisation optionnelle de certains services de SESSION est soumise à la possession d un jeton : un jeton est un droit exclusif qu a l utilisateur qui le possède d utiliser ou non le service correspondant. DISPONIBILITÉ et ATTRIBUTION : Un jeton est dit «disponible» : s il est mis en œuvre c est à dire que le service correspondant a été retenu lors de l établissement de la connexion de SESSION. Dans ce cas, le jeton peut être : «attribué» à un utilisateur qui a alors le droit exclusif d utiliser le service correspondant «non attribué» ce qui interdit à tout utilisateur d utiliser le service correspondant. Un jeton est dit «indisponible» : s il n est pas mis en œuvre c est à dire que le service correspondant n a pas été retenu lors de l établissement de la connexion de SESSION. Suivant le service, celui-ci peut être : - soit interdit d utilisation - soit autorisé pour les utilisateurs. Dans ce cas les utilisateurs ont le même droit. Th. DESPRATS - 4 - Couche Session
CONCEPTS utilisés dans l OSI (4/4) Les JETONS TYPE de JETON : Un type de jeton correspond à un type de service. Quatre sont normalisés: - le jeton de données (dk) - le jeton de terminaison (tr) - le jeton de synchronisation mineure (mi) - le jeton de synchronisation majeure et d activité (ma). RECAPITULATIF : Service Transfert données normales half-duplex Jetons Données Termin. Sync. min. Sync. maj. O Terminaison de connexion A A A A Pose de point de sync. mineur A O Pose de point de sync. majeur A A O Lancement d activité A A O Reprise d activité A A O Interruption d activité Abandon d activité O O Terminaison d activité A A O Données de Capacité A A O Anomalies NA Passation de contrôle A A A O Demande de jeton Cession de jetons NON Possession des jetons demandés Possession des jetons demandés O : jeton obligatoire - A : jeton doit être attribué - NA : jeton disponible et non attribué Th. DESPRATS - 5 - Couche Session
La VIE d une CONNEXION de SESSION (1/8) CARACTÉRISTIQUES d une SESSION CONNEXION de SESSION : Une Session : est une connexion de SESSION Session(s) et connexion(s) de Transport : Pas de possibilité ni de multiplexage ni d éclatement de entre sessions et connexions de Transport. Toutefois, une session ne correspond pas obligatoirement une seule connexion de Transport : une connexion de Transport véhicule à tout instant au plus une session. Trois schémas sont possibles : c/5 c/4 c/5 c/4 c/5 c/4 Correspondance biunivoque Sessions consécutives sur une même connexion de Transport Une session sur plusieurs connexions de Transport successives Le modèle OSI prévoit la possibilité d utiliser des adresses de SESSION distinctes des adresses de TRANSPORT (cela est possible mais non obligatoire). Chaque session est repérée durant sa durée de vie par un identificateur unique appelé identificateur de connexion de session. VIE d une CONNEXION de SESSION : TROIS PHASES : 1 ETABLISSEMENT de CONNEXION (1 service) 2 TRANSFERT de DONNÉES (5 services) 3 TERMINAISON de CONNEXION (3 services) Th. DESPRATS - 6 - Couche Session
La VIE d une CONNEXION de SESSION (2/8) ETABLISSEMENT de CONNEXION ETABLISSEMENT d une CONNEXION de SESSION : UN seul SERVICE pour réaliser cette phase Principales fonctions effectuées lors de son invocation : Affectation d une connexion de Transport : Soit en établissant une nouvelle connexion de Transport, Soit en réutilisant une connexion de Transport existante. Mise en correspondance des adresses de Transport et de Session (dans le cas où il n y a pas de correspondance biunivoque entre connexions de C/5 et de C/4) Identification de la connexion de session (désignation unique) Transfert éventuel des identificateurs de S-SAP(s) (dans le cas où les adresses de C/5 et de C/4 sont distinctes) Choix des paramètres de QoS (pour choix de la connexion de C/4 débit, taux d erreurs ) Négociation des paramètres de Session : Numéro de version du protocole de C/5 utilisé Unités Fonctionnelles (regroupement de fonctions pouvant être utilisées pendant la session) Attribution initiale des jetons (disponibilité et attribution) Numéro de série initial de point de synchronisation Taille maximale des T-SDU(s) (pour segmentation éventuelle des S-SDUs). Transfert de données liées à l initialisation. Th. DESPRATS - 7 - Couche Session
La VIE d une CONNEXION de SESSION (3/8) PHASE de TRANSFERT PHASE de TRANSERT : LES SERVICES utilisables durant la phase de TRANSFERT sont regroupés en 5 FAMILLES : - TRANSFERT de DONNÉES - GESTION des JETONS - GESTION de la SYNCHRONISATION - GESTION des ERREURS - GESTION des ACTIVITÉS SERVICES de TRANSFERT de DONNÉES: QUATRE SERVICES disponibles : - Transfert de données normales - Transfert de données express - Transfert de données typées - Transfert de données de capacité Th. DESPRATS - 8 - Couche Session
La VIE d une CONNEXION de SESSION (4/8) SERVICES de TRANSFERT de DONNÉES (1/2) TRANSFERT de DONNÉES NORMALES : Ce service est réalisé par l échange de S-PDUs de données ayant un format simplifié : - pas de numérotation, de mécanismes de contrôle de flux et de détection d erreurs car Transport fournit un service d échange de données fiable, - pas de référence de connexion car pas de multiplexage possible, - pas de S-PDUs d acquittement nécessaires. La fonction de Segmentation/Réassemblage est prévue : - Le service de Transport pouvant imposer une taille maximale des T-SDUs, Session peut être amenée à fragmenter une S-SDU de taille trop importante en plusieurs S-PDUs de données. - Pour réaliser le réassemblage, les S-PDUs de données disposent d un flag indiquant si la S-PDU est le début, le milieu ou la fin d une S-SDU. La fonction de Concaténation/Séparation peut être utilisée pour accélerer les échanges par le regroupement de plusieurs S-PDUs de types différents en une seule T-SDU. Le service de transfert de données peut s utiliser sur une session selon l un des deux modes de dialogue : - le mode full-duplex (bi-directionnel) est le mode par défaut qui ne nécessite pas l utilisation du jeton de données : les deux interlocuteurs peuvent émettre quand ils veulent. - le mode half-duplex (mono-directionnel) exige la disponibilité du jeton de données. On peut alors envisager un dialogue : - à l alternat : principe du tour de parole géré par échange du jeton, - sans alternat, dans le cas où le jeton reste attribué au même interlocuteur. Th. DESPRATS - 9 - Couche Session
La VIE d une CONNEXION de SESSION (5/8) SERVICES de TRANSFERT de DONNÉES (2/2) TRANSFERT de DONNÉES EXPRESS : Le service de transfert de données express assure l acheminement prioritaire d une quantité limitée de données utilisateur transmises indépendamment du tour de parole sur le flot de données express du service de Transport. TRANSFERT de DONNÉES TYPÉES : Le service de transfert de données typées permet à un interlocuteur ne disposant pas du tour de parole d envoyer des informations de contrôle en quantité limitée : le flot de données normales de Transport est utilisé. TRANSFERT de DONNÉES de CAPACITÉ : Le service de transfert de données de capacité permet aux utilisateurs d échanger des informations de contrôle devant être explicitement acquittées, et cela indépendamment d une activité (donc avant une activité, ou entre deux activités). Th. DESPRATS - 10 - Couche Session
La VIE d une CONNEXION de SESSION (6/8) SERVICES de GESTION des JETONS SERVICES de GESTION des JETONS : La disponibilité et l attribution initiale d un jeton sont négociées lors de la phase d établissement de la session. Pendant la phase de transfert divers services permettent de modifier l attribution d un jeton disponible : Un Service de Demande de jeton permet à l interlocuteur ne disposant pas d un jeton de le demander à son propriétaire. Un Service de Cession de jeton permet au propriétaire de céder spontanément, ou à la suite d une demande, un des jetons qu il détient. Un Service de Passation de Contrôle permet au propriétaire de céder à l autre interlocuteur tous les jetons dont il dispose. La VIE d une CONNEXION de SESSION (6/8) SERVICES de GESTION de SYNCHRONISATION SERVICES de GESTION de la SYNCHRONISATION : L un des objectifs de Session est de fournir des outils pour : 1) repérer des instants significatifs de la communication par des délimiteurs que sont les points de synchronisation, 2) effectuer une reprise à partir de l un de ces repères, à la suite d un incident ou d une erreur du survenue sur le flux de Transport. Th. DESPRATS - 11 - Couche Session
Les Services de Synchronisation permettent de répondre à l objectif 1). Deux services sont offerts : Service de pose de points de synchronisation majeurs (L utilisateur demandant la pose ne peut rien émettre avant d avoir reçu la confirmation de la prise en compte de la pose par l entité homologue) (La confirmation d un point de synchronisation majeure indique à l utilisateur qu il peut purger la copie des données reçues depuis le dernier point de synchronisation majeur confirmé, copie qu il conservait en prévision d une reprise sur incident) Service de pose de points de synchronisation mineurs (L utilisateur demandant la pose peut continuer à émettre) Un Service de Resynchronisation permet de répondre à l objectif 2). Le fournisseur de la couche Session va alors opérer une réattribution des jetons, la sélection d un nouveau numéro de série de point de synchronisation et une purge des données non encore remises à l utilisateur du service : à l issue de cette phase : la session est dans un état cohérent. Ce service est offert avec trois options : - l option «redémarrage» ou «reprise» permet aux utilisateurs de demander une resynchronisation à partir d un point de synchronisation antérieur convenu, obligatoirement situé après le dernier point de synchronisation majeur positionné. - l option «abandon» va provoquer une resynchronisation sur un point dont le numéro de série est supérieur à la valeur courante (valeur non encore utilisée). Un tel mode entraîne une perte irrémédiablement de certaines données. - l option «position» permet de repositionner le dialogue sur un point de synchronisation quelconque choisi par l utilisateur pour une utilisation non spécifiée. REPRISE ABANDON POSITION Th. DESPRATS - 12 - Couche Session
La VIE d une CONNEXION de SESSION (7/8) SERVICES de GESTION des ACTIVITÉS SERVICES de GESTION des ACTIVITÉS : Les utilisateurs peuvent organiser leurs dialogues en activités puis gérer celles-ci grâce à cinq services de SESSION : Service de lancement d une activité Terminaison d une activité Interruption d une activité (avec reprise ultérieure possible) Reprise d une activité (auparavant interrompue) Abandon d activité (sans reprise possible) Ces services sont sous le contrôle du jeton de synchronisation majeure et d activités. L interruption et l abandon d une activité peuvent conduire à une perte de données. La VIE d une CONNEXION de SESSION (7/8) SERVICES de GESTION des ANOMALIES SERVICES de GESTION des ANOMALIES : Deux services permettent de gérer les anomalies dues à un mauvais fonctionnement de la couche SESSION. Un service de signalisation d anomalies par le fournisseur de SESSION permet à celui-ci de signaler à l utilisateur de SESSION une erreur survenue dans le fonctionnement du protocole de Session ou d anomalies apparues dans les couches inférieures à Session. Un service de signalisation d anomalies par l utilisateur de SESSION permet à celui-ci de signaler des situations anormales (ex : jeton disponible mais jamais attribué) Th. DESPRATS - 13 - Couche Session
La VIE d une CONNEXION de SESSION (8/8) PHASE de TERMINAISON de SESSION LIBÉRATION d une CONNEXION de SESSION : TROIS SERVICES possibles pour réaliser cette phase Un Service de Libération NORMALE permet à un utilisateur de demander la terminaison d une session sans perte de données possible. Cette libération entraîne généralement la libération de la connexion de Transport. Ce service est en mode Confirmé et s utilise sous le contrôle du jeton de terminaison. Il ne peut être invoqué au sein d une activité non terminée. Deux Services de Libération ANORMALE, pouvant entraîner la perte de données, sont offerts : à l initiative du fournisseur de SESSION (pour des raisons internes à Session) à l initiative d un utilisateur de SESSION (sans considération d une demande de service en cours) Th. DESPRATS - 14 - Couche Session
SESSION mode CONNECTÉ : (1/3) LE SERVICE (1/1) PHASES et SERVICES du SERVICE de SESSION : Phase Service Fonction/Famille Etablissement de connexion Transfert de données Libération de connexion Connexion de Session Transfert de données normales Transfert de données express Transfert de données typées Transfert de données de capacité Cession de jeton Demande de jeton Passation du contrôle Pose de point de synchro. mineur Pose de point de synchro. majeur Resynchronisation Signalisation d anomalies par le fournisseur Signalisation d anomalies par l utilisateur Lancement d activité Reprise d activité Interruption d activité Abandon d activité Terminaison d activité Terminaison normale Coupure par l utilisateur Coupure par le fournisseur Etablissement de connexion de session Transfert de données Gestion des jetons Synchronisation et Resynchronisation Gestion des anomalies Gestion des activités Gestion de Terminaison Th. DESPRATS - 15 - Couche Session
SESSION mode CONNECTÉ : Les PRIMITIVES de SERVICE (1/2) Tableau des Primitives de Service de SESSION : Demande d établissement de session Indication de connexion de session Réponse à une dde d établ. de session (acceptation ou refus) Confirmation d établ. de session (acceptation ou refus) Demande de transfert de données normales Indication de transfert de données normales Demande de transfert de données express Indication de transfert de données express Demande de transfert de données typées Indication de transfert de données typées Demande de transfert d informations de capacité Indication de transfert d informations de capacité Réponse à une dde de transfert d info. de capacité Confirmation de transfert d informations de capacité Demande de cession de jeton Indication de cession de jeton Demande de demande de jeton Indication de demande de jeton Demande de passation du contrôle Indication de passation du contrôle Demande de pose de point de synchro. mineur Indication de pose de point de synchro. mineur Réponse à une dde de pose de point de synchro. mineur Confirmation de pose de point de synchro. mineur Demande de pose de point de synchro. majeur Indication de pose de point de synchro. majeur Réponse à une dde de pose de point de synchro. majeur Confirmation de pose de point de synchro. majeur Demande de resynchronisation Indication de resynchronisation Réponse à une dde de resynchronisation Confirmation de resynchronisation S-CONNECT.Req S-CONNECT.Ind S-CONNECT.Rep S-CONNECT.Conf S-DATA.Req S-DATA.Ind S-EXPEDITED-DATA.Req S-EXPEDITED-DATA.Ind S-TYPED-DATA.Req S-TYPED-DATA.Ind S-CAPABILITY-DATA.Req S-CAPABILITY-DATA.Ind S-CAPABILITY-DATA.Rep S-CAPABILITY-DATA.Conf S-TOKEN-GIVE.Req S-TOKEN-GIVE.Ind S-TOKEN-PLEASE.Req S-TOKEN-PLEASE.Ind S-CONTROL-GIVE.Req S-CONTROL-GIVE.Ind S-SYNC-MINOR.Req S-SYNC-MINOR.Ind S-SYNC-MINOR.Rep S-SYNC-MINOR.Conf S-SYNC-MAJOR.Req S-SYNC-MAJOR.Ind S-SYNC-MAJOR.Rep S-SYNC-MAJOR.Conf S-RESYNCHRONIZE.Req S-RESYNCHRONIZE.Ind S-RESYNCHRONIZE.Rep S-RESYNCHRONIZE.Conf Th. DESPRATS - 16 - Couche Session
SESSION mode CONNECTÉ : Les PRIMITIVES de SERVICE (2/2) Tableau des Primitives de Service de SESSION (suite et fin) : Demande de lancement d activité Indication de lancement d activité Demande de reprise d activité Indication de reprise d activité Demande d interruption d activité Indication d interruption d activité Réponse à une dde d interruption d activité Confirmation d une d interruption d activité Demande d abandon d activité Indication d abandon d activité Réponse à une dde d abandon d activité Confirmation d une d abandon d activité Demande de terminaison d activité Indication de terminaison d activité Réponse à une dde de terminaison d activité Confirmation d une de terminaison d activité Indication de signalisation d anomalie par le f/sseur Demande de signalisation d anomalie par l utilisateur S-U-EXCEPTION- REPORT.Req Indication de signalisation d anomalie par l utilisateur Demande de terminaison de session S-RELEASE.Req Indication de terminaison de session S-RELEASE.Ind Réponse à une dde de term de session (acceptation ou refus) S-RELEASE.Rep Confirmation de terminaison de session (acceptation ou refus) S-RELEASE.Conf Demande de rupture de session par l utilisateur S-U-ABORT.Req Indication de rupture de session par l utilisateur S-U-ABORT.Ind Indication de rupture de session par le f/sseur S-P-ABORT.Ind S-ACTIVITY-START.Req S-ACTIVITY-START.Ind S-ACTIVITY-RESUME.Req S-ACTIVITY-RESUME.Ind S-ACTIVITY-INTERRUPT.Req S-ACTIVITY-INTERRUPT.Ind S-ACTIVITY-INTERRUPT.Rep S-ACTIVITY-INTERRUPT.Conf S-ACTIVITY-DISCARD.Req S-ACTIVITY-DISCARD.Ind S-ACTIVITY-DISCARD.Rep S-ACTIVITY-DISCARD.Conf S-ACTIVITY-END.Req S-ACTIVITY-END.Ind S-ACTIVITY-END.Rep S-ACTIVITY-END.Conf S-P-EXCEPTION-REPORT.Ind S-U-EXCEPTION-REPORT.Ind Th. DESPRATS - 17 - Couche Session
SESSION mode CONNECTÉ : Les UNITÉS FONCTIONNELLES (1/1) UNITÉS FONCTIONNELLES de SESSION : Une Unité Fonctionelle : est le regroupement d un ensemble de services dans un double objectif : - négociation lors de l établissement de la session - normalisation 12 UFs ont été définies pour SESSION. Toutes peuvent être négociées sauf l UF noyau qui regroupe un service minimal de Session non négociable. CF POLY SESSION mode CONNECTÉ : Le PROTOCOLE (1/1) CF POLY SESSION mode NON CONNECTÉ : L ISO a travaillé sur la définition d une session en mode non connecté pour répondre aux besoins d applications ayant des contraintes temporelles fortes. Seul un service de transfert de données est proposé à travaers la primitive S-UNIT-DATA et la S-PDU UD. Th. DESPRATS - 18 - Couche Session