Title: Applications Client Serveur Illustration avec XDRRPC et ASN'1
1Applications Client ServeurIllustration avec
XDR/RPC et ASN.1
- Anne Marie Dery
- Module SAR1
- Année 2000 2001
2De la spécification des données au transfert de
données
3Règles dencodage
Règles utilisées pour transformer les données
spécifiées en un format standard qui peut être
décodé sur nimporte quel système. Le choix des
règles est laissé au concepteur du protocole.
Les règles dencodage ASN.1 standardisées sont
Basic Encoding Rules (BER) début
1980 Distinguished Encoding Rules
(DER) Canonical Encoding Rules (CER)
Packed Encoding Rules (PER) .
4Quelles ER ? Quand ?
BER dans un grand champ dapplications SNMP
Simple Network Management Protoco MHS Message
Handling Services TSAPI (contrôle des
interactions telephone/computer) DER un BER
spécialisé pour les applications
sécurisées (cryptographie) e-commerce, CER
similaire à DER, pour des très gros messages à
encoder au fur et à mesure. PER plus récent avec
un algorithmes qui implique un résultat rapide et
plus compact dans des applications style contrôle
aérien et télécommunications audio-visuelle. Et
Lean ED encodage de petite taille avec de hautes
performances au détriment des possibilités de
diagnostic
5De ASN.1 v.1988 à ASN.1 v.1997
6Pourquoi une nouvelle version ?
Une grammaire ambiguë Problème dutilisation des
macros Ambiguïté pour encoder et décoder les
types ouverts
Une révision de la notation en 1997
7ASN.1 v.1988 vs ASN.1 v.1997
ASN.1 1988 défini dans Rec X.208, le BER dans Rec
X.209 ASN.1 1997 dans Rec X.680 et 683, le BER
dans Rec X.690 Impossible de déterminer sur le
flux de bits transmis le ASN.1 utilisé dans la
spécification mais suppression dambiguïtés de
la première définition remplacement des macros,
du ANY,ANY DEFINED BY changement des valeurs de
CHOICE obligation de donner les noms des champs
des types structurés de nouveaux types de
chaînes
8Pour passer de v.1988 à v.1997
IUT-T Recommandation X.680 clause A.3 Migration
to the Current ASN.1 Notation Annexe E Superseded
Features Annexe H Les types ouverts 1.
Vérifier la présence des identificateurs de
champs dans les types structurés 2. Ajouter un
après les identificateurs dans une valeur de
CHOICE 3. Remplacer les ANY par les nouveaux
types ouverts 4. Remplacer les notations de
macro par la notation de classe d objets ou
celle des types paramétrés
9Compatibilité des 2 versions
Par importation et exportation de modules en
suivant les consignes de la clause A.2 import de
macros impossible en v.1997 import de nouveaux
types impossible en v.1988 Incompatible dans
un module
10Les spécificités de v.1997
11Types extensibles
ENUMERATED, SEQUENCE, SET, CHOICE State
ENUMERATEDon, off, out-of-order, ,
stand-by Dimension SET x INTEGER, y
INTEGER, , z INTEGER utilisé pour la
gestion de version très proche de la notion
d héritage
12Un exemple
13Object Information
FUNCTION CLASS ArgumentType,
ResultType DEFAULT NULL, Errors ERROR
OPTIONAL, code INTEGER (0..MAX)
UNIQUE addition FUNCTION
ArgumentType SEQUENCE a INTEGER,
b INTEGER, ResultType INTEGER, code 1
14Object Information
FUNCTION CLASS code INTEGER (0..MAX)
UNIQUE, Alphabet BMPString DEFAULT Latin1
INTERSECTION Level1, ArgumentType ,
SupportedArguments ArgumentType OPTIONAL,
ResultType DEFAULT NULL, result-if-error
ResultType DEFAULT NULL, associated-function
FUNCTION OPTIONAL, Errors ERROR
DEFAULT rejected-argumentmemory-fault
15Exemple
addition FUNCTION ArgumentType Pair,
SupportedArguments ResultType INTEGER,
code 1
16Significations de la syntaxe
If the field name and if it is then the field
of the starts with followed by object
contains Upper-case nothing a type
lower-case a type, a type reference
(Upper-case) a fixed-type value lower-case
a type field a variable-type value
(Upper-case) Upper-case a type or a type
reference (Upper-case) a fixed-type value
set Upper-case a type field (Upper-case)
a variable-type value set
17Significations de la syntaxe
If the field name and if it is then the field
of the starts with followed by object
contains lower-case a class name
(UPPER-CASES) an information object
Upper-case a class name (UPPER-CASES) an
information object set
18Exemple en x500
ATTRIBUTE CLASS derivation ATTRIBUTE
OPTIONAL, Type OPTIONAL, equality-match
MATCHING-RULE OPTIONAL, ordering-match
MATCHING-RULE OPTIONAL, substrings-match
MATCHING-RULE OPTIONAL, single-valued BOOLEAN
DEFAULT FALSE, collective BOOLEAN DEFAULT
FALSE, no-user-modification BOOLEAN DEFAULT
FALSE, usage Attribute-Usage DEFAULT
userApplications, id OBJECT IDENTIFIER UNIQUE
19 une syntaxe
WITH SYNTAX SUBTYPE OF derivation WITH
SYNTAX Type EQUALITY MATCHING RULE
equality-match ORDERING MATCHING RULE
ordering-match SUBSTRINGS MATCHING RULE
substrings-match SINGLE VALUE
single-valued COLLECTIVE collective NO
USER MODIFICATION no-user-modification USAGE
usage ID id
20Une valeur
AttributeUsage ENUMERATED
userApplications(0), directoryOperation(1),
distributedOperation(2), dSAOperation(3)
21Des utilisations de ASN.1
Depuis toujours en administration de réseaux avec
SNMP et GDMO, en X500 et X400 et maintenant
partout autour de vous Dans les téléphones
cellulaires (Amerique du nord, Europe, et Japon)
qui utilisent TCAP décrit en ASN.1 / BER la
Federal Aviation Administration et
lInternational Civil Aviation utilisent un
protocole codé en PER DEC, Hewlett Packard,
IBM, Sun and Xerox définissent linterface
standard DPA pour leur nouvelles imprimantes
avec ASN.1.
22Des environnements de programmation
Vendus par des industriels
OSS Nokalva http//www.oss.com.products Outils
Checker (free), Compiler, Encoder/decoder
Langages visés C Borland VisualAge sous
WindowsNT Java, C, Pascal, Cobol
23Logiciels libres
Seulement des checkers et mavros
24Des références
Un glossaire hyper pratique http//www.oss.com
/asn1/glossary.htmlA Des référencs de livres
http//www.oss.com/asn1/booksintro.html Des
publications http//www.oss.com/asn1/publication
s.html Accès aux normes http//asn1.elibel.tm
.fr/en/standards/index.htmx690
25Standards internationaux ITU-T Recommandations
X.680 8824-11998, Abstract Syntax Notation One
(ASN.1) Specification of Basic Notation
X.681 8824-21998, Abstract Syntax Notation
One (ASN.1) Information Object Specification
X.682 8824-31998, Abstract Syntax Notation
One (ASN.1) Constraint Specification X.683
Parameterization of ASN.1 Specifications X.690
ASN.1 Encoding Rules Specification of Basic
Encoding Rules (BER), Canonical Encoding Rules
(CER) and Distinguished Encoding Rules (DER)
X.691 ASN.1 Encoding Rules Specification of
Packed Encoding Rules (PER)
26Tout ce que je ne vous ai pas dit
Types de Chaînes COMPONENT OF Contraintes
SEQUENCE SIZE(103) OF Type Integer(1..103) Two
INTEGER(2) Wednesday Day(wednesday) 264
27ANY et ANY DEFINED BY
v ANY INTEGER12 T SEQUENCE a
BOOLEAN, b REAL w ANY Ta TRUE,
b314,10,-2 Error SEQUENCE code
INTEGER, parameter ANY DEFINED BY code 0
NULL 1 INTEGER 2 SEQUENCE OF INTEGER 3 SEQUENCE
param1 T1, param2 T2
28XDR/RPC
29Une première approche d ASN.1
30ASN.1 plus quun simple langage de spécifications
31Une bibliothèque dexécution pour RPCGEN