Académique Documents
Professionnel Documents
Culture Documents
Thème N°5: L'Administration Des Réseaux: Complément Réseaux de Transport Et Applications Année 95/96
Thème N°5: L'Administration Des Réseaux: Complément Réseaux de Transport Et Applications Année 95/96
Anne 95/96
L'administration de
l'Internet:
SNMP
(Simple Network Management Protocol)
L.Duchien
-1-
Anne 95/96
Introduction.............................................................................................3
Les standards ..................................................................................5
Les attendus d'une administration de rseau...............................................6
L'organisation d'une administration ........................................................7
Les systmes de gestion de rseau ..........................................................8
L'architecture d'un logiciel d'administration de rseau...................................9
La gestion distribue d'un rseau
...................................................................................................1
0
1. Les concepts de SNMP
...........................................................................................................1
1
Le Modle
...................................................................................................1
2
Le Modle (2)
...................................................................................................1
3
Le Modle (3)
...................................................................................................1
4
2. La MIB (Management Information Base)
...........................................................................................................1
5
SMI (Structure of de spcification des informations d'administration)
...................................................................................................1
6
La spcification de l'arbre des MIB accessibles.
...................................................................................................1
7
Les types
...................................................................................................1
8
Mise jour de la structure
...................................................................................................2
1
Les MIBs
...................................................................................................2
2
3. Le Protocole SNMP
...........................................................................................................2
7
Quelques rgles :
...................................................................................................2
8
Communauts et Nom de communauts
...................................................................................................2
9
Dfinition de la communaut
..........................................................................................3
0
Les concepts d'administration
..........................................................................................3
2
L.Duchien
-2-
-3-
L.Duchien
-4-
Anne 95/96
Introduction
Le rseau est devenu une ressource indispensable (voir vitale) au
bon fonctionnement d'une organisation, une entreprise, ...
L.Duchien
-5-
Anne 95/96
L.Duchien
-6-
Anne 95/96
Les standards
Pour tre utiliser par une large gamme de produits (systmes
terminaux, ponts, routeurs, quipement de tlcommunication
quelconque) et dans un environnement multi-constructeurs,
On trouve deux grandes familles de standards :
- SNMP :
- regroupe un ensemble de standards incluant un
protocole, une spcification de la structure de la base de donnes
et un ensemble d'objets.
- C'est le standard pour TCP/IP.
- L'administration de systmes OSI :
- regroupe un grand ensemble de standards qui dcrivent
une architecture gnrale d'administration, un service et un
protocole de gestion (CMISE/CMIP), la spcification de la
structure de la base de donnes et un ensemble d'objets.
L.Duchien
-7-
Anne 95/96
L.Duchien
-8-
Anne 95/96
L.Duchien
-9-
Anne 95/96
hte de contrle
de rseau
Frontal
(agent)
NMA
NME
Hte (agent)
APPL.
NME
APPL.
NME
Comm
Comm
Comm
OS
OS
OS
Rseau
NME : Entit de gestion rseau
NMA : Application de gestion rseau
Appl : Application
OS : Operating System
Comm : Logiciel de communication
cluster
(agent)
NME
Comm
APPL.
NME
OS
Comm
OS
Hte (agent)
L.Duchien
-10-
Anne 95/96
Application de
gestion rseau
Element
d'Application
Application de
gestion rseau
Element
d'Application
.......
Element
d'Application
L.Duchien
Module d'accs
la MIB
Pile de protocole
de communication
MIB
Rseau gr
-11-
Anne 95/96
Rseau
Serveur
d'administration
Application
d'administratio
n
Serveur
d'administration
MIB
Application
d'administratio
n
MIB
Rseau
administrateur
d'lment
-12-
Anne 95/96
L.Duchien
-13-
Anne 95/96
Le Modle
Une administration SNMP est compose de trois types
d'lments:
- des agents chargs de superviser un quipement. On parle
d'agent SNMP install sur tout type d'quipement.
- une ou plusieurs stations de gestion capable d'interprter
les donnes
- une MIB (Management Information Base) dcrivant les
informations gres.
Un protocole activ par une API permet la supervision, le
contrle et la modification des paramtres des lments du
rseau.
Les fonctionnalits :
- get : permet la station d'interroger un agent,
- get_next : permet la lecture de l'objet suivant d'un agent
sans en connaitre le nom
- set : permet de modifier les donnes d'un agent
- trap : permet de transmettre une alarme
L.Duchien
-14-
Anne 95/96
Le Modle (2)
Agent SNMP
Ressources gres
GetRequest
Messages SNMP
GetNextRequest
SetRequest
GetResponse
Trap
GetNextRequest
SetRequest
GetResponse
Trap
GetRequest
Application
de gestion
Agent SNMP
Gestionnaire SNMP
TCP
TCP
IP
IP
protocoles dpendant
du rseau
protocoles dpendant
du rseau
Rseau ou Internet
Architecture de SNMP
L.Duchien
-15-
Anne 95/96
Le Modle (3)
L'utilisation de SNMP suppose que tous les agents et les stations
d'administration supportent IP et UDP.
Ceci limite l'administration de certains priphriques qui ne
supportent pas la pile TCP/IP.
De plus, certaines machines (ordinateur personnel, station de
travail, contrleur programmable, ... qui implantent TCP/IP pour
supporter leurs applications, mais qui ne souhaitent pas ajouter un
agent SNMP.
=> utilisation de la gestion mandataire (les proxies)
Un agent SNMP agit alors comme mandataire pour un ou
plusieurs priphriques:
Agent mandataire
Station
d'administration
Processus
d'administration
SNMP
UDP
UDP
IP
IP
architecture
de protocole
utilise par un
priphrique
mandat
Rseau
L.Duchien
Processus
d'administration
Processus
de l'agent
SNMP
protocoles dpendant
du rseau
priphrique
mandat
architecture
de protocole
utilise par un
priphrique
mandat
protocoles dpendant
du rseau
Rseau
-16-
Anne 95/96
L.Duchien
-17-
Anne 95/96
L.Duchien
-18-
Anne 95/96
CCITT(0)
ISO(1)
Joint ISO-CCITT(2)
Org(3)
dod(6)
Internet(1)
directory(1)
mgmt(2)
experimental(3)
MIB(1)
private(4)
Enterprise(1)
Anne 95/96
L.Duchien
-20-
Anne 95/96
Les types
Des types simples : INTEGER, OCTET STRING, OBJECT
IDENTIFIER, NULL, SEQUENCE, SEQUENCE OF
Les types drivs ou applicatifs [RFC 1155]
Exemple de types applicatifs :
IpAddress ::= -- type de donnes reprsentant une adresse IP
[APPLICATION 0]
IMPLICIT OCTET STRING (SIZE 4)
NetwokAddress ::= --adresse rseau
CHOICE {internet IpAddress}
Counter ::=
-- repasse 0 lorsque = Max
[APPLICATION 1]
IMPLICIT INTEGER (0..4294967295)
Gauge ::=
- ne repasse pas 0
[APPLICATION 2]
IMPLICIT INTEGER (0..4294967295)
TimeTicks ::=
-- compte le tps en centime de sec depuis une poque
donne
[APPLICATION 3]
IMPLICIT INTEGER (0..4294967295)
Opaque ::=
-- reprsente un encodage arbitraire
[APPLICATION 4]
IMPLICIT Octet String
+ 2 types construits :
<list> ::= SEQUENCE { <type 1>...<type n>}
<table> ::= SEQUENCE OF <list>
L.Duchien
-21-
Anne 95/96
L.Duchien
-22-
Anne 95/96
OBJECT
-----------atEntry {atTable 1}
Syntax :
AtEntry::= SEQUENCE {
atIndex INTEGER,
atPhysAddress OCTET STRING,
atNetAddress NetworkAddress,
}
Definition : an entry in the translation table
Access : read-write
Status : mandatory
OBJECT
-----------atTable{at 1}
Syntax : SEQUENCE OF AtEntry
Definition : The address translation table
Access : read-write
Status : mandatory
Autres objets intressants :
atIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
::= {atEntry 1}
atPhysAddress OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS read-write
STATUS mandatory
::= {atEntry 2}
atNetAddress OBJECT-TYPE
SYNTAX NetWorkAddress
ACCESS read-write
STATUS mandatory
::= {atEntry 3}
atEntry OBJECT-TYPE
SYNTAX AtEntry
ACCESS read-write
STATUS mandatory ::= {atTable 1}
L.Duchien
-23-
Anne 95/96
L.Duchien
-24-
Anne 95/96
Les MIBs
Version 2 de la MIB
mib-2 Object Identifier ::= {mgmt 1}
=> groupe de travail "SNMP Working Group"
MIB II : 10 sous ensembles qui sont :
- system
- interfaces
- at
- ip
- icmp
- tcp
- udp
- udp
- egp
- transmission
- snmp
L.Duchien
-25-
Anne 95/96
system (mib-2 1)
sysDescr (1)
sysObjectID(2)
sysUpTime(3)
syContact(4)
sysName(5)
sysLocation(6)
sysServices(7)
-26-
Anne 95/96
ifNumber(2)
ifTable(3)
ifEntry (mib-2 1)
ifIndex (1)
ifDescr(2)
ifType(3)
ifMtu(4)
ifSpeed(5)
ifPhyAddress(6)
ifAdminStatus(7)
........
-27-
Anne 95/96
ipForwarding (1)
ipDefaultTTL(2)
ipInReceives(3)
.ipInHdrErrors(4).....
ipInAddrErrors(5)
ipForwDatetgrams(6)
ipFragFails(16)
ipFragCreates(19)
ipAddrTable(20)
ipAddrEntry(1)
ipAdEntAddre(1)
ipAdEntIfIndex(2)
ipAdEntNetMask(3)
ipAdEntBcastAddr(4)
ipAdEntReasmMaxsize(5)
ipRouteTable(21)
L.Duchien
-28-
Anne 95/96
icmp : 26 compteurs
- pour chaque message icmp, 2 compteurs pour compter les
messages reus et mis
- 4 compteurs pour compter le nombre total de messages
icmp reus, reus par erreur ou non envoys,
tcp : rend compte des connexions TCP en cours et des paramtres
de type nombre max de connexions simultanes permises,
nombre d'ouverture active,...et l'tat de chaque connexion
(coute, time-wait,...).
udp :
- 4 compteurs renseignent sur le nombre de datagramme
UDP envoys, reus, en erreur, ...
- la table gre la liste des applications utilisant UDP ainsi
que le pour correspondant
- egp : gre le protocole egp (External gateway protocol)(routage
des paquets entre routeurs). on a le nbre de paquets entrants,
sortants, en erreur, la table des routeurs adjacents, des infos sur
les routeurs...
- transmission : ne contient que
type Object Identifier ::={transmission number}
L.Duchien
-29-
Anne 95/96
3. Le Protocole SNMP
L'architecture du rseau utilis :
SNMP
ASN.1
UDP
IP
Format d'un message SNMP :
- un identificateur de version : no de version SNMP
- un nom de communaut
- une PDU
version communaut
SNMP PDU
L.Duchien
-30-
Anne 95/96
Quelques rgles :
il n'est pas possible de changer la structure de la MIB par ajout
ou retrait d'instances.
L'accs aux objets est possible uniquement sur les objetsfeuilles de l'arbre des identificateurs d'objets.
Par convention, il est possible d'excuter des oprations sur des
tables deux dimensions.
=>D'un ct ces restrictions simplifient l'implantation de SNMP
=> De l'autre ct ils limitent la capacit du systme
d'administration.
L.Duchien
-31-
Anne 95/96
Station
d'administration
Station
d'administration
Agent
MIB
Agent
MIB
Agent
MIB
Agent
MIB
Agent
MIB
L.Duchien
-32-
Anne 95/96
Dfinition de la communaut
La communaut SNMP est une relation entre un agent et les
stations d'administration qui dfinit l'authentification, le
contrle d'accs et les caractristiques des proxys
Le concept est local un agent
Un agent tablit une communaut pour chaque combinaison
d'authentification, de contrle d'accs et de caractristiques de
proxys.
Chaque communaut dfinie entre un agent et ses stations
d'administration a un nom unique (pour l'agent) employ lors
des oprations get et set.
Une station d'administration garde la liste des noms de
communaut donns par les diffrents agents.
L.Duchien
-33-
Anne 95/96
L'authentification :
=> doit assurer l'agent que le message vient bien de la source
cite dans le message.
=> SNMP fournit un schma d'authentification simple:
chaque message d'une station d'administration comporte le
nom de la communaut
=> ce nom fonctionne comme un mot de passe, et le message
est dit authentifi si l'metteur connat le mot de passe.
=> lger ! ce qui fait que les oprations set et trap sont mis
dans des communauts part avec utilisation de cryptage et
dcryptage.
La politique d'accs :
=> Un agent limite l'accs sa MIB une slection de stations
d'administration
=> Il peut fournir plusieurs types d'accs en dfinissant
plusieurs communauts
=> Ce contrle d'accs a deux aspects :
- une vue de la MIB : un sous-ensemble des objets de la
MIB. Diffrentes vues de la MIB peuvent tre dfinies pour
chaque communaut
- un mode d'accs SNMP : un lment de l'ensemble {readonly, read-write}. Il est dfini pour chaque communaut.
La vue de la MIB et le mode d'accs forment ce que l'on
appelle le profil de la communaut SNMP.
Le service de proxy
=> c'est un agent SNMP qui agit pour d'autres priphriques
(qui ne supportent pas par exemple TCP/IP)
=> Pour chaque priphrique reprsent par le systme de
proxy, celui-ci doit maintenir une politique d'accs
=> le proxy connat quels sont les objets MIB utiliss pour
grer le systme mandat (la vue de la MIB et les droits
d'accs)
L.Duchien
-34-
Anne 95/96
Agent SNMP
Ensemble de
gestionnaires SNMP
Communaut SNMP
nom de communaut
mode d'accs
SNMP
Profil de communaut
SNMP
Politique
d'accs
SNMP
L.Duchien
-35-
Anne 95/96
L'identification d'instance
Nous avons vu que chaque objet de la MIB a un unique
identificateur qui est dfini par sa position dans la structure en
arbre de la MIB
Quand un accs est fait une MIB, via SNMP, on veut accder
une instance spcifique d'un objet et non un type d'objet.
SNMP offre deux moyens pour identifier une instance d'objet
spcifique dans une table :
- une technique d'accs par srie :
on utilise l'ordre lexicographique des objets de la
structure de la MIB.
- une technique d'accs direct
L.Duchien
-36-
Anne 95/96
0.0.0.0
99
10.0.0.99
14
89.1.1.42
84
INDEX
INDEX
INDEX
INDEX
tcpConnEntry
(1.3.6.1.2.1.6
.13.1)
tcpConnEntry
(1.3.6.1.2.1.6
.13.1)
tcpConnEntry
(1.3.6.1.2.1.6
.13.1)
-37-
Anne 95/96
L'index de table
La clause INDEX dfinit un rang. Il dtermine sans
ambigut la valeur de l'objet
La rgle de construction de l'identificateur de l'instance
d'une instance de colonne d'objet est la suivante :
Soit un objet dont l'identificateur d'objet est y, dans une
table avec des objets INDEX i1, i2,..., iN, alors l'identificateur
d'instance pour une instance d'objet y dans un rang particulier est
y.(i1).(i2)...(iN)
On distingue par les index les diffrentes colonnes.
On combine l'identificateur de l'objet pour une colonne et un ensemble de valeur de
l'Index pour obtenir le rang.
tcpConnState
L.Duchien
-38-
Anne 95/96
L'ordre lexicographique
L'identificateur d'objet est une squence d'entiers qui reflte une
structure hirarchique des objets de la MIB.
=> un identificateur d'objet pour un objet donn peut tre driv
par la trace du chemin de la racine l'objet.
=> L'utilisation d'entiers apporte un ordre lexicographique
=> La rgle : les noeuds "fils" sont dfinis en ajoutant un entier
l'identificateur du pre et en visitant l'arbre de bas en haut et de
gauche droite.
=> Cela permet d'accder aux diffrents objets de la MIB sans
vraiment en connatre le nom spcifique de l'objet
=> la station d'administration peut donner un identificateur d'objet
ou un identificateur d'instance d'objet et demander l'instance de
l'objet qui est le suivant dans l'ordre.
L.Duchien
-39-
Anne 95/96
exemple :
ipRouteTable
1.3.6.1.2.1.4.21
ipRouteEntry
1.3.6.1.2.1.4.21.1=x
ipRouteMetric1
x.3
ipRouteDest
x.1
ipRouteDest.9.1.2.3
x.1.9.1.2.3
ipRouteNextHop
x.7
ipMetric1.9.1.2.3
x.3.9.1.2.3
ipRouteNextHop.9.1.2.3
x.7.9.1.2.3
ipRouteDest.10.0.0.51
x.1.10.0.0.51
ipMetric1.10.0.0.51
x.3.10.0.0.51
ipRouteNextHop.10.0.0.51
x.7.10.0.0.51
ipRouteDest.10.0.0.99
x.1.10.0.0.99
ipMetric1.10.0.0.99
x.3.10.0.0.99
ipRouteNextHop.10.0.0.99
x.7.10.0.0.99
Object
ipRouteTable
ipRouteEntry
ipRouteDest
ipRouteDest.9.1.2.3
ipRouteDest.10.0.0.51
ipRouteDest.10.0.0.99
L.Duchien
Identificateur d'objet
-40-
Anne 95/96
La spcification du protocole
Les formats SNMP :
version communaut
SNMP PDU
Message SNMP
type PDU id-request 0 0 variable
GetRequestPDU, GetNextRequestPDU, SetRequestPDU
type PDU id-request etat erreur index erreur variable
GetResponse PDU
type PDU enterprise addr.gen trap gnr trap specif time-stamp variable
Trap PDU
nom1 valeur1 nom2 valeur2
nomn valeurn
la partie variable
L.Duchien
-41-
Anne 95/96
L.Duchien
-42-
-43-
Anne 95/96
Agent
GetRequest-PDU
GetResponse-PDU
GetRequest-PDU ::= [0]
IMPLICIT SEQUENCE {
request-id RequestID,
error-status ErrorStatus, -- 0
error-index ErrorStatus, -- 0
Variable_Binding VarBindList}
- Rception d'une GetRequest-PDU,
- Si pour chaque objet de la VarBindList, l'objet ne correspond pas alors envoi
d'un GetResponse-PDU avec : ErrorStatus<-- NoSuchName et ErrorIndex<-Valeur fausse dans le message reu,
- Si GetResponse-PDU > Limitation locale alors envoi de GetResponse-PDU avec
ErrorStatus<--too big et ErrorIndex<-0
- Si une des variables demandes ne peut pas tre obtenue alors envoi de
GetResponse-PDU avec ErrorStatus<--generr et ErrorIndex<-- variable en
erreur
- Si tout est OK, envoi d'un GetResponse-PDU o les variables sont associes aux
valeurs
L.Duchien
-44-
Anne 95/96
Exemple
iso (1)
org (3)
dod (6)
internet (1)
mgmt (2)
mib-2 (1)
system(1) interfaces (2) at (3) ip (4)
ipInDelivers (9)
22763
snmp (11)
...
ipRouteTable (21)
ipRouteEntry (1)
ipRoutedest (1)
ipRouteMetric1 (3)
8.6.7.4
22.6.8.0
3.67.8.9
5
2
6
ipRouteNextHop(7)
80.3.76.5
80.3.76.5
73.7.8.4
-45-
Anne 95/96
Get-Next
Station
d'administration
Agent
GetNextRequest-PDU
GetResponse-PDU
GetNextRequest-PDU
GetNextRequest-PDU::=
[1] IMPLICIT SEQUENCE {
request-id
RequestId,
error-status ErrorStatus,
error-index ErrorIndex,
Variable_Bindings VarBindList
}
- Rception d'un GetNextRequest-PDU
- Si, pour un objet de la varBindList, le nom ne prcde pas
(lexicographiquement) le nom d'un objet accessible par un get,
alors un GetResponse-PDU est renvoy avec le mme contenu et : ErrorStatus <-NoSuchName et ErrorIndex<-- pointe sur la variable non ok dans la demande
- Si GetResponse-PDU > limitation locale alors envoi de GetResponse-PDU avec
: ErrorStatus <--too big et ErrorIndex<-- 0
- Si une des variables demandes ne peut pas tre obtenue alors envoi de
GetResponse-PDU avec : ErrorStatus <--generr et ErrorIndex<-- variable en
erreur
- Si tout est OK, envoi d'un GetResponse-PDU o les variables sont associes
des valeurs
L.Duchien
-46-
Anne 95/96
Suite de l'exemple
On consulte la table de routage par la commande GetNextRequest:
GetNextRequest (ipRoutedest, ipRouteMetric1,ipRouteNextHop)
On obtient alors la rponse suivante :
GetResponse ( ( ipRoutedest.22.6.8.0="22.6.8.0" ),
(ipRouteMetric1.22.6.8.0="2")
(ipRouteNextHop 22.6.8.0="80.3.76.5"))
On continue la consultation de la table par :
GetNextRequest (ipRoutedest.22.6.8.0,
ipRouteNextHop.22.6.8.0 )
ipRouteMetric1.22.6.8.0,
ipRouteMetric1.3.67.8.9,
L.Duchien
-47-
Anne 95/96
Set
Station
d'administration
Agent
SetRequest-PDU
GetResponse-PDU
SetRequest-PDU ::=
[3] IMPLICIT SEQUENCE {
request-id
RequestId,
error-status ErrorStatus, -- 0
error-index ErrorIndex, -- 0
variable_bindings VarBindList
}
- rception d'un message SetRequest-PDU
- Si, pour chaque objet du champ Variable-Bindings, l'objet n'est pas accessible
pour l'opration demande alors la PDU GetResponse-PDU (de forme identique)
est envoye avec
ErrorStatus<--NoSuchName et ErrorIndex <-- pointeur sur la variable en erreur
- Si, pour chaque objet de la VarBindList, la valeur ne correspond pas au type
attendu (longueur, valeur,..) alors la PDU GetResponse-PDU (de forme
identique) est envoye avec
ErrorStatus<--BadValue et ErrorIndex <-- variable en erreur
- Si GetResponse-PDU > limitation locale alors envoi de GetResponse-PDU avec
ErrorStatus<--toobig et ErrorIndex <-0
- Si une des variables de la VarBindList ne peut pas tre mise jour alors
GetResponse-PDU est envoye avec ErrorStatus<--generr et ErrorIndex <-veriable en erreur
- Si tout est OK, les variables cites dans la VarBindList sont mises jour et un
GetResponse-PDU est envoy (avec un contenu identique) avec : Error_status<-0 et ErrorIndex<--0
L.Duchien
-48-
Anne 95/96
Trap
Station
d'administration
Agent
Trap-PDU
Trap-PDU
Trap-PDU::=
[4] IMPLICIT SEQUENCE {
enterprise Object Identifier,
agent-addr NetworkAddress, -addr gnrateur trap
generic-trap
INTEGER {
coldstart (0),
warmstart (1),
linkdown (2),
linkup(3),
authentificationfailure(4),
egpneigborloss(5),
enterprisespecific(6)
}
specific-trap
INTEGER,
time-stamp
TimeTicks
-- temps depuis reboot
variable-bindings
VarBindList
}
L.Duchien
-49-
Anne 95/96
L.Duchien
-50-
Anne 95/96
Conclusion provisoire
- modlisation par groupe d'objets ou variables
- scrutation des agents
- mode non connect
- 5 oprations : GetRequest, GetNextRequest, GetResponse,
SetRequest, Trap
- Oprations atomiques
Avantages :
- simple
Faiblesses :
- interrogation priodique : polling --> limite le nombre
d'agents pouvant tre superviss
- pas d'initiatives des agents sauf exceptions
- mode non connect : scurit des messages mal assure
- comptabilit entre MIB propritaires
- pas ou peu de scurit : nom de communaut
L.Duchien
-51-
Anne 95/96
4. SNMP v2
Historique de SNMPv2
SGMP
SNMP
RMON MIB
Secure SNMP
SNMPv2
Workin Group
SNMPv2
Working Group
SNMPv2
SGMP : Simple Gateway-Monitoring Protocol
RMON : Remote Network Monitoring
CMOT : CMIP au dessus de TCP/IP
Ce qui change par rapport SNMP :
- SNMPv2 est capable de grer de manire distribue un
rseau: oprations entre stations d'administration
- scurit renforce
- nouvelles oprations
L.Duchien
-52-
Anne 95/96
L.Duchien
-53-
Anne 95/96
2. Les tables
Les droits de cration, de destruction et d'accs :
- Les tables protges :
Elles ne peuvent tre ni cres ni dtruites par une station de
gestion. Ces tables sont contrles par l'agent.
Le maximum d'un type d'accs allou pour cette table et
Read-write.
Ces tables sont pratiques lorsqu'elles correspondent un
nombre fixe d'attributs comme le nombre d'interfaces physiques
par exemple.
- Les tables non protges :
Certaines tables peuvent tre cres ou dtruites. Elles
peuvent tre initialises avec un nombre de rangs gal 0.
snmpORTable OBJECT_TYPE
SYNTAX
SEQUENCE OF SnmpOREntry
MAX_ACCESS not-accessible
STATUS
current
DESCRIPTION
"the conceptual table listing the dynamically-configurable objet
resources in a SNMPv2 entity acting in an agent role. SNMPv2 entities which do not
support dynamically-configurable objetc resources will never have any instances of
the columnar objetc in this table"
::= {snmpOR 2}
snmpOREntry OBJECT-TYPE
SYNTAX SnmpOREntry
MAX-ACCESS not-accessible
STATUS
current
DESCRIPTION
"An entry (conceptual row) in the snmpORTable"
INDEX
{snmpORIndex}
::= {snmpORTable 1}
L.Duchien
-54-
Anne 95/96
L.Duchien
-55-
Anne 95/96
L.Duchien
-56-
Anne 95/96
Rtt
3
Status
active
-57-
Anne 95/96
Le protocole
Quelques modifications :
Partie variable
PDU Type
Request-id
error_status
Response PDU
PDU Type
Request-id
GetBulkRequest
L.Duchien
-58-
Anne 95/96
GetBulkRequest :
But : minimiser le nombre d'change travers le rseau
Permet une station d'administration de solliciter de la part
d'un agent une rponse contenant le maximum d'information
pouvant tre contenu dans un message (limitation par la taille
du message)
Possibilit de spcifier des successeurs multiples
lexicographiques.
Fonctionnement :
GetBulkRequest inclut une liste de (N+R) variables dans le
champ "partie variable".
Pour les N noms, la rcupration est faite comme dans
GetNextRequest
Pour chaque variable de la liste, la variable suivante dans
l'ordre lexicographique ainsi que sa valeur sont retournes.
Si il n'y a pas de suivant lexicographique, la variable nomme
et la valeur "endOfMibView sont retournes.
les champs "non-repeaters" et "max-repetition" indiquent le
nombre de variables contenu dans la liste "partie variable" et le
nombre de successeurs dans tre retournes pour les variables
restantes.
L.Duchien
-59-
Anne 95/96
Soient
L: nombre de variables dans partie variable
N : nombre de variables dans partie variable avec
demande(variable)=un seul successeur
R : nombre de variables, succdant les N premires variables
pour lesquelles de multiples successeurs lexicographiques sont
demandes
M : nombre de successeurs lexicographiques sollicits pour
chacune des dernires R variables
N=MAX(MIN(non-repeaters,L),0)
M=MAX(max_repeatetions,0)
R=L-N
Si N> 0 , alors les N premires variables son traites comme
pour un GetNextRequest
Si R>0 et M>0 alors pour chacun des R dernires variables, ces
M successeurs lexicographiques sont renseignes.
Pour chaque variable, cela signifie :
- obtenir la valeur du successeur lexicographique de la variable
considre
- obtenir la valeur du successeur lexicographique de l'instance
objet obtenu l'tape prcdente
- ainsi de suite, jusqu' ce que M instances objets soient
extraites
L.Duchien
-60-
Anne 95/96
Exemple
Nom 1
Nom 2
.
.
.
Nom N
Nom N+1
.
.
.
Nom N+R
.
.
Nom N+1
.
.
.
.
Nom N+R.
1er successeur
lexicographique
2er successeur
lexicographique
Mer successeur
lexicographique
-61-
Anne 95/96
L.Duchien
-62-
Anne 95/96
La MIB
2 nouvelles MIB sont dfinies :
- SNMPv2 Management Information Base
- Manager-To-Manager
SNMPv2 Management Information Base : permet de
dcrire le comportement des agents SNMP du rseau. compos
de 5 groupes :
1. SNMPv2 Statistics group : contient des informations
relatives au protocole SNMPv2 comme le nombre total de
paquets reus au niveau transport, le nombre de paquets mal
cods, le nombre de requtes PDU GetRequest,
GetNextRequest,....
2. SNMPv1 Statistics group : informations relatives au
protocole SNMPv1 . Par exemple, le nombre de messages
ayant un mauvais nom de communaut, nombre de message
demandant une opration non autorise,...
3. Object resource group : utilis par l'agent SNMPv2 pour
dcrire les objets susceptibles d'tre configurs par une station
d'administration. on y trouve le nom de l'objet, sa
description,...
4. Traps group : gre les "traps" gnrs par un agent
5. Set group : se compose d'un seul objet qui permet de
rsoudre 2 problmes : la srialisation des oprations de type
Set mises par une station de gestion et la gestion de la
concurrence d'accs par de multiples stations de gestion
L.Duchien
-63-
Anne 95/96
Manager-To-Manager MIB
- Alarm group : permet de spcifier les paramtres de
configuration des alarmes : intervalles entre les alarmes,
instances ou objet ayant provoqu l'alarme,...
- Event group : permet de renseigner une station de gestion sur
un ensemble d'vnements choisis, sur l'instant o ils se
produisent,...
L.Duchien
-64-
Anne 95/96
L.Duchien
-65-
Anne 95/96
Le protocole :
SNMPv2 gre des PDU supplmentaires
On prvoit l'utilisation d'un agent proxy qui assure la traduction
des PDU entre les 2 versions.
Environnement SNMPv2
Environnement SNMPv1
GetRequest
GetRequest
GetNextRequest
GetNextRequest
SetRequest
SetRequest
GetBulkRequest
GetNextRequest
Administrateur
SNMPv2
Agent SNMPv2
et
Proxy
Agent
SNMPv1
Response
GetResponse
SNMPv2Trap
Trap
L.Duchien
-66-
Anne 95/96
Administration
SNMPv2
InformRequest
GetRequest, GetNextRequet,
SetRequest
Administration
Agent
bilingue
SNMP
GetRequest, GetNextRequest, SetRequest
GetBulkRequest
GetResponse, Trap
InformRequest
Agent
SNMPv2
L.Duchien
-67-
Anne 95/96
L.Duchien
-68-
Anne 95/96
Le Contexte :
se dfinit comme tant l'ensemble des ressources accessibles
(objets) par une entit SNMPv2
Il existe deux types de contexte :
local :
Le gestionnaire accde directement aux informations
dans l'agent
Le gestionnaire envoie une opration de gestion qui
contient :
- un groupe source (srcParty) (le gestionnaire)
- un groupe destination (dstParty) (agent)
- un contexte
- PDU (Get, Set,...)
l'agent consulte l'entit ACL (Access Control List) et
dtermine si les oprations sont permises.
distant :
L'agent intervient comme mdiateur entre une station
d'administration et une entit distante.
L'agent agit comme un proxy qui gre les droits d'accs.
L.Duchien
-69-
Anne 95/96
L.Duchien
-70-
Anne 95/96
L.Duchien
-71-
Anne 95/96
Exemples d'agents
configuration d'un agent non scuris
Identity
Domain
Address
Auth Prot
Auth Priv Key
Auth Pub Key
Auth clock
Auth lifetime
PrivProt
PrivPrivKey
PrivPubKey
gracie
george
(agent)
(manager)
snmpUDPDomainsnmpUDPDomain
1.2.3.4, 161
1.2.3.5, 2001
noAuth
noAuth
""
""
""
""
0
0
0
0
noPriv
noPriv
""
""
""
""
Subject
george
gracie
Context
local
local
Privileges
35 (Get,GetNext &GetBulk)
132(Response et SNMPv2-Trap)
ollie
stan
(agent)
(manager)
snmpUDPDomainsnmpUDPDomain
1.2.3.4, 161
1.2.3.5, 2001
v2md5AuthProtocol
v2md5AuthProtocol
"0123456789AZ" "GHIJKLM45"
""
""
0
0
300
300
desPrivProtocol
desPrivProtocol
"MNOPIU89"
"BNJIUY78"
""
""
Subject
stan
Context
local
Privileges
35 (Get,GetNext &GetBulk)
-72-
stan
L.Duchien
ollie local
Anne 95/96
132(Response et SNMPv2-Trap)
-73-
Anne 95/96
-74-
Anne 95/96
Groupe A
Groupe B
partAuthClock.a partAuthClock.b
partAuthClock.a partAuthClock.b
authDstTimestamp:=partAuthClock.b
authSrcTimestamp:=partAuthClock.a
message(authDstTimestamp,
authSrcTimestamp)
if
authSrcTimestamp+partyAuthLifetime.a
<partyAuthClock.a
then <rejeter car pas authentifier>
if authDstTimestamp>partyAuthClock.b
then
partyAuthClock.b:=authDstTimeStamp
if authSrcTimestamp>partyAuthClock.a
then
partyAuthClock.a:=authSrcTimeStamp
L.Duchien
-75-
Anne 95/96
5. Conclusion
- Snmpv2 : plus efficace, plus scuris que SNMP
mais pas encore de migrations compltes
de tous les sites
- Approche OSI marginale, non cause des concepts, mais
du fait des investissements dj raliss par les administrateurs
sur SNMP
-> recherche d'un protocole compatible avec la V1 de SNMP
- Quelques inconnues :
- le devenir du modle OSI (CMISE/CMIP)
- la forte volution des rseaux et l'mergence de
nouveaux protocoles
- problmes lgislatifs concernant le cryptage
- 2 phnomnes qui devraient aussi influencer
l'administration de rseau:
- la technologie oriente objet
- la notion d'agent intelligent (sachant prendre des
dcisions sans en rfrer la station de gestion)
L.Duchien
-76-
Anne 95/96
6. Bibliographie
Les divers RFC sur SNMP accessibles sur le serveur web de l'Urec ou Pasteur
(www.urec.fr, www.pasteur.fr)
SNMPv1 : RFCs 1089,1140, 1147, 1155, 1156, 1157, 1158, 1161, 1212, 1213,
1215, 1298
SNMPv2 : RFCs 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450,
1451, 1452
Les Bouquins :
The Simple Book : An Introduction to management of TCP/IP-based Internets
by Marshall Rose, Prentice Hall, 2nd edition, 1994
SNMP, SNMPv2, CMIP, The pratical Guide to Network-Management Standards,
William Stallings, Addison Wesley, 1995
Rapport de valeur C 94-95 "SNMP", O. Porte, M. Izadpahan
Mmoire d'ingnieur "Mise en oeuvre du protocole SNMP pour un outil de gestion
htrogne", G. Ndjeudji, 1992
Les sites qui offrent des logiciels SNMP :
lancaster.andrew.cmu.edu:/pub/snmp-dist/*
snmp2.1.2.tar
CMU SNMPv2 source library agent, mid-level agent, net management
routines)
ftp.ics.uci.edu:mrose/isode-snmpv2/isode-snmpv2.tar.Z
4BSD/ISODE 8.0 SNMPv2 package
dnpap.et.tudelft.nl:/pub/btng
contient RMON agent pour OS/2, SUN OS 4.1.x &Ultrix
Tricklet (perl based SNMP tool pour Unix ou OS/2)
.....
L.Duchien
-77-