La MIB (Management Information Base) Chapitre 2 La MIB (Management Information Base)
Définition des données Les données ont été définies au début par deux standards : Le SMI (Structure of Management information) La MIB (Management Information Base) L'accès aux données a été défini dans le protocole SNMP SNMP définit un protocole simple de transfert des données De nombreuses RFC ont remplacé ou étendu ces standards RFC 1155 STD 0016 RFC 1156 RFC 1157 STD 0015 Explain the term RFC. Each time an RFC is relevant, the appropriate RFC icon identifies it. The appendices and the hand-out disk give some of the most important RFCs. RFC 1156 is the RFC for MIB 1. RFC = Request for Comments
La MIB (Management Information Base) Les données sont décrites dans une base de données appelée MIB (virtual data store) La base de données est structurée en groupes d'administration (areas) La MIB-I comporte 8 groupes Total de 114 définitions d'objets Définition de la MIB-II Simple ajout de deux nouvelles catégories Support amélioré des équipements multiprotocoles 1,5 fois plus d’objets (171 définitions d'objets) La MIB-2 a été étendue dans le cadre du SMIv2 (RFC 1907) Nouveaux objets dans les groupes system et SNMP RFC 1156 RFC 1213 MIB-I is pretty specific to TCP/IP (or at least heavily biased towards it). MIB-2 has been made more general for other protocol suites; e.g., Address mapping table moved to IP from Address Translation. RFC 1907
Groupes de la MIB-2 Management group Description system The managed node interfaces Network attachments at IP address translation ip IP icmp ICMP tcp TCP udp UDP egp EGP transmission Physical interface snmp SNMP Total number of MIB variables 7 23 3 38 26 19 18 – 30 Total: 171 RFC 1213 Compare with previous slide. MIB-2—Many additions Note: Two new groups added—Transmission and SNMP. Transmission has no variables defined. It is intended for use by new (and old) transmission technologies as they are developed. This is the original base line of MIB-2; i.e., this is the minimum, based on RFC 1213. Current practice is to quote RFC-1213 when referring to this baseline MIB.
Extensions de la MIB Diverses méthodes peuvent être utilisées pour modifier et enrichir la MIB Remplacer une branche complète par une nouvelle version étendue Par exemple, la MIB-I a été remplacée par la MIB-II Développer la MIB en y ajoutant de nouveaux sous-arbres Par exemple, ospf a été ajouté à la MIB-II Ajouter des éléments sous experimental(3), puis migration vers mgmt(2) Par exemple, char (1.3.6.1.3.19) est devenu char (1.3.6.1.2.1.19) Abandonné à cause de la difficulté à faire migrer des applications existantes Ajouter des sous-arbres sous private(4) enterprise(1) L'administration de la branche dépend de chaque entreprise The structure is designed to be extensible.
La partie Internet de l’espace de nommage 6 1 S N M P v 2 5 S e c u r i t y 1 2 3 4 D i r e c t o r y M a n a g e m e n t E x p e r i m e n t a l P r i v a t e 1 8 2 P P P R S - 2 3 2 1 MIB 1 1 S N M P 1 T r a n s m i s s i o n 1 E n t e r p r i s e s 1 8 E G P S y s t e m 7 2 U D P 6 2 3 6 9 6 7 I n t e r f a c e s 3 5 T C P I B M D E C c i s c o R e u t e r s A T 4 I C M P I P
Le SMI (Structure of Management Information) Tous les objets gérés d'un réseau forment un espace de stockage virtuel, ‘virtual store’ Le schéma d'administration de cet espace virtuel se nomme SMI (Structure of Management Information) Le SMI explique : Comment définir et accéder aux données Les types d'objets administrés Les opérations autorisées sur les objets administrés Comment définir l’état des objets Les règles du SMI prohibent la duplication des informations de la MIB standard dans les branches privées Dans la pratique, la compatibilité ascendante et l'évolution des standards mènent souvent à la duplication
Définir les objets de la MIB Définis par la RFC-1155 (SMI, Structure of Management Information) Etendue par le RFC-1212 (concises MIB Définitions) pour la MIB-II Puis approfondie par la RFC-1902 (SMI pour SNMPv2) et 2578 Définissent toutes les propriétés d’un objet de la MIB Syntaxe du type d'objet Autorisation d'accès pour l'objet (lecture seule, lecture-écriture ou non- accessible) Etat de l'objet (obligatoire, optionnel ou obsolète) En option : description textuelle, références croisées et valeur par défaut Les index utilisés pour la désignation des éléments des objets de type table Les données de la MIB sont définies en langage ASN.1 The term “deprecated” means that the item is obsolete but is included for backwards compatibility only.
ASN.1 (Abstract Syntax Notation) Langage formel développé et standardisé par le CCITT* (X.208), (ISO 8824) en 1984, avec BER (Basic Encoding Rules) pour l’encodage sur réseau Utilisé pour définir les données de l'application indépendamment du matériel ou du logiciel utilisé Utilisé pour définir la structure des unités de données de protocoles d'application et de présentation dans le modèle OSI Utilisé pour définir la MIB de SNMP BER est l’encodage associé à ASN.1 pour les données et les PDU SNMP Dispose d'une capacité de macro-définition Permet la définition des objets administrés Les données et actions pouvant être effectuées sur ces objets ASN.1 is used to define the data in the MIB and is also used to encode the data in the PDU. Original task of ASN.1 was to define any data. *Note : les recommandations publiées par Le CCITT (ITU-T depuis 1993) sont nommées recommandations ITU–TSS (International Telecommunications Union–Telecommunications Sector Standards). PDU = protocol data unit
Définir les objets de la MIB-2 Les objets MIB-II sont définis par un sous-ensemble des types ASN.1 de l’OSI Types de la classe UNIVERSAL Integer (UNIVERSAL 2) Octet string (UNIVERSAL 4) Null (UNIVERSAL 5) Object identifier (UNIVERSAL 6) Sequence or sequence of (UNIVERSAL 16) Enumerations of INTEGER (UNIVERSAL 10) (Doit exclure la valeur 0) Les étiquettes 2,4,5,6,16,10 (tag) apparaissent dans l’encodage BER (voir chapitre 4)
Définir les objets de la MIB-2 (suite) Les types de données définis spécifiquement pour SNMP version 1 (type Application) IPAddress[0] : 4 octets en notation décimale pointée Counter[1] : Peut être incrémenté mais pas décrémenté, dans un intervalle compris entre 0 et 232 – 1 avec passage à zéro Gauge[2] : Peut être augmenté ou diminué, dans un intervalle compris entre 0 et 232 – 1 sans passage à zéro TimeTicks[3] : Entier non-négatif représentant le temps en centièmes de seconde à partir d'une date donnée Opaque[4] : Mécanisme transparent, envoie n'importe quelle donnée de manière arbitraire, sous forme de chaîne d'octets ("OCTET STRING") On retrouvera de même ces étiquettes dans l’encodage BER (cf chapitre 4)
Changements dans le SMIv2 Le SMIv2 est (approximativement) un sur-ensemble du SMI v1 Définitions développées avec de nouvelles entrées Les unités (Units) inclues comme partie optionnelle de la définition Accès en "écriture seule" remplacée par la "lecture-création" Simplification de l'état (mandatory->current, deprecated ->obsolete) Nouvelle convention pour la création/suppression de rangées dans une table Nouveaux types de données pour le SMI V2 (SNMPV2 et V3) "Counter" et "Gauge" de SNMP version 1 renommés en "Counter32" et "Gauge32" Universal INTEGER de SNMP version 1 limité à 32 bits Construct BITS autorisé pour les énumérations (seulement) Counter64 : pour les compteurs pouvant boucler en moins d'une heure Unsigned32 défini pour les entiers variant de 0 à 4294967295 (232–1) RFC 2578 Changes from SNMPv1 SMI (RFC 1155). Example: SNMPv2 Universal INTEGER NOT restricted to 32 bits.
Exemples de variables de la MIB variables de MIB Groupe Signification MIB-1 ou MIB-II Type d’objet sysUpTime system Time since last reboot 1 scalar sysLocation Physical location 2 ifMtu interfaces MTU size ifOutDiscards Discarded because of resource limitations ifAdminStatus Desired status (up, down) ipDefaultTTL ip Default TTL value used ipAdEntReasmMaxSize Max. size of IP datagram that can be reassembled icmpInRedirects icmp ICMP redirects seen tcpRtoMax tcp Max. retransmission timeout tcpMaxConn Max. connection allowed tcpOutRsts Resets generated udpOutDatagrams udp Datagrams sent ipNetToMediaTable IP address to physical address mapping table ipRouteTable IP routing table Don’t go into detail, just pick out a couple of examples. MTU = maximum transmission unit TTL = time to live
Exemple d’objets scalaires : Le groupe Système n a * N L S v 1 2 5 3 4 6 7 . A d M B - Define scalar objects as one-dimensional (as opposed to table). Groupe système Information générale sur l’équipement administré
Exemple d’objets scalaires : Le groupe System (suite) Object 1.3.6.1.2.1.1 Syntax Access Description sysDescr .1 DisplayString (SIZE (0..255)) RO Une description de l'entité : matériel, système d'exploitation, etc. sysObjectID .2 OBJECT IDENTIFIER L'identification autorisée du constructeur pour le sous- système de gestion de réseau compris dans l'entité sysUpTime .3 TimeTicks Le temps écoulé depuis la dernière réinitialisation sysContact .4 RW Les informations d'identification de la personne responsable de ce nœud sysName .5 Un nom affecté de manière administrative à ce nœud sysLocation .6 L'emplacement physique de cet équipement sysServices .7 INTEGER (0..127) Ensemble des services offerts par cette entité : 1 Physique (ex. répéteur) 2 Liaison de données/sous-réseau (ex. pont) 4 Internet (ex. routeur) 8 Bout en bout (ex. station IP) 64 Applications (ex. relais de messagerie) “sysObjectId” is an ASCII No. id “sysServices” effectively identifies which of the seven layers the device is working at, by summing the values of the layers the device operates at.
Exemple d’objet table : ipNetToMediaTable (suite) Object 1.3.6.1.2.1.4 Syntax Index Access Description ipNetToMediaTable .22 SEQUENCE OF IpNetToMediaEntry NA IP address-translation table used for mapping from IP addresses to physical addresses ipNetToMediaEntry .22.1 SEQUENCE Each entry contains an IP address to physical address mapping ipNetToMediaIfIndex .22.1.1 INTEGER ü RW Interface for which this entry applies ipNetToMediaPhysAddress .22.1.2 PhysAddress Media-dependent physical address ipNetToMediaNetAddress .22.1.3 IpAddress IP address corresponding to the media-dependent physical address ipNetToMediaType .22.1.4 Type of mapping: other (1), invalid (2), dynamic (3), static (4) NA = not accessible RW = read/write
Exemple d’objet table : ipNetToMediaTable (suite) mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -- MIB-II ip OBJECT IDENTIFIER ::= { mib-2 4 } ipNetToMediaTable OBJECT-TYPE SYNTAX SEQUENCE OF IpNetToMediaEntry ACCESS not_accessible STATUS mandatory ::= { ip 22 } IfIndex PhysAddress NetAddress EntryType ipNetToMediaEntry OBJECT-TYPE SYNTAX IpNetToMediaEntry ACCESS not_accessible STATUS mandatory ::= { ipNetToMediaTable 1 } iso(1) org(3) IpNetToMediaEntry ::= SEQUENCE { dod(6) ipNetToMediaIfIndex INTEGER, ipNetToMediaPhysAddress OCTET STRING, ipNetToMediaNetAddress IpAddress, ipNetToMediaType INTEGER internet(1) mgmt(2) mib(1) ip(4) ipNetToMediaTable(22) } ipNetToMediaIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory ::= { ipNetToMediaEntry 1 } ipNetToMediaEntry(1) PhysAddress(2) ipNetToMediaPhysAddress OBJECT-TYPE SYNTAX PhysAddress ACCESS read-write STATUS mandatory ::= { ipNetToMediaEntry 2 } . 1.3.6.1.2.1.4.22 = ipNetToMediaTable