Vous êtes sur la page 1sur 33

ISO

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

12.DFINITION DU MODLE OSI DE L'ISO


L'OSI est un ensemble d'outils normaliss pour la conception de rseaux tlinformatiques. Ces concepts normaliss servent pour l'analyse et la construction de rseaux informatiques. Un systme informatique est considr comme un ensemble d'activits, lesquelles s'effectuent sur des sites diffrents. Les actions concourant l'excution de ces activits sont excutes par des entits se trouvant localises sur ces sites diffrents. Les activits utilisent des ressources pour l'excuter. Ces notions sont similaires aux notions de systme d'exploitation d'ordinateur, la seule diffrence est que le systme informatique dans ce cas est situ sur des sites diffrents, c'est pour cela que l'on parle de systme distribu ou rparti. Un procd classique d'organisation des activits dans les systmes informatiques est l'organisation en couches. C'est cette organisation qui a t retenue par l'ISO.

Les activits correspondent des couches dans l'OSI. 2/33

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

Niveau 7 Niveau 6 Niveau 5 Niveau 4 Niveau 3 N2 LH

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

32.PRIMITIVES DE LA COUCHE LIAISON


Comme nous l'avons dj voqu, la communication entre les Couches Rseau et Liaison de Donnes se fait par l'intermdiaire de primitives de service. Ces primitives sont : demande, indication, rponse et confirmation. Les primitives demande sont utilises par la Couche Rseau pour demander la Couche Liaison d'effectuer quelque chose (par exemple, tablir une connexion ou envoyer une trame). Ces primitives sont les suivantes: Service sans connexion L_DATA Service orient connexion L_DATA_CONNECT L_CONNECT L_DISCONNECT

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

4.COUCHE RSEAU Rfrences : ISO 8348 et CCITT X213


41.RLE GNRAL DE LA COUCHE RSEAU
La couche rseau sert de relais au paquets de donnes fournis par la couche transport, elle effectue le routage de ceux-ci. Elle assure l'acheminement (commutation et routage) des trames travers le rseau depuis l'metteur jusqu'au destinataire en passant par diffrents noeuds intermdiaires (dans le cas ou il y a plusieurs chemins possibles). La couche rseau donne les services suivants : - systme d'adressage des utilisateurs du rseau permettant d'identifier de manire unique ceux-ci dans le rseau concern - intgrit du transport des paquets (dfinition du format des paquets et du contrle d'erreur) - contrle de flux, de dfaillance - routage On y trouve deux techniques de communication : - CIRCUIT VIRTUEL : le 1er paquet est trait spcialement pour dterminer le chemin qui sera suivi par les paquets suivants (ouverture de connexion). Ce chemin, qui est une connexion logique, s'appelle un circuit virtuel. Le numro du circuit virtuel est la rfrence de la route suivie par la communication. Les paquets arrivent donc dans le mme ordre que celui de dpart. Les performances du rseau sont un peu rduites par les temps d'tablissement, de gestion et de rupture de la connexion. Le protocole X25 du rseau Transpac est de type circuit virtuel (cette norme couvre en faite les 3 premires couches) - DATAGRAMME : l'adresse du destinataire est mise dans chaque paquet. Les paquets peuvent donc circuler indpendamment les uns des autres.On parle de dialogue sans connexion. Ce mode est intressant dans le cas d'changes courts (transfert d'informations de contrle, messagerie) car il conomise les phases d'tablissement et de rupture du mode circuit virtuel.. Le protocole Internetwork Protocol (protocole IP) de TCP/IP est un protocole de type Datagramme. La norme X121 a t adopte par le CCITT comme plan de numrotage internationnal pour les rseaux publics de donnes. IP (Internet Protocol), ICMP, ARP sont des protocoles de nivrau 3, de mme que IPX (Internet Packet eXchange) de Novell, IDP (Internet Datagram Protocol) de XNS et DDP (Datagram Delivery Protocol) d'APPLE.. Hors rseaux locaux, on trouve X25 niveau 3 (IS 8208) et le protocole rseau du canal D du RNIS (CCITT I.451)

10/33

ISO

42. DIFFRENTS TYPES DE ROUTAGES


La couche rseau est charge de l'acheminement des messages ou paquets, c'est ce que l'on appelle le routage. On distingue: -les rseaux commutation de circuit au sens physique; -les rseaux commuation de message; -les rseaux commutation de paquets; -les rseaux diffusion (broadcast); Dans les rseaux locaux, il n'y a pas de routage des messages au sens gnral, puisque l'information est diffuse toutes les stations. La commutation par paquets consiste diviser les messages en paquets, qui vont transiter sur le rseau.

43. RLE DE LA COUCHE RSEAU DANS LES RSEAUX LOCAUX


Elle permet d'interconnecter des rseaux locaux diffrents du niveau couche liaison et physique, elle permet d'interconnecter des rseaux locaux travers un rseau grande distance. Pour cela on distingue plusieurs organes d'interconnections. Un pont est plutt un organe charg de relier des rseaux locaux fonctionnant avec des protocoles identiques partir et au-dessus de la sous-couche LLC, et utilisant le mme format d'adressage au niveau MAC (en particulier les protocoles MAC normaliss par l'ISO). Il permet notamment de relier deux rseaux qui diffrent uniquement par leur voie de transmission et leur dbit. Le cas type est l'interconnexion d'un rseau MAP large bande 10 Mbits/s avec un rseau MAP bande porteuse 5 Mbits/s. Pour que les trafics respectifs des deux rseaux relis ne s'additionnent pas, le pont a une fonction de filtre : il ne laisse passer que les trames dont la destination est dfinie par une adresse prsente de "l'autre ct". Ce filtre est aussi une scurit contre l'intrusion d'utilisateurs indsirables. Un routeur est un organe charg de relier des rseaux, locaux ou non, qui diffrent par leurs protocoles au moins aux niveaux physique et liaison. Les deux rseaux connects supportent des protocoles d'application identiques, o l'on sert uniquement de relai vers un autre rseau qui est compatible ce niveau avec le premier. Ce cas est celui de rseaux locaux loigns interconnects l'aide d'un rseau grande distance. La fonction du routeur est typiquement d'effectuer l'interconnexion au niveau rseau. Une passerelle est le terme gnrique d'un organe d'interconnexion de rseaux. Si ce n'est ni un pont, ni un routeur, la passerelle effectue des conversions de protocoles et des adaptations sans qu'il y soit possible de les prciser d'une manire gnrale. Les rseaux concerns ne sont d'ailleurs pas ncessairement structurs suivant le modle OSI. Le cas le plus frquent est toutefois une interconnexion un niveau de fonctionnnalit de type transport.

11/33

ISO

44. COUCHE RSEAU EN MODE CONNECT OU BIEN DATAGRAMME


Le dbat rel entre service avec connexion et service sans connexion se situe au niveau du choix de la couche o placer la complexit. Dans le service avec connexion, c'est dans la Couche Rseau (sous-rseau); dans le service sans connexion, c'est dans la Couche Transport (htes). Les partisans du service sans connexion soutiennent que la puissance de calcul des ordinateurs des utilisateurs est devenue moins onreuse, et que rien n'empche de placer la complexit dans les htes (frquemment dans les processeurs de rseau). En outre, ils argumentent que le sous-rseau est un investissement national majeur destin durer des dcennies, donc cet investissement ne doit pas tre alourdi par des caractristiques qui tombent rapidement en dsutude, mais qui devront tre calcules dans le cot pendant plusieurs annes. De plus, certaines applications, comme la voix numrise et la collecte d'informations en temps rel, ncessitent plutt une livraison rapide qu'une livraison exacte. A l'inverse, les supporters du service orient connexion soutiennent que la plupart des utilisateurs ne sont pas intresss par l'excution de protocole complexe de transport dans leur machine. Ce qu'ils veulent est un service fiable, sans ennui, et ce service peut tre mieux fourni avec connexion. En conclusion, il y a un trs rel problme de crdibilit. Si les usagers n'acceptent pas de faire confiance au transporteur, qui prtendent ne perdre que trs rarement un paquet, ils devront implanter tous les contrles d'erreurs dans leurs couches transport. Toutefois, si une proportion importante d'usagers le font, c'est un gaspillage que de s'exposer toutes sortes d'ennuis et de dpenses pour atteindre un haut degr de fiabilit dans la Couche Rseau. Le sous-rseau peut trs bien fournir un service sans connexion squelettique et bon march, et dire aux usagers de faire tout le travail puisque plusieurs d'entre eux le feront de toute manire quels que soient les dires du transporteur. En rsum les partisans du service orient connexion sont plus nombreux que les supporters du service sans connexion dans le comit qui dfinit la Couche Rseau, de sorte que la Couche Rseau du modle OSI fut l'origine oriente connexion. (On a prtendu que les PTT prfraient le service orient connexion parce qu'il ne peut y avoir une dure de connexion s'il n'y a pas de connexion). Cependant, les partisans du service sans connexion intrigurent pour leur cause, pour que l'ISO puisse ventuellement modifier la dfinition du service pour y inclure les deux classes. Les deux types sont maintenant autoriss et les protocoles correspondants ont t incorpors dans l'architecture OSI. Deux voies videntes sont soit compltement avec connexion, soit entirement sans connexion. Cependant, il est possible d'avoir un service avec connexion fourni par la Couche Rseau ou Transport mme si les couches infrieures sont sans connexion. Dans ce cas la Couche Rseau ou transport doit assurer la conversion. Par exemple un service transport orient connexion pourra tre construit sur un rseau local avec un service liaison sans connexion, en plaant le contrle d'erreur, le contrle de flux, et les fonctionnalits correspondantes soit dans la Couche Rseau soit dans la Couche Transport. Il est aussi possible d'implanter le mcanisme inverse d'un service sans connexion pour les couches hautes au-dessus de couches basses orientes connexion. Cependant, cela semble du gaspillage de connecter deux rseaux locaux, tous deux en mode sans connexion, travers un rseau gnral qui offre uniquement un service rseau en mode connexion. En tout tat de cause, la conversion entre les deux types de service peut tre ralise dans la Couche Rseau ou la Couche Transport, mais jamais dans les couches suprieures.

12/33

ISO

45. LES PRIMITIVES DU SERVICE RSEAU DU MODLE ISO


La norme IS 8348 dfinit les services rseaux et prcise les primitives qui s'appliquent la frontire entre la Couche Rseau et la Couche Transport. Elle dfinit les primitives du service avec connexion et du service sans connexion. Une connexion est une paire de files d'attente entre deux NSAP (adresses de rseau), une file pour chaque sens. Les primitives du service orient connexion peuvent tre regroupes respectivement en quatre catgories: - l'tablissement, - la libration, - l'utilisation, - la rinitialisation de la connexion. La plupart des primitives comportent des paramtres. La faon exacte dont les paramtres sont passs aux primitives dpend de l'implmentation. La primitive N-CONNECT.request est utilise pour initialiser la connexion. Elle prcise l'adresse rseau laquelle on veut se connecter et l'adresse rseau de l'appelant. Elle comporte aussi deux variables boolennes pour demander l'utilisation des services optionnels. Le Ackswanted permet l'appelant de demander l'acquittement de chaque paquet mis. Si la Couche Rseau ne fournit pas l'acquittement, la variable est mise faux quand la demande est livre au destinataire dans la primitive N-CONNECT.indication. Si la Couche Rseau fournit l'acquittement, mais que le destinataire ne veut pas l'utiliser, il l'indique en mettant le "drapeau" faux dans la primitive N.CONNECT.response. Ce n'est seulement que dans le cas ou les deux entits transports et le fournisseur du service rseau le dsirent que cette option est utilise. Ceci est un exemple d'option ngociale. Le "drapeau" exp_wanted est un second exemple d'option ngociable. Si cette option est accepte par les trois parties, elle permet l'usage des donnes exprs, un paquet important peut violer l'ordre normal de la file d'attente et se placer en tte de la file. Le fait qu'il le fasse ou non dpend de l'implmentation. Un exemple typique d'utilisation d'un paquet exprs est le cas d'un utilisateur appuyant sur la touche DEL d'un terminal pour interrompre l'excution d'un programme. Le paquet DEL sera un paquet exprs. Primitives de la couche rseau: Primitives orients connexion N_CONNECT. N_DISCONNECT N_DATA_CONNECT N_EXPEDITED_ATA. N_RESET Primitives sans connexion 13/33

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

5.COUCHE TRANSPORT Rfrences : ISO 8072 et 8073, CCITT X214 et X224


La couche Transport effectue le contrle de la liaison de bout en bout. C'est la frontire entre le monde des transmission ( couches 1 3) et le monde des applications ou traitements (couches 5 7). Elle joue le rle d'interface entre les rseaux, assure la transparence des rseaux pour les couches suprieures et leur garantit un service de transport de qualit. Si la communication est interne un rseau, il n'y a pas besoin de couche transport. Les 4 premires couches ont donc pour fonction de traiter tous les problmes de transmission. Les 3 couches les plus hautes utilisent les services fournis par les couches infrieures. Le rseau est transparent pour elles. Les couches prcdentes assuraient le transfert d'un paquet entre 2 points quelconques du rseau par bonds successifs entre noeuds adjacents. Des mcanismes de protection assuraient la bonne transmission de ce paquet. Mais il se peut que le paquet soit perdu ou modifi dans un noeud-mme. La couche transport est l pour effectuer des contrles de bout en bout ce qui signifie qu'elle s'assure qu'un message (dcoup en trames ou paquets par le rseau) arrive correctement (entier et en ordre) au destinataire). Il est donc vident que les traitements (dcoupage et recomposition) sont effectus par l'metteur et le destinataire, parfois dans des stations ddies apples Stations de Transport. Les autres noeuds intermdiaires du rseau n'interviennent pas ce niveau pas plus qu'aux niveaux suprieurs. Elle ralise une connexion de niveau 4. Plusieurs connexions de niveau 4 peuvent tre multiplexes sur une connexion de niveau 3. Cette couche amliore la couche 3 pour le contrle d'erreur, le contrle de flux, le multiplexage de secours du rseau, la fragmentation/ rassemblage des paquets. Les services offerts par la couche 4 : - transport chaque extrmit des connexions des messages sans perte ni duplication et dans le bon ordre - slection de qualit de service (vitesse, priorit, dlai de connexion...) - adressage (diffrent de celui de la couche rseau) de l'utilisateur ; elle fait la correspondance entre l'adresse utilise partir du niveau 4 et au- dessus et l'adresse de rseau, la forme des adresses dans cette couche n'est pas encore totalement dfinie. Il y a gnralement confusion entre les adresses rseau et les adresses transport - transparence vis--vis des informations transportes (messages) La norme ECMA TC24 distingue 5 classes de protocole qui offrent des services plus ou moins labors (TP0 TP4) : - 0 simple terminal, pas de reprise sur erreur, pas de contrle de flux ni de multiplexage - 1 classe de base avec reprise sur erreurs - 2 pas de reprise sur erreur, multiplexage avec ou sans contrle de flux - 3 reprise sur erreur, multiplexage avec ou sans contrle de flux - 4 dtection et rcupration d'erreur, multiplexage avec contrle de flux. 16/33

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.

51. RLE DE LA COUCHE TRANSPORT


La couche transport est la couche charnire entre les systmes d'exploitation des ordinateurs et les supports de transmission des donnes. Elle assure l'indpendance du systme d'exploitation et du support physique de transmission. La couche de transport tablit une frontire nette (le service de transport) entre les deux domaines de fonctions des systmes rpartis : les transmissions de donnes, encore appeles transport, d'une part, et le traitement rparti des donnes. Cette frontire constitue aucune sparation naturelle fonctions : entre 2 ensembles homognes de

- 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.

52. QUALIT DE SERVICE: SERVICES NORMALISS DE LA COUCHE TRANSPORT


La qualit du service rendue par la couche rseau la couche transport est value par rapport aux erreurs. Sur cette base, 3 types de rseaux existent : type A.B.C. Pour s'adapter ces 3 types de couches rseau, caractrisant la transmission au sens physique, la couche transport comprend plusieurs protocoles de classe numrotes de 0 4. Cette classification de la couche transport est relative la qualit des services offerts par la couche rseau.

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.

53. PRIMITIVES DE LA COUCHE TRANSPORT RETENUES PAR L'ISO


Elles sont classes en 4 groupes :

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

61. RLE DE LA COUCHE SESSION


La couche session est la premire dans l'OSI qui ne concerne pas la transmission de donnes. C'est l'interface privilgie entre les OS et les rseaux de transmission des donnes. La couche session a un rle de synchronisation et de maintien des connexions. 611. Concepts utiliss Les changes sont structurs en activits et units de dialogues qui correspondent des intervalles entre points de synchronisation. Le service cession gre les points de synchronisation et les identifie par un numro de srie. Une application immdiate est dans le traitement des donnes. Une base de donnes utilise des points de synchronisation pour prserver la cohrence des donnes. Les synchronisations sont structurelles et non temporelles (temps pris en compte au niveau des couches infrieures).

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.

62. PRIMITIVES DE LA COUCHE SSSION


Les primitives de la couche session se divisent en 8 groupes: primitives en mode connect 1 - tablissement de la connexion, 2 - libration de la connexion, 3 - transfert des donnes, 4 - gestion des jetons 5 - insertion des points de syncronisation 6 - gestion des activits 7 - rapport d'anomalie primitives en mode non connect 22/33

ISO 1 - transfert de donnes

63. APPEL DE PROCDURE DISTANCE


Le rle essentiel de la Couche Session est la gestion du dialogue entre les utilisateurs et le contrle des erreurs (pannes systmes) survenant au-dessus de la Couche Transport. Dans le modle de rfrence de l'ISO, une session en mode non connect a peu de sens. Toutefois, dans les universits et les entreprises, de nombreuses recherches sont menes sur un modle de dialogue et de contrle d'erreur compltement diffrent, fond sur une communication en mode non connect. Ces travaux, qui sont connus sous le nom d'appel de procdure distance (RPC, Remote Procdure Call), sont largement implments dans les rseaux et systmes distribus. L'appel de procdure distance ne cadre pas particulirement bien avec le modle de rfrence de l'ISO. Il a t conu pour tre rapide et de ce fait ne contient pas de structure multi-couches. L'appel de procdure distance concerne logiquement les mmes lments que la Couche Session (dans une perspective diffrente toutefois). Jusqu' prsent, nous avons implicitement suppos que les deux processus communiquant sur une connexion de session ou de transport taient symtriques. Dans la pratique, cette hypothse est souvent fausse. L'exemple classique est celui d'un ensemble d'ordinateurs personnels ou de stations de travail sans disque, appels clients, qui communiquent travers un rseau avec un serveur de fichiers possdant une ressource disque sur laquelle sont stocks les diffrents fichiers. Dans ce systme, les clients accdent leurs donnes en mettant des requtes vers le serveur, lequel a pour rle de renvoyer les rponses. La communication a toujours cette forme question-rponse, toujours l'initiative des clients et jamais celle du serveur. Ce modle est appel modle client-serveur. Bien qu'il soit possible d'tablir des sessions entre clients et serveurs et d'utiliser des communications l'alternat sur ces sessions, l'important volume d'informations de contrle des protocoles li la traverse des multiples couches fait perdre une telle solution son intrt pour beaucoup d'applications, tels les serveurs de fichiers pour lesquels les performances sont un paramtre essentiel. Une communication en mode non connect construite juste au-dessus d'un simple service datagramme (en particulier dans les rseaux locaux) s'avre souvent un bien meilleur choix. Les partisans de l'appel de procdure distance (RPC pour Remote Procdure Call) proposent une approche du modle client-serveur qui est plus qu'un appel d'entres et sorties.Ainsi, dans le modle client-serveur, un client qui envoie un message un serveur et attend une rponse est considr exactement comme un programme qui appelle une procdure et en attend un rsultat. Dans les deux cas, l'appelant a l'initiative d'une action et attend jusqu' ce qu celle-ci soit excute et que les rsultats soient disponibles. Dans le cas local, la procdure s'excute sur la mme machine que l'appelant alors que dans le cas RPC, elle s'excute sur une autre machine. Notons que l'appelant n'a pas se soucier de cette diffrence. Pour masquer encore plus cette diffrence entre appel de procdure local et distance, il est possible d'inclure le RPC dans le langage de programmation. Supposons, par exemple, que nous fournisssions chaque client du serveur de fichiers une procdure de bibliothque, lire, qui peut tre appele avec trois paramtres : l'identificateur du fichier lire, une adresse de mmoire tampon pour les donnes lues et la longueur des donnes lues et la longueur des donnes lire en octets. Un appel de la forme 23/33

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.

71. RLE DE LA COUCHE PRSENTATION


La couche de prsentation ne traite plus spcifiquement de communication. Son rle est de permettre la comprhension cohrente des informations changes entre utilisateurs. La couche prsentation doit pouvoir tre indpendante des spcificits des rseaux et des machines. Ce principe conduit la dfinition d'une couche prsentation travaillant en mode virtuel : le terminal virtuel en messagerie, le fichier virtuel en gestion et transfert de fichiers. Les donnes changes sont compatibles au niveau virtuel. Le modle de fonctionnement retenu pour le problme de prsentation est l'association de deux types de syntaxe : - une syntaxe de transfert commune aux entits de prsentation ; - une syntaxe abstraite, qui est propre l'utilisateur.

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.

72. EXEMPLE DE DFINITION DES DONNES


L'exemple suivant illustre la necessit de la couche prsentation et l'utilit du langage de description des donnes ASN1. Type dinosaure = record nom : array (1-12) of caracteres longueur : entier carnivore : boolean os : entier dcouverte : entier end; L'implmentation de ce type de donnes varie avec le type de machine. Considrons cette implmentation sur de types de machines, les machines codant les donnes en commenant par les poids faibles (comme Motorola) et les machines codant les donnes en commenant par les poids forts (comme Intel). noctets 0 4 8 12 16 20 24 Gros boutiste d i n o s a u r u s 0 0 0 20 0 0 0 0 0 0 1 47 0 0 4 52 Petit boutiste on i d ru a s s u 0 0 0 20 0 0 0 0 0 0 1 47 0 0 4 52

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.

81. RLE DE LA COUCHE APPLICATION


La couche application est l'interface entre les utilisateurs, les tches rparties sur diffrentes stations, et le systme de communication. Organisation de la couche application : Chaque station supporte un ou plusieurs processus d'application (AP) ou utilisateurs. Les utilisateurs ont accs un ensemble de fonctions, lequel ensemble s'appelle AE (Entit Application). Les diffrentes fonctions offertes par l'AE sont les services de la couche application que l'on appelle les ASE (Application Service Elment). AP < Application Process > AE Entit Application > ASE Application Service Elment

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

82. SERVICE ISO ACSE ET CCR


Aprs avoir travaill dans de nombreuses directions, il est rapidement apparu des points communs entre les diverses applications. Presque toutes ont besoin de grer des connexions ; d'autres cherchent synchroniser les activits cooprantes sur plusieurs sites. Pour viter chaque nouvelle application de rsoudre encore et encore les mmes problmes, l'ISO a dcid de normaliser certaines briques de base. Nous allons dcrire deux des plus importantes ci-aprs. 821. ACSE (Association Control Service Element) ACSE est conu pour grer les connexions, qui s'appellent des associations au niveau application. Chaque primitive ACSE correspond directement une primitive du niveau prsentation. On peut alors se demander quelle est leur utilit, car les applications pourraient directement faire usage des primitives de prsentation. Il y a deux raisons l'existence d'ACSE. La premire est une raison de symtrie. Tous les autres niveaux possdent des primitives de connexion, il serait trange de ne pas en trouver au niveau application. La seconde raison concerne des extensions prvues ACSE qui lui donneront beaucoup plus de travail raliser, en particulier l'authentification des accs. Une telle fonction est hors des comptences de la Couche Prsentation. Primites ACSE A_ASSOCIATE A_RELEASE A_ABORT A_P_ABORT Signification Etablissement d'une association Libration d'une association Libration brutale l'initiative de l'utilisateur Libration brutale l'initiative de l'hte

Les primitives ACSE

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.

83. LES SERVICES ISO DE GESTION ET DE TRANSFERTS DE FICHIERS


831. MMS (Manufacturing Message Spcification) MMS est un standard de communication normalis par l'ISO par la DIS 9506/1 (Draft International Standard) pour le service et la DIS 9506/2 pour le protocole. MMS fournit un langage de commande pour connecter et commander des machines htrognes dans un environnement industriel. Les fonctions offertes par MMS reposent sur une reprsentation abstraite des donnes et des ressources, le VMD: Virtual Manufacturing un dispositif de fabrication virtuel. Un subside de MMS se retrouve dans les rseaux FACTOR et LAC. 832. Prsentation en fentres Les Systmes graphiques modernes sont devenues multi-applications multi-fentres. 31/33

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

Vous aimerez peut-être aussi