Applications Client Serveur Illustration avec XDR/RPC et ASN.1

Slides:



Advertisements
Présentations similaires
Applications Client Serveur Illustration avec XDR/RPC et ASN.1 Anne Marie Dery Module SAR1 Année
Advertisements

Applications Client Serveur Le langage de Spécification ASN.1 Anne Marie Dery Module SAR1 Année
Evaluation de requêtes Quelques résultats préliminaires 1 Amin Mesmoudi.
Interactivité et Lingo Interactivité - spécifier le déroulement en fonction des actions de l’usager Ex: Déroulement si l’usager clique Choix dans une liste.
Présentation de Scribe Votre nouvelle organisation du Réseau Informatique Pédagogique.
Présentation du projet JAVA Système de messagerie instantanée cryptée.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
Les profils du SEDA confection de profil avec Agape.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
CINI – Li115 1 Semaine 11 Les pointeurs (suite) ● Tableaux et pointeurs ● Questions sur les pointeurs.
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
1 Programmation en C++ Cycle de vie ● La vie d'un objet ● Destructeur ● Gestion de mémoire dynamique.
NF04 - Automne - UTC1 Version 09/2006 (E.L.) Cours 5-a Problèmes scalaires instationnaires d’ordre 1 en temps Domaines d’application Notions de schémas.
Les Réseaux informatique.
Concepts pour le contrôle de flux
UE2 - M22 Licence acoustique
Les commandes externes
Cross-Plateform Cours JavaScript
JAVA.
Introduction au Langage Pascal
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Les Bases de données Définition Architecture d’un SGBD
NuFW, un parefeu authentifiant
[Insérez le nom du programme]
SNMP - Comment calculer l'utilisation de la Bande passante
Fedora 26 Quelles nouveautés ? License CC-BY-SA.
Algorithmique demander jeu du pendu.
Ajouter le code dans une page html
Work: ISA8895 Implementation Section: Interoperability Chapter: B2O
Commande show ip dhcp binding
L’Instruction de Test Alternatif
Généralité sur les bases de données
Comprendre les valeurs
Commande show ip route ccnp_cch ccnp_cch.
Principes de programmation (suite)
Tableaux à plusieurs dimensions en langage C
ToIP - Règles de Traduction de numéro.
Technologies de l’intelligence d’affaires Séance 14
QoS - Configuration de NBAR (Network-Based Application Recognition)
Semaine #4 INF130 par Frédérick Henri.
La couche présentation : ASN.1 et BER Abstract Syntax Notation #1
Ouvrir un restaurant Où déposer la demande?
Les gammes de valeurs des paramètres
Présentation des EJB Enterprise Java Beans.
LES IDE DE CONCEPTION Myriam BAKAYOKO Manon RAJAONARIVELO Jeremy MICHEL André NOEL Guillaume GEBAVI Arthur AGERON Fabien SIMON - G6S2.
QoS - Configuration de COPS pour RSVP
Module M3202 Démarche d’amélioration
Programmation Orientée Objet
Développement d’applications interactives
Programmation Android Première application Android
Technologie 4° Le cours : Au collège
5 Analyse avec Designer d'Oracle
Assembleur, Compilateur et Éditeur de Liens
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
7 Contraintes d’intégrité en SQL
Serveurs d’applications
Global Challenge Capteur de nuit Leçon 2.
H. Wertz -- Exécution Symbolique
PROGRAMMATION ET ENSEIGNEMENT
Réforme du Lycée
INTERFACE ET POLYMORPHISME
Panorama of Recommender Systems to Support Learning
Arbre binaire.
SQL Structured Query Language
Chapter 11: Récursivité Java Software Solutions Second Edition
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
© Robert Godin. Tous droits réservés.
Type Tableau Partie 1 : Vecteurs
Les données structurées et leur traitement
Souhaitez-vous faire une Différence?
Transcription de la présentation:

Applications Client Serveur Illustration avec XDR/RPC et ASN.1 Anne Marie Dery Module SAR1 Année 2000 2001

De la spécification des données au transfert de données Les règles d’encodage

Règles d’encodage Règles utilisées pour transformer les données spécifiées en un format standard qui peut être décodé sur n’importe quel système. Le choix des règles est laissé au concepteur du protocole.  Les règles d’encodage ASN.1  standardisées sont Basic Encoding Rules  (BER) début 1980 Distinguished Encoding Rules  (DER) Canonical Encoding Rules (CER) Packed Encoding Rules (PER)   .

Quelles ER ? Quand ? BER dans un grand champ d’applications : 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

De ASN.1 v.1988 à ASN.1 v.1997

Pourquoi une nouvelle version ? Une grammaire ambiguë Problème d’utilisation des macros Ambiguïté pour encoder et décoder les types ouverts Une révision de la notation en 1997

ASN.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 d’ambiguï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

Pour 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

Compatibilité 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

Les spécificités de v.1997

Types extensibles ENUMERATED, SEQUENCE, SET, CHOICE State ::= ENUMERATED{on, 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

Un exemple

Object 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}

Object 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-argument|memory-fault}

Exemple addition FUNCTION ::= { &ArgumentType Pair, &SupportedArguments &ResultType INTEGER, &code 1}

Significations 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

Significations 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

Exemple 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 }

+ 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 }

Une valeur AttributeUsage ::= ENUMERATED { userApplications(0), directoryOperation(1), distributedOperation(2), dSAOperation(3) }  

Des 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 l’International Civil Aviation utilisent un protocole codé en PER DEC, Hewlett  Packard, IBM, Sun and Xerox définissent l’interface standard DPA  pour leur nouvelles imprimantes avec ASN.1.  

Des 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

Logiciels libres Seulement des checkers et mavros

Des références Un glossaire hyper pratique : http://www.oss.com/asn1/glossary.html#A Des référencs de livres : http://www.oss.com/asn1/booksintro.html Des publications : http://www.oss.com/asn1/publications.html Accès aux normes : http://asn1.elibel.tm.fr/en/standards/index.htm#x690

Standards internationaux ITU-T Recommandations X.680 : 8824-1:1998, Abstract Syntax Notation One (ASN.1):   Specification of Basic Notation X.681 : 8824-2:1998, Abstract Syntax Notation One (ASN.1): Information Object Specification X.682 : 8824-3:1998, 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)

Tout 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

ANY et ANY DEFINED BY v ANY ::= INTEGER:12 T::= SEQUENCE { a BOOLEAN, b REAL} w ANY ::= T:{a TRUE, b{314,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}

XDR/RPC

Une première approche d ’ASN.1

ASN.1 plus qu’un simple langage de spécifications

Une bibliothèque d’exécution pour RPCGEN