1、UNION INTERNATIONALE DES TLCOMMUNICATIONS5)4 4 X.208SECTEUR DE LA NORMALISATIONDES TLCOMMUNICATIONSDE LUIT).4%2#/%8)/. $%3 3934 -%3 /56%243-/$ ,% %4 ./4!4)/.30 #)(b) la ncessit dune notation de haut niveau pour spcifier de tels objets informationnels;(c) lintrt dune formulation et dune normalisation
2、 des rgles de codage de ces objets informationnels,recommande lunanimit(1) la notation utiliser pour dfinir la syntaxe abstraite des objets informationnels spcifie dans la section 1;(2) les types de chanes de caractres dfinis dans la section 2;(3) les autres types utiles dfinis dans la section 3;(4)
3、 les sous-types dfinis dans la section 4.SOMMAIRE0 Introduction1 Objet et domaine dapplication2 Rfrences3 Dfinitions4 Abrviations5 Notation utilise dans la prsente Recommandation5.1 Productions5.2 Partie droite dune production5.3 Exemple de production5.4 Disposition5.5 Rcursivit5.6 Dnotation dun ens
4、emble de squences5.7 Rfrences un item5.8 Etiquettes6 Utilisation de la notation ASN.11)La Recommandation X.208 et la norme ISO 8824, “Systmes de traitement de linformation Interconnexion des systmes ouverts- Spcification de la syntaxe abstraite numro un (ASN.1)“, telle que dveloppe par son addendum
5、1, ont t tablies en troitecollaboration et sont techniquement alignes.2 Fascicule VIII.4 - Rec. X.208SECTION 1 SPCIFICATION DE LA NOTATION ASN.17 Le jeu de caractres ASN.18 Items ASN.18.1 Rgles gnrales8.2 Dnotations de types8.3 Identificateurs8.4 Dnotations de valeur8.5 Dnotations dun module8.6 Comm
6、entaire8.7 Item vide8.8 Item nombre8.9 Item chane binaire8.10 Item chane hexadcimale8.11 Items chane de caractres8.12 Item affectation8.13 Items caractre unique8.14 Items mot cl9 Dfinition dun module10 Dnotation des dfinitions de types et de valeurs11 Affectation de types et de valeurs12 Dfinition d
7、es types et valeurs13 Notation du type Boolen14 Notation du type Entier15 Notation du type Enumr16 Notation du type Rel17 Notation du type Chane binaire18 Notation du type Chane doctets19 Notation du type Vide20 Notation des types Squence21 Notation des types Squence-de22 Notation des types Ensemble
8、Fascicule VIII.4 - Rec. X.208 323 Notation des types Ensemble-de24 Notation des types Choix25 Notation des types Slection26 Notation des types Etiquets27 Notation du type Quelconque28 Notation du type Identificateur dobjet29 Notation des types Chane de caractres30 Notation des types dfinis dans la s
9、ection 3SECTION 2 TYPES CHANE DE CARACTRES31 Dfinition des types Chane de caractresSECTION 3 DFINITIONS UTILES32 Heure gnralise33 Heure universelle34 Le type Externe35 Le type Descripteur dobjetSECTION 4 SOUS-TYPES36 Notation des sous-types37 Ensembles de valeurs dun sous-type37.1 Valeur unique37.2
10、Sous-type contenu37.3 Plage de valeurs37.4 Limitation de taille37.5 Alphabet autoris37.6 Sous-typage interneAnnexe A La notation de macroA.1 IntroductionA.2 Extensions du jeu de caractres et des items ASN.1A.2.1 Dnotation-macroA.2.2 Dnotation-productionA.2.3 Dnotation-type-Local4 Fascicule VIII.4 -
11、Rec. X.208A.2.4 Dnotation-valeur-localeA.2.5 Item de slectionA.2.6 Item de terminaison de dfinitionA.2.7 Item terminal syntaxiqueA.2.8 Items mots cls de catgorie syntaxiqueA.2.9 Items mots cls additionnelsA.3 Notation des dfinitions de macroA.4 Utilisation de la nouvelle notationAnnexe B Affectation
12、 par lISO des valeurs des composants dun identificateur dobjetAnnexe C Affectation par le CCITT des valeurs des composants dun identificateur dobjetAnnexe D Affectation commune des valeurs des composants dun identificateur dobjetAppendice I Exemples et directivesI.1 Exemple dun enregistrement “salar
13、i“I.1.1 Description informelle de lenregistrement “salari“I.1.2 Description ASN.1 de la structure denregistrementI.1.3 Description ASN.1 dune valeur de lenregistrementI.2 Directives relatives lutilisation de la notationI.2.1 BoolenI.2.2 EntierI.2.3 EnumrI.2.4 RelI.2.5 Chane binaireI.2.6 Chane doctet
14、sI.2.7 VideI.2.8 Squence et Squence-deI.2.9 EnsembleI.2.10 EtiquetI.2.11 ChoixI.2.12 Type SlectionI.2.13 QuelconqueI.2.14 ExterneI.2.15 CodI.3 Exemple dutilisation de la notation de macroI.4 Utilisation dASN.1 pour lidentification des syntaxes abstraitesI.5 Sous-typesAppendice II Rsum de la notation
15、 ASN.1Fascicule VIII.4 - Rec. X.208 50 IntroductionDans les couches infrieures du modle de rfrence de base (voir la Recommandation X.200) chaque paramtre“donnes de lutilisateur“ dune primitive de service est spcifi comme la valeur binaire dune squence doctets.Dans la Couche Prsentation, la nature de
16、s paramtres “donnes de lutilisateur“ est diffrente. Les spcificationsde la Couche Application imposent aux donnes de lutilisateur du service de prsentation (voir laRecommandation X.216) de vhiculer les valeurs de types trs complexes, incluant ventuellement des chanes decaractres de divers jeux. Pour
17、 spcifier la valeur vhicule, ces recommandations exigent une notation dfinie qui nedtermine pas la reprsentation de la valeur. Ces recommandations sont compltes par la spcification dun ou plusieursalgorithmes appels rgles de codage qui dterminent les valeurs des octets de la Couche Session vhiculant
18、 ces valeursde la Couche Application (appeles syntaxes de transfert). Le protocole de la Couche Prsentation(voir Recommandation X.226) peut ngocier les syntaxes de transfert utiliser.Lobjet de la spcification dune valeur est de permettre de la distinguer des autres valeurs possibles. Lensembleconsti
19、tu par la valeur et celles dont elle est distingue, est appel un type, dont une occurrence spcifique est une valeurde ce type. Plus gnralement, une valeur ou un type peuvent souvent tre considrs comme composs de plusieursvaleurs ou types plus simples, et de relations qui existent entre eux. Lexpress
20、ion type de type de donnes est souventutilise comme synonyme de type.Pour interprter correctement la reprsentation dune valeur (quil sagisse de signes sur du papier ou de bits surune ligne de communication), il faut connatre (en gnral daprs le contexte) le type de la valeur reprsente.Lidentification
21、 dun type est donc une partie importante de la prsente Recommandation.Une technique trs gnrale pour dfinir un type compliqu est de dfinir un petit nombre de types simples, donttoutes les valeurs possibles sont dfinies, puis de combiner ces types simples de diverses faons. Voici certaines desfaons de
22、 dfinir de nouveaux types:a) tant donn une liste (ordonne) de types existants, une valeur peut tre forme comme une squence(ordonne) de valeurs dont chacune est dun des types existants; lensemble de toutes les valeurs possiblesainsi obtenu est dun nouveau type (si les types de la liste sont tous dist
23、incts, ce mcanisme peut tre tendupour permettre lomission de certaines valeurs de la liste);b) tant donn une liste de types existants (distincts) une valeur peut tre forme comme un ensemble(non ordonn) de valeurs dont une de chacun des types existants, lensemble de toutes les valeurs possiblesainsi
24、obtenu est un nouveau type; (l encore, le mcanisme peut tre tendu pour permettre lomission decertaines valeurs);c) tant donn un type existant, une valeur peut tre forme comme une squence (ordonne) ou un ensemble(non ordonn) de zro, une ou plusieurs valeurs du type existant; lensemble (infini) de tou
25、tes les valeurspossibles ainsi obtenu est un nouveau type;d) tant donn une liste de types (distincts) une valeur peut tre choisie partir de nimporte lequel dentre eux;lensemble de toutes les valeurs possibles ainsi obtenu est un nouveau type;e) tant donn un type, un nouveau type peut tre form comme
26、un sous-ensemble de ce type, induit par unecertaine structure ou relation dordre entre les valeurs.Les types ainsi dfinis sont appels types structurs.Une tiquette est affecte chaque type dfini laide de la notation spcifie dans la prsente Recommandation.Cette tiquette est dfinie par cette Recommandat
27、ion ou par lutilisateur de la notation.Il est courant dattribuer la mme tiquette de nombreux types diffrents, chacun tant identifi par le contextedutilisation de cette tiquette.Lutilisateur de la notation peut dcider dattribuer des tiquettes diffrentes deux apparitions dun mme type,on cre ainsi deux
28、 types distincts. Ceci peut tre ncessaire, quand il faut distinguer le choix qui a t opr, dans dessituations telles que celle de d) ci-dessus.Quatre classes dtiquettes sont spcifies dans la notation.La premire est la classe universelle. Les tiquettes de la classe universelle sont uniquement utilises
29、 commespcifi dans la prsente Recommandation, chaque tiquette tant affecte:a) soit un type unique;b) soit un mcanisme de construction.6 Fascicule VIII.4 - Rec. X.208La deuxime classe est la classe application. Laffectation des types des tiquettes de la classe particulire une application est spcifie p
30、ar dautres normes ou recommandations. Dans une norme ou recommandation dtermine,une tiquette de la classe particulire une application ne doit tre affecte qu un seul type.La troisime classe est la classe prive. Les tiquettes de la classe usage priv ne sont jamais affectes par desnormes internationale
31、s de lISO, ni par des Recommandations du CCITT. Leur utilisation est spcifique une entreprise.La dernire classe dtiquettes est celle des tiquettes spcifiques un contexte. Dans le cadre de touteapplication de cette notation, leur utilisation est libre et interprte selon le contexte dutilisation.Les t
32、iquettes sont principalement destines tre utilises par la machine et ne sont pas essentielles pour lanotation lisible par lhomme, dfinie dans la prsente Recommandation. Toutefois, lorsquil est impratif de distinguercertains types, cette distinction est exprime en leur imposant des tiquettes distinct
33、es. Laffectation des tiquettes estdonc une partie importante de lutilisation de la prsente notation.Remarque 1 Tous les types qui peuvent tre dfinis dans la notation de la prsente Recommandation ont unetiquette. Etant donn un certain type, lutilisateur de la notation peut en dfinir un nouveau en lui
34、 donnant une tiquettediffrente.Remarque 2 Les rgles de codage associent toujours, explicitement ou implicitement, toute reprsentationdune valeur dun type son tiquette. Les limitations imposes lutilisation de la notation, garantissent que ltiquette estsuffisante pour dterminer de faon non ambigu le t
35、ype vritable, sous rserve que les dfinitions de types applicablessoient disponibles.La prsente Recommandation dcrit une notation qui permet de dfinir des types complexes et de spcifier lesvaleurs de ces types, sans prjuger de la faon dont une occurrence de ce type doit tre reprsente lors du transfer
36、t(cest-dire par quelle squence doctets). Une notation qui offre cette possibilit est appele notation de dfinition desyntaxe abstraite.Lobjet de la prsente Recommandation est de spcifier une notation de dfinition de syntaxe abstraite appeleNotation de syntaxe abstraite numro un ou ASN.1. La Notation
37、de syntaxe abstraite numro un est employe commeoutil semi-formel pour dfinir des protocoles. Lutilisation de la notation ne supprime pas automatiquement le risquedambigut des spcifications. Il appartient aux utilisateurs de la notation de sassurer que leurs spcifications ne sont pasambigus.La prsent
38、e Recommandation est complte par dautres normes et recommandations qui spcifient des rgles decodage. Lapplication des rgles de codage la valeur dun type dfini par ASN.1 se traduit par une spcificationcomplte de la reprsentation des valeurs de ce type lors du transfert (syntaxe de transfert).La prsen
39、te Recommandation est aligne, sur le plan technique et rdactionnel, sur la Norme internationaleISO 8824 complte par laddendum 1 cette norme.La section 1 de la prsente Recommandation dfinit les types simples pris en charge par ASN.1 et spcifie lanotation utiliser pour la dnotation de types simples et
40、 la dfinition de types structurs. La section 1 spcifie galementla notation utiliser pour spcifier les valeurs de types dfinies en ASN.1.La section 2 de la prsente Recommandation dfinit des types additionnels (types chane de caractres) quipeuvent, par application des rgles de codage des jeux de carac
41、tres, tre assimils au type chane doctets.La section 3 de la prsente Recommandation dfinit certains types structurs, considrs dutilit gnrale etnexigeant aucune rgle de codage supplmentaire.La section 4 de la prsente Recommandation dfinit une notation qui permet dobtenir des sous-types partir desvaleu
42、rs dun type parent.Lannexe A, qui fait partie de la prsente Recommandation, spcifie une notation dextension de la notation debase ASN.1 par la dfinition de macros.Lannexe B, qui fait partie de la prsente Recommandation, dfinit larbre des identificateurs dobjets du domainede comptence de lISO.Lannexe
43、 C, qui fait partie de la prsente Recommandation, dfinit larbre des identificateurs dobjets du domainede comptence du CCITT.Lannexe D, qui fait partie de la prsente Recommandation, dfinit larbre des identificateurs dobjets utilisconjointement par lISO et le CCITT.Lappendice I, qui ne fait pas partie
44、 de la prsente Recommandation, donne des exemples et des directives relatifs lutilisation de la notation ASN.1Fascicule VIII.4 - Rec. X.208 7Lappendice II, qui ne fait pas partie de la prsente Recommandation, donne un rsum dASN.1 en utilisant lanotation du 5.Le texte de la prsente Recommandation et
45、en particulier les annexes B D, est agr conjointement par lISO etle CCITT.1 Objectif et domaine dapplicationLa prsente Recommandation spcifie une notation de dfinition de syntaxe abstraite appele Notation desyntaxe abstraite numro un (ASN.1).La prsente Recommandation dfinit un certain nombre de type
46、s simples, avec leurs tiquettes, et spcifie unenotation pour la dnotation de ces types et la spcification de valeurs de ces types.La prsente Recommandation dfinit des mcanismes pour construire de nouveaux types partir de types pluslmentaires, et spcifie une notation pour dfinir de tels types structu
47、rs et leur affecter des tiquettes, ainsi que pourspcifier des valeurs de ces types.La prsente Recommandation dfinit des jeux de caractres utiliser avec ASN.1La prsente Recommandation dfinit un certain nombre de types utiles (en utilisant ASN.1) auxquels lutilisateurde lASN.1 peut faire rfrence.La notation ASN.1 peut tre utilise chaque fois quil est ncessaire de dfinir la syntaxe abstraite dinformations.Elle est en particulier applicable, mais non exclusivement, aux protocoles dapplication.Il est galement fait rfrence la notation ASN.1 dans dautre