Post on 07-Feb-2016
description
Abstract Syntax Notation One
ASN.1
Student: Traila Stefan Bogdan
Coordonator: Prof. Dr. Ing. Stefan Stancescu
Facultatea de Electronica, Telecomunicat i i s i Tehnolog ia In format ie i , Univers i tatea Po l i tehnica Bucurest i , 2014
• Abstract Syntax Notation One este un limbaj utilizat pentru a descrie informatia structurata, de obicei intentionata de a fi transferata printr-o interfata sau un mediu de comunicare.
• ASN.1 este un standard international.
• Este foarte des folosit in protocoalele de comunicatie.
Introducere
• Limbaj care defineste informatie structurata
• Utilizat in special pentru interfete si medii de comunicare
• Standardizat
• Similar cu un limbaj de programare high level
ASN.1
• High level
• Ideal pentru aplicatii complexe
• Nu necesita ca utilizatorul sa stie ordinea bitilor dintr-un sir
• Compilatoarele se ocupa de codarea si decodarea mesajelor
Avantaje
Tipuri de date:
Alte tipuri pot fi create utilizand constructori:
SET {} si SEQUENCE {}
Sintaxa abstracta
Tipuri de date simple Siruri de caractere Tipuri specialeBOOLEAN NumericString GeneralizedTimeINTEGER PrintableString UTCTime
ENUMERATED TeletexString EXTERNALREAL IA5String ObjectDescriptor
BIT STRING GraphicString OCTET STRING GeneralString
NULL
Exista mai multe seturi de codare:
1. BER – Basic Encoding Rules
2. CER – Canonical Encoding Rules
3. DER – Distinguished Encoding Rules
4. PER – Packed Encoding Rules
Sintaxa de transfer
- Simple Flag BOOLEAN
- StructurateProcesVerbal ::=SEQUENCE
{
Data UTCTime
Viteza INTEGER (50..350)
Nume REAL
NrInmatriculare REAL
}
Tipuri de date si Valori
Tipuri de date cu anumite constrangeri
Weekend ::= DaysOfTheWeek (sambata | duminica)
Subtipuri
Tipurile de date pot avea ca referinta nume
In componenta numelor pot intra:
- Litere mari: ABCD...
- Litere mici: abcd...
- Cifre: 1234...
- Cratima: -
Constrangeri:
- Numele trebuie sa inceapa cu o litera
- Nu pot fi identice cu cele rezervate pentru sistem: ex. BOOLEAN
- Nu au limita de lungime
Nume
Grupeaza un set de definitii.
DocumenteAmenzi {1 7 543 23 1} DEFINITIONS ::=
BEGIN
ProcesVerbal ::= SEQUENCE {...}
exempluProcesVerbal ProcesVerbal ::= {...}
END
MODULE
Permite definirea de obiecte cu anumite atribute.
Baiat ::= SEQUENCE
{
Inaltime INTEGER
Greutate INTEGER
Varsta INTEGER
}
MACRO
BER – Basic Encoding Rules
IDENTIFIER – LENGTH - CONTENTS
Reguli de codare
X.680 ISO/IEC 8824-1
Basic ASN.1 Notation
Standarde
X.690 ISO/IEC 8825-1
Basic, Canonical and Distinguished Encoding Rules
X.691 SO/IEC 8825-2
Packed Encoding Rules
Aplicatii:
SNMP
Simple Network Management Protocol
- Administrator
- Agent
- Baza de date
- MIB (Management Information BASE
Aplicatii - SNMP