Newest Viewed Downloaded

LABORATORIO DI INFORMATICA Network Management 5. Structure of Management Information (SMIv2) 5.1. ASN.1, rappresentazione dell’informazione e statement correlati Claudio Salati Copyright © 2001 by Claudio Salati ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA FACOLTA' DI INGEGNERIA - SEDE DI CESENA

LABORATORIO DI INFORMATICA Network Management 5. Structure of Management Information (SMIv2) 5.1. ASN.1, rappresentazione dell’informazione e statement correlati Claudio Salati Copyright © 2001 by Claudio Salati ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA FACOLTA' DI INGEGNERIA - SEDE DI CESENA

ASN.1 e Internet Management Framework Tipi semplici INTEGER [ma con range finito:(-2147483648 .. 2147483647)] OCTET STRING e' introdotto il costrutto BITS che si mappa su una OCTET STRING OBJECT IDENTIFIER [lunghezza128, ogni intero componente nel range 0 .. 232-1] Tipi strutturati SEQUENCE [non e' possibile definire campi DEFAULT o OPTIONAL] SEQUENCE OF Tipi tag-ati esplicitamente Solo di classe APPLICATION Solo IMPLICIT Sotto-tipi

ASN.1 e Internet Management Framework (RFC 1902) Tipi semplici -- syntax of simple objects (consentiti da SMI) -- simple objects are not allowed to be of a constructed type -- tutti gli oggetti accessibili (read/write) in una MIB-istanza sono -- di tipo ASN.1 semplice ObjectSyntax ::= CHOICE { simple SimpleSyntax, -- tipi semplici di ASN.1 consentiti da SMI application-wide ApplicationSyntax -- tipi semplici predefiniti da SMI } -- SEQUENCEs for conceptual tables and rows not mentioned here -- continue in next page

ASN.1 e Internet Management Framework (RFC 1902) Tipi semplici SimpleSyntax ::= CHOICE { integer-value INTEGER (-2147483648..2147483647), string-value OCTET STRING, objectID-value OBJECT IDENTIFIER } Integer32 ::= [UNIVERSAL 2] INTEGER (-2147483648..2147483647) -- re-defines INTEGER: same tag! -- continue in next page

ASN.1 e Internet Management Framework (RFC 1902) Tipi semplici predefiniti dal framework di gestione (da SMI) ApplicationSyntax ::= CHOICE { ipAddress-value IpAddress, counter-value Counter32, gauge-value Gauge32, timeticks-value TimeTicks, arbitrary-value Opaque, big-counter-value Counter64} IpAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING (SIZE (4)) -- IP address in network byte order Counter32 ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) -- modulo 2**32 counter; to make sense of it the manager must -- read 2 values and compute the delta -- continue in next page

ASN.1 e Internet Management Framework (RFC 1902) Gauge32 ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) -- a non-negative value in the range indicated; doesn't wrap -- if real value exceeds MAX, MAX is returned Unsigned32 ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) -- a non-negative value that fits in 32 bits -- same tag as Gauge32! TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295) -- time indication, in hundredth of seconds since an epoch -- an object of this type must specify the epoch that is used -- continue in next page

ASN.1 e Internet Management Framework (RFC 1902) Opaque ::= [APPLICATION 4] IMPLICIT OCTET STRING -- should be defined as ::= [APPLICATION 4] ANY -- for backward compatibility Counter64 ::= [APPLICATION 6] IMPLICIT INTEGER (0..18446744073709551615) -- similar to Counter32, to be used only when a Counter32 would -- wrap in less than 1 hour

ASN.1 e Internet Management Framework (RFC 1902) Viene introdotto il costrutto BITS E' sintatticamente equivalente ad una BIT STRING ASN.1 in cui i bit sono esplicitamente denominati e.g. BITS { read (0), write (1), execute (2) } Viene pero' mappata, a livello di transfer syntax, come una OCTET STRING (cosi' da rientrare tra i tipi semplici ammessi da SNMP) Pertanto e' come una BIT STRING octet aligned

ASN.1 e Internet Management Framework Tipi strutturati Il loro utilizzo e' strettamente limitato e disciplinato SEQUENCE e' utilizzato per definire il tipo di un oggetto riga Un oggetto riga e' costituito da una sequenza eterogenea di oggetti semplici i campi della SEQUENCE devono essere di tipi ASN.1 semplici Ogni campo della SEQUENCE deve essere denominato con una label univoca Ogni label deve essere definita come un oggetto (object-type) semplice (in realta’ colonna), dello stesso tipo di quello del campo corrispondente della SEQUENCE Il nome (OBJECT IDENTIFIER) di ciascun oggetto semplice (cioe' del relativo OBJECT-TYPE) e' correlato al nome dell'oggetto riga (cioe' del relativo OBJECT-TYPE) di cui e' un componente

ASN.1 e Internet Management Framework Tipi strutturati SEQUENCE OF e' utilizzato per definire il tipo di un oggetto tabella Un oggetto tabella e' costituito da una sequenza omogenea di oggetti riga: il tipo base del tipo SEQUENCE OF di un oggetto tabella deve essere definito come un object-type riga, e quindi essere definito come un tipo SEQUENCE Il nome (OBJECT IDENTIFIER) di ciascun oggetto riga (cioe' del relativo OBJECT-TYPE) e' correlato al nome dell'oggetto tabella (cioe' del relativo OBJECT-TYPE) di cui e' un componente Un oggetto tabella rappresenta evidentemente una struttura dati bi-dimensionale

ASN.1 e Internet Management Framework Tipi strutturati: tabelle concettuali

ASN.1 e Internet Management Framework Tipi strutturati SEQUENCE e SEQUENCE OF sono utilizzati anche nella definizione del PDU del protocollo SNMP nella definizione del PDU del protocollo SNMP vengono anche utilizzati Il meta-tipo CHOICE Tag espliciti contestuali (comunque IMPLICIT)

ASN.1 e Internet Management Framework Sotto-Tipi Sono consentiti 3 metodi di sotto-tipizzazione, il cui uso e' comunque ulteriormente disciplinato (vedi RFC 2578 sez. 9 e app. A: ci sono differenze con RFC 1902) E' anche disciplinato dove puo' essere utilizzata la sottotipizzazione: e.g. nella clausola SYNTAX degli statement OBJECT-TYPE TEXTUAL-CONVENTION Range refinement Applicabile a: INTEGER, Integer32, Unsigned32, Gauge32 Limita il range dei valori ammessi dal sotto-tipo Esempio: INTEGER (0 .. 59) Unsigned32 (0 .. 59 | 100 .. 159) E’ formalmente ammessa anche la forma (0 | 2 | 4 | 6 | 8) che pero’ non e’ usata

ASN.1 e Internet Management Framework Sotto-Tipi Enumeration refinement Applicabile a: INTEGER, BITS Enumera e denomina esplicitamente i valori ammessi Esempio: INTEGER { ten2theZero (1), ten2theOne (10), ten2theTwo (100), ten2theThree (1000) } Size refinement Applicabile a: OCTET STRING Limita la lunghezza minima e massima di una stringa Esempio: OCTET STRING (SIZE (0..255)) OCTET STRING (SIZE (20)) OCTET STRING (SIZE (14 | 20))

ASN.1 e Internet Management Framework Sotto-Tipi Altre forme di sottotipizzazione sono esprimibili solo in linguaggio naturale nelle opportune clausole (clausola DESCRIPTION) degli statement SMI e.g. (secondo RFC 2578) repertoire refinement, come (FROM ("1", "2", "X")) A differenza di quanto previsto dal linguaggio e da quanto accade nei normali sistemi di programmazione ASN.1 nel Management Framework SNMP si richiede che i vincoli di sottotipizzazione siano sottoposti a controllo run-time per quanto consentito dalla informazione trasportata dalla transfer syntax cio' puo' essere fatto a livello di presentazione altrimenti, nel caso di valori di sottotipi, cio' deve essere fatto a livello di sistema di programmazione SMI (o, alternativamente, di programma utente) Notare che il tag del sotto-tipo e' identico al tag del tipo base (e cosi' la sua sintassi di trasferimento!)

ASN.1 e Internet Management Framework Sotto-Tipi - TEXTUAL-CONVENTION Lo statement TEXTUAL-CONVENTION (RFC 1903) consente di definire Tipi sinonimi dei tipi semplici definiti dal framework Sottotipi dei tipi semplici definiti dal framework che pero' sono dotati di caratteristiche semantiche particolari. Queste caratteristiche semantiche particolari sono descrivibili in linguaggio naturale in una opportuna clausola dello statement Una textual convention puo' quindi essere usata come un tipo semplice ASN.1 Il management framework pre-definisce un insieme significativo di textual convention

TEXTUAL CONVENTION (RFC 1903) When designing a MIB module, it is often useful to define new types similar to those defined in the SMI. In comparison to a type defined in the SMI, each of these new types has a different name, a similar syntax, but a more precise semantics. These newly defined types are termed textual conventions, and are used for the convenience of humans reading the MIB module. In realta' la definizione semantica specifica e' ovviamente utilizzata anche dall'applicazione di gestione Objects defined using a textual convention are always encoded by means of the rules that define their primitive type. However, textual conventions often have special semantics associated with them.

TEXTUAL-CONVENTION TcASN.1-typeID ::= TEXTUAL-CONVENTION [ DISPLAY-HINT ""-delimited-string ] STATUS DESCRIPTION ""-delimited-string [ REFERENCE ""-delimited-string ] SYNTAX -- or the BITS construct  current | deprecated | obsolete -- nell'ordine  ASN.1-typeID | ASN.1-subtype-denotation

Notazione grammaticale -- commento, come in ASN.1 [ clausola opzionale ] { clausola opzionale ripetibile } SIMBOLO-TERMINALE simbolo-terminale ::= simbolo terminale, indica “e’ definito come” { } , simboli terminali: punteggiatura o simbolo non terminale simbolo-terminale variabile istanza per istanza, la cui forma e’ indicata dall’identificatore del simbolo  indicatore di produzione | alternativa nel lato destro di una produzione

TEXTUAL-CONVENTION DISPLAY-HINT formato di visualizzazione di un valore della textual convention STATUS indicazione dello stato di utilizzabilita' della textual convention DESCRIPTION una descrizione in linguaggio naturale della textual convention, e in particolare della sua semantica specifica REFERENCE se la textual convention e' in qualche modo correlata ad un'altra textual convention, questa clausola consente di riferirla tramite una indicazione in linguaggio naturale SYNTAX tipo ASN.1 di cui la textual convention definisce un identificatore sinonimo (TcASN.1-typeID)

Showing 1 - 20 of 39 items Details

Name: 
05-1-SMIASN1
Author: 
Salati
Company: 
Siemens ICN
Description: 
LABORATORIO DI INFORMATICA Network Management 5. Structure of Management Information (SMIv2) 5.1. ASN.1, rappresentazione dell’informazione e statement correlati Claudio Salati Copyright © 2001 by Claudio Salati ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA FACOLTA' DI INGEGNERIA - SEDE DI CESENA
Tags: 
object | asn | the | textual | identity | description | status | convention
Created: 
1/5/2001 7:51:46 AM
Slides: 
39
Views: 
7
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap