Vous êtes sur la page 1sur 77

Complment Rseaux de Transport et Applications

Anne 95/96

Thme n5 : L'Administration des Rseaux

L'administration de l'Internet: SNMP


(Simple Network Management Protocol)

UV B : Complment Rseaux de Transport et Applications Anne 95/96 Laurence Duchien CNAM-Cedric, 292, rue st Martin 75141 Paris Cedex 03 tel : 40 27 25 83 e_mail : duchien@cnam.fr http://tulipe.cnam.fr/personne/duchien/poly.html

L.Duchien

-1-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications Anne 95/96 L'identification d'instance ...................................................................................................3 3 L'accs direct dans une table ..........................................................................................3 4 L'ordre lexicographique ..........................................................................................3 6 La spcification du protocole ...................................................................................................3 8 Echange sur le rseau au niveau du service ..........................................................................................4 1 Exemple ..........................................................................................4 2 Suite de l'exemple ..........................................................................................4 4 Conclusion provisoire ...................................................................................................4 8 4. SNMP v2 ...........................................................................................................4 9 SMI : Structure de l'information d'administration ...................................................................................................5 0 1. Dfinition des objets ..........................................................................................5 0 2. Les tables ..........................................................................................5 1 Cration et destruction d'un rang dans un tableau ..........................................................................................5 2 Cration et destruction d'un rang dans un tableau ..........................................................................................5 3 Exemple de cration de ligne d'une table ..........................................................................................5 4 Le protocole ...................................................................................................5 5 Possibilit de station d'administration station d'administration ..........................................................................................5 9 La MIB ...................................................................................................6 0 La compatibilit entre SNMP et SNMPv2 ...................................................................................................6 2 L.Duchien -3L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications Anne 95/96 La scurit dans SNMP 2 ...................................................................................................6 5 Format des messages scuriss ..........................................................................................6 7 mission d'une requte scurise ..........................................................................................6 8 Exemples d'agents ..........................................................................................6 9 Algorithme de synchronisation des horloges ..........................................................................................7 0 Algorithme de synchronisation des horloges(2) ..........................................................................................7 1 5. Conclusion ...........................................................................................................7 2 6. Bibliographie ...........................................................................................................7 3

L.Duchien

-4-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Introduction
Le rseau est devenu une ressource indispensable (voir vitale) au bon fonctionnement d'une organisation, une entreprise, ...

L'administration du rseau met en oeuvre un ensemble de moyens pour : - offrir aux utilisateurs un service de qualit, - permettre l'volution du systme en incluant des nouvelles fonctionnalits - optimiser les performances des services pour les utilisateurs - permettre une utilisation maximale des ressources pour un cot minimal.

L.Duchien

-5-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Administration= partie oprationnelle d'un rseau

Les fonctions d'administration doivent permettre - l'extraction des informations des lments du rseau au moyen d'outils => rcolte un grand nombre d'information, - la rduction du volume d'information au moyen de filtres => slection d'information significatives, - le stockage des informations retenues dans une base de donnes d'administration, - des traitements sur ces informations, - offrir des interfaces (utilisateur d'administration administration, oprateur rseau).

L.Duchien

-6-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Les attendus d'une administration de rseau


Les cinq domaines fonctionnels de l'administration tel que dfinis dans l'OSI: - La gestion des pannes : permet la dtection, la localisation, la rparation de pannes et le retour une situation normale dans l'environnement. - La comptabilit : permet de connatre les charges des objets grs, les cots de communication, ... Cette valuation est tablie en fonction du volume et de la dure de la transmission. Ces relevs s'effectuent deux niveaux : Rseau et Application. - La gestion des configurations : permet d'identifier, de paramtrer les diffrents objets. Les procdures requises pour grer une configuration sont la collecte d'information, le contrle de l'tat du systme, la sauvegarde de l'tat dans un historique - L'audit des performances : permet d'valuer les performances des ressources du systme et leur efficacit. Les performances d'un rseau sont values partir de quatre paramtres : le temps de rponse, le dbit, le taux d'erreur par bit et la disponibilit. - La gestion de la scurit : une des fonctions de gestion concerne le contrle et la distribution des informations utilises pour la scurit. Un sous-ensemble de la MIB concerne les informations de scurit (SMIB). Il renferme le cryptage et la liste des droits d'accs.

L.Duchien

-8-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

L'organisation d'une administration


Qui a besoin d'administration et pour quoi faire ? Il existe diffrents types de dcision d'administration : - dcisions oprationnelles : dcision court terme, concernant l'administration au jour le jour et oprations temps rel sur le systme - dcisions tactiques : dcision moyen terme concernant l'volution du rseau et l'application des politiques de long terme - dcisions stratgiques : dcision de long terme concernant les stratgies pour le futur en exprimant les nouveaux besoins et dsirs des utilisateurs. Ces niveaux dterminent diffrents niveaux d'administration: - le contrle oprationnel rseau pour les dcisions oprationnelles - la gestion rseau pour les dcision tactiques - l'analyse de rseau pour les dcision tactiques et stratgiques - la planification pour les dcisions stratgiques

L.Duchien

-9-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Les systmes de gestion de rseau


Un systme de gestion rseau est une collection d'outils pour contrler et grer le rseau qui comprend: - une interface pour oprateur avec un ensemble de commandes pour excuter la plupart des tches d'administration de rseaux. - un minimum d'quipements supplmentaire intgr au systme existant. La configuration d'un environnement de rseau gr
moniteur de contrle hte de contrle de rseau Frontal (agent) NME NME APPL. Comm Comm OS OS OS Comm NME Hte (agent) APPL.

NMA

Rseau NME : Entit de gestion rseau NMA : Application de gestion rseau Appl : Application OS : Operating System Comm : Logiciel de communication cluster (agent) NME Comm NME APPL. Comm OS Hte (agent) OS

L.Duchien

-10-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

L'architecture d'un logiciel d'administration de rseau


L'architecture de l'application dans un gestionnaire ou dans un agent va varier en fonction des fonctionnalits de la plate-forme.
Une vue gnrique d'une plate-forme divis en trois grandes catgories : - le logiciel utilisateur - le logiciel de gestion rseau - le logiciel de communication et de support des donnes
Interface utilisateur

Prsentation des informations de gestion rseau aux utilisateurs

Application de gestion rseau

Application de gestion rseau

Element d'Application

Element d'Application

.......

Element d'Application

Service de transport de donnes de gestion de rseau

Module d'accs la MIB

Pile de protocole de communication

MIB

Rseau gr

L.Duchien

-11-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

La gestion distribue d'un rseau

Clients grs (PC, stations,...)

Rseau

Serveur d'administration Application d'administratio n MIB

Serveur d'administration Application d'administratio n MIB

Rseau

administrateur d'lment

Ressources Rseau (serveurs, routeurs, hotes) avec des agents d'administration L.Duchien -12L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

1. Les concepts de SNMP


- Protocole d'administration de machine supportant TCP/IP - Conu en 87-88 par des administrateurs de rseau - Rponse un appel d'offre de l'OSF selon le modle DCE - RMON MIB1-91, Secure SNMP-92, SNMPv2 - 93. - Permet de rpondre un grand nombre de besoins : - disposer d'une cartographie du rseau - fournir un inventaire prcis de chaque machine - mesurer la consommation d'une application - signaler les dysfonctionnements Avantages : - protocole trs simple, facile d'utilisation - permet une gestion distance des diffrentes machines - le modle fonctionnel pour la surveillance et pour la gestion est extensible - indpendant de l'architecture des machines administres

L.Duchien

-13-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Le Modle (2)

Station de gestion SNMP

Agent SNMP Ressources gres

Application de gestion

L'application gre des objets

Objet gr par SNMP

GetNextRequest SetRequest GetResponse Trap

Messages SNMP Gestionnaire SNMP TCP IP protocoles dpendant du rseau

Agent SNMP TCP IP protocoles dpendant du rseau

Rseau ou Internet

Architecture de SNMP

L.Duchien

-15-

L'Administration de l'Internet : SNMP

GetNextRequest SetRequest GetResponse Trap

GetRequest

GetRequest

Complment Rseaux de Transport et Applications

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 Fonction de mise en correspondance Processus de l'agent priphrique mandat Processus d'administration

SNMP

SNMP

UDP

UDP

architecture de protocole utilise par un priphrique mandat

architecture de protocole utilise par un priphrique mandat

IP protocoles dpendant du rseau

IP protocoles dpendantprotocoles dpendant du rseau du rseau protocoles dpendant du rseau

Rseau

Rseau

L.Duchien

-16-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

2. La MIB (Management Information Base)


=> Modle de donnes associ SNMP: . SMI (Structure of Management information) - mta modle . MIB = liste des variables reconnues par les agents => Base de donnes contenant les informations sur les lments du rseau grer => 1 ressource grer = 1 objet MIB = Collection structure d'objets chaque noeud dans le systme doit maintenir une MIB qui reflte l'tat des ressources gres une entit d'administration peut accder aux ressources du noeud en lisant les valeurs de l'objet et en les modifiant. => 2 objectifs Un schma commun : SMI (Structure of Management Information) Une dfinition commune des objets et de leur structure

L.Duchien

-17-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

SMI (Structure of de spcification des informations d'administration)


=> donne les rgles de dfinition, d'accs et d'ajout des objets dans la MIB (mta-modle) Objectif : encourager la simplicit et l'extension de la MIB rendre un objet accessible de la mme manire sur chaque entit du rseau possder une reprsentation identique des objets La MIB contient des lments simples (scalaire et tableaux deux dimensions de scalaires) SNMP ne permet que des interrogations de scalaires

OSI permet des structures et des modes de recherche complexes

L.Duchien

-18-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

La spcification de l'arbre des MIB accessibles.


Root

CCITT(0)

ISO(1)

Joint ISO-CCITT(2)

Org(3) dod(6)

Internet(1) directory(1) mgmt(2) experimental(3) private(4)

MIB(1)

Enterprise(1)

On utilise la syntaxe ASN.1 pour dcrire les donnes. Chaque objet est reprsent par un "object identifier"
Exemple : Internet Object Identifier ::= {ISO org(3) dod(6) 1} soit en notation pointe 1.3.6.1 pour le noeud Internet. Exemple : directory
L.Duchien

Object Identifier ::= {internet 1}


-19L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

mgmtObject Identifier ::= {internet 2}

L.Duchien

-20-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Les objets dcrits utilisent la macro suivante :


OBJECT-TYPE MACRO ::= BEGIN TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax) "ACCESS" Access "STATUS" Status VALUE NOTATION ::= value (VALUE ObjectName) Access ::= "read-only" |"read-write" |"write-only" |"not-accessible" Status ::= "mandatory" |"optional" |"obsolete" |"deprecated" END

Exemple d'objets dfini par le SMI du RFC1155


OBJECT -----------atIndex {atEntry 1} Syntax : INTEGER Definition : The interface number for the physical address Access : read-write Status : mandatory OBJECT -----------atPhysAddress {atEntry 2} Syntax : OCTET STRING Definition : The media-dependant physical address Access : read-write Status : mandatory

L.Duchien

-22-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 -23L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Mise jour de la structure


- le nom de la MIB concerne ne change pas mais son no de version volue (exemple mgmt version-number) - les anciens objets sont dclars comme obsoltes s'il y a besoin mais sont prservs - augmentation de la dfinition d'un objet en ajoutant de nouveaux objets dans la structure - ou cration complte d'un objet => volution : pas de modification des objets existants dans les nouvelles versions

L.Duchien

-24-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

system : correspond au nom de l'agent, no de version, type de la machine, nom du systme d'exploitation, type de logiciel rseau en ASCII imprimable

system (mib-2 1)

sysDescr (1)

sysObjectID(2)

sysUpTime(3)

syContact(4)

sysName(5)

sysLocation(6)

sysServices(7)

exemple d'interrogation : Accs des variables d'administration sur une passerelle appletalk-internet % echo "internet[]" | snmp-table verne.cnam.fr |more sysDescr[0]="Beholder running on Ultrix" sysObjectID[0]=1.3.6.1.4.1.464.1 sysUpTime[0]=449144 sysContact[0]="Stephane Bortzmeyer" sysName[0]="verne.cnam.fr" sysLocation[0]="My office" sysServices[0]=127
L.Duchien -26L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

interface : interfaces rseau d'une machine (nombre d'interface, type des interfaces et nom du fabricant, vitesse des interfaces, nombre de paquets entrants, sortants, en erreur,...)
interface (mib-2 2)

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) ........

at : conserv pour des raisons de compatibilit avec MIB-I. gre une table de translation entre des adresses rseau de niveau logique (IP) et adresses spcifiques ( Ethernet). quivalent la table ARP.
L.Duchien -27L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

ip : paramtres (dure de vie par dfaut des paquets IP, nb de paquets reus ou envoys, nb de paquets rassembls avec succs ainsi que le nb de fragments cres, la table de routage si elle existe, le masque sous-rseau, l'adresse physique, etc. (la partie de la MIB la plus importante)
ip (mib-2 4)

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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}

qui permet d'identifier le type de media utilis pour la transmission. - snmp : requis pour chaque entit mettant en oeuvre le protocole SNMP. contient le nombre de message SNMP entrants et sortants, le nombre de mauvaises versions reues ou de nom de communaut invalide, la rpartition du type de requtes reues et envoyes (get, get_next, set et trap)

L.Duchien

-29-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 Les oprations de SNMP :

SNMP PDU

- get : une station d'administration lit la valeur d'un compteur, d'une variable d'un agent gr - set : mise jour d'une variable sur un agent - trap : un agent envoie une valeur d'une variable de manire implicite vers la station d'administration.

L.Duchien

-30-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Communauts et Nom de communauts


Agent Station d'administration Agent MIB MIB

Agent Station d'administration Agent

MIB MIB

Agent

MIB

Le contrle d'accs par les diffrentes stations d'administration la MIB de chaque agent comporte trois aspects : - un service d'authentification : un agent peut souhaiter limiter les accs la MIB aux stations d'administrations autorises - une politique d'accs : un agent peut donner des privilges diffrents aux diffrentes stations d'administration - un service de mandataire (proxy) : un agent peut agir comme un proxy pour d'autres stations gres => Concerne la scurit => d'o la cration de communaut SNMP

L.Duchien

-32-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 -34L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Les concepts d'administration

Agent SNMP

Ensemble de gestionnaires SNMP

Vue de la MIB SNMP

mode d'accs SNMP

Communaut SNMP nom de communaut

Profil de communaut SNMP

Politique d'accs SNMP

L.Duchien

-35-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

L'accs direct dans une table


Dfinition de table Une table a la syntaxe suivante : SEQUENCE OF <entry> Un rang a la syntaxe suivante : SEQUENCE {<type1>,...<typeN>} les types dfinissent chaque colonne d'objet et chaque type a la forme suivante: <descriptor><syntax> <descriptor> : nom de la colonne <syntax> : valeur de la syntaxe Chaque colonne d'objet est dfinie de la manire habituelle avec une macro OBJECT-TYPE. Chaque lment a un identificateur unique
tcpConnLocal tcpConnLocal tcpConnRemA tcpConnRemP Address Port ddress ort (1.3.6.1.2.1.6 (1.3.6.1.2.1.6 (1.3.6.1.2.1.6 (1.3.6.1.2.1.6 (1.3.6.1.2.1.6 .13.1.1) .13.1.2) .13.1.3) .13.1.4) .13.1.5) 5 10.0.0.99 12 9.1.2.3 15 2 3 0.0.0.0 10.0.0.99 INDEX 99 14 INDEX 0 89.1.1.42 INDEX 0 84 INDEX tcpConnState

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)

Exemple d'instance d'une table de connexion TCP Les trois instances de tcpConnState ont le mme identificateur : 1.3.6.1.2.1.6.13.1.1
L.Duchien -37L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 tcpConnLocal tcpConnLocalP tcpConnRemA tcpConnRemPo Address ort ddress rt (1.3.6.1.2.1.6. (1.3.6.1.2.1.6. (1.3.6.1.2.1.6. (1.3.6.1.2.1.6. (1.3.6.1.2.1.6. 13.1.1) 13.1.2) 13.1.3) 13.1.4) 13.1.5) x.1.10.0.0.99.1 x.2.10.0.0.99.1 x.3.10.0.0.99.1 x.4.10.0.0.99.1 x.5.10.0.0.99.1 2.9.1.2.3.15 2.9.1.2.3.15 2.9.1.2.3.15 2.9.1.2.3.15 2.9.1.2.3.15 x.1.0.0.0.0.99. x.2.0.0.0.0.99. x.3.0.0.0.0.99. x.4.0.0.0.0.99. x.5.0.0.0.0.99. 0.0 0.0 0.0 0.0 0.0 x.1.10.0.0.99.1 x.2.10.0.0.99.1 x.3.10.0.0.99.1 x.4.10.0.0.99.1 x.5.10.0.0.99.1 4.89.1.1.42.84 4.89.1.1.42.84 4.89.1.1.42.84 4.89.1.1.42.84 4.89.1.1.42.84 Identificateurs d'instance pour les objets de la table prcdente

x=1.3.6.1.2.1.6.13.1 = identificateur de l'objet tcpConnEntry qui est


l'identificateur de tcpConnTable i = le dernier sous-identificateur de la colonne (sa position dans la table) (name) = valeur du nom de l'objet Toutes les identificateurs d'instances de tcpConnTable ont la forme : x.i.(tcpConnLocalAddress).(tcpConnLocalPort).(tcpConnRemAddress).(tcpConnRe mAddress)

L.Duchien

-38-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

exemple :
ipRouteTable 1.3.6.1.2.1.4.21

ipRouteEntry 1.3.6.1.2.1.4.21.1=x

ipRouteDest x.1 ipRouteDest.9.1.2.3 x.1.9.1.2.3 ipRouteDest.10.0.0.51 x.1.10.0.0.51 ipRouteDest.10.0.0.99 x.1.10.0.0.99 Object ipRouteTable ipRouteEntry ipRouteDest ipRouteDest.9.1.2.3 ipRouteDest.10.0.0.51 ipRouteDest.10.0.0.99

ipRouteMetric1 x.3 ipMetric1.9.1.2.3 x.3.9.1.2.3 ipMetric1.10.0.0.51 x.3.10.0.0.51 ipMetric1.10.0.0.99 x.3.10.0.0.99 Identificateur d'objet

ipRouteNextHop x.7

ipRouteNextHop.9.1.2.3 x.7.9.1.2.3 ipRouteNextHop.10.0.0.51 x.7.10.0.0.51 ipRouteNextHop.10.0.0.99 x.7.10.0.0.99

prochaine instance d'objet dans l'ordre lexicographique 1.3.6.1.2.1.4.21 1.3.6.1.2.1.4.21.1.1.9.1.2. 3 1.3.6.1.2.1.4.21.1 1.3.6.1.2.1.4.21.1.1.9.1.2. 3 1.3.6.1.2.1.4.21.1.1 1.3.6.1.2.1.4.21.1.1.9.1.2. 3 1.3.6.1.2.1.4.21.1.1.9.1.2. 1.3.6.1.2.1.4.21.1.1.10.0.0 3 .51 1.3.6.1.2.1.4.21.1.1.10.0.0 1.3.6.1.2.1.4.21.1.1.10.0.0 .51 .99 1.3.6.1.2.1.4.21.1.1.10.0.0 1.3.6.1.2.1.4.21.1.3.9.1.2. .99 3

L.Duchien

-40-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

La spcification du protocole
Les formats SNMP :
version communaut 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 la partie variable nomn valeurn SNMP PDU

L.Duchien

-41-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

mission d'un message : - construction de la PDU via ASN.1, - ajout d'un nom de communaut, adresse source, adresse destination, numro de version, - envoi de datagramme contenant l'objet ASN.1 spcifi Rception d'un message : - rception du message - analyse du message - message ASN.1 correct ?=> non => fin - version OK ? => non => fin - Examen de la communaut et des donnes contenues dans le message - OK ? oui : - examen de la PDU reue (analyse syntaxique) - OK ? oui : - construction d'une nouvelle PDU correspondant la requte reue. - construction du message et envoi non : Signale l'erreur d'authentification Archive l'erreur et trap ventuel

L.Duchien

-42-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications Anne 95/96 RFC1157-SNMP DEFINITIONS ::= BEGIN IMPORTS ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks FROM RFC1155-SMI; Message ::= SEQUENCE { version INTEGER {version-1 (0)},-- Version 1 for this RFC community OCTET STRING, -- Community name data ANY -- e.g. PDUs } -- Protocol data units PDUs ::= CHOICE { get-request GetRequest-PDU, get-next-request GetNextRequest-PDU, get-response GetResponse-PDU, set-request SetRequest-PDU, trap Trap-PDU } GetRequest-PDU ::= [0] IMPLICIT PDU GetNextRequest-PDU::=[1] IMPLICIT PDU GetResponse-PDU ::= [2] IMPLICIT PDU SetRequest-PDU ::= [3] IMPLICIT PDU PDU ::= SEQUENCE { request-id INTEGER, -- Request identifier error-status INTEGER { -- Sometimes ignored noError (0), toobig (1), noSuchName (2), badValue (3), readOnly (4), genError (5)}, error-index INTEGER, -- Sometimes ignored variable-binding VarBindList }-- Values are sometimes ignored Trap-PDU ::= [4] IMPLICIT SEQUENCE { enterprise OBJECT IDENTIFIER,--Type of object generating trap agent-addr NetworkAddress-- Only one type of network adresses -- IP adress of object generating trap generic-trap INTEGER {-- Generic trap type coldStart (0), warmStart ( 1), linkDown ( 2), linkUp (3), authenticationFailure (4) egpNeighborLoss ( 5), enterpriseSpecific (6) }, specific-trap INTEGER, -- Specific code time-stamp TimeTicks, -- Elapse time since the last reinitialization of the entity variable-binding VarBindList -- "Interesting" information } -- Variable binding VarBind ::= SEQUENCE {name ObjectName, value ObjectSyntax} VarBindList ::= SEQUENCE OF VarBind END L.Duchien -43L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Echange sur le rseau au niveau du service


Get Station d'administration 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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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) ... snmp (11)

ipInDelivers (9) 22763

ipRouteTable (21) ipRouteEntry (1)

ipRoutedest (1) 8.6.7.4 22.6.8.0 3.67.8.9

ipRouteMetric1 (3) 5 2 6

ipRouteNextHop(7) 80.3.76.5 80.3.76.5 73.7.8.4

La dsignation absolue de l'objet ipInDelivers est: iso.org.dod.internet.mgmt.mib-2.ip.ipInDelivers soit 1.3.6.1.2.1.4.9. La valeur de la variable ipInDelivers est obtenue par la commande: GetRequest (1.3.6.1.2.1.4.9) qui produit la rponse GetResponse ((ipInDelivers = 22763))
L.Duchien -45L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 ) On obtient la rponse suivante : GetResponse ( ( ipRoutedest.3.67.8.9="3.67.8.9" ), (ipRouteMetric1.3.67.8.9="6") (ipRouteNextHop.3.67.8.9="73.7.8.9")) Enfin, par la dernire requte de la consultation de la table : GetNextRequest (ipRoutedest.3.67.8.9, ipRouteNextHop.3.67.8.9 ) on obtient la rponse suivante : GetResponse ( ( ipRoutedest.8.6.7.4=".8.6.7.4" ), (ipRouteMetric1..8.6.7.4="5") (ipRouteNextHop..8.6.7.4="80.3.76.5")) ipRouteMetric1.3.67.8.9, ipRouteMetric1.22.6.8.0,

L.Duchien

-47-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

=> valeurs utilises dans le "generic_trap" coldstart : l'agent envoyant le trap se rinitialise suite un incident (crash, erreur majeure, ...). Le redmarrage n'tait pas prvu warmstart : l'agent envoyant le trap se rinitialise suite une altration de ses donnes linkdown: signale l'erreur sur une voie de communication de l'agent. le premier lment de la VarBindList prcise l'interface en erreur linkup : signale qu'une voie de communication de l'agent est mise en service. Le premier lment de la VarBindList prcise l'interface active authentificationfailure : signale que l'agent a reu un message non authentifi egpneihborloss : le routeur voisin de l'agent qui communiquait avec lui via EGP vient d'tre stopp enterprisespecific: indique qu'un vnement spcifique vient de se produire. Le specific trap indique le numro de trap concern.

L.Duchien

-50-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 -52L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

SMI : Structure de l'information d'administration

1. Dfinition des objets

Quelques changements mineurs : - redfiniton de certains types Counter devient Counter32 ou Counter64 - La clause ACCESS devient MAX-ACCESS: - permet d'indiquer que c'est un niveau maximum d'accs - Quatre possibilits : pas d'accs, lecteur seule, lecturecriture, lecture-cration. - Introduction de nouveaux mots-cls (Unit)

- La clause STATUS n'inclut plus les catgories optionnel et obligatoire

L.Duchien

-53-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 -54L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Cration et destruction d'un rang dans un tableau


- La mthode createAndWait : - La station de gestion commence ordonner l'agent de crer un nouveau rand dans la table avec une instance d'identification ("index value") - Si l'agent accepte, il cre le rang et assigne des valeurs par dfaut aux objets du rang, - Si tous les objets de type read-write possdent des valeurs par dfaut, le rang est plac dans l'tat notInservice - si il existe des objet de type read-write qui n'ont pas des valeurs par dfaut, le rang est plac dans l'tat notready - Le gestionnaire envoie une requte de type "Get" pour dterminer l'tat de chaque objet dont le type d'accs est readcreate dans le rang. - L'agent envoie chaque valeur de chaque objet. Si l'objet ne possde pas de valeur, il envoie NoSuchInstance. - La station d'administration doit alors envoyer un SetRequest pour assigner des valeurs aux objets. Elle peut ensuite envoyer une requte de type "Set" pour activer les objets non actifs.

L.Duchien

-55-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Cration et destruction d'un rang dans un tableau


- La mthode createAndGo : Plus simple, mais plus restrictive car elle permet de travailler sur des tables dont les objets sont contenus dans une seule PDU. De plus la station d'administration ne connat pas les valeurs par dfaut attribues aux diffrentes colonnes.

La station d'administration envoie un Get-PDU pour dterminer les objets de type "read-create" possdant le type noSuchInstance. Elle envoie ensuite un Set-PDU pour crer un nouveau rang et assigner des valeurs aux objets ayant le type d'accs "readcreate" dans ce rang. Si le Set russit, l'agent active ces objets.

L.Duchien

-56-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Exemple de cration de ligne d'une table


La commande "ping" qui fournit un echo distant Les messages utiliss dans ICMP sont echo et echo_reply => La station d'administration peut mettre jour un rang pour dire l'agent de faire un ping sur un autre systme intervalle rgulier: L'agent possde initialement la table : Index IpAddress Delai Remanient Total Received 1 128.2.13.211000 0 10 9 Rtt 3 Status active

La station d'administration souhaite ajouter un nouveau rang en utilisant la mthode createAndWait. Elle dtermine que le prochain index est 2 et souhaite que le nouveau rang ait les valeurs suivantes : Index IpAddress Delai Remanient Total Received Rtt Status 1 128.2.13.991000 20 20 0 active Pour ajouter cette dernire entre, la station de gestion commence par envoyer une commande Set l'agent : SetRequest(pingStatus.2=createAndWait) En cas d'acceptation, l'agent rpond : Response(pingStatus.2,=notInService) La station de gestion envoie un Get pour lire le nouveau rang : GetRequest(pingIpAdress.2, pingDelay.2, ping.Remaining.2, pingStatus.2, pingSize.2) L'agent rpond : Response ((pingIpAdress.2=noSuchInstance), (pingDelay.2=1000), (ping.Remaining.2=5), (pingStatus.2=UnderModification), (pingSize.2=noSuchObject)) Certaines valeurs ont t affectes par dfaut. Il faut alors complter....par un SetRequest((pingIpAddress.2=128.2.13.99),....)
L.Duchien -57L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Le protocole
Quelques modifications :

PDU Type Request_id

Partie variable

GetRequest, GetNextRequest, SetRequest, Trap, InformRequet PDU

PDU Type

Request-id

error_status

error_index Partie Variable

Response PDU PDU Type Request-id non repeaters max repetitions partie variable

GetBulkRequest

L.Duchien

-58-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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

Ordonnancement des variables-bindings dans la rponse GetBulkrequest Soit la table suivante : Interface-NumberNetwork-Address Physical-Address Type 1 10.0.0.51 00.00.10.01.23.45static 1 9.2.3.4 00.00.10.54.32.10dynamic 2 10.0.0.15 00.00.10.98.76.54dynamic La station de gestion envoie: GetBulkRequest [non-repeaters=1, max-repetitions=2] (sysUpTime, ipNetToMediaPhysAddress, ipNetToMediaType) L'agent rpond : Response ((sysUpTime.0="123456"),(ipNetToMediaPhysAddress.1.9.2.3.4="00001054321 0"),(ipNetToMediaType.1.9.2.3.4="dynamic",(ipNetToMediaPhysAddress.1.10. 0.0.51="00001012345"),(ipNetToMediaType.1.10.0.0.51="static")) La station de gestion envoie: GetBulkRequest [non-repeaters=1, max-repetitions=2] (sysUpTime, ipNetToMediaPhysAddress.1.10.0.0.51, ipNetToMediaType.1.10.0.0.51) L'agent rpond : Response ((sysUpTime.0="123466"),(ipNetToMediaPhysAddress.2.10.0.0.51="000010988 7654"),(ipNetToMediaType.2.10.0.0.51="dynamic",(ipNetToMediaNetAddress.1 .9.2.3.4="9.2.3.4"),(ipRoutingDiscards.0="2"))
L.Duchien -61L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Possibilit de station d'administration station d'administration


InformRequest-PDU But : permet une station de gestion d'envoyer des informations vers une station d'administration qui centralise des informations contenues dans la MIB "manager-to-manager" Le message a le mme format que Get, Set,... La MIB permet de spcifier des paramtres tels que : - l'intervalle de temps devant sparer 2 "InformRequest_PDU" - le nombre d'"InformRequest-PDU" voulues - description de l'vnement rapporter - la date de l'vnement - ... Cette PDU tend le mcanisme de Trap de SNMP1.

L.Duchien

-62-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

La compatibilit entre SNMP et SNMPv2


La coexistence des 2 versions est facilite par le fait que SNMPv2 est un sur ensemble de SNMPv1. => La manire la plus simple de grer le passage de V1 V2 est de passer la station d'administration la version 2, qui peut ainsi grer la fois des stations en V2 (en cas de gestion rpartie) et des agents en V1 et V2. Il est ncessaire des quivalences dans : - la manire dont sont gres les informations (SMI) - le protocole Le SMI : Pour assurer la compatibilit, les correspondances suivantes sont ncessaires : - INTEGER dfini sans restriction devient Integer32 - Counter devient Counter32 - Gauge devient Gauge32 - ACCESS devient MAX-ACCESS - ....

L.Duchien

-65-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 GetRequest GetNextRequest SetRequest GetBulkRequest Agent SNMPv2 et Proxy Environnement SNMPv1 GetRequest GetNextRequest SetRequest GetNextRequest

Administrateur SNMPv2 Response SNMPv2Trap

Agent SNMPv1

GetResponse Trap

noSuchName, readOnly et badValue ne sont pas utilisables par un agent en version 2 mais interprtable par une station d'administration l'agent proxy assure la gestion des messages ne pouvant pas tre contenues dans une seule PDU.

L.Duchien

-66-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Possibilit de faire cohabiter 2 versions SNMP- le gestionnaire utilise au choix le protocole 1 ou 2 :

Administration SNMPv2 InformRequest GetRequest, GetNextRequet, SetRequest Administration Agent bilingue SNMP GetRequest, GetNextRequest, SetRequest GetBulkRequest GetResponse, Trap InformRequest Agent SNMPv2 SNMPv2 Trap, Response

L.Duchien

-67-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

La scurit dans SNMP 2


Dans la version 1 => utilisation de la notion de communaut pour dfinir la visibilit accorde une station par un agent. Dans la version 2 => notion de groupe :
SnmpParty ::= SEQUENCE { partyIdentify OBJECT IDENTIFIER, -- identifiant du groupe partyDomain OBJECT IDENTIFIER, -- type de couche transport partyAddress OCTET STRING, -- adresse de niveau transport partyMaxMessageSize INTEGER, -- taille max des messages partyAuthProtocol OBJECT IDENTIFIER, -- nomme le protocole d'authentification utilis partyAuthClock INTEGER, -- priode valide pour le groupe partyAuthPrivate OCTET STRING, -- cl prive d'authentification partyAuthPublic OCTET STRING, -- cl publique d'authentification partyAuthLifeTime INTEGER, -- dure de vie des messages partyPrivProtocol OBJECT IDENTIFIER, --identification du protocole utilis (PGP par exemple) partyPrivPrivate OCTET STRING, -- cl prive partyPrivPublic OCTET STRING, -- cl publique }

Un lment actif sur le rseau agit de la manire suivante : - excute uniquement les oprations permises par le groupe, - maintient une petite base de donnes qui contient tous les groupes reconnus par l'entit, les oprations pouvant s'effectuer directement et celles qui font appel un agent de proxy, les ressources accessibles (notion de contexte) => Chaque entit maintient donc l'ensemble des donnes dfinissant le concept de "politique d'accs"

L.Duchien

-68-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Format des messages scuriss


privDest authInfo dstParty srcParty contexte PDU Format gnral privDest octet string dstParty srcParty contexte PDU Message non scuris privDest digest dst timestamp src timestamp dstParty srcParty contexte PDU Authentifi mais non priv privDest octet string dstParty srcParty contexte PDU crypt Priv mais pas authentifi privDest digest dst timestamp src timestamp dstParty srcParty contexte PDU crypt Priv et authentifi

privDst : dsigne le groupe pour lequel le message est destin authInfo: protocole d'authentification utilis

L.Duchien

-70-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

mission d'une requte scurise


- construction d'un message: srcParty<-groupe d'mission dstParty<- groupe de rception contexte <- contexte voulu PDU <- Get, set,... - La base de donnes locale de l'entit mettrice est consulte pour rcuprer entre autre le type de protocole authentification utilis - un message authentifi est construit : authInfo<- type de protocole - La base de donnes locale de l'entit mettrice est consulte pour rcuprer les caractristiques du protocole - un message priv est construit privDest<- identifie le destinataire message crypt - transmission au destinataire

L.Duchien

-71-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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 "" "" "" ""

Base de donnes de l'agent Target gracie george Subject george gracie Context local local Privileges 35 (Get,GetNext &GetBulk) 132(Response et SNMPv2-Trap)

configuration d'un agent scuris Identity Domain Address Auth Prot Auth Priv Key Auth Pub Key Auth clock Auth lifetime PrivProt PrivPrivKey PrivPubKey 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" "" ""

Base de donnes de l'agent Target ollie


L.Duchien

Subject stan

Context local

Privileges 35 (Get,GetNext &GetBulk)


-72L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

stan

ollie local

132(Response et SNMPv2-Trap)

L.Duchien

-73-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Algorithme de synchronisation des horloges


Pour cet algo on utilise un nouvel objet : AuthInformation ::= [2] IMPLICIT SEQUENCE { authDigest OCTET STRING, authDstTimestamp UInteger32, authSrcTimestamp UInteger32 } Lorsqu'un message est transmis, il inclut les valeurs d'horloges de l'metteur et du rcepteur. Ces horloges sont synchronyses de telle manire que l'horloge la plus lente soit gale l'horloge la plus rapide. Considrons deux groupes : "AgentParty" et "MgrParty" contenant respectivement un agent et une station de gestion. 4 cas de figure sont envisageables : - l'estimation de l'horloge "AgentParty" qu'a la station de gestion dpasse la valeur qu'en a l'agent - l'estimation de l'horloge "MgrParty" qu'a la station de gestion dpasse la valeur qu'en a l'agent - l'estimation de l'horloge "AgentParty" qu'a l'agent dpasse la valeur qu'en a la station de gestion - l'estimation de l'horloge "MgrParty" qu'a l'agent dpasse la valeur qu'en a la station de gestion
L.Duchien -74L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

Anne 95/96

Algorithme de synchronisation des horloges(2)

Groupe A

Groupe B

partAuthClock.a partAuthClock.b authDstTimestamp:=partAuthClock.b authSrcTimestamp:=partAuthClock.a

partAuthClock.a partAuthClock.b

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Complment Rseaux de Transport et Applications

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-

L'Administration de l'Internet : SNMP

Vous aimerez peut-être aussi