Académique Documents
Professionnel Documents
Culture Documents
LE MODELE ISO
1. LE MODLE ISO
11. FINALITE DU MODLE ISO
L'objectif de cette normalisation effectue par l'ISO et le CCITT partir de 1978 est de dfinir un modle d'Interconnection pour les Systmes Ouverts : l'OSI (OPEN SYSTEM INTERCONNEXION). Il est identifi par la norme ISO 7498 (en France AFNOR NF Z70001). Ces normes spcifient les fonctions remplir par les systmes y adhrant et les protocoles mettre en oeuvre au sein de ceux-ci. Elles dcrivent la faon de faire des systmes dans leurs changes, mais non leur fonctionnement interne propre chacun. C'est bien en ce sens un modle plutt qu'une norme trs stricte. Les couches du Modle : Un systme ouvert doit respecter 7 couches d'activits (layers): - la couche physique, - la couche liaison de donnes, - la couche rseau, - la couche transport, - la couche session, - la couche prsentation, - la couche application. Chacune de ces couches reprsentent un travail que doit effectuer le systme (travail ralis par un ensemble de programmes ou par du matriel). On parlera d'interface entre deux couches superposes dans un mme noeud pour dfinir la faon dont ces couches se passent les informations. Par contre, le dialogue, la faon d'changer des informations entre deux couches adjacentes de mme niveau sur deux noeuds est dfini dans un protocole.
1/33
ISO
ISO L'architecture retenue pour l'OSI est constitue de sept couches d'activits. La coopration de plusieurs entits (excuteurs locaux d'une activit) est appel protocole. Le protocole dfinit les relations entre 2 entits distantes dun mme niveau. Les fonctions de la couche N sont ralises par les entits (N). Les entits (N) utilisent les services offerts par l'ensemble des couches d'indice infrieur N appel service (N-1). Le service (N-1) est offert par les entits (N-1) aux entits (N). Comment s'effectue le processus de passage d'une couche l'autre Ct metteur, les donnes descendent de la couche 7 la couche 2, chaque couche rajoutant au passage une en-tte contenant des informations lies sa fonction sans se proccuper de ce qui a t inclus par les couches suprieures. Ct rcepteur, le processus est inverse. Chaque couche dcode l'en-tte qui lui est destin et value les actions faire. Structure des trames selon lISO AH PH SH TH NH TH Donnes
AH :Application header (en-tte ajoute aux donnes par la couche application) PH : Presentation header SH : Session header TH : Transport header NH : Network header LH : Link header TH : Trailer header (fin de trame du niveau liaison : CRC) Les 7 couches OSI regroupent l'ensemble des services que peut fournir un rseau (ce qui ne veut pas dire que tous les rseaux fournissent tous les services). Dans l'tude qui suit nous tudierons chaque couche du modle ISO. Le cas des rseaux locaux est un peu particulier (voir encadr)
3/33
ISO Pour les rseaux locaux, on fait souvent un dcoupage en 3 super-niveaux : 1 Niveau matriel (niveau 1 et niveau MAC) Il traite des cartes, cbles et drivers. c'est un niveau dit 'Vendor Dependent' 2 Niveau transport (LLC, 3 et 4) Ce sont les protocoles TCP/IP, SPX/IPX, PCS (AS400 d'IBM), NETBIOS 3 Niveau NOS Unix, Netware, OS/2 Lan server, OS/2 Lan Manager, Windows NT, Banyan
4/33
ISO
2.COUCHE PHYSIQUE
La couche physique est charge de l'interface entre les systmes d'une part et la connection au support de transmission d'autre part. Elle dcrit les caractristiques mcaniques et lectriques du support de transmission et des connexions ainsi que les mthodes de transmission employes ( modulation, codage, dbit...). L'unit de donnes est le bit. Il a pour rle d'offrir les moyens de transmettre les donnes sur un support physique entre 2 noeuds du rseau. Il n'a aucune connaissance de la signification des donnes transmises (transparence). Les caractristiques mcaniques : - les types de connecteurs servant au raccordement de chaque noeud : forme des connecteurs, nombre de broches, type du connecteur (mle, femelle, hermaphrodite). - le type de mdia (support physique) utilis : coaxial, paire torsade, fibre optique,...) avec ses caractristiques : paisseur, nature, longueur maximum, impdance caractristique, bande passante, contraintes,... La topologie du cblage dcrit la disposition gographique des cbles reliant les diffrents points de connexion : toile, bus, arbre, boucle. Il s'agit ici de topologie dite "physique" par opposition la topologie "logique" dcrite au niveau 2. Les caractristiques des signaux vhiculant les donnes - la nature et la forme des signaux lectrique (voltage, frquence,...), optique, lectro-magntique,... continu (sinusoidal) ou discontinu le codage (modulation, binaire, ternaire,...) temps de monte, amplitude, frquence, dure des signaux - le mode de transmission srie ou parallle unidirectionnel ou bidirectionnel ( half ou full duplex) synchrone ou asynchrone - les procdures (ou procoles) ventuelles d'change (tablissement, maintien et libration de la ligne (numeris,...)). - le mode de connexion : point point, multipoint, ... - les mcanismes de dtection des anomalies de transmission : perte de porteuse, collision, dsynchronisation,... - la signification des signaux transmis (ex : RS232) - la technique de transmission : bande de base ou large bande On y trouve les normes EIA RS232C,422A,423,449 , des avis CCITT de la srie V(V28, V10, V11, V24) et X (X21, X24, X27). Exemple ; X21 - connecteurs 15 broches ( ISO 4903) - caractristique lectrique : avis X27 - caractristique fonctionnelle : avis X24 La norme X21 interface entre un ETTD et un ETCD tend remplacer le V24/V28 pour l'accs aux rseaux publics. 5/33
ISO
6/33
ISO
3.COUCHE LIAISON
31.RLE DE LA COUCHE LIAISON
Elle permet 2 noeuds adjacents d'changer des donnes sans erreurs ( algorithmes de dtection et correction d'erreurs). Les donnes sont changes par blocs ou trames (ensembles de bits dlimits) Il dcrit en particulier le format des trames changes( voir encadr). En mission, il ralise la mise en trame des donnes transmettre (en gnral fournies par le niveau suprieur) en y ajoutant des donnes de contrle ncessaires pour s'assurer lors de la rception par le destinataire que le transport s'est correctement effectu. Inversement, la rception, il contrle la validit des blocs qui, en cas d'erreur dtecte, doivent tre retransmis, et il retire les donnes dites 'utiles' pour les traiter et ventuellement les remettre au niveau 3. Le niveau 2 traite galement le cas des erreurs dtectes par le niveau 1 (indication d'erreur de niveau 1) ou par lui-mme (CRC). Les trames sont numrotes pour les reprer, traiter les accuss de rception et les erreurs. Il gre aussi la rgulation du flux des donnes dans le cas d'une diffrence de vitesse de transmission ou de traitement entre les 2 noeuds. Les normes concernant la couche de niveau liaison dfinissent essentiellement : - le protocole de liaison qui prcise : le mode d'initialisation et de libration de la connexion son orientation (bit ou caractre) le mode de dcoupage des donnes (blocs, trames, HDLC, SDLC (synchronous data link control), BSC,) les diffrents types de trames changes : commande, information, rponse ou acquittement. la structure des trames du point de vue liaison les rgles de dialogue entre les 2 noeuds. la faon de traiter les cas d'erreur ou d'anomalie (pas de rponse,...). le mode du protocole ( half duplex ou full duplex) la manire d'acquitter les trames (fentre,...). le mode d'tablissemnt, de maintien et de rupture de la liaison. - le nombre de liaisons logiques pouvant tre exister en mme temps (multiplexage). - le mcanisme de contrle des changes (erreur :CRC, parit, synchro, flux). protocoles orients bits : HDLC (ISO), SDLC (IBM), LAPD (RNIS), LAPB (X25), ADDCP (ANSI), rseauc locaux (srie IEEE 802.3, etc...) protocoles orients caractres : BSC ou BISYNC (IBM), DDCMP (DEC), X3.28 (ANSI) protocoles de transfert de fichiers: Xmodem, Zmodem,...sur liaisons asynchrones Dans le cas des rseaux locaux, elle est divise en 2 sous-couches: 1 - MAC (ou partie basse) qui dcrit la mthode d'accs au support ( jeton, CSMA/CD). Cette spcification n'a de sens que dans les liaisons dites multipoint (plusieurs candidats metteurs). 7/33
ISO L'objet est de rsoudre les ventuels conflits d'accs entre ces diffrents metteurs potentiels.Il existe 2 familles de mthodes : - mthodes alatoire (type CSMA). - mthodes dterministes (type jeton). La sous-couche MAC est bien dfinie par les travaux du comit 802 de l'IEEE. 2 - LLC (partie haute rfrence par lIEEE sous le nom 802.2) qui dcrit les liaisons logiques entre 2 noeuds avec les addresses metteur, rcepteur et les moyens de contrle de la cohrence de l'information. Il existe 2 variantes de spcifications LLC (datagramme). LLC1 dcrit une liaison sans connexion et sans acquittement. LLC2 dcrit une liaison avec connexion et acquittement (d'un type voisin de X25 et LAPD pour Numris). Il y a des fonctions de contrle de flux et de gestion des erreurs. Dans le monde IBM, c'est la couche LLC2 qui est mise en oeuvre. Cette variante garantit l'mission correcte des trames. Les programmes SNA fonctionnent sur le protocole LLC type 2. Une trame est compose de plusieurs champs: prambule (dans certains protocoles, par exemple rseaux locaux Ethernet) dlimiteur (ou flag ou fanion) champ de commande (qui prcise la nature de la trame) champ adresse avec adresse destinataire et ventuellement adresse source longueur de la donne utile donnes utiles FCS (frame check sequence) ou CRC dlimiteur de trame
8/33
ISO L_RESET L_CONNECTION_FLOWCONTROL Le cinquime groupe utilis pour rgulariser le flot de donnes entre la Couche Rseau et la Couche Liaison de Donnes. Chaque fois que cela s'vre ncessaire, la Couche Rseau peut utiliser une primitive L_CONNECTION_FLOWCONTROL pour indiquer la Couche Liaison de Donnes la quantit de donnes qu'elle est prte recevoir. De mme, la Couche Liaison de Donnes emploiera une primitive indication pour dire la Couche Rseau combien de donnes elle peut accepter sans risquer d'en perdre. Les primitives prcdentes dfinissent l'interface entre la Couche Rseau et la sous-couche LLC. De plus, la norme IEEE802 prcise galement l'interface entre la sous-couche LLC et les trois sous-couches MAC possibles en dessous. Cette interface contient les primitives : MA_DATA.request, MA_DATA.indication, et MA_DATA.confirm, qui permettent la sous-couche LLC d'changer des trames avec la sous-couche MAC. L'interface LLC_MAC est totalement sans connexion. La structure des trames LLC a t conue pour tre similaire celle des trames HDLC. Les champs adresse DSAP et adresse SSAP permettent d'identifier les points d'accs (service access point) au niveau de l'interface entre la Couche Rseau et la Couche Liaison de Donnes. Pour schmatiser, cette interface comprend un certain nombre de "passages". Quand une connexion est tablie, la Couche Rseau choisit un passage (SSAP) et y envoie la demande de service. A l'autre extrmit, l'information rapparat par un autre passage (DSAP). Une paire SSAP-DSAP identifie une connexion (ou un transfert sans connexion). Sans ce mcanisme, la Couche Liaison de Donnes ne pourrait pas savoir qui a envoy une trame donne ni ce qu'il faut en faire. Le champ Contrle dans le protocole de niveau LLC a un rle similaire au champ de mme nom dans les protocoles LAPB, HDLC et ADDCP. On trouve galement des trames de transfert d'information, de surpervision et des trames de contrle non numrotes. Il existe quatre diffrences majeures entre LLC et les autres protocoles. Premirement, les trames LLC orientes connexion ont un champ de contrle de deux octets, ce qui autorise l'emploi de numros de squence cods sur 7 bits. Ensuite, LLC n'autorise que le mode quilibr asynchrone (c'est--dire les communications d'gal gal, par opposition un ordinateur interrogeant des terminaux), si bien que les trames HDLC et LAPB qui font rfrence d'autres modes n'existent pas dans LLC.
9/33
ISO
10/33
ISO
11/33
ISO
12/33
ISO
ISO
N_UNIDATA N_FACILITY N_REPORT Le demandeur peut placer des donnes utilisateurs dans la demande de connexion. Le demand peut consulter ces informations avant de dcider s'il accepte ou refuse la demande. La connexion est accepte par la primitive N_CONNECT.response et rejete par la primitive N_DISCONNECT.request. Quand une connexion est refuse, le champ reason permet l'appel d'indiquer pourquoi il n'a pas voulu accepter la connexion, et si cet tat est permanent ou provisoire. La Couche Rseau peut elle aussi refuser une tentative d'tablissement de connexion, par exemple si la qualit de service demande n'est pas disponible (condition permanente) ou si le sous-rseau est engorg (condition provisoire). Les primitives N_CONNECT et N_DISCONNECT sont simples, et ncessitent peu de commentaires supplmentaires. Aprs que la connexion a t tablie, chaque correspondant peut transmettre des informations en utilisant la primitive N_DATA.request. Quand ces paquets arrivent, une primitive N_DATA.indication est active chez le rcepteur. Les primitives utilises par les donnes exprs sont analogues celles des donnes normales. Si on s'est mis d'accord sur l'acquittement quand un paquet est reu, le bnficiaire est tenu de dlivrer une N_DATA_ACKNOWLEDGE.request. Cette primitive ne renferme pas de squence de nombres, aussi l'expditeur de l'original doit-il simplement compter les acquittements. Si la qualit de service est faible, et que les donnes et les acquittements peuvent tre perdus, ce modle n'est pas trs satisfaisant. D'autre part, ce n'est pas dans le rle de la Couche Rseau de fournir un service sans erreur; ce travail est fait par la Couche Transport. Les acquittements de la Couche Rseau sont simplement une tentative pour amliorer la qualit de service, et non pour la rendre parfaite. Les primitives N_RESET sont utilises pour signaler les catastrophes, tel que l'arrt brutal de l'autre entit transport ou du fournisseur du service rseau lui-mme. Aprs qu'une N_RESET a t demande, indique, rpondue et confirme, les files doivent tre rinitialises leur tat vide d'origine. Les informations prsentes dans les files au moment de la N_RESET sont perdues. De nouveau dans ce cas, c'est la Couche Transport de rcuprer les pertes dues aux N_RESET. Les primitives N_UNIDATA sont utilises pour envoyer jusqu' 64 512 octets d'information en mode datagramme. Les primitives N_UNIDATA ne fournissent ni contrle d'erreurs, ni contrle de flux, ni aucun contrle. L'expditeur vide seulement le paquet dans le sous-rseau en esprant que tout ira pour le mieux. La primitive N_FACILITY.request est conue pour permettre l'utilisateur du service rseau de se renseigner sur les caractristiques d'ventuelles extensions du format. Le protocole tant susceptible d'voluer, un champ version de protocole est prvu. La version dcrite ici est la premire. La dure de vie de la NPDU est exprime en multiples de 500 ms. La source de la NPDU affecte une valeur ce champ. Chaque entit rseau qui traite cette NPDU dcrmente cette valeur, quelle que soit la dure relle du traitement et du transfert. Par principe le dcrment doit tre pessimiste. Si le traitement dure moins de 500 ms, le 14/33
ISO champ sera dcrment au minimum de 1. Si la dure maximale de transfert dans un rseau (satellite par exemple) est de 1,2 seconde le champ sera dcrment de 3. La mesure exacte des dlais rels de transit dans un rseau est en gnral impossible, on utilise donc toujours un majorant du dlai de transit. Quand une NPDU doit tre fragmente, la dure de vie de celleci est recopie dans chacune des NPDU rsultantes. Si la dure de vie devient nulle ou ngative avant de pouvoir dlivrer toute la NSDU source, la NPDU et donc la NSDU est rejete. Ceci implique que le champ dure de vie est affect initialement toute la NSDU. Toutes les NPDU rsultantes utilisent cette valeur. Comme celles-ci vont tre transmises squentiellement, le temps pass en file d'attente avant l'mission doit tre pris en compte. Rciproquement la rception, il est souhaitable de continuer dcrmenter la dure de vie tant que la NDSU n'est pas compltement reue. En effet, si une des NPDU qui compose la NSDU est rejete quelque part (perdue, erreur, dpassement de la dure de vie, etc), il faut que le serveur rseau qui effectue le rassemblage rejette toutes les NPDU dj reues afin de librer la mmoire alloue la reconstitution de la NSDU. Celle-ci ne pourra en effet jamais tre reconstitue. Dans ce cas, une NPDU d'erreur pourra tre envoye la source selon l'tat du bit E/R de l'octet 5 qui indique si une NPDU d'erreur doit tre renvoye la source lorsqu'une NPDU est rejete.
15/33
ISO
ISO On trouve ce niveau : - TCP (Transport Communication Protocol) - XNS (Xerox Network System) - TP0 TP4 de l'ISO - SPX (Sequenced Packet eXchange de Novell) - SPP (Sequenced Packet Protocol) - MINDS (MS-DOS Internal Drive Scheme) Seuls les protocoles TP0 TP4 sont ISO mais un protocole comme TCP (associ IP au niveau 3) est une norme de fait dans le monde UNIX. Rsum des diffrents protocoles: Socit logiciel couche 4 couche 3 Novel netware SPX IPX 3 COM 3+/MINDS SPP IDP Xerox ISO Apple XNS AFP SPP TPn ATP IDP IP DDP Unix TCP IP
NETbios/NETbeui est un protocole des niveaux 3 et 4. C'est un standard dans le monde PC, mais il ne permet pas l'accs d'autres rseaux.
- le transport des donnes est ralis par les couches 1 4 ; - le traitement rparti des donnes est ralis par les couches 5 7. Ce traitement fait appal aux mmes concepts de systmes informatiques.
17/33
ISO
Enfin, les couches liaison de donnes et transport effectuent toutes deux une mmorisation et un contrle de flux. Cependant, la Couche Transport gre un nombre important et fluctuant de connexions et demande de ce fait une approche diffrente de celle retenue pour la Couche Liaison de Donnes. Nous avons vu que certains protocoles allouent un nombre fixe de tampons chaque ligne, de telle sorte que quand une trame arrive, il y a toujours un tampon de libre. Dans la Couche Transport, le nombre important de connexions rend difficile l'allocation de tampons chacune d'entre elles. Pour le concepteur du protocole de la Couche Transport, les proprits relles du sous-rseau ont moins d'importance que le service offert par la Couche Rseau, quoique ce dernier soit fortement influenc par les premires. Par certains cts cependant, le service de la Couche Rseau peut masquer les aspects les plus indsirables du sous-rseau et fournir une bien meilleure interface. 521. Types de rseaux A,B et C
Afin de pouvoir mieux tudier les protocoles de transport, on classifie les diffrents types de service de rseau en trois catgories. La premire A, regroupe les services parfaits. La fraction de paquets perdus, dupliqus ou endommags est ngligeable. Les commandes NRESET sont si rares qu'elles peuvent tre ignores. Les rseaux publics longue distance du type A sont quasi inexistants, mais certains rseaux locaux s'en rapprochent. Le protocole de transport ncessaire pour ce type de rseau est extrmement simple. Le service de type B se rencontre beaucoup plus souvent dans les rseaux longue distance. Les paquets isols s'y perdent rarement (parce que les protocoles des couches rseau et liaison de donnes supervisent leur arrive de manire tranparente), mais il se peut que de temps en temps, la Couche Rseau mette des N-RESET, suite des problmes de congestion, des problmes matriels ou des erreurs logicielles. Il appartient alors au protocole de la Couche Transport d'entrer en lice, d'tablir un nouveau chemin de connexion, de se resynchroniser, et de poursuivre, en masquant totalement les demandes de rinitialisation (NRESET) l'utilisateur du service de transport. La plupart des rseaux publics X.25 sont de type B. Les protocoles de transport pour le type B sont plus complexes que pour le type A.
18/33
ISO Le troisime type de service de rseau (C) n'est pas suffisamment fiable pour qu'on puisse s'appuyer sur lui. Les rseaux longue distance sans connexion (datagramme), les rseaux par ondes hertziennes, et beaucoup de rseaux interconnects tombent dans cette catgorie. Les protocoles de transport qui supportent ce type sont de loin les plus compliqus et doivent rsoudre tous les problmes qui ont t vus au niveau de la Couche Liaison de Donnes, et plus encore. 522. Protocoles de classe 0 4 Le protocole de transport utiliser dpendra donc du type auquel la Couche Rseau appartient et de la situatin rsoudre. Plus le service rseau est mauvais, plus le protocole de transport est complexe. La norme Osi a reconnu cet tat de choses, et a divis les protocoles de transport en cinq catgories. Les protocoles de la classe 0 sont les plus simples. Ils tablissent une connexion de rseau pour chaque demande de connexion de transport et supposent que le rseau ne gnre pas d'erreurs. Le protocole de transport ne gre pas de squencement ou de contrle de flux, se reposant sur la Couche Rseau pour que tout se passe bien. En revanche, il inclut les mcanismes d'tablissement et de relchement des connexions de transport. La classe 1 est identique la classe 0, mis part le redmarrage aprs les N-RESET. Si le dialogue est interrompu par une rinitialisation, les deux entits de transport se resynchronisent puis reprennent leur communication l o elle avait t interrompue. Pour ce faire, elles doivent utiliser et conserver une trace des numros de squence, une contrainte inutile dans la classe0. La classe 1 n'a pas de fonction de contrle d'erreur ou de flux en plus du service fourni par la Couche Rseau elle-mme. La classe 2 est une version amliore de la classe 0 et est galement conue pour des rseaux fiables (typeA). Elle diffre de la classe 0 par le fait que deux connexions de tranport ou plus peuvent tre utilises pour une mme connexion de rseau (transmision multiplexe). Cette variante est utile dans le cas o plusieurs connexions de transport sont ouvertes simultanment, chacune avec un trafic relativement faible, et o le transporteur facture le temps pass avec chaque connexion rseau ouverte. Par exemple, dans une agence de compagnie arienne, il peut y avoir de nombreux terminaux, tous relis un mme ordinateur central de rservation travers des connexions de transport (une par terminal), ces connexions de transport tatn multiplexes sur une (ou quelques) connexion(s) rseau, ceci afin de rduire le cot global des communications. Nous tudierons les principes du multiplexage plus loin dans ce chapitre. La classe 3 combine les classes 1 et 2. Elle permet les multiplexages et peut traiter les commandes de rinitialisation. Elle utilise galement un contrle de flux explicite. La classe 4 s'applique aux rseaux du type C dont le manque de fiabilit est prouv. De ce fait, elle doit tre en mesure de combattre les pertes, les duplications, les dtriorations des paquets, les demandes de rinitialisations, et tout ce que le rseau peut gnrer comme aberrations. Inutile de dire que la classe 4 est bien plus complexe que les autres. Nous tudierons les problmes rsoudre pour cette classe un peu plus loin dans ce chapitre.
19/33
ISO - Service avec connexion : 1 - Etablissement connexion T_CONNECT 2 - Transfert donnes T_DATA T_EXPEDITED_DATA 3 - Libration connexion T_DISCONNECT_DATA. 4 - Service sans connexion : T_UNIT_DATA.
20/33
ISO
6.COUCHE SESSION
Ce sont les normes X215 et X225 du CCITT qui dcrivent la couche session et les normes ISO 8326 et ISO 8327 . Elle gre le processus de dialogue entre les deux noeuds concerns (tablissement de la liaison, inversion du sens en cas de travail l'alternat, reprise en cas d'incident, synchronisation des applications distantes). Il a pour tche de rendre transparent la couche 6 les ruptures de connexion intervenant aux niveau transport. Ce niveau est trs important dans les rseaux locaux. C'est le LOGIN, LOGOFF. Il coordonne les activits entre les processus ou applications (contrle d'accs par mot de passe, synchronisation, initialisation, fin de session...). Il permet d'accder un processus distant dont on ne connait que le nom (pas l'adresse). La couche session va tablir cette correspondance. sevice de DIALOGUE : - dlimitation et synchronisation des transferts de donnes. service d' ADMINISTRATION - tablissement et rupture de session - identification des processus et mode dialogue ( hd, fd,...) - gestion des phases d'initiation, de transfert et de dconnection au niveau de la connection de session. Cette gestion se fait par des jetons qui sont en fait des droits d'accs donns aux utilisateurs de la couche session, - jeton de donnes, - jeton de terminaison, - jeton de synchronisation. La norme LU 6.2 de SNA (IBM) est ce niveau
21/33
ISO
612. Service fournis par la couche session Les services sont fournis l'aide de jetons. Un jeton est un droit exclusif l'utilisation d'un service (comparer avec couche MAC). A chaque service correspond un type de jeton : - jeton de terminaison - jetons de synchronisation majeure et mineure - jeton de gestion d'activit Les services sont utiliss durant la vie d'une connexion session : - tablissement de la connexion ; - transfert de donnes normales ; - transfert de donnes expresses sans contrle de jeton ; - transfert de donnes types indpendamment de la disponibilit du jeton ; - terminaison. Les services sont regroups en units fonctionnelles et profils.
ISO lire (id_fichier, ad_tampon, longueur) est alors un appel normal une procdure locale (c'est--dire incluse dans l'espace d'adressage de l'appelant). Cette procdure envoie un message au serveur de fichier et attend une rponse. Une fois que cette rponse est parvenue, lire retourne une information de contrle l'appelant. L'intrt d'un tel mcanisme rside dans le fait que la communication client-serveur prend alors la forme d'appels de procdure plutt que de commandes d'entres/sorties (ou pire, d'interruptions).Tous les dtails du fonctionnement du rseau sont cachs au programme d'application car ils sont inclus dans les procdures locales comme lire. De telles procdures sont appeles procdures-stubs. Dans cet exemple, la procdure-stub transfre des donnes mais une procdure-stub peut galement envoyer un message demandant au serveur d'excuter une opration donne. Par exemple, l'appel dtruire (id_fichier) demande la procdure-stub dtruire d'envoyer un message au serveur de fichiers pour dtruire le fichier spcifi. En utilisant les procdures-stubs appropries, il est possible d'autoriser le client commander des oprations donnes au serveur d'une faon beaucoup plus naturelle pour le programmeur d'applications que s'il avait traiter les entres/sorties et les interruptions. Le but final est qu'un appel de procdure distance et un appel local aient une apparence tout fait identique.
24/33
ISO
7.COUCHE PRSENTATION
Normes ISO 8822 et 8823 La couche prsentation s'occupe de la syntaxe des donnes que les applications veulent changer. Elle prpare ou met en forme les donnes changes pour les rendre comprhensibles par le niveau application des 2 extrmits qui ne parlent pas souvent le mme langage (le rseau doit tre transparent pour ce dernier). Elle s'occupe de traiter les diffrences de syntaxe des donnes entre les 2 processus. Elle effectue le codage des donnes (ex: ASCII-EBCDIC), la conversion de formats, de commandes (indpendance vis vis des terminaux), la structuration des donnes (fichiers), le cryptage et la compression des donnes, le dcoupage et la gestion des pages cran, imprimante, les spcificits daffichage (clignotement, inversion vdeo, mode graphique,...). Par exemple, le niveau application doit pouvoir accder de la mme faon des fichiers locaux ou distants. Il permet l'utilisation des services du systme d'exploitation. La conversion des codes d'un PC en codes Minitel fait partie de ce niveau de mme que Windows et tous les GUI (Graphic User Interface) C'est ce niveau que l'on trouve les protocoles de terminaux virtuels et des fichiers virtuels.
25/33
ISO L'ISO 8824 et 8825 a dfinit une syntaxe abstraite appele ASN1 ou Abstract Syntax Notation 1 et les rgles d'encodage associs. ASN1 est un mtalangage utile pour dcrire et spcifier des applications. Les rgles d'encodage permettent la cration d'interprteurs pour gnrer la syntaxe de transfert.
La transmission d'un enregistrement petit-boutiste vers un enregistrement gros-boutiste pose des problmes. La mthode d'inversion de tous les mots ne fonctionnent pas ds qu'il y a un mlange de chanes et de nombres. Description ASN.1 du type de donnes prcdent dinosaure :: = squence { nom : octet string,--12 caractres longueur : intger, carnivore : booleau, dcouverte : intger } 73. Primitives ISO de la couche prsentation Primitives en mode connect Gestion connexion 26/33
ISO P_CONNECT P_RELEASE P_U_ABORT P_P_ABORT Transfert de donnes P_DATA P_EXPEDETID_DATA P_TYPED_DATA P_CAPABILITY_DATA Gestion d'activit P_ACTIVITY_START P_ACTIVITY_END P_ACTIVITY_DISCARD P_ACTIVITY_INTERRUPT P_ACTIVITY_RESUME Primitive en mode non connect P_UNIDATA
27/33
ISO
8.COUCHE APPLICATION
Le modle de l'ISO de la couche prsentation est dcrit dans l'avis X200 du CCITT. La couche application effectue tous les travaux ncessaires au fonctionnement d'applications rparties sur le rseau. C'est l'interface direct avec les programmes utilisateurs. Elle gre la communication entre processus et traite la smantique. C'est le niveau le plus proche de l'utilisateur qui il offre, par exemple, les services de : - partage et transfert de fichiers (FTAM : File Transfert Access Method) - Echange de donnes informatises (EDI) - accs une base de donnes distante - annuaire (norme X500) - applications rparties entre plusieurs sites - courier lectronique (norme X400) - terminal virtuel - taxation - les normes graphiques comme GKS. Il ne faut pas confondre cette couche avec l'application elle-mme.
Par exemple, MMS est un ASE pour la messagerie industrielle (Manufacturing Message Spcification), FTAM (File Transfert, Acess and Management) est un ASE pour le transfert et la gestion de fichiers, VT (virtuel Terminal) est un ASE pour l'accs des terminaux virtuels.
28/33
ISO
29/33
ISO 822. CCR (Commitment, Concurrency, and Recovery) CCR est un lment de service qui coordonne d'une faon sre les interactions entre sites multiples, et ce mme en cas de panne. Presque toutes les applications qui ont besoin de scurit utilisent CCR. Pour comprendre le type de problme pour lequel CCR a t conu, considrons l'exemple d'une simple transaction bancaire. Martin dcide de transfrer 10 millions de francs de son compte Paris vers le compte de Simon New-York dans une autre banque. L'instruction est donne au systme lectronique de gestion des transferts de fonds. Le protocole le plus simple consiste envoyer simultanment un message aux deux agences bancaires, leur demandant de dbiter ou de crditer les comptes concerns; ensuite, eles enverront un acquittement parquant la bonne fin de l'opration. Le problme apparat si l'une des parties est incapable, pour une raison ou une autre, de mener bien son travail. Nous devons donc disposer d'un protocole qui fait tout correctement ou ne fait rien du tout, de manire laisser, dans tous les cas, le systme bancaire dans un tat cohrent. Matre > Esclave
{envoi requte 1; ... ... envoi requte n; envoi du message "prparation commit" if action effective then {verrouillage donnes; sauve etat initial; sur disques; envoi message "ok";} if tous les esclaves disent "ok" then envoi "commit"; else envoi "rollback"; attente messages "acknowledgement" if "commit" reu then {excuter action; deverrouillage donnes;} envoi "acknowlgement" } Principe de l'engagement 2 phases CCR rsout ce problme grce au concept d'actions atomiques. Une action atomique est une suite de messages et d'oprations qui soit sont menes correctement terme, soit peuvent tre dfaites pour ramener le systme dans l'tat de dpart comme si rien ne s'tait pass. Les actions atomiques sont ralises en utilisant l'engagement technique dj utilise dans le domaine des bases de donnes, mais qui peut tre employe dans n'importe quel environnement multisites. Dans la premire phase, le matre (systme de gestion dans notre exemple) indique chaque esclave (les banques) ce qu'il doit faire. Chaque esclave vrifie s'il peut mener bien son travail. S'il le peut, il enregistre la requte sur un support fiable (qui rsiste aux pannes), 30/33
ISO verrouille les donnes pour qu'aucun autre ordre ne puisse interfrer, et signale le succs de l'opration. Il enregistre aussi l'tat initial des donnes (les soldes des comptes) sur le support fiable. Si un esclave ne peut mener bien la transaction, il l'indique immdiatement au matre et ne fait rien d'autre. Lorsque toutes les rponses sont reues, le matre peut constater si oui ou non tous les esclaves peuvent traiter les demandes qui ont t faites.Lorsque tout est correct, un message commit est envoy chaque site pour lui demander de faire effectivement le travail. Comme les pertes de messages sont traites par le couches infrieures, le seul incident potentiel est alors la panne d'un esclave avant la bonne fin du traitement. Il peut alors dmarrer en utilisant les informations enregistres sur le support fiable, pour reconstituer les donnes initiales ainsi que le travail raliser. Si l'un des esclaves rend compte d'un problme dans la premire phase, le matre annule le travail en demandant aux esclaves de relcher les donnes verrouilles et de restituer les donnes initiales. dans ce cas, tout se passe comme si aucun travail n'avait jamais t fait, et aucune donne n'est modifie. Primitive.....................CCR...........................................................De signification C_BEGIN....................Matre.....................................Dbut d'une action atomique C_PREPARE...............Matre...........Fin de phase 1 : prparation d'un engagement C_READY...................Esclave .....................................................L'esclave est prt C_REFUSE .................Esclave ............................................L'esclave n'est pas prt C_COMMIT................Matre...........................................Engagement d'une action C_ROLLBACK...........Matre............................................Interruption d'une action C_RESTART...............Matre ou Esclave.............................Annonce d'un incident Les primitives de CCR CCR offre des primitives pour chacune des actions essentielles de l'engagement. La primitive est utilise lorsque le matre ou un esclave a d redmarrer aprs une panne. Elle permet de repartir de l'tat initial pour pouvoir recommencer entirement le travail.
ISO Dans un systme rparti, par exemple systme UNIX, il est ncessaire de visualier simultanment les applications se droulant sur plusieurs machines du rseau. La station peut-tre dot d'un gestionnaire local des fentres appel WINDOW Manager, permettant de moins solliciter le rseau. Deux systmes graphiques sont la base de la prsentation en fentres des applications rparties : X-Window et Postcript. X_window se compose d'un logiciel serveur sur la machine graphique et d'un logiciel client qui se prsente comme une librairie nomme XLIB, mettant la disposition de l'utilisateur des widgets (pour Window objets), par exemple un diteur "couper-coller". Il utilise la notion de client-serveur (client = application, serveur = gestionnaire de ressources). Postcript t dvelopp pour interfacer n'importe qu'elle imprimante un systme. Il utilise un langage de description de page. Une reprsentation de page dans un tel formalisme est appele description de page procdurale. L'approche procdurale dcrit comment oprer pour obtenir une page, ce qui est au-dessus de l'approche dclarative. Postcript est devenu un standard graphique pour imprimantes et pour crans. Il faut noter que Postscript n'est pas interactif (pas de souris). Avantage de Postscript : - Indpendance de matriel graphique, les coordones manipules sont indpendantes des pixels, la traduction en pixels est le travail de l'interprte ; - Emulation de n'importe quel descripteur graphique en format statique (produit de la description dclarative). 833. FTAM FTAM a t dvelopp pour la gestion de fichiers (File Transfert Acces and Management). Il permet de manipuler des fichiers de type diffrent, mme au niveau lmentaire de l'enregistrement. Un modle commun est ncessaire pour pouvoir oprer entre systmes de gestion de fichiers dissemblables. Cette vue externe ou modle est appel Systme de Gestion de Fichiers Virtuel (Virtual Filestore) qui dcrit 3 lments : - les attributs d'un fichier, - la structure d'un fichier : un modle hirarchique gnral est utilis, - les actions qui peuvent tre xcutes sur le fichier, ses attributs ou un FADU (File Accs Data Unit) sont la lecture, modification, extension, remplacement, insertion, suppression ou localisation d'un FADU. FTAM offre l'utilisateur:
32/33
ISO - Un modle commun pour dcrire des fichiers et leurs attributs ; - Il offre une base pour le transfert, l'accs et la gestion de fichiers ; - Mise en correspondance locale du sytme de gestion de fichiers virtuel sur le sytme de gestion de fichiers rel (implantation locale).
33/33