Syntaxe et Système d’information Eric Garcia 2002 IUT GTR, Montbéliard Supervision Cours 2.

Post on 04-Apr-2015

104 views 0 download

Transcript of Syntaxe et Système d’information Eric Garcia 2002 IUT GTR, Montbéliard Supervision Cours 2.

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