Vorab: Welt der SNMP-RFCs M. Leischner Internetkommunikation II Folie 1
Historie von SNMP Version SMI MIB Protokoll SGMP RFC1028, 11/87 RFC1028, "Simple Gateway Monitoring Protocol" SNMPv1 RFC1065-1067, 08/88 RFC1098, 04/89 RFC1065 "Structure and identification of management information for TCP/IP-based internets", ( RFC1155) RFC1066 "Management Information Base for network management of TCP/IP-based internets" ( RFC1156) RFC1067 "Simple Network Management Protocol" ( RFC1098) RFC1098 "Simple Network Management Protocol SNMP", ( RFC1157) RFC1155-1158, 05/90 RFC1155 (STD 17), "Structure and Identification of Management Information for TCP/IP-based Internets" ( RFC1212) RFC1212-1215, 03/91 RFC1212 (STD 16) "Concise MIB Definitions" RFC1351-1353, 07/92 RFC1156 "Management Information Base for Network Management of TCP/IP-based internets" ( RFC1158) RFC1158 "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", ( RFC1213) RFC1213 (STD 17) "Management Information Base for Network Management of TCP/IPbased internets: MIB-II" RFC1215 "A Convention for Defining Traps for use with the SNMP" Secure SNMP RFC1157 (STD 15) "A Simple Network Management Protocol (SNMP)" M. Leischner Internetkommunikation II Folie 2
Historie von SNMP Erweiterte Datentypen: 64 bit Counter. Bestätigte event notification: Version SMI inform. MIB Protokoll SNMPv2 RFC1441-1452, 05/93 RFC1902-1908, 01/96 RFC2578, 04/99 Erhöhte Effizienz: get-bulk Operator. Verbessertes error handling. RFC1442 "Structure of Management Information for version 2 of the Simple Network Management Protocol" ( RFC1902) RFC1450 "Management Information Base for version 2 of the Simple Network Management Protocol (SNMPv2)" ( RFC1907) RFC1451 "Manager to Manager Management Information Base" Redesign von SNMPv2 mit dem Ziel, dessen Schwächen zu beheben: RFC1448 "Protocol Operations for version 2 of the Simple Network Management Protocol (SNMPv2)" ( RFC1905) RFC1449 "Transport Mappings for version 2 of the Simple Network Management Protocol (SNMPv2)" ( RFC1906) RFC1452 "Coexistence between version 1 and version 2 of the Internet-standard Network Management" ( RFC1908) RFC1902 "Structure of Management Sicherheit: Information for Version 2 of the Simple Network Management Protocol" ( RFC2578 RFC2578 Verwaltung: (STD58) "Structure of Management Information Version 2 (SMIv2)" RFC1907 "Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)" (authentication and privacy, authorization and access control) policies, usernames, key management, notification destinations, proxy relationships, RFC1905 "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)" RFC1906 "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)" RFC1908 "Coexistence between Version 1 and Version 2 of the Internet-standard Network Management Framework" SNMPv3 RFC2271-2274, 01/98 (Draft) RFC3410-3415, 12/02 RFC 3410, "Introduction and Applicability Statements for Internet Standard," RFC 3411, "An Architecture for Describing SNMP Management Frameworks," RFC 3412, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)," RFC 3413, "Simple Network Management Protocol (SNMP) Applications," RFC 3414, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)," RFC 3415, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)". M. Leischner Internetkommunikation II Folie 3
Modul 6 SNMP-Managementinformation M. Leischner Internetkommunikation II Folie 4
SNMP Managementinformation: Grundprinzipien Managementinformationen werden in elementaren Objektklassen beschrieben. objektorientiert: nicht die Instanz wird beschrieben, sondern die Klasse elementar: es gibt nur Objektklassen für attributartige Objekt, alles andere wird künstlich erzeugt. attributartige Objektklassen basierend auf SNMP-Base-Types: INTEGER, Integer32, Unsigned32, Gauge, Gauge32, Counter, Counter32, Counter 64, TimeTicks, OCTET STRING, OBJECT IDENTIFIER, Network Address, IpAddress, Opaque, BITS Neben den attributartigen Objektklassen gibt es im Wesentlichen nur (künstlich erzeugte) Tabellen Als universelles Strukturierungsmittel für Klassen und Objekte fungiert der OID tree M. Leischner Internetkommunikation II Folie 5
Objektorientierte Konzepte in Management-Frameworks Klasse Instanz Identifikation oo-konzept (allgemein) Objektklasse, Klasse, Typ Objekt, Instanz, Ausprägung, Wert implizit über Variablendeklaration OSI-Management managed object class managed object Klassen: Vererbungsbaum Obekte: management information tree Dokumente: ISO- Registrierungsbaum Funktionen ja action, event integriert in Klassen Veerbung ja strict inheritance, allomorphismus SNMP- Management managed object managed object, object instance, object value Klassen/Objekt: object identifier tree Dokumente: ISO- Registrierungsbaum trap als eigenes Objekt keine Vererbung M. Leischner Internetkommunikation II Folie 6
6.1 M. Leischner Internetkommunikation II Folie 7
Verschieden Arten von Datentypen: ASN.1 Universal Types: nur: INTEGER, OCTET STRING, OBJECT IDENTIFIER Direkt aus ASN.1 übernommen. INTEGER wegen zu großem Wertbereich in der jetzigen SNMP-Version nicht mehr erlaubt. ASN.1 Application Types: Hier finden sich die speziellen Typen für das Management, z.b. Gauge (diese erhalten zwar einen eigenen Tag, sind aber nur Restriktionen der Universal Types) SNMP Pseudotypes: Keine echten ASN.1 Types, lediglich andere Interpretation eines vorhandenen Types. (Beispiel BITS als Interpretation von OCTET STRING) Textual Conventions: Übliche (immer gleiche) Namen für bestimmte Typ-Restriktion. M. Leischner Internetkommunikation II Folie 8
INTEGER, Integer32 INTEGER problematisch, da keine Beschränkung des Wertbereichs. Daher in Version 2 (v2) nicht mehr erlaubt. Integer32 ASN.1-Typ: [UNIVERSAL 2] IMPLICIT INTEGER (-2 31.. 2 31-1) Version SMI:v2 Verhalten: - Unsigned32 ASN.1-Typ: [APPLICATION 2] IMPLICIT INTEGER(0..2 32-1) Version SMI:v2 Verhalten: - M. Leischner Internetkommunikation II Folie 9
Gauge, Gauge32 Gauge in Version v2 nicht mehr erlaubt. Gauge32 ASN.1-Typ: [APPLICATION 2] IMPLICIT INTEGER(0..232) Version SMI:v2 Verhalten: Einschränkung des Wertebereichs erlaubt. Wert ist stets im spezifizierten Bereich. max min M. Leischner Internetkommunikation II Folie 10
Counter, Counter32, Counter 64 Counter in Version v2 nicht mehr erlaubt. Counter32 ASN.1-Typ: [APPLICATION 1] IMPLICIT INTEGER(0..2 32-1) Version SMI:v2 Verhalten: Counter64 Keine Einschränkungen des Wertebereichs erlaubt. Startwert undefiniert. Zähler kann enabled und disabled werden. Nach Überschreiten von Maximalwert beginnt Zählen wieder von 0, dies muss bei Auswertung des Counters berücksichtigt werden! ASN.1-Typ: [APPLICATION 6] IMPLICIT INTEGER(0..2 64-1) Version SMI:v2 Verhalten: wie bei Counter32 M. Leischner Internetkommunikation II Folie 11
TimeTicks ASN.1-Typ: [APPLICATION 3] IMPLICIT INTEGER(0..2 32-1) Version SMI:v1/v2 Verhalten: OCTET STRING zählt in hundertstel Sekunden hoch. Bei Überlauf Beginn bei 0. Startwert undefiniert. Es muss separat definiert sein, welche Epoche gemessen wird (bzw. wann ein neuer Beginn stattfindet.) ASN.1-Typ: OCTET STRING Version SMI:v1/v2 Verhalten: - In Version v2 maximale Länge von OCTET STRING auf 2 16-1 festgelegt. M. Leischner Internetkommunikation II Folie 12
OBJECT IDENTIFIER ASN.1-Typ: OBJECT IDENTIFIER Version SMI:v1/v2 Verhalten: - Network Address, IpAddress Network Adress war definiert als eine Vereinigung von Typen von Netzwerkadressen. Problem: Beim Hinzukommen einer neuen Art ändert sich dieser Typ, daher wurde er abgeschafft. IpAddress ASN.1-Typ: [APPLICATION 0] IMPLICIT OCTET STRING (SIZE(4)) Version SMI:v1/v2 Verhalten: - M. Leischner Internetkommunikation II Folie 13
Opaque ASN.1-Typ: [APPLICATION 4] IMPLICIT OCTET STRING Version SMI:v1/v2 Verhalten: BITS Wert dieses Typs muss ein gemäß BER verschlüsselter Wert sein. Anwendung: Rückwärtskompatibilität bei Erweiterung von Typen, neue private Typen. Doppel-Wrapping bei Gebrauch von Opaque-Type ASN.1-Typ: OCTET STRING Version SMI:v2 Bemerkung: Pseudotyp zur Darstellung von gelabelten Bits. Nummerierung der Bits von links nach rechts. Beispiel: BITS {red(0), green(1), blue (2)} M. Leischner Internetkommunikation II Folie 14
Well-Known Textual Conventions Beispiele: DisplayString OCTET STRING (SIZE(0..255)) -- Druckbarer ASCII-String MACAddress OCTET STRING (SIZE(6)) -- MAC-Adresse M. Leischner Internetkommunikation II Folie 15