SYNTAXE DE TRANSFERT ASN.1

Documents pareils
Chapitre. La conversion. des données

Algorithmique des Systèmes Répartis Protocoles de Communications

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.


COUCHE 7/OSI : TRANSFERT DE FICHIERS FTAM

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Jeux de caracte res et encodage (par Michel Michaud 2014)

Informatique Générale

Le codage informatique

Cours d Informatique

Conception de circuits numériques et architecture des ordinateurs

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Supervision des réseaux

Recherche dans un tableau

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

TP 1 : 1 Calculs en binaire, octal et hexadécimal

UML (Paquetage) Unified Modeling Language

Problème physique. CH5 Administration centralisée

NTCIP : LES PROTOCOLES DE COMMUNICATIONS POUR LES APPLICATIONS TRAFIC Analyse de NTCIP

Logiciel de Base. I. Représentation des nombres

Compilation (INF 564)

SNMP for cloud Jean Parpaillon. SNMP4cloud - 1

Cours Bases de données 2ème année IUT

WHS ProRealTime. édition

Pour commencer liste de vérification du service ECCnet Item Certification. Version 2.0

Algorithme. Table des matières

TD : Codage des images

Chapitre 10 Arithmétique réelle

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Les opérations binaires

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

L3 informatique Réseaux : Configuration d une interface réseau

UE Programmation Impérative Licence 2ème Année

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Exercices de dénombrement

TABLE DES MATIERES. I. Objectifs page 2. II. Types de réseaux page 2. III. Transmission page 2. IV. Câbles page 3. V.

Université de Bangui. Modélisons en UML

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Continuité et dérivabilité d une fonction

ALGORITHMIQUE ET PROGRAMMATION En C

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

SYSTÈME DE GESTION DE FICHIERS

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Systèmes d information et bases de données (niveau 1)

Optimisation des échanges et traitements XML

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Pourquoi l apprentissage?

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Qu est-ce qu une probabilité?

Représentation d un entier en base b

Chapitre VI- La validation de la composition.

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Introduction à l algorithmique et à la programmation (Info 2)

Labo 1 - CUCME - Appels simples

Formats d images. 1 Introduction

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus.

Chap17 - CORRECTİON DES EXERCİCES

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Bases de données. Chapitre 1. Introduction

Mise à jour du logiciel de vidéo de Polycom

Unité 2 Leçon 2 Les permutations et les combinaisons

Manuel des logiciels de transferts de fichiers File Delivery Services

Cours CCNA 1. Exercices

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

La mémoire. Un ordinateur. L'octet. Le bit

Objets Combinatoires élementaires

Publipostage avec Calc

Les chaînes de caractères

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

Master e-secure. VoIP. RTP et RTCP

EVALUATION Nombres CM1

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

Création d'un questionnaire (sondage)

Le code à barres EAN 13 mes premiers pas...

eduscol Ressources pour la voie professionnelle Français Ressources pour les classes préparatoires au baccalauréat professionnel

Annexe : La Programmation Informatique

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Structure du format BMP, sa lecture, sa construction et son écriture

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Compléments de documentation Scilab : affichage de texte et formatage de nombres

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

PL7 Micro/Junior/Pro Métiers communication Tome 1. TLXDSCOMPL7xxfre

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Créer le schéma relationnel d une base de données ACCESS

Chapitre 2. Classes et objets

LA SECURITE DES CARTES A BANDE MAGNETIQUE

Le modèle standard, SPE (1/8)

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Completed Projects / Projets terminés

Diagramme de classes

CH.6 Propriétés des langages non contextuels

Licence Sciences et Technologies Examen janvier 2010

Transcription:

Transparence des données transmises SYNTAXE DE TRANSFERT ASN.1 303

Présentation ASN.1 : Abstract Syntax Notation number 1 Standards OSI IS/8824 et IS/8825 Recommendations CCITT version 1988 (livre bleu) : X208 et X209 version 1984 (livre rouge) : X409 BESOIN : Méthode DE DESCRIPTION SYNTAXIQUE efficace pour définir les STRUCTURES DE DONNEES Modèle :SYNTAXE ABSTRAITE Syntaxe de TRANSFERT Spécifique d'une Application Syntaxe de TRANSFERT COMMUNE à deux entités PAIRES de PRESENTATION Syntaxe de Présentation 304

STANDARDS ISO8824 (X208) définit - des TYPES DE DONNEES de base - des STRUCTURES types permet de créer de NOUVEAUX TYPES de NOUVELLES STRUCTURE ISO8825 (X209) définit les REGLES de CODAGE pour ASN1 B.E.R: Basic Encoding Rules 305

STRUCTURE DES PDU T L T L T L V V T L V V STRUCTURE D'ITEMS IMBRIQUES Chaque ITEM est codé par une STRUCTURE T.L.V. Type - Longueur - Valeur Sa VALEUR peut être un autre ITEM Le type des données est codé dans le champ T La longueur du champ valeur est codée dans le champ L DIFFERENTS TYPES : TYPE PREDEFINI dans un standard par exemple 8824 DEFINI à partir d'un type prédéfini TYPE SIMPLE spécifie l'ensemble des valeurs STRUCTURE Dénote un ou plusieurs autres types CODAGE : PRIMITIF CONSTRUCTEUR Champ valeur code directement la valeur Champ valeur contient un ou plusieurs éléments ordonnés (TLV) 306

Classes de Types Une ETIQUETTE est affectée à chaque TYPE Cette Etiquette est définie par le standard ou un utilisateur Une même Etiquette peut être attribuée à de nombreux types différents chacun étant identifié par le CONTEXTE d'utilisation Un utilisateur peut décider d'attribuer des Etiquettes différentes à deux apparitions d'un même Type. On crée ainsi des types distincts. 4 classes d'etiquettes sont spécifiées UNIVERSELLE spécifiées dans OSI 8824 APPLICATION spécifiées dans d'autres normes ou recommandations PRIVEE spécifiques à une entreprise CONTEXTE Utilisation LIBRE et INTERPRETEE selon le contexte d'utilisation 307

Codage de Identificateurs 8 7 6 5 1 C l a s s e Forme V A L E U R Codage du champ TYPE Il comporte un ou plusieurs OCTETS le PREMIER OCTET à la structure ci-contre CLASSE 0 Universelle 0 à 1Fh 1 Application 20h à 3Fh 2 Contexte 80h à BFh 3 Privée C0h à FFh FORME 0 Primitif VALEUR 1 Constructeur 0 à 11110 Numéro de l'étiquette si 11111 Numéro de l'étiquette dans octet suivant (sauf FFh) si FFh Numéro de l'étiquette dans octet suivant... 308

Codage de la Longueur La longueur du champ Valeur est codée sur 1 à 128 octets Le champ valeur peut avoir une taille inderterminée dans ce cas il est terminé par un code de fin de PDU le champ longueur prend la valeur 80h un longueur courte de 0 à 127 octets dans ce cas il est codé directement sur un octet : 00 à 7Fh une taille longue, supérieure à 127 octets Le premier octet du champ longeur contient la longueur ( - 1) du champ longueur Le bit de poids fort est à 1 (81h à 8Fh) Les 7 autres bits donnent le nombre d'octets sur lesquels sont codés la longueur on peut ainsi coder des champs valeurs jusqu'à une longueur de 2 1008 octets exemple: longueur du champ valeur 1024 octets - 10000010 00000100 00000000 309

Types PREDEFINIS Code Types Prédéfinis Commentaires 00h fin de contenu avec longueur 0 01h booléen vrai: FF; faux: OO 02h entier codé binaire en complément à deux 03h chaîne binaire 04h chaîne d'octets 05h vide longueur 00 06h identificateur d'objets défini dans un arbre d'identification 07h descripteur d'objets texte de description 08h externe tiré d'un autre standard 09h réel base 2,8,16 ou 10 et +/- infini signe, exposant, mantisse + facteur d'échelle 0Ah énuméré valeur de l'entier associé étiqueté choix quelconque Type CREE : explicite ou implicite ; Utilisation optionnelle du mot IMPLICIT; si IMPLICITn'est pas utilisé forme constructeur; s'il est utilisé forme du codage de base parmi plusieurs possibilité; lié ou non lié pour le codage type choisi Permet de coder n'importe quelle valeur explicité par ailleurs 310

Types DEFINIS Code Types définis Commentaires 10h Séquence; Séquence de suite ORDONNEE d'éléments de types différents ou de même type 11h Ensemble; Ensemble de ensemble NON ORDONNE de membres de types différents; si Ensemble de : même type (pas de valeur sémentique pour l'ordre) 12h Chaîne numérique 13h Chaîne imprimable 14h Chaîne Télétex 15h Chaîne Vidéotex 16h Chaîne IA5 (T100) 17h Heure généralisée date et heure légale 18h Heure UTC temps universel, terminé par Z 19h Chaîne de caractères graphiqes 20h Chaîne de caractères visibles (T61) Terminaux Télétex 21h Chaîne de caractères générale d'autres types pourront être ajoutés... 311

Créations de Types Opérateur MACRO Création de types NON STANDARDS Exemple : Création du type ATTRIBUT ATTRIBUT MACRO ::= Begin End Utilisations : Type Notation ::= "LIST" <Type ::= Sequence of Chaine-IA5> vide <Type ::= Chaîne-IA5> Value Notation ::= valeur (VALUE Type) destinataire ATTRIBUT LIST ::= {Nom = J.Dupont", "Age = 42"} destinataire ATTRIBUT ::= "Nom = J.Dupont" 312

Modules Les MODULES servent à regrouper des types apparentés pour les DEFINIR les INCLURE globalement Opérateur : DEFINITION Exemple Couleur DEFINITION ::= Begin End Couleur-primaire ::= INTEGER {rouge (0), jaune (1), bleu (2) } Couleur-par-défaut Couleur-primaire ::= jaune 313

Exemples de types définis structurés SEQUENCE Justificatifs ::= SEQUENCE { nom-utilisateur Chaîne-IA5, mot-passe Chaîne-IA5, numéro-compte INTEGER } ENSEMBLE Attributs-Fichier ::= SET { propriétaire [0] IMPLICIT Nom-Utilisateur, taille-contenu-en-octets [1] IMPLICIT INTEGER, [2] IMPLICIT Contrôle_Accès.} 314

Exemples de types définis (suite) ETIQUETE Nom_Fichier ::= [APPLICATION 8] IMPLICIT SEQUENCE { CHOIX nom_répertoire Chaîne-IA5, nom_fichier Chaîne-IA5 } Identificateur-Fichier ::= CHOICE { nom_relatif [0] IMPLICIT Chaîne-IA5, nom_absolu [1] IMPLICIT Chaîne-IA5, numéro_série [2] IMPLICIT INTEGER } QUELCONQUE Contenu_Fichier ::= ANY (quelconque) Ce type n'est pas un type structuré, mais peut coder n'importe quelle donnée définie extérieurement entre les utilisateurs 315

Exemple élémentaire de codage : Description Nom-Complet := [APPLICATION 1] IMPLICIT SEQUENCE { Prénom [0] Chaîne-IA5, Nom [1] Chaine-IA5 Type de Numéro de "Séquence" 00001 Type de Nom-Complet 01 1 00001 } Type de Chaine-IA5 00 0 10000 Type de Prénom 10 1 00000 Type de Nom 10 1 00001 316

Exemple élémentaire de codage : Encodage Codage de "Gérard Beuchot" type 61 longueur xx 15 valeur type A0 longeur yy 08 valeur type 16 type longueur 06 valeur Gérard 317 A1 longueur zz 09 valeur type 16 longueur 07 valeur Beuchot Chaîne d'octets à transmettre 61 15 A0 08 16 06 47 85 72 61 72 64 A1 09 16 07 42 65 75 63 68 6F 74 G é r a r d B e u c h o t

Exercice: Codage de champs dans FTAM Dans les spécifications FTAM est défini un champ "Context" de type CONTEXT- SPECIFIC. Le troisième champ défini de ce type (valeur 2) est décrit par: identificateur A2 ([CONTEXT-SPECIFIC 2]) longueur 03 contenu identificateur 02 ([UNIVERSAL 2] -> INTEGER) longueur 01 contenu 06 On veut coder le type "AccesStructureType" de valeur { structuretype hierarchical, maxdepth 16 } par une structure universelle "ensemble" (SET champ code 17 ou 11H) contenant deux champs "Context", pour structuretype et maxdepth, dont lesvaleurs de type sont 0 et 1.Hierarchical sera codé par un entier de valeur 2. Donner la description ASN.1 de cette partie de FPDU et la chaîne d'octets effectivement transmise (codée en héxadécimal) 318

Exemple: Solution les TLV pour structuretype et maxdepth sont de type constructeur "Context"maxDepth sera codé sur un TLV de type INTEGER de valeur 16 le paramètre hierachical sera aussi codé par un INTEGER de valeur 2. On place dans un SET deux champs CONTEXT-SPECIFIC construits sur le modèle ci-dessus, soit: identificateur 31 ([UNIVERSAL 11H -> SET) 0 0 1 10001 longueur 0A contenu identificateur A0 ([CONTEXT-SPECIFIC 0] -> structuretype) longueur 03 contenu identificateur 02 ([UNIVERSAL 2] -> INTEGER) longueur 01 contenu 02 (hierarchical = 2) identificateur A1 ([CONTEXT-SPECIFIC 1] -> maxdepth) longueur 03 contenu identificateur 02 ([UNIVERSAL 2] -> INTEGER) longueur 01 contenu 10 (16) SOIT 31 0A A0 03 02 01 02 A1 03 02 01 10 319