Upload
roland-schaeffer
View
110
Download
0
Embed Size (px)
Citation preview
Syntaxe et Système d’information
Eric GarciaEric Garcia
20022002
IUT GTR, Montbéliard
Supervision
Cours 2
RéférencesRéférences
Resedas : La notation de syntaxe abstraite numéro un
? : Gestion de réseaux avec SNMP
B Cousin : Le niveau Présentation
F.X Marseille, N. Peret, P. Sidler : Administration de réseaux
François Spies, Julien Bourgeois : Supervision de réseaux
Introduction Introduction
Agents présents sur chaque élément du réseau
reçoit les requêtes du gestionnaire envoie des réponses ou des alarmes modifie une configuration
Logiciel de supervision
application application
gestionnaire
Agent
Lire ou écrire des configurations,et des étatsLire des statistiques ou des états érronés
Réponse aux requêtesRapport de problèmes
Introduction Introduction
Modèle de communication :
Basé sur SNMP (v1 et v2 et v3); pour l'administration des équipements et réseaux
Modèle informationnel
MIB : Management Information Base : description de la base d'information de gestion Variables définies par l'Abstract Syntax Notation 1 (ASN1) Codage BER Arborescence définie par l'ISO et CCITT Le nom d'une variable est le chemin entier pour l'atteindre
PlanPlan
ASN.1ASN.1
MIBMIB
Spécification de typesSpécification de types
Codage des valeursCodage des valeurs
IntroductionIntroduction
Grande hétérogénéité des matériels : besoin d’une syntaxe abstraite
Déclarations ASN.1 similaires aux déclarations en C
Types de données
Syntaxe de transfert ASN.1
définit la façon dont les valeurs des types ASN.1 sont converties sans ambiguïté possible en une suite d’octets SNMP utilise BER (Basic Encoding Rules)
Exemple d’hétérogénéitéExemple d’hétérogénéité
Différence de placement des mots en mémoire
Intel : little indian
DEC/Motorola : big indian
Différente longueur des mots (2, 4, 8 octets), longueur des caractères (7, 8, 16, 32 bits)…
CommunicationCommunication
ASN.1 Vue généraleASN.1 Vue générale
Langage normalisé = langage abstrait de spécification de la structure des données échangées
interprétable par l’être humain notion de types = types de base + constructeurs exemple : numero INTEGER
Codage normalisé (Encoding Rules)
plusieurs règles : BER (Basic Encoding Rules) , PER (Packed Encoding Rules)… transformation des valeurs des types en suites de bits exemple : numero 17 = 0201 1116
Communication et ASN.1Communication et ASN.1
UtilisationUtilisation
Présentation Présentation
Pour chaque objet échangé, on distingue :
son type sa valeur
Il existe des types simples et des types composés
ASN.1 définit des types prédéfinis
De nouveaux types peuvent être construits à partir d’autres types (SET ou SEQUENCE OF)
DéclarationDéclaration
Règle de production pour une déclaration de type
[nom du type] ::= [définition du type]
Règle de production pour une déclaration de type
[nom de la valeur][nom du type] ::= [définition de la valeur]
Mots-Clés réservésMots-Clés réservés
Type booléenType booléen
nom : BOOLEAN
nouveaux types
OpenClose ::= BOOLEAN
Valeurs
open OpenClose ::= TRUE close OpenClose ::= FALSE
Type entierType entier
nom : INTEGER
Solde ::= INTEGER
Contraintes
Counter ::= INTEGER (>=0) max Counter ::= 180
Age ::=(0..130) ageRetraite Age ::= 45
Type entier (suite)Type entier (suite)
noms à certains nombres
Jour-Moi ::= INTEGER{premier(1), dernier(31)}
Jour-Semaine ::= INTEGER{dimanche(0),lundi(1),mardi (2)…}
jour-Conge Jour-Semaine ::= mercredi
Inclusion
EntiersPositifs ::= INTEGER(0<..MAX)Positifs ::= INTEGER(INCLUDES EntiersPositifs|0)
Type suite de bitsType suite de bits
Nom : BIT STRING
séquence de 0, 1 ou plusieurs bits (pas forcément un multiple de 8)
Page-Telecopie-G3 ::= BIT STRINGMessage Page-Telecopie-G3 ::= 100101100100110010111010b
nommage de certains bits
Statut-Personnel ::= BIT STRING{marie(0), salarie(1),ancien-salarie(2),diplôme(3)}
jean Statut-Personnel ::= {marie,ancien-salarie}Équivaut àjean Statut-Personnel ::=1010b
Type suite d’octetsType suite d’octets
Nom : OCTET STRING
Séquence de 0, 1 ou plusieurs octets (pas forcément un multiple de 8)
mot OCTET STRING ::= ‘0100010111011111’bMotcle ::= OCTET STRING (SIZE(0..3)) exemple MotcleIA5 ::= ’34EA32’h
Types dérivés : jeux de caratères
IA5String [Universal22] IMPLICIT OCTET STRING (ASCII) NumericString [UNIVERSAL 18] IMPLICIT IA5String VisibleString [UNIVERSAL 26]… (ASCII + espace) GeneralString [UNIVERSAL 23]…
Type dérivés d’OCTET STRINGType dérivés d’OCTET STRING
GeneralizedTime
AAAAMMJJhhmmss.sss today GeneralizedTime ::= 20030111195523.8
IpAddress ::= OCTET STRING(SIZE(4))
localHost IpAddress ::= 8A 5B 31 01 h
Type quelconqueType quelconque
Nom : ANY
Type quelconque non spécifié
type dont les composants sont tous les types possibles valeur : celle du type choisi File-Content ::= ANY
Nom : NULL
Utilisé pour l’absence de valeur Bulletin-Nul ::= NULL
Type structurés (1)Type structurés (1)
SEQUENCE (équivalent au struct du C)
liste ordonnée de types (de base ou structurés) nommage possible des éléments de la liste valeur : liste ordonnée de valeur des types
IpRoutingTableEntry ::= SEQUENCE{ipRouteDest IpAddress,ipRouteNextHop IpAddress}
gateway IpRoutingTableEntry ::= {194.57.88.0, 194.57.89.1}
Type structurés (2)Type structurés (2)
SEQUENCE OF
Collection ordonnée d’éléments de même type valeur : liste ordonnée de valeurs du type
IpRoutingTable ::= SEQUENCE OF IpRoutingTableEntry
routeur1RT ipRoutingTable ::= {{181.23.54.0, 181.23.55.1},{181.23.53.0, 181.23.55.255}}
Option et défautOption et défaut
Noms-CA-Presents ::= SEQUENCE{
president IA5String,vice-president IA5String OPTIONALTresorier IA5String}
Attributs-Fichier ::= SEQUENCE{
owner OCTET STRING DEFAULT ‘7’h,group OCTET STRING DEFAULT ‘5’h,other OCTET STRING DEFAULT ‘5’h,
}
Type structurés (3)Type structurés (3)
SET
liste non ordonnée de types Valeur : liste des valeurs des types dans n’importe quel ordrePersonne ::= SET {nom IA5String,
age INTEGER OPTIONAL,
marie BOOLEAN} SET OF
défini avec un même type valeur : une liste de valeurs du typeMots-Cles ::= SET OF IA5StringmesMotsCles Mots-Cles ::= {«IP», «routage», «IP»}
Type structurés (suite)Type structurés (suite)
Type CHOICE
liste non-ordonnée de types valeur : une valeur d’un des types
TypeN ::= CHOICE {x REAL,y NumericString}
v1 TypeN ::= x {50,10,-1}v2 TypeN ::= y ’’5’’
Type SELECTION
référence à un type composant
Type OBJECT IDENTIFIERType OBJECT IDENTIFIER
Objets d’information
valeurs assignées par : OSI et UIT liste ordonnée de valeurs entières et/ou nom forme une arbre de référence
Définition d’objetsDéfinition d’objets
Définition de variable:
compteur INTEGER ::= 100
Définition d’objet:
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
Définition de typesDéfinition de types
Définition de sous-types:
Status ::= INTEGER { haut(1), bas(2) } TaillePaquet ::= INTEGER(0..1023)
Définition d’un nouveau type:
AtEntry ::= SEQUENCE { atIndex INTEGER, atPhysAddress OCTET STRING, atNetAddress NetworkAddress}
Classes d’étiquettes Classes d’étiquettes
Quatre classes d’étiquettes :
universelle types de base définis dans ASN.1 ex : INTEGER, OCTET STRING, SET…
spécifique à une application associée à une autre application : définie dans d’autres normes
spécifique à un contexte permet de distinguer les éléments d’un ensemble
privée définie par l’utilisateur pour ses propres besoins
Syntaxe ASN.1 (1)Syntaxe ASN.1 (1)
Commentaires préfixés par : - -
Le module
nom, définition (DEFINITION) tag optionnel BEGIN/END IMPORTS/EXPORTS
La description de type
nom, définition (::=)
Syntaxe ASN.1 (2)Syntaxe ASN.1 (2)
La description de champ des types composés :
leur nom, leur définition le nom sert lors de l’instanciation d’un objet de ce type a lui affecter une valeur Type/nom : syntaxiquement les types commencent par une majuscules les noms non
Les types prédéfinis
INTEGER, VisibleString, UTCTime, GeneralizedTime…
Les types construits
simple : ex NumeroDemploye composé : ex Enfant
Syntaxe ASN.1 (3)Syntaxe ASN.1 (3)
La classe des étiquettes (entre crochet)
applicative : [APPLICATION n] contextuelle : [n] universelle ou non étiqueté : INTEGER ou rien privée : [private n]
Les constructeurs :
SET (OF), SEQUENCE (OF), CHOICE
ensemble/ensemble ordonné ensemble ayant des éléments de même type ou de types différents ensemble ayant un des types alternatifs proposés
Syntaxe ASN.1 (4)Syntaxe ASN.1 (4)
Autres
DEFAULT : valeur par défaut
OPTIONAL : champ optionnel
EXTERNAL : sélection de contexte
OBJECT IDENTIFIER
MACRO, TYPE NOTATION, VALUE NOTATION : macro-génération
IMPLICIT : optimisation de l’encodage
Syntaxe ASN.1 (5)Syntaxe ASN.1 (5)
Convention lexicales
RécapitulatifRécapitulatif
RécapitulatifRécapitulatif
RécapitulatifRécapitulatif
Exemple Exemple
Enregistrement d’un employé
Nom : Paul DurandEmploi : professeurDate d’embauche : 14 Juillet 1789Nom de l’épouse : Anne-marie MartinNombre d’enfants : 2
Enregistrement de ces enfants
Nom : Marc DurandDate de naissance : 11 Novembre 1914Nom : Paulette DupontDate de naissance : 8 Mai 1945
Exemple Exemple
{nom { prenom “Paul”, nom “Durand” },emploi “professeur”,numéroDemploye 51,dateDembauche 17890714090000.0,nomDeLepouse { prenom “Anne-marie”, nom “Martin”},enfants{
{nom{ prenom “Marc”, nom “Durand” },dateDeNaissance 1811110800Z,
}{nom{prenom “Paulette”, nom “Dupont”},
dateDeNaissance 450508070001Z,}
}}
}
Exemple Exemple
Employe DEFINITIONS ::= BEGINEnregistrementDemploye ::= [APPLICATION 0] SET{ nom Nom,
emploi VisibleString,numeroDemployeNumeroDemploye,dateDembauche GeneralizedTime,nomDeLepouse Nom,enfantsSEQUENCE OF Enfant DEFAULT {}
}
Enfant ::= SET{ nom Nom,
dateDenaissance UTCTime}Nom ::= [APPLICATION 1] SEQUENCE{ prenom VisibleString,
nom VisibleString}NumeroDemploye ::= [APPLICATION 2] INTEGER
PlanPlan
ASN.1ASN.1
MIBMIB
Spécification de typesSpécification de types
Codage des valeursCodage des valeurs
Règles d’encodage Règles d’encodage
Maximum quatre champs:
Identificateur (type ou étiquette)
Longueur du champ de données
Champ de données
Drapeau de fin de données si la longueur des données est inconnue (interdit par SNMP)
Règles d’encodage Règles d’encodage
Il existe plusieurs syntaxes de transfert
Basic Encoding Rules (ISO 8825/1, X.209) Canonical Encoding Rules (ISO 8825/1) Distinguished Encodin Rules (ISO 8825/1) Packet Encoding Rules
Codage TLV (type, longueur, valeur)
explicite et flexible lourd
BER : encodage le plus fréquent mais le plus encombrant
Octet de codage Octet de codage
Le champ type Le champ type
2 bits: étiquette
00 Universel 01 Application 10 Spécifique du contexte 11 Privé
1 bit:
0 Type primitif 1 Type construit
Le champ identificateur (1)Le champ identificateur (1)
Étiquette ou Tag sur un ou plusieurs octets
Le champ identificateur (2)Le champ identificateur (2)
Numéro :
forme courte : numéro < 31 forme longue : numéro > 31
le premier bit de chaque octet d’extension du numéro est à 1 sauf pour le dernier
Exemple Exemple
BOOLEAN : UNIVERSAL 1
Codage : 00 0 00001
UnTypeSimple : PRIVATE 34
Codage : 11 0 11111 00100010 6F 22 h
UnAutreTypeSimple : PRIVATE 129
codage : 11 0 11111 10000001 00000001 6F 81 01 h (129 = 00000010000001)
Champ longueur (1)Champ longueur (1)
Forme courte
champ d’un seul octet : premier bit à 0 longueur en octet du champ < 27
Forme longue
champ sur plusieurs octet : premier bit du premier octet à 1 premier octet : la longueur du champ longueur autres octets : longueur en octet du champ valeur >= 27
Champ longueur (2)Champ longueur (2)
Forme indéfinie
champ sur plusieurs octets : 1er bit du 1er octet à 1, autres à 0 longueur du champ inconnue (lors du début de l’encodage) réservée aux objets composés (mais la longueur de chaque sous-objet est connue) terminée par un double octet nul (EOC : [UNIVERSAL 0], longueur = 0)
Champ longueur (3) Champ longueur (3)
Octet de contenu Octet de contenu
L’information à transmettre
Multiple de 8 bits
Les types structurés
codage du type structuré codage des types contenus
L’ordre de la notation est respecté
pour les types et les séquences
Types universels (1)Types universels (1)
Types universels (2)Types universels (2)
Exemple Exemple
Par exemple, encodage de TRUE :
Boolean Length Contents
00 0 00001 00000001 11111111 01 01 FF
NotesNotes
Nota : la syntaxe de transfert BER prévoit le codage suivant pour les types OBJECT IDENTIFIER :
soit m.n.o.p.q.r.s.t à coder
le codage sera :
40m+n.o.p.q.r.s.t avec 40m+n, o, p, etc... occupant chacun un octet
OBJECT IDENTIFIEROBJECT IDENTIFIER
L'exemple de OBJECT IDENTIFIER
OBJECT IDENTIFIER : 00 0 00110=6
1.3. -> 40*1+3 -> 43 -> 0x2B Codage sur 7 bits 8ème bit est le bit plus
Exemple :
OBJECT IDENTIFIER 1.3.6.1.1.4.134.840 06 09 2B 06 01 01 04 81 06 86 48
Codage SEQUENCE OFCodage SEQUENCE OF
Type structuré UNIVERSAL 16codage : 00 1 10000 = 30 hs1 SEQUENCE OF IA5String ::= {« Dupont », « Jean »}
SEQUENCE Longueur Contenu
30h 0Eh
IA5String longueur Contenu16h 6h 44 75 70 6F 6E 74 h16h 4h 4A 65 61 6E h
Codage SEQUENCECodage SEQUENCE
s2 SEQUENCE {nom IA5String, ok BOOLEAN}::= {nom « Dupont », ok TRUE}
SEQUENCE Longueur Contenu
30h 0Bh
IA5String longueur Contenu16h 06h 44 75 70 6F 6E 74h
BOOLEAN longueur Contenu01h 01h FFh
Codage SET/SET OFCodage SET/SET OF
Classe UNIVERSAL 17 codage : 00 1 10001 = 31h
ex SET {nom IA5String, age INTEGER OPTIONAL,marie BOOLEAN}::= {nom « Dupont », marie TRUE}
SET Longueur Contenu31h 0Bh IA5String Longueur Contenu
16h 06h 44 75 70 6F 6E 74h
BOOLEAN Longueur Contenu
01h 01h FFh
Codage d’étiquetteCodage d’étiquette
Une étiquette modifie le codage des données
Permet de distinguer des types semblables
MonEntier [PRIVATE 4] INTEGERcodage 11 1 00100 = E4 hv MonEntier ::= 10
PRIVATE 4 Longueur Contenu E4h 03h INTEGER Longueur Contenu
02h 01h 0Ah
Codage des étiquettesCodage des étiquettes
Nom-Utilisateur ::= SET {nom-Personne [0] IA5String,nom-Organisation [1] IA5String}
[0] sans rien = étiquette context-specific : 10 1 00000 Valeur { nom-Personne « Dupont », nom-Organisation AFNOR}
SET Longueur Contenu31h 13h CONTEXT-
SPECIFIC Longueur Contenu A0h 08h IA5String Longueur Contenu
16h 06h 44 75 70 6F 6E 74hCONTEXT-SPECIFIC Longueur Contenu
A1h 07h IA5String Longueur Contenu 16h 05h 41 46 4E 4F 52h
IMPLICITIMPLICIT
Codage sans le type de base
Valeur 10 de type [PRIVATE 2] IMPLICIT INTEGER
PRIVATE 2 = 11 0 00010
PRIVATE 2 Longueur ContenuC2h 01h 0Ah
ExempleExemple
Exemple Exemple
Employe DEFINITIONS ::= BEGINEnregistrementDemploye ::= [APPLICATION 0] SET{ nom Nom,
emploi [0] VisibleString,numeroDemploye NumeroDemploye,dateDembauche [1] GeneralizedTime,nomDeLepouse [2] Nom,enfants [3] IMPLICIT SEQUENCE OF Enfant DEFAULT {}
}
Enfant ::= SET{ nom Nom,
dateDenaissance [0] UTCTime}Nom ::= [APPLICATION 1] IMPLICIT SEQUENCE{ prenom VisibleString,
nom VisibleString}NumeroDemploye ::= [APPLICATION 2] IMPLICIT INTEGEREND
Exemple Exemple
Enreg. Length Contents : [Application 0]60 8185 nom Length Contents
61 0E VisibleString Length Contents 1A 04 “Paul”
VisibleString Length Contents 1A 06 “Durand”
emploi Length Contents A0 10 VisibleString Length Contents
1A 0A “Professeur”numeroDemploye Length Contents
42 01 33 dateDembauche Length Contents A1 0E GeneralizedTime Length Contents
18 0E 17890714090000 ……
Specs et Compilation Specs et Compilation
PlanPlan
ASN.1ASN.1
MIBMIBPrésentationPrésentationLes groupes de la MIB IILes groupes de la MIB IILa MIB RMONLa MIB RMON
Principe généralPrincipe général
Agent / MIBAgent / MIB
Ressources et objets gérésRessources et objets gérés
Identification des objets Identification des objets
Utilisation d’un arbre de nommage
Chaque objet normalisé doit se trouver à un emplacement unique de l’arbre Nœuds identifiés par un couple étiquette/nombre ou par le nombre seul
Identification des objets par la liste des nœuds
Exemple: { iso(1) organisation identifiée(3) dod(6) internet(1) admin(2) }
MIB IMIB I
Conçue pour superviser TCP/IP
Contient des variables TCP/IP :
Une description du système Le nombre d’interfaces L’adresse IP correspondant à une interface réseau Une table des connexions TCP
MIB IIMIB II
Collection d’objets gérés
Description d’une pile TCP/IP
Évolution de la MIB-I (RFC 1156)
Première MIB standardisée (RFC 1213)
Généralement présente dans les agents
Arbre de nommage des objets ASN.1Arbre de nommage des objets ASN.1
ASN.1 et MIBASN.1 et MIB
Emplacement de la MIBEmplacement de la MIB
OID : 1.3.6.1.2.1
Les groupes de la MIB IILes groupes de la MIB II
Objets gérés : les feuillesObjets gérés : les feuilles
Spécification des objets gérés Spécification des objets gérés
Objet géré :
nom type ASN.1 droits d’accès obsolescence oid (object instance identifier)
MACRO ASN.1
définissent de nouvelles notations
La macro OBJECT TYPE La macro OBJECT TYPE
Exemple Exemple
Exemple de table Exemple de table
Exemple de table (2) Exemple de table (2)
Exemple de table (3) Exemple de table (3)
Exemple de table : vueExemple de table : vue
Table des connexionsTable des connexions
PlanPlan
ASN.1ASN.1
MIBMIBPrésentationPrésentationLes groupes de la MIB IILes groupes de la MIB IILa MIB RMONLa MIB RMON
Les groupes de la MIB IILes groupes de la MIB II
Le groupe system
system 1.3.6.1.2.1.1
1 sysDescr (DisplayString) 2 sysObjectID (OBJECT IDENTIFIER) : OID de l’agent 3 sysUpTime (TimeTicks) : age de l’agent 4 sysContact (DisplayString) : ingénieur 5 sysName (DisplayString) 6 sysLocation (DisplayString) 7 sysServices (INTEGER)
Le groupe system : snmpwalk
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-SY-M), Version 12.0(5)T, RELEASE SOFTWARE (fc1)Copyright (c) 1986-1999 by cisco Systems, Inc.Compiled Fri 23-Jul-99 06:04 by kpma
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.172
SNMPv2-MIB::sysUpTime.0 = Timeticks: (393301523) 45 days, 12:30:15.23
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: router
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
Le groupe interfaces
interfaces1.3.6.1.2.1.2
1 ifNumber
2 ifTable
1 ifEntry
1 ifIndex2 ifDescr3 ifType4 ifMTU5 ifSpeed6 ifPhysAddress7 ifAdminStatus8 ifOperStatus...
Le groupe interfaces
9 ifLastChange10 ifInOctets11 ifInUcastPkts12 ifInNUcastPkts (D)13 ifInDiscards14 ifInErrors15 ifInUnknownProtos...
16 ifOutOctets17 ifOutUcastPkts18 ifOutNUcastPkts (D)19 ifOutDiscards20 ifOutErrors21 ifOutQLen (D)22 IfSpecific (D)
Le groupe interfaces
Le groupe interfaces : snmpwalk
Depuis une RedHat 7.3
IF-MIB::ifNumber.0 = INTEGER: 4IF-MIB::ifIndex.1 = INTEGER: 1IF-MIB::ifIndex.2 = INTEGER: 2IF-MIB::ifIndex.3 = INTEGER: 3IF-MIB::ifIndex.4 = INTEGER: 4IF-MIB::ifDescr.1 = STRING: Ethernet0IF-MIB::ifDescr.2 = STRING: Ethernet1IF-MIB::ifDescr.3 = STRING: Serial0IF-MIB::ifDescr.4 = STRING: Null0IF-MIB::ifType.1 = INTEGER: ethernetCsmacd(6)IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)IF-MIB::ifType.3 = INTEGER: propPointToPointSerial(22)IF-MIB::ifType.4 = INTEGER: other(1)
Le groupe interfaces : snmpwalk
Depuis une Debian Woody
interfaces.ifNumber.0 = 4interfaces.ifTable.ifEntry.ifIndex.1 = 1interfaces.ifTable.ifEntry.ifIndex.2 = 2interfaces.ifTable.ifEntry.ifIndex.3 = 3interfaces.ifTable.ifEntry.ifIndex.4 = 4interfaces.ifTable.ifEntry.ifDescr.1 = Ethernet0interfaces.ifTable.ifEntry.ifDescr.2 = Ethernet1interfaces.ifTable.ifEntry.ifDescr.3 = Serial0interfaces.ifTable.ifEntry.ifDescr.4 = Null0interfaces.ifTable.ifEntry.ifType.1 = ethernetCsmacd(6)interfaces.ifTable.ifEntry.ifType.2 = ethernetCsmacd(6)interfaces.ifTable.ifEntry.ifType.3 = propPointToPointSerial(22)interfaces.ifTable.ifEntry.ifType.4 = other(1)
Le groupe interfaces : snmpwalk
IF-MIB::ifMtu.1 = INTEGER: 1500IF-MIB::ifMtu.2 = INTEGER: 1500IF-MIB::ifMtu.3 = INTEGER: 1500IF-MIB::ifMtu.4 = INTEGER: 1500IF-MIB::ifSpeed.1 = Gauge32: 10000000IF-MIB::ifSpeed.2 = Gauge32: 10000000IF-MIB::ifSpeed.3 = Gauge32: 1544000IF-MIB::ifSpeed.4 = Gauge32: 4294967295IF-MIB::ifPhysAddress.1 = STRING: 0:4:c1:c7:c1:46IF-MIB::ifPhysAddress.2 = STRING: 0:4:c1:e:44:98IF-MIB::ifPhysAddress.3 = STRING: IF-MIB::ifPhysAddress.4 = STRING: IF-MIB::ifAdminStatus.1 = INTEGER: up(1)IF-MIB::ifAdminStatus.2 = INTEGER: down(2)IF-MIB::ifAdminStatus.3 = INTEGER: down(2)IF-MIB::ifAdminStatus.4 = INTEGER: up(1)IF-MIB::ifOperStatus.1 = INTEGER: up(1)IF-MIB::ifOperStatus.2 = INTEGER: down(2)IF-MIB::ifOperStatus.3 = INTEGER: down(2)IF-MIB::ifOperStatus.4 = INTEGER: up(1)
Supervision du groupe interfaces
Vérifier que les interfaces sont "up" sur :
Les routeurs Les serveurs Les stations
Vérifier les auto-négociations (3 et 5) Vérifier les erreurs (13, 14, 15, 19 et 20)
Le groupe at : Address translation
at1.3.6.1.2.1.3
1 atTable
1 atEntry1 atIfIndex2 atPhysAddress3 atNetAddress
Le groupe at : snmpwalk
RFC1213-MIB::atIfIndex.1.1.194.57.88.50 = INTEGER: 1RFC1213-MIB::atIfIndex.1.1.194.57.88.150 = INTEGER: 1RFC1213-MIB::atPhysAddress.1.1.194.57.88.50 = Hex-STRING: 00 04 C1 C7 C1 46 RFC1213-MIB::atPhysAddress.1.1.194.57.88.150 = Hex-STRING: 00 00 86 4F CE 8D RFC1213-MIB::atNetAddress.1.1.194.57.88.50 = Network Address: C2:39:58:32RFC1213-MIB::atNetAddress.1.1.194.57.88.150 = Network Address: C2:39:58:96
Le groupe IP
4 ensembles de données :
Informations de base Statistiques Table d'adresses Table de routage Table de conversion adresses matérielles/réseau (nouveau at)
Le groupe IP : informations de base
IP1.3.6.1.2.1.4
1 ipForwarding
2 iPDefaultTTL
Le groupe IP : Les statistiques
Statistiques IP
Paquets Reçus = 42702 Erreurs d'en-tête reçues = 792 Erreurs d'adresse reçues = 13303 Datagrammes transférés = 0 Protocoles inconnus reçus = 0 Paquets reçus rejetés = 0 Paquets reçus délivrés = 28729 Requêtes en sortie = 234 Routages rejetés = 0 Paquets en sortie rejetés = 0 Paquet en sortie non routés = 1 ...
Commande netstat -s (Unix ou DOS) :
Le groupe IP : Les statistiques
IP1.3.6.1.2.1.4
3 ipInReceives
4 ipInHdrErrors
5 ipInAddrErrors
6 ipForwDatagrams
7 ipInUnknownProtos
8 ipInDiscards
9 ipInDeliver…
Le groupe ip : snmpwalk
IP-MIB::ipForwarding.0 = INTEGER: forwarding(1)IP-MIB::ipDefaultTTL.0 = INTEGER: 255IP-MIB::ipInReceives.0 = Counter32: 418135IP-MIB::ipInHdrErrors.0 = Counter32: 0IP-MIB::ipInAddrErrors.0 = Counter32: 0IP-MIB::ipForwDatagrams.0 = Counter32: 0IP-MIB::ipInUnknownProtos.0 = Counter32: 0IP-MIB::ipInDiscards.0 = Counter32: 0IP-MIB::ipInDelivers.0 = Counter32: 414010IP-MIB::ipOutRequests.0 = Counter32: 2651IP-MIB::ipOutDiscards.0 = Counter32: 18IP-MIB::ipOutNoRoutes.0 = Counter32: 1
Le groupe IP : La table d'adresses
IP1.3.6.1.2.1.4
20 ipAddrTable
1 ipAddrEntry
1 ipAdEntAddr2 ipAdEntIfIndex3 ipAdEntNetMask4 ipAdEntBcastAddr5 ipAdEntReasmMaxSize
...
Le groupe ip : snmpwalk
IP-MIB::ipAdEntAddr.194.57.88.50 = IpAddress: 194.57.88.50
IP-MIB::ipAdEntIfIndex.194.57.88.50 = INTEGER: 1
IP-MIB::ipAdEntNetMask.194.57.88.50 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntBcastAddr.194.57.88.50 = INTEGER: 1
IP-MIB::ipAdEntReasmMaxSize.194.57.88.50 = INTEGER: 18024
Le groupe IP :La table de conversion
IP1.3.6.1.2.1.4
22 ipNetToMediaTable
1 ipNetToMediaEntry
1 ipNetToMediaIfIndex2 ipNetToMediaPhysAddress3 ipNetToMediaNetAddres4 ipNetToMediaType...
Le groupe IP : La table de routage
IP1.3.6.1.2.1.4
21 ipRouteTable
1 ipRouteEntry
1 ipRouteDest2 ipRouteIfIndex3 ipRouteMetric17 ipRouteNextHop8 ipRouteType9 ipRouteProto10 ipRouteAge11 ipRouteMask12 ipRouteMetric513 ipRouteInfo...
Le groupe ip : snmpwalk
RFC1213-MIB::ipRouteDest.0.0.0.0 = IpAddress: 0.0.0.0RFC1213-MIB::ipRouteDest.194.57.88.0 = IpAddress: 194.57.88.0...RFC1213-MIB::ipRouteMetric4.0.0.0.0 = INTEGER: -1RFC1213-MIB::ipRouteMetric4.194.57.88.0 = INTEGER: -1RFC1213-MIB::ipRouteNextHop.0.0.0.0 = IpAddress: 194.57.88.254RFC1213-MIB::ipRouteNextHop.194.57.88.0 = IpAddress: 194.57.88.50RFC1213-MIB::ipRouteType.0.0.0.0 = INTEGER: indirect(4)RFC1213-MIB::ipRouteType.194.57.88.0 = INTEGER: direct(3)RFC1213-MIB::ipRouteProto.0.0.0.0 = INTEGER: local(2)RFC1213-MIB::ipRouteProto.194.57.88.0 = INTEGER: local(2)RFC1213-MIB::ipRouteAge.0.0.0.0 = INTEGER: 37RFC1213-MIB::ipRouteAge.194.57.88.0 = INTEGER: 0RFC1213-MIB::ipRouteMask.0.0.0.0 = IpAddress: 255.255.255.0RFC1213-MIB::ipRouteMask.194.57.88.0 = IpAddress: 255.255.255.0RFC1213-MIB::ipRouteMetric5.0.0.0.0 = INTEGER: -1RFC1213-MIB::ipRouteMetric5.194.57.88.0 = INTEGER: -1RFC1213-MIB::ipRouteInfo.0.0.0.0 = OID: SNMPv2-SMI::zeroDotZero
Le groupe ip : config routeur
Copie ecran des ip route du routeur
Supervision de IP
S'assurer que les tables de routage sont correctes
Problèmes de localisation du problème
Le groupe ICMP
Internet Control Message Protocol
Outil de base pour supervision :
Destination atteignable ? Y-a-t-il de la congestion sur le réseau ?
5 types d'erreurs
Le groupe ICMP
Statistiques ICMP Reçus Emis Messages 176 4 Erreurs 0 0 Destination inaccessible 62 1 Temps dépassé 0 0 Problèmes de paramètres 0 0 Sources éteintes 0 0 Redirections 0 0 Echos 0 0 Réponses échos 0 0 Dates 0 0 Réponses du dateur 0 0 Masques d'adresses 0 0 Réponses du masque d'adresses 0 0
Commande netstat -s (Unix ou DOS) :
Le groupe ICMP
ICMP1.3.6.1.2.1.5
1 icmpInMsgs
2 icmpInErrors
3 icmpInDestUnreach
4 icmpInTimeExcds
5 icmpInParmProbs
6 icmpInRedirects
7 icmpInEchos…
Supervision de ICMP
Détecter les problèmes réseaux
icmpInSrcQuench icmpInTimeExcds icmpInDestUnReach
Détecter les problèmes de redirection
Le groupe TCP
Statistiques TCP
Ouvertures actives = 8 Ouvertures passives = 0 Tentatives de connexion non réussies = 0 Connexions réinitialisées = 0 Connexions en cours = 0 Segments reçus = 103 Segments envoyés = 194 Segments retransmis = 0
Commande netstat -s (Unix ou DOS) :
Le groupe TCP
Connexions actives
Proto Adresse locale Adresse distante Etat TCP bonemine:137 BONEMINE:0 LISTENING TCP bonemine:138 BONEMINE:0 LISTENING TCP bonemine:nbsession BONEMINE:0 LISTENING
Commande netstat a :
Le groupe TCP
TCP1.3.6.1.2.1.6
1 tcpRtoAlgorithm
2 tcpRtoMin
3 tcpRtoMax
4 tcpMaxConn
5 tcpActiveOpens
6 tcpPassiveOpens
7 tcpAttempFails…
Supervision de TCP
Pourcentage de retransmission > 2%
(12->tcpRetransSegs)
Problèmes de connexion
(4 -> tcpMaxConn)
Le groupe UDP
udp1.3.6.1.2.1.7
1 udpInDatagrams
1 udpEntry1 udpLocalAddress2 udpLocalPort
2 udpNoPorts
3 udpInErrors
4 udpOutDatagrams5 udpTable
Commande netstat-p udp
Le groupe EGP
Rappels sur EGP
Un domaine reçoit un numéro d'AS
EGP sert à relier les AS
COPIE CONFING EGP TD INTER
Le groupe EGP
egp1.3.6.1.2.1.8
1 egpInMsgs
1 egpNeighEntry
1 egpNeighState2 egpNeighAddr3 egpNeighAs4 egpNeighInMsgs5 egpNeighInErrs6 egpNeighOutMsgs7 egpNeighOutErrors8 egpNeighInErrMsgs9 egpNeighOutErrMsgs10 egpNeighStateUps11 egpNeighStateDowns...
2 egpInErrors
3 egpOutMsgs
4 egpOutErrors5 egpNeighTable
6 egpAs
Supervision d'EGP
Vérifier les adresses IP et les numéros d'AS des voisins
Détecter les voisins instables (5.10 et 5.11)
Le groupe transmission
X255
dot48
FDDI15
DS118
dot37
dot59
PPP23
DS330
transmission1.3.6.1.2.1.10
Ce n'est pas un groupe ! C'est un ensemble de groupes
Le groupe SNMP
1.3.6.1.2.1.11
30 variables qui permettent de compter :
le nombre de requêtes entrantes et sortantes les différents type d'erreurs (badVersion, badCommunityNames, noSuchNames, etc…)
Le groupe SNMP
Commande show snmp du routeur
Chassis: 26580696
1567 SNMP packets input
0 Bad SNMP version errors
12 Unknown community name
0 Illegal operation for community name supplied
0 Encoding errors
0 Number of requested variables
0 Number of altered variables
16 Get-request PDUs
1524 Get-next PDUs
15 Set-request PDUs
1557 SNMP packets output
0 Too big errors (Maximum packet size 1500)
1 No such name errors
0 Bad values errors
3 General errors ...
PlanPlan
ASN.1ASN.1
MIBMIBPrésentationPrésentationLes groupes de la MIB IILes groupes de la MIB IILa MIB RMONLa MIB RMON
La MIB RMON
1.3.6.1.2.1.11
voir Management des routeurs Cisco.htm
L’arbrederéférence