Professional Documents
Culture Documents
GSyC 2007
Modelo de informacin
Bases del modelo de informacin de Internet:
Informacin virtual, agrupadas en vistas. En principio independiente de protocolo pero en realidad es especfica de SNMP (limitaciones) Definiciones de MIB especficas para Internet.
GSyC 2007
Conceptos de ASN.1
ASN.1:
Sintaxis abstracta:
Definicin datos y estructuras de datos de forma independiente de las estructuras y restricciones disponibles en un sistema.
En SNMP:
Define el formato de PDU SNMP PDU Define las estructuras de datos utilizadas en la informacin de gestin
GSyC 2007
Tipos de datos:
Estructuras de datos Por ejemplo:Counter, Gauge, IpAddess, etc. Instancias (variables) de un tipo Por ejemplo: sysContact, ifTable, ifSpeed, etc. Se utiliza para cambiar la gramtica de ASN.1 Por ejemplo: OBJECT-TYPE, ACCESS
4
Valores:
Macros:
GSyC 2007
Tipos ASN.1
Tag universal Tipo ASN.1
1 2 3 4 5 6 7 8 9 10 12-15 16 17 BOOLEAN INTEGER BIT STRING OCTET STRING NULL OBJECT IDENTIFIER ObjectDescriptor EXTERNAL REAL ENUMERATED Reservado SEQUENCE, SEQUENCE OF SET, SET OF Tipos primitivos Tag universal 18 19 20 21 22 23 24 25 26 27 28 29-... Reservado Tipo ASN.1 NumericString PrintableString TeletexString VediotextString IA5String UTCTime GeneralizeTime GraphicString VisssibleString GeneralString CharacterString
Tipos predefinidos
Tipos construidos
5
GSyC 2007
Reglas sintcticas
Los nombres de tipo empiezan con mayscula. Los nombres de los tipos primitivos se escriben con mayscula. Los nombres de valores y de los campos de un tipo estructurado se escriben con minscula.
Los comentarios en una lnea empiezan con la marca "--" y llegan al final de lnea. El valor nulo se expresa con NULL.
6
GSyC 2007
Valores en ASN.1
Ejemplos:
BOOLEAN
INTEGER
EstadoCivil ::= INTEGER {soltero (0), casado (1), divorciado (2)} estadoActual EstadoCivil ::= 1 estadoActual EstadoCivil ::= casado
GSyC 2007
Tipos construidos
SEQUENCE: los datos se codifican en la secuencia definida en la sintaxis. Interfaz ::= SEQUENCE { nombre IA5String, posicion NumericString, tipo IA5String } SET: no garantiza la codificacin en secuencia. Interfaz ::= SET { nombre IA5String, posicion NumericString, tipo IA5String } SEQUENCE OF/SET OF: Todos los campos son del mismo tipo. A efectos de codificacin equivale a SEQUENCE/SET. Interfaz ::= SEQUENCE OF IA5String{ nombre, tipo} CHOICE: se codifica uno de los campos de la estructura. Interfaz ::= SEQUENCE { nombre IA5String, identificacion CHOICE { posicion IA5String, numero INTEGER } tipo IA5String } Cuando se define el valor se decide cual de los elementos del CHOICE se elige. miInterfaz Interfaz ::= { nombre eth0" identificacion { posicion Enlace A } tipo Ethernet }
GSyC 2007
Mdulos en ASN.1
Modulo: coleccin de descripciones ASN.1
Estructura: <Nombre Mdulo> DEFINITION ::= BEGIN <Enlaces> <Declaraciones de tipos / estructuras> END Los enlaces sirven importar / exportar declaraciones de / a otros mdulos. Ejemplo:
ModuloVacio DEFINITION ::= BEGIN END
9
GSyC 2007
Macros en ASN.1
Definir elementos que se comportan como tipos bsicos Se pueden utilizar macros para tener mayor flexibilidad:
NOMBREMACRO MACRO ::= BEGIN TYPE NOTATION ::= sintaxis de tipo -- formato del tipo
VALUE NOTATION ::= sintaxis de valor -- valores que puede tomar sintaxis auxiliares -- definicin de smbolos no terminales END
GSyC 2007
10
Filosofa: flexibilidad y extensibilidad Utiliza un subconjunto de los datos disponibles en ASN.1 Todos los objetos gestionados se referencian por nombres: arquitectura jerrquica Sigue las reglas de codificacin BER
Distintas versiones:
SMIv1 (RFC1155)
SNMPv1
Predefine tipos comunes: IpAddress, Counter, Gauge Declara la macro OBJECT-YPE Tipos estructurados permitidos: SEQUENCE, SEQUENCE OF
SMIv2 (RFC2578)
SNMPv2
Extiende los tipos, macros y operaciones permitidos pero con ciertas restricciones. Introduce el concepto de cumplimiento de MIB (RFC2580) y de estado de los objetos (current, deprecated, obsolete) Introduce mecanismos para manipular tablas (RFC2579)
GSyC 2007
11
Identificadores de objetos
Identificador global para un los objetos gestionados. Es una secuencia de enteros que indica la posicin del objeto en un rbol global de identificacin. Los nicos elementos con valores son las instancias de los objetos.
Esquema jerrquico
GSyC 2007
12
1.3.6.1.2.1 1.3.6.1.4.1
4 private 1 enterprises EGP 8 Trans. 10 SNMP 11
1.3.6.1.2.1.2
1 directory mgmt 1 MIB II at 3 IP 4
1 internet 3 2 experimental
system interface 1 2
ICMP TCP 5 6
UDP 7
GSyC 2007
13
OIDs privados
Evita que definiciones privadas (usadas internamente) entren en conflicto Gratuito y rpido, total libertad para definir objetos bajo su rama. No slo utilizado para SNMP, tambin en LDAP (RFC3383) Lista completa en http://www.iana.org/assignments/enterprise-numbers
Ejemplos:
GSyC 2007
14
Con un entero (como se transmite en la PDU) Con un nombre equivalente al entero. Con un nombre y el entero equivalente entre parntesis.
mib2 OBJECT IDENTIFIER ::= {iso org dod internet mgmt mib2}
Los identificadores de objetos se heredan de forma que unos se construyen sobre los previamente definidos:
GSyC 2007
15
GSyC 2007
16
Primitivos: INTEGER, OCTET STRING, NULL [no en 2], OBJECTIDENTIFIER. Construidos: SEQUENCE Y SECUENCE OF.
Tipo predefinidos:
NetworkAddress: es un CHOICE que permite seleccionar varios formatos de direcciones. Inicialmente slo IpAddress. [eliminado en v2] IpAddress: STRING de 4 octetos (direccin IP versin 4) Counter: entero no negativo que slo puede incrementarse hasta llegar al valor mximo, en el que vuelve a 0. Valor mximo: 32 bits. Gauge: entero no negativo que puede ser incrementarse o decrementarse. No puede superar el valor mximo: 32 bits TimeTicks: entero no negativo que expresa el tiempo en centsimas de segundo desde un determinado momento (epoch). Opaque: datos arbitrarios codificados como OCTET STRING [v2] Se renombran los tipos (Gauge32, Counter32) y se aade Integer32, Counter64, Unsigned 32
GSyC 2007
17
GSyC 2007
18
SMIv1: Objetos
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" | "obsolete" END ObjectName ::= OBJECT IDENTIFIER
GSyC 2007
19
DESCRIPTION The limit on the total number of TCP connections the entity can support. In entities where the maximum number of connections is dynamic, this object should contain the value -1. ::= { tcp 4 } sysObjectID OBJECT-TYPE SYNTAX ACCESS STATUS OBJECT IDENTIFIER read-only mandatory
DESCRIPTION "The vendor's authoritative identification of the network management subsystem () " ::= { system 2 }
GSyC 2007
20
10
SMIv2: Objetos
OBJECT-TYPE MACRO ::= BEGIN TYPE NOTATION ::= "SYNTAX" Syntax UnitsPart "MAX-ACCESS" Access "STATUS" Status "DESCRIPTION" Text ReferPart IndexPart DefValPart VALUE NOTATION ::= value(VALUE ObjectName) Syntax ::= -- Must be one of the following: -- a base type (or its refinement), -- a textual convention (or its refinement), or -- a BITS pseudo-type type | "BITS" "{" NamedBits "}" NamedBits ::= NamedBit | NamedBits "," NamedBit NamedBit ::= identifier "(" number ")" -- number is nonnegative UnitsPart ::= "UNITS" Text | empty Access ::= "not-accessible" | "accessible-for-notify" | "read-only" | "read-write" | "read-create" Status ::= "current" | "deprecated" | "obsolete" ReferPart ::= "REFERENCE" Text | empty IndexPart ::= "INDEX" "{" IndexTypes "}" | "AUGMENTS" "{" Entry "}" | empty IndexTypes ::= IndexType | IndexTypes "," IndexType IndexType ::= "IMPLIED" Index | Index Index ::= -- use the SYNTAX value of the -- correspondent OBJECT-TYPE invocation value(ObjectName) Entry ::= -- use the INDEX value of the -- correspondent OBJECT-TYPE invocation value(ObjectName) DefValPart ::= "DEFVAL" "{" Defvalue "}" | empty Defvalue ::= -- must be valid for the type specified in -- SYNTAX clause of same OBJECT-TYPE macro value(ObjectSyntax) | "{" BitsValue "}" BitsValue ::= BitNames | empty BitNames ::= BitName | BitNames "," BitName BitName ::= identifier -- a character string as defined in section 3.1.1 Text ::= value(IA5String) END
GSyC 2007
21
<lista>::= SEQUENCE { <tipo1>, . . ., <tipoN>} Donde los <tipos> son tipos simples
Tablas:
GSyC 2007
22
11
GSyC 2007
23
Ejemplo: Interfaces
ifTable OBJECT-TYPE SYNTAX SEQUENCE OF ifEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION A list of interfaces entries. ::= { interfaces 2} IfEntry ::= SEQUENCE { ifIndex InterfaceIndex, ifDescr DisplayString, ifType IANAifType, ifMtu Integer32, ifSpeed Gauge32, ifPhysAddress PhysAddress, ifAdminStatus INTEGER, ifOperStatus INTEGER, ifLastChange TimeTicks, (.) }
GSyC 2007
24
12
1.3.6.1.2.1.2.2.1.2.6
GSyC 2007
MIB-II
Dentro de las MIBs estandarizadas la MIB-II debe estar implementada en agentes SNMP.
Dividida en:
1
org(3)
system: informacin general sobre el sistema [obligatorio] interfaces: informacin sobre los interfaces que tiene el equipo a una red ip, icmp, tcp, udp, egp, snmp: relativa a la implementacin y y ejecucin del protocolo en cada sistema. Transmission: informacin sobre esquemas de transmisin y protocolos de acceso At: asociacin entre internet y la subred [desestimada]
1
3
dod(6)
6
internet(1)
4
experimental(3)
mgmt(2)
3
tcp(6)
directory(1)
mib-2(1)
GSyC 2007
26
13
MIB-II: criterios
Para que un objeto est en la MIB-II:
Debe ser esencial para la gestin de configuracin o fallos No puede utilizarse para provocar daos en los equipos si se modificara Tiene que tener una utilidad y ser utilizado No debe ser informacin que pueda derivarse de otra No es especfico de una implementacin concreta (Windows, UNIX)
GSyC 2007
27
Grupo system
Contiene objetos que describen alguna informacin bsica sobre una entidad. Obligatorio para todas las entidades (agentes) Objetos del grupo system(1)
1
system(1)
mib-2(1)
1
interfaces(2)
sysDescr(1): Descripcin textual de la entidad. sysUpTime(3): Tiempo que lleva operativo el agente sysContact(4): Nombre de persona responsable de la entidad. sysName (5): Nombre del nodo gestionado sysLocation (6): Ubicacin fsica del nodo
GSyC 2007
28
14
GSyC 2007
29
Otras MIBs
Monitor remoto: elemento externo que puede monitorizar una red y recabar informacin de esta (almacenndola o enviando alarmas) Especifica mecanismos para consultar las sondas y configurarlas para capturar datos y programar alarmas.
Especifica los datos especficos de equipos utilizados por humanos (no especficamente de comunicaciones). Ej: sistemas UNIX, PCs Informacin de perifricos (hardware), capacidad de almacenamiento, programas instalados y ejecutndose (procesos), memoria
GSyC 2007
30
15