Supervision des réseaux Thomas Vantroys thomas.vantroys@lifl.fr Université de Lille I Laboratoire d Informatique Fondamentale de Lille Bâtiment M3 - Cité Scientifique 59655 Villeneuve d Ascq 2009-2010
Généralités La gestion et la surveillance du réseau et des services sont primordiaux. Complexité et hétérogénéité imposent des standards pour réduire les coûts Les méthodes ad hoc ne suffisent pas à assurer le suivi ping, traceroute, netstat telnet, interface web sur les matériels whois,...
Généralités Les différents éléments à prendre en compte : Gestion des fautes repérer, isoler, réparer les fautes Gestion de l utilisation suivi de l utilisation des ressources Gestion des configurations déploiement et maintenance de la configuration des ressources Gestion de la performance repose sur la surveillance et le contrôle des ressources Gestion de la sécurité protection des informations et contrôle des accès
Deux standards Common Information Management Protocol (CMIP) protocole OSI peu utilisé Simple Network Management Protocol très répandu car très simple à mettre en œuvre actuellement version 3, mais la version 2 est la plus courante
Objectifs SNMP Disponible sur tout type de matériel Introduction facile sur les matériels facile à implémenter léger Extensibles possibilité d étendre les éléments à surveiller Protocole robuste repose sur un protocole sans connexion (UDP)
Historique SNMP
Principe
Principe
Principe
Standardisation (version 1) Structure of Management Information (SMI) RFC 1155 : règles de définition des objets gérés Management Inforamtion Base (MIB) MIB II - RFC 1213 : Description des objets standards gérés par un agent Simple Network Management Protocol RFC 1157 : définition du protocole utilisé pour gérer ces objets
Structure of Management Information La définition des objets gérés par les agents
Généralités Permet de définir le contenu des MIB SMIv1 : RFC 1155 Description compacte des MIB : RFC 1212 SMIv2 : RFC 2578 Convention d écriture SMIv2 : RFC 2579 permet de définir des types de données / alias
Définition des objets Les objets représentés peuvent être : constitués d une valeur unique (scalaire) sous forme de tableau (deux dimensions) Le protocole SNMP ne permet de manipuler que des scalaires SMI repose sur le langage formel ASN.1 utilisation d un sous-ensemble des types de données utilisation de macro permettant de définir les objets de la MIB
Le langage ASN.1 Langage formel une notation lisible par les humains et non ambiguë une représentation codée pour la transmission Le langage est compilé de la notation lisible vers la représentation codée ASN.1 définit également comment encoder le nom et la valeur d un élément pour la transmission
Définition des scalaires
Objets gérés : variables
Objets gérés : nommage
Objets gérés : désignation Adresse identifiant : 1.1 instance : 1.1.0 valeur : 192.168.5.2 Nb tartines identifiant : 1.2.2 instance : 1.2.2.0 valeur : 2
Objets gérés = MIB
Définition d un objet (SMIv1)
Définition d un objet (SMIv2)
Définition d un objet : exemple
Les tableaux
Les tableaux : désignation
Les tableaux : désignation
Les tableaux : principe général
Les tableaux : index multiple
Les tableaux : index multiple
Définition d un tableau Exemple (1/5) :
Définition d un tableau Exemple (2/5) :
Définition d un tableau Exemple (3/5) :
Définition d un tableau Exemple (4/5) :
Définition d un tableau Exemple (5/5) :
Définition de nouveaux types Exemple :
Définition de nouveaux types Repose sur les conventions d écriture SMIv2 (RFC 2579) :
Conventions existantes PhysAddress MacAddress TruthValue AutonomousType InstancePointer VariablePointer RowPointer RowStatus TimeStamp TimeInterval DateAndTime StorageType TDomain TAddress
Types de notification Ajout SMIv2 permettant de définir des types de notifications Ces types se retrouvent dans les messages de notification vers la plate-forme d administration
Types de notification Exemple :
Définition des règles d implémentation Les règles d implémentation des modules définissent ce qui doit être supporté par les agents
Définition de groupes d objets Permet de définir un groupe d objets qui vont logiquement ensemble
Management Information Base
MIB Représente la base de données des objets gérés par un agent Peut être supervisée et modifiée par la plate-forme d administration MIB II : définit l ensemble des variables permettant de gérer la pile protocolaire TCP/IP représente 170 variables standards : RFC 1213 : SMIv1 RFC 1156 : amélioration de la MIB I
MIB II
MIB II - Les groupes system informations générales sur le système interfaces informations sur chacune des interfaces réseau at (conservé pour compatibilité MIB I) table de correspondance IP - Physique ip informations sur l implémentation et le fonctionnement d IP icmp informations sur l implémentation et le fonctionnement d ICMP
MIB II - Les groupes tcp informations sur l implémentation et le fonctionnement de TCP udp informations sur l implémentation et le fonctionnement d UDP egp informations sur l implémentation et le fonctionnement d EGP dot3 / transmission informations sur les modes de transmissions et les protocoles d accès à chaque interface snmp informations sur l implémentation et le fonctionnement de SNMP
Les groupes MIB II dans la pile protocolaire
Les différentes définitions SYSTEM SNMPv2 MIB (RFC 1907) INTERFACES (IF) IF-MIB (RFC 2863) ADDRESS TRANSLATION (AT) DEPRECATED IP & ICMP IP-MIB (RFC 2011) TCP TCP-MIB (RFC 2012) UDP UDP-MIB (RFC 2013) EGP OUTDATED (BGP) TRANSMISSION IS PLACEHOLDER SNMP SNMPv2 MIB (RFC 1907)
Simple Network Management Protocol Version 1
Généralités Protocole de communication sur UDP port 161 pour les requêtes port 162 pour les notifications détection de panne par polling et temporisateur pas d état coté agent 3 types d opérations supportés get : récupération de valeur(s) scalaire(s) set : modification de valeur(s) scalaire(s) trap : notification - envoi de valeur(s) scalaire(s) à la plate-forme d administration
Type d échanges
Structure des paquets
Opération get Permet de récupérer une ou plusieurs variables Toutes les variables doivent exister pour obtenir une réponse Types d erreur : nosuchname : objet inconnu ou pas une feuille toobig : la réponse ne tient pas dans un paquet generr : autre erreur
Opération get-next Permet de récupérer la ou les variables suivantes de la MIB Parcours dans l ordre lexicographique découverte de la structure récupération des lignes de tableau Types d erreurs : nosuchname : fin de la MIB toobig : la réponse ne tient pas dans un paquet generr : autre erreur
Opération set Permet d assigner une valeur à une ou plusieurs variables scalaires création de lignes de tableau L opération est atomique Types d erreur : nosuchname badvalue toobig generr
Opération trap Permet à un agent d envoyer une notification à la plate-forme d administration Il n y a pas d acquittement L agent doit être configuré pour envoyer les notifications à la plate-forme
Opération trap L agent envoie une notification avec un TrapID et un OID Notification prédéfinies (TrapID) : 0 = coldstart 1 = warmstart 2 = linkdown 3 = linkup 4 = authenticationfailure 5 = egpneighborloss 6 = entreprisespecific
Les communautés Trois types de communautés : read-only (public) read-write (private) trap Nom de communauté mot de passe L authentification en v1/v2 repose sur ces communautés Les noms de communauté circulent en clair! Sauf avec SNMPv3
Encodage des données La description des MIB et du format des messages est basée sur ASN.1 La correspondance entre syntaxe abstraite et le format de transfert est défini en ASN.1 par les Basic Encoding Rules (BER) chaque valeur est encodée sous forme d une chaîne d octets suivant le format <type, longueur, valeur>
Encodage des données : type
Encodage des données : longueur
SNMP v2
Les limites de SNMPv1 Documentation incomplète Limitations Types d erreurs Types de données Types de notifications Performance Lié à UDP Hiérarchisation de la gestion des ressources Sécurité
Historique
Type d échanges
Opération get Similaire à SNMPv1 Mais pas d échec si une variable n est pas disponible Exception définies dans la réponse pour ces variables : nosuchobject nosuchinstance
Opération get-next Similaire à SNMPv1 Mais pas d échec si une variable n est pas disponible Exceptions définies dans la réponse pour ces variables endofmibview
Opération get-bulk Nouvelle opération destinée à récupérer un ensemble de variables de manière performante Deux paramètres : non-repeators les n premiers éléments sont des scalaires max-repetitions les éléments suivants sont traités comme une suite d opération get-next
Opération set Similaire à SNMPv1 Processus en deux phases Phase 1 : procéder à des vérifications Phase 2 : réaliser l assignation Ajout de nouveaux types d erreur
Opération set
Opération trap Amélioration par rapport à SNMPv1 Les MIB peuvent définir des nouveaux types de notification (SMIv2) Le format de message est le même que pour les deux autres opérations Les deux premières variables sont : sysuptime snmptrapoid
Opération inform Un type de notification acquittée À l origine pour informer une plate-forme de plus haut niveau Type d erreur : toobig
Opération report Pour signaler une erreur de protocole ou une exception Pas de sémantique associé
Indépendance de la couche transport SNMPv1 supporte uniquement UDP SNMPv2 supporte plusieurs protocoles de transport UDP CLNS (OSI) DDP (Appletalk) IPX