Variablen: Zustandsgröße einer Komponente d.
Rechnernetzes
einzige Ausnahme geordnete Mengen von Variablen: Tabellen
Anzahl ändert sich dynamisch
nicht fest in Agentenimplementierung kodiert
zusätzliche Strukturierung in MIB-Modul
eng zusammenhängende Objekttypdefinitionen werden zu Gruppen zusammengefasst
Aufteilung von
Gruppen in Untergruppen nicht vorgesehen.
Struktur der Managementinformation
(Structure of
Management Information (SMI)) [RFC1155]
ASN.1-Makro OBJECT-TYPE-Macro
OBJECT-TYPE MACRO ::=
BEGIN
TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
"ACCESS" Access
"STATUS" Status
VALUE NOTATION ::= value (VALUE ObjectName)
Access ::= "read-only"
| "read-write"
| "write-only"
| "not-accessible"
Status ::= "mandatory"
| "optional"
| "deprecated"
| "obsolete"
END
Beispiel einer Typdefinition mit diesem Makro:
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0.255)) ACCESS read-only STATUS mandatory := { system 1 }
Objekttyp Namen: sysDescr
unter system 1 im
globalen Registrierungsbaum eingeordnet
Syntax von Objekten dieses Typs DisplayString bis zu 255
Zeichen
Zugriffsrechte für Objekte dieses Typs auf read-only
gesetzt
SNMP-MIB muß
Objekt dieses Typs enthalten (mandatory).
zusätzlich zu Object
Identifier Name zugeordnet, eindeutig in MIB
für jeden Agenten höchstens eine Instanz eines Objekttyps
Benennung der um .0
erweiterte Object Identifier eines Objekttyps
eindeutige
Benennung von Objekten in Rechnernetz
Zieladresse + Managementdaten Agent ausgewählt
Objektinstanz in Agent eindeutig
Syntax verwalteter Objekte als ASN.1-Datentyp ObjectSyntax
CHOICE-Datentypen, drei mögliche Arten
Einfache Typen (simple types) vier
primitive ASN.1-Typen
INTEGER
OCTET STRING
OBJECT IDENTIFIER
NULL
Einfach konstruierte Typen (simply constructed)) sind zusammengesetzte
ASN.1-Typen.
Anwendungsweite Typen (application wide:) sechs spezielle
Datentypen
IpAddress: Ein Datentyp für eine Internetadresse
IpAddress ::= [APPLICATION
0] IMPLICIT OCTET STRING (SIZE (4))
NetworkAddress: Ein Datentyp für eine Adresse einer bestimmten Protokollfamilie.
Zur Zeit gibt es nur ein CHOICE.
NetworkAddress ::= CHOICE { internet
IpAddress }
Counter: nicht negative Zahl (0..232-1), monoton wächst, bis sie einen
maximalen Wert erreicht; dann wird sie auf null zurückgesetzt.
Counter ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295)
Gauge: Eine nicht negative Zahl (0..232-1), die wachsen oder fallen kann, die
jedoch an einem maximalem Wert anhält.
Gauge ::= [APPLICATION 2] IMPLICIT
INTEGER (0..4294967295)
TimeTicks: Datentyp für nicht negative ganze Zahl, welche die Zeit in
hundertstel Sekunden zählt; Maximalwert 232-1.
TimeTicks ::= [APPLICATION 3] IMPLICIT
INTEGER (0..4294967295)
Objekts mit TimeTicks
legt Startzeitpunkt fest
Opaque: Ein Datentyp für eine beliebige Kodierung.
Opaque
::= [APPLICATION 4] IMPLICIT OCTET STRING
Typ Opaque erweitert
restriktiven Datentypen
beliebiger ASN.1-Datentyp mit Basic Encoding Rules kodiert.
Oktett-Zeichenkette bildet Wert des Opaque-Typen.
Bedeutung muss zwischen verwaltetem Knoten und Management-Station vereinbart
sein.
Zwei zusammengesetzte Typen mit eingeschränkten Anwendungsmöglichkeiten
Liste (list) mit der Form
<list> ::= SEQUENCE { <type1>,
...
<typeN>,
}
<type>
primitiver Typ, weder SEQUENCE
noch OPTIONAL
<list> wird als Zeile in Tabelle (table) verwendet.