Upload
sorcha
View
36
Download
0
Embed Size (px)
DESCRIPTION
Plan. L’approche objets Les normes OSI Compléments aux normes OSI Les travaux du NM Forum le TMN SNMP (V1, V2, V3, RMON) Comparaison des approches. I. N. T. E. METHODES. R. F. A. C. E. L’encapsulation. CHAMPS. Les classes. Deux composantes : - PowerPoint PPT Presentation
Citation preview
Plan
• L’approche objets
• Les normes OSI
• Compléments aux normes OSI– Les travaux du NM Forum
– le TMN
• SNMP (V1, V2, V3, RMON)
• Comparaison des approches
L’encapsulation
METHODES CHAMPS
INTERFACE
Les classes
• Deux composantes :
• composante statique : les données, composées de champs. Ils caractérisent l'état des objets pendant l'exécution du programme.
• composante dynamique : les procédures appelées méthodes, qui représentent le comportement commun des objets appartenant à la classe. Les méthodes manipulent les champs des objets et caractérisent les actions pouvant être effectuées par les objets.
Exemple de classe
• Classe Article
• Champs référencedésignationprixHTquantité
• Méthodes Prix TTC (): retourner (1.186 * prixHT)prixtransport (): retourner (0.05 * prixHT)retirer (q) quantité <---- quantité - qajouter (q) quantité <---- quantité + q
L’instanciation
• La classe décrit l'objet
• Elle sert de modèle pour construire les instances
• Les instances sont reproduites par moulage
• La liste des champs est détenue par la classe
• Les instances possèdent les valeurs
• Les méthodes ne sont pas dupliquées
Exemple d'instanciation
Article
référence
désignationprixHT
quantité
prixTTCprix transport
retirerajouter
30341
kimono
495.00
1000
60021
TV portable
2480.00
100
Instance de Instance de
L' héritage
• Mise en commun des caractéristiques communes à plusieurs classes
• Les classes sont spécialisées par définition de sous-classes
• Une sous-classe partage les variables et les méthodes de sa super-classe
• On dit qu'elle hérite des propriétés de sa super-classe
• Deux techniques permettent de spécialiser une classe :– l'enrichissement : de nouvelles variables et/ou de nouvelles
méthodes sont définies
– la substitution : une nouvelle définition est donnée à une méthode.
Définition des classespar héritage
• Classevêtement
• SuperclasseArticle
• Variables d'instancetaillecoloris
• Méthodes
• ClasseArticleDeLuxe
• SuperclasseArticle
• Variable d'instance
• MéthodesprixTTC () : retourner (1.25*prixHT)
Le graphe d' héritage
• La relation d'héritage lie une classe à sa super-classe• La représentation graphique de la relation forme le graphe
d'héritage• La relation d'héritage est transitive• Le terme superclasse désigne toute classe dont hérite une classe
donnée• La structuration en classe apporte une modularité importante• La plupart des langages possèdent des bibliothèques de classes
prédéfinies • Par exemple en Smalltalk-80 : LinkedList, Form (objets
graphiques), Process, Sémaphore, ...
Graphe d’héritage
OBJET
Article
référencedésignation
prixHTquantitéprixTTC
prixtransportretirerajouter
ElectroMénager ArticleDeLuxe Vêtementduréegarantiepoids
validergarantie
prixTTC coloristaille
Aspirateurniveausonorerayonaction
débitdépression
Téléviseurtypetube
largeurécrantélécom-
mande
CaviarFraisprovenance
poids
Chemisetypecol
typemanchesnbpoches
Le graphe d' héritage
• Graphe d'héritage simple– Le graphe d'héritage est un arbre
– la fermeture transitive de la relation d'héritage est un ordre total
• L'héritage multiple– Une classe peut posséder plusieurs superclasses directes
– Pas d'arborescence, mais un graphe orienté sans circuit
– Certaines classes sont crées pour former des "réservoirs d'héritages". Elles ne seront pas instanciées. Dans certains langages, elles sont dites abstraites.
– Avantages : augmenter la modularité et éviter des duplications
Héritage multiple
OBJET
Articleréférence
désignationprixHT
quantitéretirerajouter
Transporttypeemballagedatelivraisonprixtransport
Alimélectriquevoltage
impédencepuissance
consommation
Fragileprixtransport
Périssabletempératureprixtransport
Electroménagerduréegarantie
poidsvaliditégarantie
ArticledeluxeprixTTC
Crèmeriedatelimite
Vêtementcoloristaille
Aspirateurniveausonorerayonaction
débitdépression
Téléviseurtypetube
largeurécrantélécommande
Caviarfraisprovenance
poids
Œufsprovenance
Chemisetypecol
typemanchesnbpoches
Relation «est un»
Electroménagerduréegarantie
poidsvaliditégarantie
ArticledeluxeprixTTC
OBJETArticleréférence
désignationprixHT
quantitéprixTTCretirerajouter
Crèmeriedatelimite
Aspirateurniveausonorerayonaction
débitdépression
Téléviseurtypetube
largeurécrantélécommande
Caviarfraisprovenance
poids
Œufsprovenance
Chemisetypecol
typemanchesnbpoches
Vêtementcoloristaille
Périssabletempératureprixtransport
Fragileprixtransport
Transporttypeemballagedatelivraisonprixtransport
Recherche de la méthode à appliquer
• Cas de l'héritage simple– Le graphe d'héritage d'une classe est une liste ordonnée de classes.
– La méthode sera recherchée par un parcours de bas en haut de cette liste.
• Exemple :
• Méthode prixTTC de la classe Téléviseur :
• Arbre d'héritage de la classe Téléviseur :
• Téléviseur, Article DeLuxe, Article, Objet
• La méthode sélectionnée sera celle de la classe ArticleDeLuxe
Recherche de la méthode à appliquer
• Cas de l'héritage multiple
• Le graphe d'héritage d'une classe est un graphe.
• Il y a donc risque de conflit dans la recherche de la méthode à appliquer.
E
A
BC
D
D
A
B C
M
M
M
MM
D
A
B CMM
1: pas de conflit 2: conflit entre B et C 3: conflit entre B et C
Envoi de messages
• Un objet ne peut agir directement sur un autre. • Il ne peut le faire qu'en activant une méthode de l'objet visé.• Pour cela, il lui envoi un message• L'envoi de messages est donc le seul moyen de
communication entre objets.• La réception d'un message entraîne la recherche de la
méthode dans l'environnement de l'objet.• Lorsque la méthode délivre un résultat, celui-ci est retourné à
l'expéditeur. On parle de transmission avec retour.
Les principaux langages objets
• Smalltalk-80
• Objective-C LISP et ses variantes objets
(Le-Lisp, Flavors, Ceyx, ObjVLISP,...)
• SIMULA
• C++
• Eiffel
• ADA
• et JAVA
Notion de vue
Eclairages
A B
C D
E
Objets
Objet en AdR
Elément
Objet
Interface
Objet en AdR
Nouvelélément
ObjetInterface
Appliancienne
nouvelleappli
Nouvellescaractéristiques
Objet en AdR
• Protocole OSI (CMIP)– objet classique + caractéristiques particulières
• Protocole Internet (SNMP)– pas d’héritage
– de simples variables
• Autres approches– IDL CORBA
– Java
Plan
• L’approche objets
• Les normes OSI
• Compléments aux normes OSI– Les travaux du NM Forum
– le TMN
• SNMP (V1, V2, RMON)
• Comparaison des approches
Le modèle OSI
• Cadre général– s'inscrit dans la partie 4 du modèle de référence OSI
– spécifie les procédures de gestion d'un réseau hétérogène
– définit le cadre architectural des normes de gestion OSI
• Objectifs
• "planifier, coordonner, organiser, contrôler et superviser les ressources utilisées dans les communications conformes au modèle OSI et rendre compte de leur utilisation"
Normes OSI pour AdR
Basic reference modelISO 7298
General frameworkISO 7498-4
General overviewISO 10040
- Configuration management- Fault management
- Performance management- Accounting
- Security managment
Definition of the specific management functionsISO 10164 : 1 à n
Structure of the Management Information
BaseISO 10165 - 1
Generic definitions of objets and their
attributesISO 10165 - 2
Framework for objects definitions
ISO 10165 - 4
Definition of specific managed objects
CMISISO 9595
CMIPCommon Managementinformation Protocol
Trois modèles
• Modèle organisationnel
• Modèle d’information
• Modèle fonctionnel
Le modèle organisationnel
• définit le cadre pour répartir la gestion
• s'appuie sur les concepts de "systèmes gérés" et de "systèmes gérants" (agents and management systems)
• le processus d'application de gestion distribuée (DMAP : Distributed management application process) est l'application qui contrôle et surveille les objets gérés.
• le processus agent (AP : Agent Process) permet la gestion locale.
Schéma d’organisation
Systèmed'administration
Processusde gestion
CMISE CMISECMIP
ProcessusagentFonctions
Objetsgérés
D
Systèmeadministré
Objets gérés
Objet administré
Attributs
Opération
Notification
Opération : actionnées par des commandes envoyéesà la classe (création d'instance) ou à l'objet(activation de méthode)
Notification : actionnées par la classe ou l'objet quiémet des messages (changement d'état, dépassementde seuil)
Trois niveaux de gestion • le niveau gestion-système
– repose sur des échanges d'information de gestion provenant de toutes les couches du modèle OSI
• le niveau gestion de couche– la gestion est confinée à une couche donnée (en s'appuyant sur les
services offerts par les couches inférieures)
– exemple : le Network Connexion Management Subsystem (NCMS) qui spécifie un sous-protocole de gestion de connexion (ISO 8073/AD1)
• le niveau opérations de couches
– la gestion est réalisée par des échanges d'informations véhiculées par les protocoles de la couche
Le modèle d’information
• Une approche objet– un langage de description
– un langage d’échanges
• Des principes– nommage
– enregistrement
• Des bibliothèques
Approche objets
• Objectif : Permettre de définir les objets administrés de manière standard
– cohérence des définitions
– cohérence avec l'environnement d'administration
(CMIP et fonctions)
– répartition du travail
Modèle objet
• Le modèle définit :
– ce qu'est un objet
– de quoi il est composé
– ce qu'il peut faire
– ce qui peut lui être fait
– comment il est nommé dans le protocole
– comment il est relié aux autres objets
Description des objets
• Les attributs
• Les méthodes
• Les relations
• Les paquetages conditionnels
• L'arbre de contenance
• L'allomorphisme
Outil de description
• Les gabarits GDMO
– MANAGED OBJECT CLASS : définition d'une classe
– PACKAGE
– PARAMETER
– NAME BINDING
– ATTRIBUTE
– GROUP-ATTRIBUTE
– BEHAVIOUR
– ACTION
– NOTIFICATION
ASN.1
• ASN.1 (Abstract Syntax Notation 1)– C'est un langage défini par sa grammaire (cf ISO 8824)
– Une grammaire est un ensemble de règles de productions.• Le rôle d'ASN.1
– 1- Description des structures de données
– 2- Permettre la transmission de ces structures à travers le stack OSI
• Mode d'utilisation– 1- décrire les objets en ASN.1 (en suivant le formalisme des gabarits)
– 2- utiliser un "compilateur" vers le langage de développement choisi (C, ADA, Pascal, ...) ce qui génère :
* les structures de données adaptées
* les règles d'encodage vers la syntaxe de transfert
Le rôle d’ASN.1
Entité A Entité B
syntaxe de transfert
DescriptionASN1
structure de données
Règles d'encodage/décodage
structure de données
Gabarit "MANAGED OBJECT CLASS"
<class-label> MANAGED OBJECT CLASS
[DERIVED FROM <class-label>[,<class-label>]*;
]
[CHARACTERIZED BY <package-label>[,<package-label>]*;
]
[CONDITIONAL PACKAGES <package-label>PRESENT IF
<condition-definition>
[,<package-label>PRESENTIF<condition-definition>]*;
]
[PARAMETERS <parameter-label>[,<parameter-label>]*;
]
REGISTERED AS object-identifier;
Exemple de classe
exampleObjectClass MANAGED OBJECT CLASS
DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
CHARACTERIZED BY
examplePackage1 PACKAGE
ACTIONS qOSResetAction;
NOTIFICATION communicationError ;
REGISTRED AS {joint-iso-ccitt ms(9) smi(3) part4(4)package(4)examplepack1(0)};
PRESENT IF !conformance class 2 of underlying ressource implemented as descriptor in ISO/IEC xxxx! ;
examplePackage2 CONDITIONAL PACKAGE;
REGISTERED AS {joint-iso-ccitt ms(9) smi(3) part4(4)managedObjectClass(3)exampleclass(0)} ;
Principe de nommage
• L’arbre de contenance– définit les notions de classes contenantes et de classes contenues
– impose des contraintes au nommage
• L’arbre de nommage– respecte les contraintes de l’arbre d’contenance
– définit un nom global pour chaque objet
le Global Distinguished Name (GDN)
– permet d’utiliser un nom «local»
Distinguished Name
L’arbre d’enregistrement
root (world)
ccitt iso joint-iso-ccitt
std reg member org authority body
dod
internet
directory mgmt experimental private
entreprises
reserved proteon ibm hp
021
01 2
3
6
1
12 3 4
1
01 2 11
MIB-1 MIB-2
1 2
Quatre arbres
• Arbre d’héritage : propriétés des classes
• Arbre de contenance : contraintes de contenances pour guider le processus de nommage (défini au niveau des classes)
• Arbre de nommage : pour identifier les objets (ou instances)
• Arbre d’enregistrement : pour référencer les classes (ou les constituants des classes, ie les gabarits)
Le modèle d'information
• Remarques importantes– La normalisation ne fournit pas les moyens de la conception par
objets. Le problème de la modélisation reste donc entier.
– La normalisation fournit des bibliothèques d'objets "génériques" qu'il faut étendre par "raffinement" (création de sous-classes)
– Les objets devront être enregistrés par une autorité compétente
– La conformité sera vérifiée à partir des descriptions de réalisation : les MOCS (Management Objects Conformance Statements).
L'objet TOPtop MANAGED OBJECT CLASS
CHARACTERIZED BY topPackage PACKAGE
BEHAVIOUR topBehaviour;
ObjectClass GET,
nameBinding GET;;;
CONDITIONAL PACKAGES packagesPAckage PACKAGE
ATTRIBUTES packages GET;
REGISTERED AS {smi2Package 16};
PRESENT IF "any REGISTERED package, other than this package has been instancied",
allamorphicPackage PACKAGE
ATTRIBUTES allomorphs GET;
REGISTERED AS {Smi2Package 17};
PRESENT IF "if an object supports allomorphism";
REGISTERED AS {smi2MObjectClass 14};
topBehaviour BEHAVIOUR DEFINED AS "This is the top level of managed object class hierarchy and every other managed objet class is a specialization of either this generic class (top) or a specialization of a subclass of top..."
Exemple : objet system
system MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
systemPackage PACKAGE
ATTRIBUTES systemId GET,
systemTitle GET,
operationalState GET,
usageState GET,
administrativeState GET-REPLACE;;;
CONDITIONAL PACKAGES
administrativeStatePackage PACKAGE
ATTRIBUTES administratoveState GET-REPLACE;
REGISTERED AS {smi2Package14};
PRESENT IF "an instance supports it",
....
Le modèle fonctionnel
• Définition des 5 domaines de gestion
• Définition des SMFSystem Management Functions
Les Fonctions de Gestion de Systèmes
• Objectif : Spécification d'interfaces de gestion, fondées sur le modèle agent-gestionnaire
• Moyens : Deux aspects sont nécessaires :– le modèle objets (ressources à gérer, leurs propriétés, relations,
opérations)
– l'accès aux objets (contrôle d'accès, sélections, coordination d'opérations élémentaires, horodatage...)
• Définition :Une SMF est un standard qui décrit des classes d'objets ou des propriétés d'objets utilisables pour réaliser des fonctions de gestion. Elle normalise les aspects protocolaires correspondant à ces services.
Les SMF (suite)
• Contenu : trois aspects– sémantique des propriétés et/ou objets support
exemple : types d'alarmes, objets Log, LogRecord
– description des services d'accès à ces propriétés support (procédures)
exemple : mapping sur les services de CMISE
– syntaxe supportant ces définitions (formulaires GDMO et productions ASN 1)
• Relations entre SMFUne SMF peut utiliser les services définis dans une autre SMF
Les SMF (suite)
• Unités fonctionnellesUne SMFU définit un ensemble de propriétés (services de gestion) que les objets d'un système peuvent offrir à un gestionnaire sur une association. Elles sont négociables à l'initialisation de l'association.
Exemples: La gestion d'objets définit deux SMFU :
- services d'opérations
- services de notification
La gestion des journaux définit une SMFU
La gestion des états ne définit pas de SMFU (car non négociable individuellement)
• Remarque :Une SMF n'est pas une fonction en tant que telle. Les services décrits par une SMF sont destinés à être intégrés dans une interface de gestion. Ils
peuvent être utilisés par des objets de classes différentes.
Principe des SMF
Objet
Interface degestion(CMISE)
Principe des SMFObjet
Interface degestion(CMISE)
objet
Interface SMF(enrichie)
Liste des SMF
Object Managt Function IS Workload Monitoring Function DIS
State Managt Function IS Test Management Function DIS
Attributes for Relationships IS Summurization Function CD
Alarm reporting IS Confidence and Diagnostic Test CD
Event Report Function IS Time Management WD
Log Control Function IS OSI software Management WD
Security Alarm Reporting Funct. IS
Security Audit trail Function DIS
Objects and Attributes for Access CD
Accounting Meter Function CD
Scheduling Function WD
Response Time Monitoring
Event Report Get Set Action
Create DeleteCancel-Get
ObjectManagement
StateManagement
RelationshipManagement
Alarmreporting
Event-reportmanagement
Logcontrol
Security-alarmreporting
Securityaudit trail
Accesscontrol
Accountingmeter
Workloadmonitoring
Testmanagement
Summurisation
Faultmanagement
Accountingmanagement
Configurationmanagement
Performancemanagement
Securitymanagement
Specific Management Functions
State Management Function– Attributs de gestion
Etat opérationnel En service
Hors service
Etat d'utilisation Libre (non utilisé)
Actif (utilisable)
Occupé (plus utilisable)
Inconnu (de l'objet)
Etat administratif Bloqué (par l'administrateur)
débloqué ( " )
En libération
– Attributs de maintenance (STATUS)
repair status (réparation, alarme...)
installation status (en phase d'installation)
availability status (en test, hors service, hors tension...)
control status (réservé, suspendu...)
State Management Function (suite)
• NotificationsState Change notification avec en paramètres :
state change info (attribut d'état)
additional state change info
• Objetstate change record
Par spécialisation de la classe "Event Log Record" des paramètres des notifications ci-desssus
• Services offertsState Change Reporting Service M-EVENT-REPORT
Lire attributs d'état PT-GET
Modifier attributs d'états PT-GET
CMISE/CMIP
• Les services de CMISE– Interactions avec les interfaces des objets
(lecture, écriture, creation, destruction d’instances, ...)
– Utilisation des principes de nommage
– Sélection d’objets multiples
– Actions multiples (atomicité)
Sélection d’objets multiples
-1
-2
-3
ScopingFiltering(valeurs d’attributs)
CMIP
• Protocole couche 7 OSI
• Supporte les opérations CMISE à distance
• S’intègre dans une Association (cf ACSE)– négociation de l’association (partenaires, unités fonctionnelles, ...)
– fermeture de l’association
• S’appuie sur les services de ROSE(invocation d’opérations à distance)
Services CMIP
Service Modes possibles
M-EVENT-REPORT cnf/ncf
M-GET cnf
M-SET cnf/ncf
M-ACTION cnf/ncf
M-CREATE cnf
M-DELETE cnf
M-CANCEL-GET cnf
Services CMIP
• les services d'opérations : demandes d'invocation d'opérations formulées à un agent, concernant des objets gérés par celui-ci,
• un service de notification : transmission par un agent de comptes rendus contenant les notifications émises par un objet.
Services CMIP
Opération/notification Service Mode
Get attribute value M-GET confirmé
M-CANCEL-GET confirmé
Replace attribute value
Replace with default value
Add member M-SETconf/non-conf
Remove member
Create M-CREATE confirmé
Delete M-DELETE confirmé
Action M-ACTION conf/non-conf
Notification M-EVENT-REPORT conf/non-conf
Exemple : M_CREATE• Paramètres spécifiques
– superior object instance– reference object instance
• Service– nommage : c'est-à-dire définir le GDN (Global Distinguished Name) --> choisir le supérieur
dans l'arbre de nommage
choisir le RDN (Relative Distinguished Name)
M-CREATE utilise 3 paramètres spécifiques :
- MOC (Managed object Class) - sa classe
- MOI (Managed Object Instance) - son GDN
- SOI (Superior Object Instance) - le GDN du supérieur Le gestionnaire a trois possibilités : il peut envoyer
MOC et MOI, MOC et SOI ou MOC
Dans tous les cas, l'agent renverra MOC et MOI
Exemple : M_CREATE
• services (suite)– Valorisation des attributs
Par ordre de priorité :
• liste d'attributs envoyés
• valeurs de l'objet de référence
• valeurs par défaut de la classe
Implémentations
• Normalement : sur stack OSI (couches 1à6)
• Possible sur stack TCP (CMOT)
• Egalement sur LLC (avec adaptations), voir CMOL ou LMMP
Plan
• L’approche objets
• Les normes OSI
• Compléments aux normes OSI– Les travaux du NM Forum
– le TMN
• SNMP (V1, V2, RMON)
• Comparaison des approches