270
Université Louis Pasteur de Strasbourg Département d'informatique LSIIT, URA CNRS 1871 Thèse Numéro d'ordre :1868 Année 1994 présentée en vue de l'obtention du grade de Docteur de l'Université Louis Pasteur de Strasbourg spécialité Informatique par Pierre FERN/QUE Un Modèle pour l'Administration des Dépendances entre Services Applicatifs des Réseaux Informatiques Hétérogènes Soutenue le 20 septembre 1994 devant la commission d'examen: Richard CASTANET: Rapporteur externe Jean-François DUFOURD: Président Jean-Jacques PANS/OT: Directeur de thèse Pierre ROLIN : Rapporteur externe André SCHAFF : Examinateur

Pierre FERN/QUE · 2013. 9. 27. · Quels sont les éléments d'un réseau nécessaires au fonctionnement d'unservice ... rôle d'unetelle administration, les fonctionnalités que

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Université Louis Pasteurde Strasbourg

Département d'informatiqueLSIIT, URA CNRS 1871

Thèse

Numéro d'ordre :1868Année 1994

présentée en vue de l'obtention dugrade de Docteur

de l'Université Louis Pasteur de Strasbourgspécialité Informatique

par

Pierre FERN/QUE

Un Modèlepour l'Administration

des Dépendances entre Services Applicatifsdes Réseaux Informatiques Hétérogènes

Soutenue le 20 septembre 1994 devantla commission d'examen:

Richard CASTANET: Rapporteur externeJean-François DUFOURD: Président

Jean-Jacques PANS/OT: Directeur de thèsePierre ROLIN : Rapporteur externe

André SCHAFF : Examinateur

à François

qUl,

du haut de ses dix-huit mois,son cerveau meurtri,

et son côté désormais si lourd,

m'a simplement révélé le poidsque j'accorde à chaque chose,

et que rien n'est plus merveilleuxque de savourer la minute

présente.

Je remercieles personnes qui m'ont assisté

dans mon travail.

ParticulièrementJean-Jacques Pansiot

et les membres du jury,Gérard Toninato

et bien évidemmentFrançois, Jérémie & Sonia Fernique.

Chacun d'eux, à sa manièrem'a amplement aidé, supporté.

Résumé

Nous présentons, dans notre thèse, un modèle théorique de description des services applicatifs

dans les réseaux informatiques hétérogènes, permettant de traiter les problèmes liés aux

dépendances de ces services entre-eux. La problématique peut être illustrée par ces deux

questions. Quels sont les éléments d'un réseau nécessaires au fonctionnement d'un service

applicatif? Quel est l'impact occasionné par la déficience d'un élément? Le problème sous­

jacent prend toute son ampleur pour des réseaux de moyenne ou grande taille sur lesquels les

services réseaux mettent enjeu une série de dépendances particulièrement complexes à établir

et à gérer. Après une étude bibliographique décrivant l'état de l'art dans ce secteur de

recherche, nous exposons notre modèle. Nous proposons une définition d'un service réseau

sous la forme d'applications multivoques qui décrivent les contraintes de fonctionnement du­

dit service. Ceci nous permet de construire le graphe global des dépendances appréhendées.

Fiabilité des services, impact des ordinateurs, calcul de coOts, estimation de la charge, sécurité

du réseau, autant de résultats obtenus par notre modélisation. L'implantation d'un prototype

logiciel basé sur de tels concepts nous permet de vérifier la faisabilité de notre modèle. Cette

maquette a été testée avec succès sur un des réseaux de campus de l'Université de Strasbourg.

Mots clés

Réseaux informatiques hétérogènes - Administration de réseaux - Modélisation - Services

applicatifs - Graphes de dépendances - Couche Application.

Administration des applicatifs réseau:( vii

Abstract

In this dissertation, we present a theoretical model which can describe the application services

in heterogeneous computer networks, with particular emphasis on the complex

interdependencies among the various services. The problems the model is meant to handle can

be illustrated with two fundamental questions. Which elements in the network are necessary

for a given application service to operate? What is the overaU impact of the failure of a given

part of the network likely to be? This type of problem can be of real magnitude with medium

and large scale networks, in which the services involve a whole series of interdependencies

particularly difficult to delineate and manage. We begin with a review of the literature to

present the state of the art in the field, and then develop our mode!. We give a network service

definition based on multivocal applications which describing the constraints of its functioning.

By this modelisation, we construct an overaU graph of the various dependencies under study.

The diagnoses in case of failure as weU as the assessment of the reliability of the services, of

the impact of each computer station, of the workload and of security can aU be handled by our

mode!. The implementation of a prototype program based on the above theoretical framework

has aUowed us to demonstrate the feazability of our model within a network management

system, since the prototype has been successfully tested on one the campus networks of the

University of Strasbourg.

Key words

Heterogeneous computer network - Networks management - Modelisation - Application

services - Dependencies graph - Application layer.

Administration des applicatIfs réseaux ix

Tabledes

chapitres

Administration des applicatifs réseau.''; xi

Table des chapitres

Introduction

Partie 1.Administration de réseaux:l'état de l'art

1.Le contexte général de l'administration de réseaux2.L'état de l'art en administration de réseaux3.Administration des dépendances de services applicatifs

Partie 1/.Un modèlepour l'administrationdes applications réseaux

4.Hypothèses et finalité du modèle5.Description formelle du modèle6.Du modèle théorique au modèle informatiquel.Résultats de la modélisation

Partie III.Validation du modèle par implantation

8.Contexte de la maquette9.La maquette ADSAR : implantation, utilisation et évaluation

Conclusion

Annexes

Références et Index

Administratio1l des applicatifs réseau.t xiii

Introduction

AdmÙÛstratioll des applicatifs réseau.Y 1

Celte dernière décennie voit l'informatique totalement transformée par l'avènement des

réseaux informatiques. Il y a encore quelques années, l'ordinateur pouvait être considéré au

singulier : sorte de "potentat" entouré de ses terminaux et périphériques. Désormais, le

matériel informatique est distribué, réparti, et il lui faut nécessairement coopérer; c'est

l'incontournable réseau informatique, colonne vertébrale des systèmes informatiques

modernes.

La croissance de ces réseaux est particulièrement rapide. Il est maintenant courant d'avoir des

réseaux informatiques de plusieurs centaines, voire de milliers d'ordinateurs. Leur étendue

géographique ne fait que s'accroître: réseaux régionaux, nationaux et même internationaux.

Dans un tel contexte, la tâche qui consiste à administrer de tels réseaux devient

particulièrement cruciale, voire vitale pour une entreprise, une organisation, un pays.

L'homme système des années quatre-vingt a été supplanté par l'administrateur réseau

J'ordinateur se remplace désormais en quelques heures, ce n'est pas le cas pour le réseau.

Nous observons, d'une part, que la complexité des réseaux informatiques s'accroît. Elle est

due principalement à l'avancée très rapide des technologies dans ce domaine. Variété des

supports telles la fibre optique, la paire métallique, variété des protocoles tels TCPIIP, IPX,

OSl, X25, variété d'équipements tels les répéteurs, les amplificateurs: autant d'éléments

continuellement améliorés, perfectionnés et qui vont devoir coopérer.

Nous constatons, d'autre part, que l'administration de grands réseaux nécessite une somme

importante d'informations: Quels sont les ordinateurs ? Qui les utilise ? Comment sont-ils

interconnectés? Par quels protocoles?

L'administration de tels réseaux hétérogènes requiert désormais un niveau élevé de

compétences et une base informative importante.

C'est dans ce domaine de l'administration des réseaux informatiques que se situent nos

travaux. Nous focalisons notre étude sur l'administration des dépendances entre applications

réseaux.

Administration des applicatifs réseaux 3

Introduction

Nous avons ainsi élaboré un modèle pour l'administration des dépendances entre services

applicatifs des réseaux informatiques hétérogènes, ceci afin de pouvoir développer des outils

logiciels qui assisteraient l'administrateur réseau dans sa tâche.

Nous appuyant sur les travaux de standardisation et de normalisation effectués par les

organismes tels l'ISO et le CCnT, ainsi que les travaux autour de la famille de protocoles

TCP/IP, nous élargissons leur champ d'application.

L'idée de base est de pouvoir répondre aux deux questions essentielles dans notre secteur de

recherche:

Quels sont les éléments réseaux nécessaires

à l'établissement d'un service applicatif?

Quel est l'impact occasionné par l'état d'un élément du réseau,

sur l'ensemble des services applicatifs?

Ces deux questions peuvent être illustrées par les deux exemples suivants: Pourquoi ne puis­

je pas imprimer? L'imprimante est hors-service, qui en pâtit?

Lorsqu'il s'agit de réseaux informatiques réduits à quelques machines, les réponses sont

généralement simples et immédiates. En revanche, le problème sous-jacent prend toute son

ampleur dès qu'il s'agit de réseaux de taille importante, et ceci d'autant plus s'ils mettent en

œuvre des technologies hétérogènes. En effet, tout service réseau va s'appuyer de manière

récursive sur d'autres services réseaux, tels des montages de disques distants, des accès aux

annuaires, des vérifications d'identités, mettant ainsi en jeu une série de dépendances

particulièrement complexes à établir et à gérer. Diagnostics de pannes, modification de

l'architecture, calcul des coûts, estimation de la charge, sécurité du réseau, autant de domaines

qui se basent justement sur la connaissance la plus exhaustive possible de ces

interdépendances; les fonctions de l'administrateur réseau en sont indissociables.

Notre travail dans ce domaine spécifique nous a conduit à définir un modèle théorique, qui

décrit les éléments et leurs interactions nécessaires au fonctionnement des services applicatifs

réseaux. C'est l'objet de cette thèse.

Nous avons structuré notre exposé en trois parties complémentaires.

La première partie de cette thèse présente Hl'état de l'art" de notre domaine de recherche. Pour

une présentation complète, il nous est apparu nécessaire de définir au préalable ce qu'est

l'administration de réseaux informatiques. Ainsi, dans. le premier chapitre, nous précisons le

rôle d'une telle administration, les fonctionnalités que l'on peut en attendre et le cadre de son

4 Administration des applicatifs réseaui:

Introduction

application. Nous présentons, dans un deuxième chapitre, les travaux actuels dans ce domaine.

Nous exposons les différentes voies de recherche ; nous soulignons, entre autres, le rôle

spécifique de la normalisation et des standards. Nous tentons de présenter une synthèse des

divers progrès dans ce contexte. Enfin, l'objet de notre troisième chapitre est la présentation de

notre secteur particulier de recherche. L'administration des dépendances entre services

applicatifs est un domaine relativement récent. Nous présentons les travaux actuels

directement attenants à notre sujet de thèse.

Après avoir présenté le domaine de l'administration de réseau tel qu'il se présente à l'heure

actuelle, nous exposons dans la deuxième partie de notre thèse le modèle de données que nous

avons élaboré pour l'administration des applications réseaux. Cette partie s'articule en quatre

chapitres. Le premier chapitre situe les hypothèses de notre modèle et sa finalité. Dans les

deux chapitres suivants, nous spécifions le modèle lui-même. Nous en proposons, tout

d'abord, une définition théoriqne qui s'appuie sur un formalisme mathématique. Puis, dans un

denxième temps, nous présentons le modèle sous une forme "pratique" qui prend en compte

les spécificités techniques de l'informatique. Nous regroupons dans le dernier chapitre les

résultats que l'on obtient grâce à une telle modélisation.

Dans la dernière partie de notre thèse, nous décrivons la réalisation d'une maquette logicielle

qui implante notre modèle. Celle-ci a été réalisée afin de valider les principes énoncés. En

effet, nous démontrons la faisabilité d'un outil s'appuyant sur de tels concepts. Dans un

premier chapitre, nous présentons le contexte de l'expérimentation et les choix techniques

retenus. Le second chapitre a pour objet d'exposer les détails de l'implantation et les

fonctionnalités de la maquette. Nous terminons par une évaluation des résultats obtenus par un

tel prototype.

Administration des applicatifs réseaux 5

Partie l

Administration de~reseaux:

l'état de l'art

Administration des applicatifs réseall.,( 7

Comme l'automobile du début de ce siècle a engendré les réseaux autoroutiers, l'essor et la

banalisation des ordinateurs de ces quinze dernières années s'accompagnent d'un

développement étonnant des réseaux informatiques, à la fois en complexité et en nombre. Il

est désormais commun de trouver des établissements, entreprises, organismes

gouvernementaux, utilisant plusieurs milliers d'ordinateurs interconnectés entre-eux. Cette

multiplication des réseaux informatiques repose principalement sur deux paramètres: la

baisse des coOts de production du matériel électronique et le plafonnement des puissances de

traitement. L'exemple le plus typique est sans doute la réorganisation actuelle des

infrastructures informatiques bancaires. La solution qui consiste à risquer l'investissement de

sommes colossales dans un ordinateur central dont les capacités de stockage et de traitement

seront inévitablement limitées va être écartée. La tendance actuelle est à la décentralisation de

l'informatique: c'est l'ère des stations de travail, des "fermes(a).. et des micro-ordinateurs

reliés par l'incontournable réseau informatique. Dans ces nouvelles conditions, les personnes

responsables de la maintenance et du développement de telles architectures informatiques

voient leur rôle se complexifier considérablement. Il leur faut l'aide de modèles et d'outils

d'administration, de gestion de réseaux.

Or dans le monde effervescent de l'informatique, de nombreux équipements de divers

constructeurs vont se trouver côte à côte sur un même réseau, voire plusieurs réseaux

interconnectés. En effet, le jeu de la concurrence a entraîné le développement parallèle de

plusieurs types d'ordinateurs et de protocoles réseaux généralement incompatibles entre eux.

Ils devront cependant pouvoir à terme, non seulement échanger de l'information, mais de plus

être administrés de manière cohérente. Cette interopérabilité inévitable pour la fonction

d'administration nécessite la définition de modèles de données, de standards et de normes dès

lors qu'il s'agit de réseaux informatiques hétérogènes.

Ces différents travaux qui forment le domaine de l'administration de réseaux sont exposés

dans cette partie de notre thèse. Notre présentation s'appuie sur les trois composantes qui

(a) Le terme de "ferme" est la traduction française, encore peu usité, de elus/ers d'ordinateurs. Il s'agit de

regroupements d'ordinateurs coopérant étroitement.

Administration des applicatifs réseaux 9

I.

participent à tout système d'administration, à savoir: le modèle de l'Ùiformation, les

mécanismes mis en œuvre pour véhiculer ces données et l'analyse qui en est faite. Nous allons

comparer les solutions proposées, leurs différentes approches, en soulignant les avantages et

inconvénients de chacune d'elles. Nous terminons cette première partie en présentant plus

particulièrement les problèmes et travaux liés au domaine spécifique de l'administration des

dépendances des applications réseaux, sujet de notre thèse.

Cependant, avant cet "état de l'art", il nous semble nécessaire de situer dans un premier

chapitre le contexte général de l'administration de réseaux. Quels en sont le but et l'objet?

10 Administration des applicatifs réseaux

. 1

Le contexte général de l'adrninistration de réseaux

1. Le contexte général del'administration de réseaux

1.1

L'administration des applicatifs dans les réseaux informatiques est un domaine qu'il est

nécessaire de situer. Son contexte est vaste et met en jeu plusieurs notions. Dans le présent

chapitre, nous allons tout d'abord repréciser ce que l'on peut entendre par administration de

réseaux afin de cerner les deux points fondamentaux: l'objet et la finalité de l'administration

de réseaux. Ceci nons amène à traiter les problèmes soulevés par l'hétérogénéité des réseaux

et des matériels informatiques pour la mise en œuvre d'une telle administration.

1.1. Administration de réseaux

1.1.1. Une définition de l'administration de réseaux

Une définition globale de ce qu'est l'administration appliquée à un réseau informatique

pourrait être inspirée de celle qui est proposée par M-P. Gervais [GER 89] dans la thèse de

doctorat:

L'administration de réseaux est l'ensemble des moyens mis en Œuvre pour assurer la

meilleure qualité de service aux utilisateurs du-dit réseau, pour minimaliser les coûts induits

et pour permettre l'évolution des jonctionnalités offertes.

Il s'agit d'une définition bien générale qui va prendre tout son relief si l'on répond à la

question suivante: Qu'est-ce qui est à administrer?

1.1.2. Les éléments à administrer

Un réseau informatique est bâti sur trois types d'entités à administrer. Nous les désignons par

le terme "d'objets" dans la suite de cette thèse. Il s'agit du matériel, du logiciel, et des

utilisateurs. Précisons ce que l'on entend par chacune de ces trois classes:

Administration des applicatifs réseau.x 11

1.1

1.1.2.1. Le matériel

Le contexte général de ['administration de réseaux

Nous entendons par matériel(a) tout élément physique nécessaire au fonctionnement d'un

réseau informatique. Il s'agit bien évidemment des composantes des ordinateurs eux-mêmes

(microprocesseurs, mémoires, disques, etc) mais également des câbles et éléments purement

réseaux (fibres optiques, connecteurs, cartes électroniques des éléments de réamplification des

signaux réseaux, etc) et enfin des éléments que l'on dit périphériques, des composantes d'une

imprimante à ceux d'une table traçante (moteurs, rouages mécaniques, etc). Sont inclus

également dans la notion de matérielles consommables, c'est-à-dire les ressources utilisées

(ramettes de papier de l'imprimante, cartouches magnétique de stockage, etc).

1.1.2.2. Le logiciel

Le logiciel décrit tout programme informatique nécessaire au fonctionnement d'un système

informatique. Ces programmes peuvent être mémorisés de diverses façons, généralement sur

supports magnétiqnes, mais également "câblés", c'est-à-dire que les fonctionnalités du

programme sont réalisées par une carte électronique et non un ordinateur à part entière(b).

1.1.2.3. Les utilisateurs

La classe des utilisateurs est généralement omise lorsque l'on évoque les réseaux

informatiques. C'est pourtant l'élément primordial. Il s'agit simplement des personnes

physiques utilisatrices du réseau informatique.

"L'objet" de l'administration étant posé, il nous faut décrire la finalité de l'administration et

répondre à la question suivante: Pourquoi administrer 1II1 réseau informatique?

1.1.3. Les fonctionnalités de l'administration

La littérature sur le sujet (articles de recherche, normes, standards, etc) délimite le plus

souvent en cinq aires fonctionnelles ce que l'on peut attendre d'une administration de

réseaux: la gestion de la configuration, des anomalies, des pelformances, des informations

comptables et de la sécurité.

(a) Le terme généralement utilisé pour décrire le matériel informatique est "hardware" mais il se restreint auxéléments qui composent un ordinateur et non un réseau d'ordinateurs.

(b) Le logiciel au sein des éléments actifs d'un réseau (tel un régénérateur de trames réseaux) se restreint

rarement à la notion de programmes d'ordinateur. La notion de logiciel est ici plus large que la notion de

"software" habituellement retenue.

12 Administration des applicatifs réseau.),'

Le contexte général de l'administration de réseaux

1.1.3.1. La gestion de la configuration

1.1

Gérer ou administrer la configuration d'un réseau informatique consiste à établir l'inventaire

de tous les éléments nécessaires au réseau informatique. Identification, localisation

géographique, interaction, autant de composantes de la gestion de la configuration. Où se

trouve tel ordinateur? Quel système d'exploitation lui est nécessaire pour fonctionner?

Quelles sont les interfaces réseaux dont il dispose? Quels utilisateurs y ont accès?

L'administration de la configuration nécessite l'établissement d'un inventaire le plus complet

possible des objets à administrer, il s'agit en quelque sorte de la base de travail pour toutes les

autres aires fonctionnelles.

1.1.3.2. La gestion des anomalies

Gérer les anomalies va consister à détecter, isoler et corriger les états de dysfonctionnement

du réseau. Les anomalies sont divisées en deux classes:

-les pannes persistantes,

-les pannes passagères - plus difficiles à traiter car difficiles à repérer et à reproduire.

La gestion des anomalies est la fonction d'administration minimale. Sans elle, le réseau ne

peut fonctionner correctement à court ou moyen terme.

1.1.3.3. La gestion des performances

Gérer les pelformances d'un réseau informatique nécessite de définir des paramètres pour

mesurer certains aspects de la qualité de service. Les quatre indicateurs les plus courants sont:

-le temps de réponse, c'est-à-dire le délai qui s'écoule entre l'émission d'une requête et

l'arrivée de sa réponse,

-le débit, c'est-à-dire la quantité d'information qui peut s'écouler sur un réseau dans un

temps donné,

-le taux d'erreur, c'est-à-dire la proportion des erreurs en fonction de la taille du message,

-la disponibilité, c'est-à-dire l'état du réseau: est-il en service ou hors service ?

Le calcul de ces indicateurs se base généralement sur des échantillons de mesures faites sur

une période donnée, c'est pourquoi la gestion de la performance nécessite souvent la gestion

d'un historique des états du réseau. Il est, par exemple, nécessaire de conserver l'évolution du

débit d'une ligne donnée afin d'en déterminer une moyenne, un maximum, etc.

Certains articles tentent de définir des paramètres plus globaux qui permettent d'apprécier plus

facilement la qualité de service obtenue et de ne pas s'en tenir aux données "brutes". Par

Administration des applicatifs réseaux 13

1.1 Le contexte général de l'administration de réseaux

exemple A. Leinwand [LEI 93] tente de calculer le taux d'utilisation des medium/a) pour

établir des règles de gestion de la congestion(b). Il peut s'agir également d'estimer la

disponibilité moyenne d'un équipement.

Les paramètres de gestion de la performance sont particulièrement importants dans le milieu

industriel car ils permettent d'apprécier directement l'efficacité et la productivité.

1.1.3.4. La gestion des informations comptables

La gestion des informations comptables consiste à déterminer le coût d'utilisation des divers

éléments réseaux, et à établir un système de facturation par utilisateur, en fonction des

éléments utilisés. Différentes politiques de facturation peuvent être retenues. Les plus

courantes sont la facturation en fonction du débit ou du temps et l'abonnement.

Dans le cas de services réseaux offerts à plusieurs utilisateurs, il s'agira d'établir les personnes

qui devront supporter les coûts induits. Par exemple, dans le cas des réseaux téléphoniques,

c'est l'appelant qui paye.

1.1.3.5. La gestion de la sécurité

Particulièrement sensible est la gestion de la sécurité d'un réseau. Il s'agit de répondre aux

deux questions suivantes: "Qui a accès ?A quoi ?". Pour ce faire, on distingue deux grands

volets dans la gestion de la sécurité:

-la sécurité externe,

-la sécurité interne.

La sécurité externe

La sécurité externe regroupe tous les moyens mis en œuvre pour contrôler l'accès physique

des personnes aux différents éléments qui composent le réseau. Elle regroupe la notion de

gestion des locaux, des clés, des badges, etc.

La sécurité interne

On entend par sécurité interne la gestion des accès aux éléments du réseau par l'utilisation du

réseau informatique lui-même. On parlera alors de gestion des accès aux ressources. Elle met

en œuvre un certain nombre de mécanismes dont les plus courants sont: le codage ou

chiffrement, l'authentification des personnes et le contrôle d'accès.

(a) Le terme de médium est utilisé en réseau informatique pour décrire le suppmt physique de transm.ission del'information, typiquement un câble électrique.

(b) L'incapacité d'un réseau à assurer un débit suffisant pour écouler les informations est appelé phénomène

de congestion.

14 Administration des applicatifs réseaux

Le contexte général de l'administration de réseaux 1.1

Les aires fonctionnelles de l'administration forment un découpage qui permet de regrouper

des problèmes similaires entre eux. Il est pourtant difficile de cloisonner ces domaines; ils ont

d'importantes plages communes. Par exemple, la gestion des performances utilise

sensiblement les mêmes paramètres que la gestion des anomalies. De la même manière, la

localisation d'une erreur dans la gestion des anomalies nécessite la connaissance de la

configuration du réseau.

Certains auteurs, tel K. Terplan, préfèrent classer les fonctions d'administration par rapport à

leur impact temporel. C'est ce que nous abordons dans le point snivant.

1.1.4. Les niveaux d'administration

Définir un problème d'administration en estimant qu'il relève d'nne méthode à court, moyen

on long terme permet de définir trois niveaux d'administration. C'est une des méthodes de

classification retenue par K. Terplan [TER 92] dans son ouvrage "Communications NetIVorks

Management". Il distingue: l'administration opérationnelle, tactique et stratégique.

1.1.4.1. L'administration opérationnelle

Tous les problèmes concernant l'administration au jour le jour relèvent du court terme. Il

s'agit principalement de maintenir une configuration donnée en état de fonctionner. Nons

padons alors d'administration ou de contrôle opérationnel. Il met en jeu un certain nombre

d'activités telles la surveillance du bon fonctionnement, la détermination et l'isolation des

incidents et pannes, et la correction.

Un exemple de problème relevant du contrôle opérationnel peut être un dysfonctionnement

d'un amplificateur de signal qu'il s'agit de localiser et réparer.

1.1.4.2. L'administration tactique

Ce qui relève du moyen terme relève de l'administration tactique. Il s'agit par exemple de

définir les meilleurs paramètres de configuration pour obtenir la meilleure qualité de service.

Un exemple typique est de déterminer les ordinateurs qui ont la charge de "serveurs de

nom,,(a) pour le réseau. Ce peut être également le choix de connexion d'une nouvelle machine

en fonction du degré de maillage du réseau informatique. Bref, l'administration tactique

consiste à adapter la configuration sans modification majeure du réseau.

(a) Un ordinateur "serveur de noms" doit gérer un annuaire pour le réseau. Il doit pouvoir répondre aux

interrogations de concordances entre nom de mac/tine et adresse réseau.

Administration des applicatifs réseaux 1S

1.1

1.1.4.3. L'administration stratégique

Le contexte général de l'administration de réseaux

L'administration stratégique doit définir le plan d'extension du réseau à long terme. Elle doit

déterminer les besoins des utilisateurs et choisir, en fonction des moyens disponibles, les

technologies adéquates.

L'administration stratégique d'un réseau informatique est difficile. En effet, la vitesse

d'obsolescence des matériels informatiques et de leur techonologie n'offre une vue d'avenir

que sur deux ou trois ans pour un renouvellement moyen du matériel tous les quatre à

cinq ans.

Le découpage en trois niveaux d'administration, opérationnelle, tactique et stratégique, reflète

relativement correctement les classes de métiers en réseau informatique: techniciens,

ingénieurs/experts et décideurs.

Comme nous l'évoquions dans l'introduction de ce chapitre, l'administration de réseaux doit

"composer" avec la diversité des constructeurs. Nous allons présenter, dans le paragraphe

suivant, en quoi consiste l'hétérogénéité de l'informatique et de ses réseaux.

1.2. Réseaux hétérogènes, standards et normes

1.2.1. Réseaux hétérogènes: une description

La diversité des constructeurs informatiques et l'essor technologique qui composent le

domaine des réseaux informatiques entrainent une hétérogénéité des solutions infomatiques

proposées. Cette hétérogénéité peut être considérée sur trois plans complémentaires:

- hétérogénéité des matériels et des logiciels,

- hétérogénéité architecturale,

- hétérogénéité des données.

Détaillons chacun de ces axes.

1.2.1.1. Hétérogénéité des matériels et des logiciels

Concurrence et coopération sont deux notions généralement antinomiques. C'est pourtant

entre ces deux notions qu'oscillent continuellement les matériels et services proposés par les

différents constructeurs informatiques. La finalité d'un réseau informatique est bien entendu

de pouvoir faire dialoguer les ordinateurs entre eux, il s'agit d'intel'Opérabilité entre machines.

Ce bon sens n'est en fait qu'un vœu pieux par le fait de la concurrence entre constructeurs,

chacun essayant de s'approprier la plus grande part du marché.

16 Administration des applicatifs réseaux

Le contexte général de l'administration de réseaux 1.1

Ainsi, chaque constructeur propose souvent sa propre solution aussi bien au niveau du

matériel qui compose les ordinateurs et les réseaux qu'au niveau des solutions logicielles:

systèmes d'exploitation, protocoles de communication, etc.

1.2.1.2. Hétérogénéité architecturale

Les réseaux informatiques ont des étendues diverses. Il peut s'agir de réseaux entendus sur

une pièce, un étage, un immeuble; nous parlons de réseaux locaux. Ce peut être des réseaux

de campus ou urbains, il s'agit alors de réseaux métropolitains. On parle de réseaux longues

distances pour les réseaux nationaux et internationaux('). Or les technologies retenues pour

ces divers types de réseaux sont très différentes, car les fonctions visées et les contraintes ne

sont pas les mêmes. Vitesse de transfert, qualité et confidentialité des transmissions, débit

minimal assuré, coOt financier faible, autant d'exemples de paramètres généralement

incompatibles qui génèrent cette hétérogénéité architecturale.

1.2.1.3. Hétérogénéité des données

Nous venons d'évoquer les divers types de réseaux en fonction de leurs étendues

géographiques. Les réseaux informatiques se distinguent également par le type de données

qu'ils ont à véhiculer. Voix, images, textes, données informatiques, autant de problèmes

particuliers qu'il va falloir résoudre par un protocole particulier. Faut-il garantir la fidélité

parfaite d'une transmission de séquences d'images au détriment du débit? Peut-on supporter

une dérive entre la voix et l'image d'une séquence vidéo? La variété des problèmes liés au

type de données véhiculées entraîne nécessairement une hétérogénéité des solutions

informatiques utilisées.

L'hétérogénéité est la contrainte incontournable de l'informatique; elle se retrouve à tous les

niveaux. Cependant le poids commercial ou la taille du secteur d'implantation va permettre de

dégager des solutions plus largement reconnues, c'est ce que l'on nomme les standards de fait.

1.2.2. Standards de fait

En fonction de la taille du parc des machines dépendant de tel ou tel constructeur, le type de

réseau associé peut devenir un standard de fait. Le meilleur exemple est celui du protocole

SNA développé par la firme IBM. Un grand nombre de constructeurs ont choisi de s'y rallier

contraints et forcés de ne plus faire "cavalier seul" par le jeu de la concurrence, quitte même à

ne plus développer leur propre type de réseau. Un standard de fait est une forme de

(a) Les sigles anglo-américains équivalents à ces architectures sont respectivement LAN (Local Area

Network), MAN (Metropolit.n Are. Network) et WAN (Wide Are. Network).

Administration des applicatifs réseau.t 17

1.1 Le contexte général de l'administration de réseaux

"coopération" entre ordinateurs de constructeurs différents. Ces standards ont en général un

tronc commun et, malheureusement, des extensions propres à chaque constructeur. La

"coopération" est en fait limitée au "tronc conuuun".

Un deuxième exemple plus récent que SNA est l'impact de plus en plus grand de la solution

réseau proposée par le constructeur Novel1 dans le domaine des micro-ordinateurs de type

compatible PC. La part de marché est tel1e que les constructeurs de stations de travail sous

Unix développent désormais des passerel1es 10giciel1es afin de pouvoir s'implanter dans de

tels réseaux.

1.2.3. Normes et organismes de normalisation

Une deuxième forme que peut revêtir la "coopération" repose sur l'effort des organismes

internationaux de normalisation. Contrairement au standard de fait, l'idée est de définir a

priori un protocole, d'en publier les spécifications afin que chaque constructeur puisse

l'implanter dans son propre matériel.

En matière de réseaux informatiques, deux organismes internationaux de normalisation sont

incontournable!'>: l'ISO (International Standardization Organization) et le CCnT (Comité

ConsultatifInternational pour la Télégraphie et la Téléphonie). Ils se sont attelés à définir une

architecture de communication normalisée, le modèle de référence OSI (Open System

Information) [ISO 7498], et les protocoles et services correspondants.

Les réseaux normalisés semblent être la solution. Cependant, le travail de normalisation est un

processus à long terme, car il nécessite l'unanimité des différents organismes parties

prenantes. Les constructeurs optant pour les protocoles OSI vont nécessairement devoir gérer

un retard pour toute avancée technologique. Ainsi, contrairement à ce que l'on pourrait

imaginer, certains constructeurs préfèrent garder leur propre solution réseau ou les solutions

issues d'un standard de fait plutôt que d'opter pour un protocole normalisé.

1.3. Hétérogénéité et administration

Une telle variété de solutions informatiques ne permet pas la mise en place d'une solution

simple et unique au problème de l'administration de ces réseaux. En nous appuyant sur

l'article de D. Seret et Tie Liao [SER 93], nous distinguons quatre classes de solutions:

-l'administration mise en place par les utilisateurs,

-l'administration proposée par les constructeurs,

-l'administration qui s'impose comme standard,

-l'administration normalisée.

Nous allons développer ces quatre points dans les paragraphes suivants.

18 Administration des applicatifs réseaux

Le contexte général de l'administration de réseaux

1.3.1. L'administration mise en place par les utilisateurs

1.1

Un administrateur de réseau qui ne trouve pas de solution globale à son problème

d'administration va devoir développer sa propre méthodologie. Celle-ci aura l'avantage de

s'appliquer parfaitement à son cahier des charges.

Deux inconvénients majeurs sont alors à dépasser: le coût financier et temporel de

développement, les contraintes techniques(a).

D'autre part, la pérénnité d'une telle solution "maison" est sérieusement remise en cause par

l'essor rapide des matériels informatiques. L'administration utilisateur ne peut se justifier que

s'il n'existe pas d'autres solutions.

Nous détaillons dans le chapitre suivant la solution utilisateur mise en place par l'entreprise

Alcatel Business System [MAU 93] pour l'administration de son réseau de gestion de la

production sur la plate-forme de production de Strasbourg. Il s'agit typiquement d'une

solution utilisateur développée dn fait de la carence des solutions existantes dans le cas

particulier de la gestion des ressources d'un réseau.

1.3.2. L'administration proposée par les constructeurs

Depuis trois à cinq ans, l'administration de réseaux étant devenne un enjen financier

conséquent, les constructeurs proposent leur propre solntion. Elle est généralement restreinte à

leur propre type de matériel et de logiciel. Nous parlons alors d'administration propriétaire.

Les outils d'administration sont très récents, et alors qu'il n'en existait que quelques uns il y a

encore trois ans, ces deux dernières années ont vu un certain nombre de solutions couvrir le

marché. Nous donnons en annexe une liste des outils d'administration sur plate-forme Unix

disponibles en janvier 1994. Nous citons cinq d'entre eux, parmi les plus courants: Netview

(IBM), SunNet Manager (Sun), Openview (Hewlett Packard), DECmcc (DEC) et NMF (Bull).

Les solutions propriétaires sont généralement performantes et très riches en fonctionnalités.

Elles sont généralement restreintes - totalement ou en partie - au type de matériel dn

constructeur ce qui rend difficile ['utilisation d'une telle solution dans un environnement

hétérogène.

(a) L'utilisateur n'a pas accès à tous les paramètres de son réseau, soit par impossibilité technique, soit par

confidentialité technique. Comment pourra-t-il par exemple savoir le débit d'une carte réseau si le

constmcteur de la-dite carte n'a pas prévu une telle fonctionnalité?

Administration des applicatifs réseaux 19

1.1 Le contexte général de l'administration de réseaux

1.3.3. U administration pal' les standards

De manière assez récente, les restrictions des solutions propriétaires au type de matériel du

constructeur a tendance à diminuer, notamment pour certains produits tel Openview. Le

logiciel d'administration s'appuie dès lors sur certains standards d'administration.

Tout comme certaines solutions réseaux s'imposent au marché, certains protocoles et modèles

d'administration deviennent des standards de fait. Ainsi, dans le cadre des réseaux TCPIIP se

sont développés SNMP (Simple Network Management Protocol) [RFC 1I55] et le modèle

associé. L'administration via SNMP est décrite en détail dans le chapitre suivant

(paragraphes 2.3.1. et 2.4.1).

Ces solutions ont l'avantage d'être relativement globales dans le cas de réseaux hétérogènes et

leur pérennité est assurée par les constructeurs eux-mêmes. Le reproche le plus courant qui

leur est fait repose sur le constat qu'il s'agit de solutions un peu simplistes, qui ne décrivent

qu'une petite part des problèmes soulevés par l'administration de réseaux.

Cependant, même dans le cas de l'administration par SNMP, il ne s'agit, somme toute, que

d'un standard pour les réseaux TCPIIP. On ne peut alors parler de réelle solution globale pour

peu que l'on ait d'autres types de réseaux à gérer.

1.3.4. Uadministration normalisée

Il n'existe, à l'heure actuelle, aucun standard d'administration suffisamment générique pour

tout type de réseaux et ordinateurs. L'avancée la plus importante dans l'optique d'une solution

globale repose encore une fois sur les modèles et protocoles préconisées par les organismes de

normalisation.

Ainsi, l'ISO et le CClTT, dans leur modèle de réseau OSl, proposent des méthodes

d'administration très complètes. L'administration via le modèle OSI est vue dans le chapitre

suivant (paragraphes 2.3.2 et 2.4.1). D'autre part, les réseaux de télécommunications

fortement normalisés préconisent également des modèles d'administration. Ainsi le CCITI

propose TMN (Telecommunication Management Network) et INCM (Intelligent Network

Conceptual Model) pour normaliser ses modèles d'administration. Les actes du congrès

d'octobre 1992 sur les réseaux intelligents [GAI 92] donnent une idée assez complète de ces

travaux et notamment l'article de R. Kung [KUN 92]. Nous ne décrivons pas ces modèles

clans notre thèse car il s'applique principalement à cles architectures de réseaux de

télécommunication, ce qui n'entre pas dans le cadre cie nos travaux.

La solution de la normalisation est certainement la plus "avenante". Elle est globale et offre

généralement de très larges fonctionnalités. Cependant, le facteur temporel reste crucial dans

le choix d'un constructeur d'adopter une telle solution pour son matériel, car la normalisation

prend du temps et il reste encore beaucoup d'éléments non définis. C'est pourquoi les

20 AdmÙlistratioll des applicatifs réseatL\·

Le colltexte général de /'administratÎoll de réseaux 1.1

constructeurs n'implantent que rarement les éléments nécessaires à l'administration suivant

les normes, ce qui rend cette solution "globale" plutôt restreinte. Certains auteurs [ECK 92]

vont jusqu'à mettre en doute l'implantation réelle d'une telle solution normalisée.

Nous venons, dans le présent chapitre, de resituer le contexte général de l'administration de

réseaux. Nous avons vu qu'il s'agit d'un domaine en pleine croissance, à plusieurs angles

d'approche suivant les fonctionnalités attendues et le type des objets à administrer. Nous

avons présenté les difficultés à appréhender les problèmes d'administration du fait de

l'hétérogénéité des solutions informatiques actuelles.

Nous allons, dans le chapitre suivant, exposer le plus précisément possible l'état de l'art dans

ce domaine: ce qui est fait et ce qui reste à faire.

Administration des applicatifs réseaux 21

1.2 L'état de l'art ell administration de réseaux

2. L'état de l'art enadministration de réseaux

L'administration de réseaux est, comme nous l'avons dit, en pleine croissance, en pleine

mutation. Nous nous efforçons dans le présent chapitre de fixer l'état de l'art actuel dans ce

domaine, sur le plan tant de la recherche, des normes et standards que des propositions des

constructeurs.

Plutôt que de passer en revue chaque modèle, nous présentons les composantes d'une

architecture générale d'administration en détaillant pour chacune d'elles les diverses solutions

proposées et/ou implantées. Nous comparons ces solutions en tentant de mettre en exergue

leurs avantages et leurs inconvénients respectifs. Nous soulevons certaines carences actuelles

dans le domaine de l'administration des réseaux. Cependant, avant cela, il nous faut sitner

précisément le cadre des travaux dans le domaine de l'administration.

2.1. Cadre des travaux d'administration de réseaux

Comme nous l'avons exposé brièvement dans le chapitre précédent, quatre composantes

travaillent de manière prépondérante sur la gestion de résean. Les utilisateurs finaux, les

constructeurs informatiques, les organismes de normalisation et les laboratoires de

recherche: tons sont acteurs dans l'élaboration des concepts et des outils de ce domaine. Les

interactions sont continuelles. Ainsi la recherche en administration se fait en étroite

collaboration avec les organismes de normalisation. De même, les associations et consortiums

d'utilisateurs ont un poids important sur les futures nonnes et les nouveaux outils. Nous allons

présenter, brièvement les composantes structurées de l'administration de réseaux

2.1.1. Les organismes de normalisation

L'administration de réseaux, de par sa nature, est un domaine où la normalisation a un rôle

particulièrement prépondérant, et il n'est pas étonnant de trouver de nombreux organismes

nationaux et internationaux travaillant sur la gestion de réseau. Les principaux sont L'ISO,

l'IEC (International Electrotechnical Committee) et le CCITI, déjà cités précédemment.

22 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux

2.1.1.1. L'ISO

1.2

L'ISO (International Standardization Organization) a été créée en 1946. Elle regroupe les

organismes internationaux de normalisation de 90 pays. Elle publie des normes couvrant tous

les domaines. Le Tec!lIlical Comittee 97 (Comité Technique) chargé des technologies de

l'information est commun à la !EC. La référence habituelle à leurs travaux est ISOIIEC JTCI

(Joint Technical Committee 1). Le domaine particulier de l'administration repose sur deux

SubComittees (Sous-comités) : SCI6 et SC21 et plus particulièrement sur les Working Groups

(Groupes de travail) SC2IWGI, SC21WG4 et SC2IWG6. Ces groupes de travail ont été

formés dans le milieu des années quatre-vingt. L'article de Y. Kobayashi [KOB 89] présente

les divers groupes de travaux de l'ISO dans le domaine de l'administration de réseaux.

L'ensemble des travaux de ces groupes de normalisation s'intègre directement dans le modèle

générique de réseau défini également par l'ISO: le modèle OSI (Open System Information).

Le modèle OSI est défini par la norme ISO 7498 "Open Systems 1nterconnection - Basic

reference model for Open Systems interconnection". M. Rose présente de manière assez

pédagogique le modèle OSI dans son ouvrage, "The Open Book" [ROS 89]. Le lecteur

trouvera une description plus récente et plus détaillée dans le livre "Gestion de réseaux ­

Concepts et outils" publié par le CNET (Centre National des Etudes en Télécommunication)

[CNE 92].

Dans le modèle OSI, l'administration de réseaux en particulier est définie dans la quatrième

partie de la norme ISO 7498 "OS1 management Framework". Elle a été publiée en 1988. Elle

réalise la description des différents protocoles, objets et structures qu'il est nécessaire de

mettre en place pour pouvoir décrire et collecter toutes les données pertinentes à

l'administration de réseaux.

D'autre part, les travaux des groupes de normalisation cités ci-dessus ont donné lieu à la

publication d'une série de normes (courant 1991 et 1992) : ISO 10040, ISO 9595, ISO 9596 et

ISO 10164, ISO 10165 dont nous préciserons le contenu dans la suite de cette première partie.

2.1.1.2. Le CClTT

Le CCITT (Comité Consultatif International Télégraphique et Téléphonique) est un

organisme de standardisation international dépendant de l'UIT (Union International des

Télécommunications). Sa principale action est l'édition de recommandations principalement

en téléphonie.

Dans le domaine de l'administration de réseaux, le CCITT développe deux branches.

Historiquement, l'administration des réseaux téléphoniques préconisée par le CCITT repose

sur le modèle TMN (Telecommunications Management Network). Il s'applique aux réseaux

Administration des applicatifs réseaux 23

1.2 L'état de ['art ell administration de réseaux

téléphoniques publics et en particulier au RNIS. 11 a été décrit dans la recommandation M.3ü

[CCITT M3Ü]. Ce modèle est décrit de manière assez complète dans l'ouvrage de D.Gaïti et

G. Pujolle "L'intelligence dans les réseaux" [GAI 93], le lecteur trouvera cependant en

annexe une courte description de TMN. D'autre part, du fait du fort rapprochement des

technologies utilisées dans les réseaux téléphoniques et dans les réseaux informatiques, le

CCITT participe pleinement aux travaux de normalisation issus de l'ISO et co-publie les

normes proposées.

2,1.2. Les associations d'utilisateurs et de constructeurs

De manière complémentaire aux organismes de normalisation, les associations d'utilisateurs

et les consortiums de constructeurs participent pleinement au domaine de l'administration.

Les principaux sont l'OSIINM Forum (OSIINetwork Management Forum), l'OSF (Open

Software Foundation) et l'IAB (Internet Advisory Board).

2.1.2.1. OSINMIFORUM

UOSI NMIFORUM (Network Management Forum) est une association internationale

exclusivement consacrée à la gestion de réseaux. Fondée en 1988, elle dénombre plus de cent

organisations partisipantes (ATI, British Telecom, Franc~ Telecom, NTI, Bull, DEC, IBM,

Siemens, etc). Elle ~'applique principalement à définir dè~ règles d'implantations minimales

du modèle d'administration OSI et tente d'accélérer la disponibilité des produits de gestion de

réseau s'appuyant sur les normes OSI.

2.1.2.2. L'OSF

L' OSF (Open Software Foundation) est une association créée en 1988 qui regroupe différents

contructeurs et fournisseurs informatiques. Les neuf fondateurs sont IBM, Bull, HP, DEC,

Apollo, Hitachi, Nixdorf, Philips et Siemens. Le principe de base est de retenir les meilleurs

logiciels (ou parties des logiciels) des membres de l'association et éventuellement de

demander à des organismes choisis des développements complémentaires. Ainsi a été lancé,

fin 1992, OSF/DCE (Distributed Computing Envil'Onment) dont le concept de base repose sur

la coopération entre les machines. En extension à DCE, dans le domaine de l'administration

de réseaux, l'OSF préconise le DME (Distributed Management Environment) qui est le

gestionnaire des systèmes à administrer. Il est annoncé pour fin 1994, début 95.

2.1.2.3. UIAB

L'IAB (Internet Advisory Board) est une structure qui fédéralise différents groupes de travail

dans le domaine des réseaux. Uun d'entre eux, l'IETF (Internet Engeniering Task Force) est

24 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux 1.2

plus spécialement chargé de tout ce qui à trait à la famille de protocoles TCP/IP. Les

participants à ces groupes de travail sont issus de centres universitaires, d'entreprises,

d'organismes gouvernementaux, etc.

L'Internet - réseau international basé principalement sur TCP/IP - est le domaine d'application

privilégié de ces groupes. L'essor extrèmement rapide de ce réseau fédérateur, décrit entre

autres par M. Lotter [RFC 1296], en fait un élément incontournable du domaine des réseaux.

Les publications faites par l'IAB sont éditées et diffusées sous la forme de RFC (Request For

Comments). Les bases de l'Internet et des protocoles associés (IP, TCP, UDP, ICMP) sont

ainsi décrits dans les documents suivants: RFC 760, RFC 761 et RFC 768.

Le cadre de travail étant présenté, nous allons décrire ce que peut être une architecture

générale d'administration de réseaux.

2.2. Architecture générale d'un système d'administration

L'administration réseau repose sur quatre problèmes imbriqués. Tout d'abord, il s'agit de

recenser les objets qui composent un réseau, ce que l'on peut appeler: la configuration. Le

deuxième problème est l'observation de l'évolution des états et des interactions de ces objets.

Et enfin, il est nécessaire de définir l'analyse à effectuer sur les données obtenues et les

actions à opérer pour une meilleure qualité de service.

Pour définir une architecture suffisamment générique d'un système d'administration de

réseaux qui réponde aux problèmes soulevés ci-dessus, nous reprenons la présentation de W.

Stallings dans son ouvrage "SNMp, SNMPv2 and CMIP" [STA 93] qui distingue trois

composantes essentielles:

- L'information d'administration: Comment peut-on définir l'information nécessaire à

l'administration?

- Les mécanismes mis en jeu: Quelles méthodes sont utilisées pour recueillir ces données et

les stocker?

- Les applications d'administration: Quelles analyses et quels traitements opérer sur les

informations afin d'obtenir des résultats pertinents et exploitables?

Ainsi, suivant ces trois axes, nous allons présenter et comparer les solutions actuelles ou en

cours d'élaboration pour définir un système d'administration de réseaux. Nous détaillerons

principalement les deux solutions les plus connues: SNMP et OS!. Nous indiquerons

quelques solutions particulières, leurs avantages et inconvénients. Le troisième axe concernant

les traitements et analyses effectués sur les données d'administration sera traité dans le

chapitre suivant en s'intéressant plus précisémment aux problèmes liés à l'analyse des

dépendances entre applications réseaux.

Administratioll des applicatifs réseaux 25

1.2 L'état de l'art en administration de réseaux

2.3. L'information d'administration

Toute administration repose sur des données à traiter. Nous avons indiqué au paragraphe

1.1.2 - page 11, que dans le domaine des réseaux, ces données concernaient soit du matériel,

soit du logiciel, ou encore des utilisateurs. Un système d'administration de réseaux doit, en

premier lieu, permettre de nommer chaque objet de façon unique afin de les distinguer. Il doit

d'autre part définir un moyen de description de ces objets (sous-composantes, emplacement

géographique, etc). Cette description doit englober l'évolution dans le temps de l'état des

objets (le port untel a tel débit instantané, tel ordinateur a actuellement telle charge de calcul,

etc). Enfin il est nécessaire d'établir les relations qui existent entre les objets (tel logiciel est

mémorisé sur tel disque magnétique, tel câble est connecté à telle interface, etc),

2.3.1. L'information sous SNMP

L'administration par SNMP s'applique, avant tout, au réseau TCP/IP dont le lecteur trouvera

une description complète dans les ouvrages de D.E. Corner et D.L. Stevens "Internetworking

with TCPIIP" [CaM 88], [CaM 91] et [CaM93].

2.3.1.1. Dénomination et description des objets sous SNMP

L'administration pour les réseaux TCPIIP repose sur des concepts simples définis dans les

documents RFC 1155 et 1156. Ces concepts sont décrits dans ce qui est appelé le SMI

(Structure of Management Information) qui comporte deux principes:

- La dénomination des objets: Elle repose sur la définition d'un arbre comprenant tous les

objets à administrer. Le nom d'un objet est construit en fonction du chemin qu'il est

nécessaire de parcourir depuis la racine de l'arbre jusqu'à l'objet(a). Un exemple est donné

ci-dessous.

- La description des objets: Elle est faite au moyen d'attributs élémentaires(b) eux-mêmes

inscrits dans l'arbre de dénomination juste "en dessous" de l'objet décrit. En fait, il n'y a

pas de distinction entre objet et attribut d'objet.

(a) Il est nécessaire de faire la distinction entre classe d'objets et instance d'objets. L'arbre de nommagerepère de manière absolue les classes d'objets. Nous verrons que lorsqu'il est implanté, il concerne lesinstances des objets et des composantes de l'équipement sur lequel il est localisé.(b) Les types des attributs ne peuvent être que des entiers, des chaînes de caractères et des séquences d'entiersou de chaînes de caractères.

26 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux 1.2

Le SMI définit un ensemble de règles de description formelle de cet arbre et des données qu'il

mémorisera). Pour ce faire, le SMI utilise ASN.l (Abstract Syntax Notation One) [ISO 8824]

[ISO 8825] qui est un langage de description formelle de données.

L'arbre de dénomination et de description des objets à administrer ne se restreint pas

uniquement à l'administration des réseaux TCPIIP, Il s'inscrit dans la structure arborescente

d'identification des objets ISO/CCITI. La racine de cet arbre comporte ainsi trois nœuds: Iso,

ccitt etjoint-iso-ccitt(b). Le chemin à parcourir pour arriver aux objets d'administration des

réseaux TCPIIP est root.iso.org.dod.internet.lIlglllt.lIlib. Ce sous-arbre est appelé MIB TCP/IP

(Management Information Base) .

Le schéma 1 trace la portion de l'arborescence décrite par le SMI pour atteindre la sous­

arborescence concernant la MIB TCP/IP.

root

joint-iso-ccitt(3)

~

private(4)

~

Ccill(2)

~

iso(l)

~... org(3) ...

~... dod(6) ...

~... internet(l) ...

-----r ~:-----directory(l) mgmt(2) experimental(3)

~ ~

ManagementInformation

Base

Schéma 1: MIR SNMP au sein de l'arbre de dénomination iso-edit

(a) Les spécifications du SMI initial ont été complétées dans la nouvelle version du SMI publié dans le

RFC 1442 en avril 1993.

(b) L'arbre décrit par le SMI est prévu pour répertorier des objets quelque soit le cadre d'utilisation; nous

verrons qu'il est également utilisé dans l'administration ISO.

Administration des applicatifs réseau.x 27

1.2 L'état de l'art en administration de réseaux

2.3.1.2. MIE, MIE-II, extensions de MIE et MIE privées

La MIE TCP/IP a été décrite initialement dans les documents RFC 1155 et RFC 1156. Elle

comprenait huit branches, qui se subdivisent pour décrire l'ensemble des objets et des

composantes dans le domaine des réseaux Tep/IP, Chaque branche est communément appelée

groupe:

- system: concerne les informations générales sur l'objet: le numéro de série, une

description de la fonctionnalité, le temps qui s'est écoulé depuis la dernière ré­

initialisation, etc.

- intelfaee : décrit les informations générales sur les interfaces(a) réseaux de l'objet: nombre

d'interfaces, informations sur chacune d'elles (état courant, vitesse de transfert,

statistiques sur la quantité d'informations ayant transité, etc),

- at: (address-translation) décrit une table de correspondance entre l'adresse physique de

l'objet et l'adresse réseau de niveau de protocole plus élevëb) et ceci pour chaque

interface.

- ip : se rapporte à tout ce qui relève de l'implantation et des opérations de la couche IP

(Internet Protocol). Les informations concernent principalement les tables de routages(c) et

les statistiques de trafic.

- iemp : s'applique aux informations relevant de la couche ICMP (Internet Control Message

Protocol). Il s'agit principalement de compteurs décrivant le nombre de messages de ce

type échangés,

- tep: concerne les informations de la couche TCP (Transmission Control Protocol),

- udp : concerne les informations de la couche UDP (User Datagram Protocol)

- egp : décrit les informations relevant du protocol EOP (External Oateway Protocol) qui

permet l'échange des tables de routages entre routeurid) appartenant à des domaines de

routage différents,

Le schéma 2, ci-après, illustre les huit groupes initiaux de la MIE,

(a) Dans ce contexte, une Inte1face réseau est l'équipement informatique, généralement une carte

électronique, qui gère les communications vers ou en provenance d'un câble réseau (ou médium).

(h) Il s'agit le plus souvent de la correspondance entre des adresses ethemet et des adresses in/eruels mais ilpeut également s'agir d'adresses physiques X,121 dans le cas d'un réseau X.25.

(c) Les tables de routages permettent d'aiguiller les paquets de données à transmettre sur l'interface adéquateen fonction de l'adresse de destination.

(d) Un rouleur est un matériel informatique actif - typiquement un ordinateur dédié à cette tâche - qui permet

d'aiguiller les flux de données circulant sur le réseau en fonction de la destination de chaque paquet de

données.

28 Administration des applicatifs réseallX

L'état de l'art en administration de réseaux 1.2

root(l)

iso(l)

1

1

ecitt(2) joint-iso-ccitt(3)

egp(8)udp(7)tep(6)

mib(l)

__---~1~~=====~=====--_syslem(l) interfaees(2) at(3) ip(4) iemp(S)

Schéma 2 : Structure arborescente de la MIll pour TCP/IP

Prenons l'exemple d'un objet décrit par la MIE. Il s'agit de connaître le fabricant d'un objet,

par exemple un routeur. La référence à un tel attribut aura, par exemple, comme identifiant

root.iso.org.dod.internet.mgmt.mib.system.sysDescr. Une numérotation des nœuds de l'arbre

en fonction de la profondeur permet une dénomination plus maniable, à savoir 1.3.6.1.2.1.1.1.

Nota: Le SMI indique que la dénomination des objets doit se terminer par ".0" lorsque cet

objet est localisé sur une machine. Il ne s'agit pourtant pas d'une instance de l'objet car la

machine elle-même n'est pas à préciser. Deux objets "localisés"pourront donc avoir

exactement la même dénomination sur deux équipements différents.

MIB-II

La définition de la MIE ne peut décrire que les éléments existants. Or les innovations

techniques en matière d'éléments informatiques précèdent inévitablement leurs

standardisations. Ainsi une deuxième définition de la MIE, appelée MIE-II est venue

remplacer et compléter la MIE initiale. Elle est décrite dans le RFC 1213 publié en 1991. Elle

ajoute deux groupes supplémentaires(a) :

- transmission: permet de décrire les détails techniques du médium(b).

- snmp : concerne les informations qui relèvent de l'implantation de la couche SNMP

elle-même.

La définition de la MIE-II en 1991 ne suffit cependant pas à décrire celtains domaines de

l'administration TCPIIP. De nombreux auteurs, tels M. Rose [ROS 94] et

W. Stalling [STA 93], soulignent la carence de la MIE au niveau des couches réseaux les plus

(a) La MIll-II complète également certains éléments des groupes déjà définis dans la MIll initiale.

notamment le groupe ip.

(b) Cf. note a - page 14.

Administration des applicatifs réseaux 29

1.2 L'état de l'art en administration de réseaux

élevées (en référence au modèle hiérarchique OSI). Ainsi aucun groupe ne décrit les

informations concernant les ressources telles les imprimantes, les disques, et les protocoles

associés. De même, aucune définition n'est donnée pour décrire les logiciels dont un

ordinateur dispose, etc. Ainsi de nouvelles extensions de la MIE, mais cette fois-ci par

domaine, sont en cours de définition. De nouvelles extensions ont été publiées: la "RMON

MIE", la "Host Ressource MIE" et la "Network Services Monitorig MIE". La RMON MIE

permet de décrire des paramètres de sondes SNMP dédiées à la surveillance du trafic. Nous

détaillons les deux autres MIE citées dans le chapitre suivant car elles concernent directement

le sujet de cette thèse.

MIE privées

Le SMI a prévu, de manière complémentaire aux spécifications de la MIE standard et de ses

extensions, une branche de l'arbre repérée par le nœud private ne comportant qu'un unique

fils: ellie/prise.

Cette portion de l'arbre permet aux constructeurs de matériel informatique de spécifier leur

propre MIE qui définit les paramètres propres aux matériels et non définis dans la MIE

standard: ce que l'on appelle une MIE privée. Chaque entreprise pouna être référencée sous

le nœud ente/prise et définir, à partir de là, sa propre MIE. La description de cette MIE privée

doit être publiée dans le langage ASN.l afin d'être utilisable par tous.

Le schéma 3, ci-dessous, indique l'emplacement des MIE privées dans l'arborescence SMI.

root

iso(l)

~org(3)

~... dod(6) ...

~internet(l)

ccitt(2)

~

joint-iso-ccitt(3)

~

private(4)

1

enterprise(l)

~MIBprivées ---------------------'1

experimental(3)

~

mgmt(2)

1mib(l)

~

directory(l )

~

Schéma 3 : MIE privées dans le SMI

30 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux 1.2

Comme nous venons de le décrire, les concepts de l'administration SNMP sont relativement

simples pour décire les données d'administration. Nous relevons la simplicité des types

d'attributs, l'architecture arborescente souple permettant des ajouts de définitions aisés, et une

méthode de dénomination des objets homogènes.

Les choix de la normalisation ISO sont différents comme nous allons le présenter maintenant.

2,3,2, L'information d'administration ISO

L'ISO a défini sa SMI (Structure of Management Information) tout comme l'a fait la

communauté Internet pour SNMP. Celle-ci est décrite dans le document de normalisation

ISO 10165. Une présentation plus abordable en est faite dans l'ouvrage de C. Lecerf et D.

Chomel: "Les normes de Gestion de Réseall à l'ISO" [LEC 93].

2.3.2.1. Modèle orienté objet

L'information d'administration des réseaux dans le modèle OSI fait partie d'un modèle

d'information complexe qui s'appuie sur un modèle orienté objet. Le concept repose sur la

définition de classes d'objets spécifiant la vue abstraite des entités réseaux administrables.

Chaque objet est muni de propriétés: les attributs et les méthodes. U attribut décrit des

valeurs associées à l'objet, la méthode est une opération que l'objet peut subir ou engendrer. Il

s'agit de l'approche classique des modèles orientés objets qui est reconnue pour ses propriétés

d'évolutivité et le caractère "réutilisable" de ces objets.

Les classes d'objets d'administration OSI rassemblent des éléments ayant les mêmes

propriétés, c'est-à-dire les mêmes attributs et méthodes. Dans le contexte OSl, ces groupes de

propriétés sont appelés paquetage (package). La norme OSI subdivise un paquetage en quatre

composantes:

-les opérations de gestion que l'objet peut effectuer à la demande,

-les notifications que l'objet génère de son propre chef en fonction d'occurrence

d'évènements spécifiques (on peut les assimiler à des "messages d'alerte").

--la description du comportement de l'objet: cette composante permet de spécifier la

sémantique des opérations, des notifications et des attributs, les dépendances entre valeurs

d'attributs, les préconditions et postconditions des méthodes, les invariants des objets, etc.

Les spécifications du comportement sont généralement décrites en langage naturel(a).

-l'ensemble des attributs associés à l'objet. Un attribut est d'un type donné qui est défini par

l'ensemble des valeurs qu'il peut prendre et par les opérations de comparaison qui peuvent

lui être appliquées.

(a) Certaines spécifications utiliseront des langages formels tels LOTOS ou ESTELLE.

Administration des applicatifs réseau.x 31

1.2 L'étarde l'art en administratioll de réseaux

Les concepts sur les classes sont ceux retenus habituellement dans les modèles objets :

- héritage (multiple): les propriétés d'une classe sont déduites des propriétés d'une ou

plusieurs autres classes définissant ainsi des sous-classes et des super-classes.

- spécialisation: une sous-classe hérite des propriétés d'une autre classe, mais en ajoute des

extensions propres.

- généralisation: création d'une super-classe regroupant des propriétés de sous-classes.

- allomorphisme : propriété de similitude entre membres de classes différentes qui autorise

l'utilisation d'un objet d'une classe comme s'il faisait partie d'une autre classe.

2.3.2.2. Dénomination des objets gérés

La distinction entre noms de classes d'objets et noms d'instances d'objets est plus claire que

dans le modèle SNMP.

Dénomination des classes des objets

Pour ce qui est de la dénomination des classes d'objets, l'ISO utilise l'arbre d'identification

défini conjointement par le eCIIT et l'ISO elle-même (tout comme pour l'administration sous

SNMP).

Nous présentons dans le schéma 4la branche OIW (OSI Implementers Workshop) repérée par

le nom root.iso.org.oiw et sous laquelle est définie un certain nombre de classes d'objets

d'administration OSI(a).

root

iso(l)

~.n org(3) .n

~

/ ~---==-m~~subtree

ccitt(2)

~

joint-=iso-ccitt(3)

~ms

Schéma 4 : Arbre de dénomination des classes d'objets d'amillis/ration ISO

(a) Le tenue MIB est souvent utilisé pour décrire l'arbre de nommage des classes de la même manière quepour l'administration SNMP.

32 Administration des applicalljs réseaux

L'élal de l'art en administration de réseaux 1.2

Nota: Tout objet normalisé doit être inventorié dans l'arbre de dénomination ISO/CCITT à

partir du nœud joint-iso-ccitt.ms(a). Ceci permet d'éviter les doublons et d'établir une

nomenclature exhaustive.

Dénomination des instances d'obiets

La dénomination des instances des objets est totalement indépendante des noms de classes.

Elle est également construite sur une architecture arborescente de la manière suivante. Une

instance d'objet est nommée par rapport à une instance d'objet supérieur auquel il est

subordonné. Cette relation est appelée lien de nommage. Le nom d'un objet peut être donné

relativement à l'objet auquel il est subordonné, on parle alors de RDN (Relative Distinguished

Name) ou de manière absolue, par rapport à la racine de l'arbre de nommage. Il s'agit alors de

GDN (Global Distinguished Name). Ce GDN est constitué de la concaténation de tous les

RDN utilisés depuis l'objet en haut de la hiérarchie jusqu'à l'objet désigné. Un RDN est

simplement un attribut particulier ayant une valeur qui distingue de manière unique les objets

subordonnés à un même objet supérieur, afin de lever toute ambiguïté.

2.3.2.3. La description des objets

L'ISO a défini un langage et une syntaxe de spécification pour décrire les objets. Celui-ci est

décrit dans la quatrième partie de la norme ISO 10165 "GDMO: Guidelinesfor the Definition

of Managed Objects". GDMO reprend d'une part la syntaxe du langage de description

formelle ASN.l et permet d'y associer des clauses comportementales en langage naturel. Il

s'agit en quelque sorte de "formulaires" de spécification.

L'exemple ci-dessous présente le "formulaire" de définition d'une nouvelle classe.

<class-label> l~AGED aBJECT CLASS

[DERIVED FROH<class-label>[,class-label>]*;

J[CHARACTERIZED BY

<package-label> {, <package-label>] *;J[CONDITIONAL PACKAGES

<package-label> PRESENT IF <condition-definition>[,<package-label> PRESENT IF <condition-definition>]*;]

JREGISTERED AS <Object-identifier>;

supporting productionscondition-definiton --> delimited-string

(a) ms est l'abbréviation pour management specification.

Administration des applicatifs réseaux 33

1.2

Les obiets d'administration définis par l'ISO

L'état de l'art en administration de réseaux

L'ISO a défini des ensembles de classes d'objets qui lui permettent de réaliser les fonctions

d'administration qu'il préconise dans ses différentes normes. Ainsi nous retrouvons dans

l'arbre de dénomination ISO/CCITT les nœuds suivants:

-management specification (ms) : déjà signalé précédemment, il établit une nomenclature de

tous les objets d'administration OSI,

- systems-management information overview (smo) : utilisé pour les objets de la norme

ISO 10040,

- comfllon-management information protocol (cmip) : utilisé pour les objets de la norme

ISO 9596,

- systems-management functions (function) : utilisé pour les objets de la norme ISO 10164,

- structure ofmanagement information (smi) : utilisé pour les objets de la norme ISO 10165.

En plus des objets prédéfinis, l'ISO a prédéfini certains attributs courants qu'il distingue en

deux groupes, les attributs génériques et les attributs spécifiques.

Les attributs génériques

L'ISO a prédéfini un ensemble d'attributs génériques qui se répartissent en deux familles:

- counter: il s'agit d'un type relativement simple puisqu'il s'agit d'entiers positifs qui

permettent de compter des occurrences d'évènements (nombre de paquets de données

transmis sur une interface, nombre d'erreurs de transmission, etc). On distingue les

compteurs positionlJables, en lecture seule, et les compteurs qui désignent des seuils pour

les opérations de notification.

-gauge: ce type d'attribut permet de décrire des variations instantanées telles le nombre de

connexions courantes, le débit courant d'une ligne, etc. Les valeurs mémorisées peuvent

croître et décroître. Il s'agit d'attribut en lecture seule mémorisant des valeurs entières,

positives.

Les attributs spécifiques

L'ISO a également défini des attributs pour décrire les informations particulières nécessaires

aux objets décrits dans les branches ms, smo, cmip, function et smi (citées ci-dessus). Il s'agit

des attributs spécifiques. La norme en définit un grand nombre; nous en citons quelques uns:

System ID (nom de l'instance de la classe système), Attribute list (liste d'identificateurs

d'attributs et de leur valeur associée), Event time (date de génération d'un évènement), etc

34 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux 1.2

De la même manière que pour la spécification d'attributs, l'ISO a prédéfini des paquetages

complets, réutilisables. Ainsi, l'ISO propose tout un éventail d'objets, d'attributs et de

méthodes pour décrire les entités à administrer et leur comportement.

2.3.3. Autres modèles d'informations

Nous trouvons peu d'autres modèles de données pour l'administration réseau dans la

littérature académique. Ceci s'explique certaiuement par l'hégémonie du modèle OSI pour ce

qui est de la théorie et du modèle SNMP pour ce qui est de la pratique. Nous citons cependant

le travail de J. Filipiak, A. Lombardo et S. Palazzo [FIL 93], qui choisissent une approche

totalement différente. Ils définissent les objets par leurs coordonnées dans l'espace des

ressources: "F-space". Cet espace est muni de trois dimensions: l'axe F qui concerne les

fonctionnalités, l'axe S qui décrit les différents services et enfin l'axe D qui décrit le niveau

d'importance. Cette méthode de dénomination des ressources est totalement originale et prend

quelque peu à contre-pied les approches plus traditionnelles.

D'autre part, les outils d'administration de réseaux utilisent parfois leur propre modèle de

données mais celui-ci n'est que rarement publié. C'est par exemple le cas pour l'outil

"Sysloacf' édité par Cerg Plus qui offre certaines fonctionnalités nouvelles dans le domaine

qui nous intéresse tout particulièrement, à savoir la gestion des ressources et de leurs

interdépendances.

Après avoir présenté les modèles de description des données d'administration les plus

courants, notamment SNMP et OSl, nous allons maintenant en souligner les avantages et

inconvénients respectifs et en soulever les carences.

2.3.4. Evaluation des modèles d'informations

Les deux modèles de données les plus courants sont très différents. L'ISO préconise un

modèle très complet par le biais d'une approche orientée objet qui offre un avantage certain

par la réutilisation possible des objets spécifiées. Il faut noter, cependant que contrairement à

ce que l'on pouvait penser, cette approche n'a pas empéché une certaine "boulimie" de

définition de classes et sous-classes d'objets (chacun rajoutant ses attributs et ses méthodes

propres). En pratique, l'administration par le modèle OSI n'est que peu utilisée principalement

à cause de la faible implantation de ce type de réseau.

En revanche, le modèle SNMP est très simple; trop simple pour certains. Les objets sont en

fait définis par de simples variables: facilement implantables et interogeables. La plupart des

constructeurs de matériels informatiques implantent la MIB SNMP dans leurs équipements et

Administratioll des applicatifs réseaux 3S

1.2 L'état de l'art en administraaOIl de réseaux

développent généralement leurs propres MIE. SNMP est pour l'instant le modèle

d'administration roi.

Par contre, comme nous l'illustrerons dans le chapitre suivant (paragraphe 3.2.1.4 - page 63)

une des carences profondes de SNMP et de l'administration OSI est la difficulté de décrire les

relations entre les objets. Tant que le modèle ne sert qu'à décrire des objets relativement

simples, les relations ne sont pas particulièrement utiles. Par contre dès qu'il s'agit de décrire

des objets plus complexes (une application réseau par exemple), le problème devient entier.

Nous avons présenté les modèles d'informations d'administration de réseaux. En reprenant

notre architecture générale d'un système d'administration, nous allons maintenant aborder le

deuxième point, c'est-à-dire les mécanismes mis en œuvre pour réaliser les fonctions

d'administration.

2.4. Les mécanismes mis en œuvre pour l'administration

Un système d'administration de réseaux requiert la mise-en-œuvre d'un ensemble de

mécanismes logiciels et/ou matériels. Quel que soit le modèle utilisé pour spécifier les

données d'administration, il est nécessaire de les collecter, de les mémoriser et de les

exploiter. L'architecture habituellement mise en place comporte ainsi les éléments suivants:

-les agents - également appelés sondes,

-les cana/Ix et protocoles de transfert de l'information,

-les plates-formes d'administration, également appelées intégrateurs(a).

2.4.1. Les agents d'administration

Les agents sont localisés sur chaque élément réseau à administrer. Ils ont pour rôle d'observer

les éléments de l'entité réseau qu'ils surveillent et d'en construire une vue abstraite suivant le

modèle d'informations qui est retenu. Ils tiennent à disposition ces données pour les requêtes

issues d'un logiciel d'administration.

2.4.1.1. Les agents SNMP

Nous avons décrit le modèle des données d'administration SNMP au paragraphe 2.3.1 ­

page 26. L'agent SNMP a la charge de répondre aux requêtes en associant à un nom d'objet

de MIE la valeur associée qu'il observe. La manière dont sont réellement stockées les

(a) Nous gardons le terme de plate10rme d'administration plutôt que d'utiliser le mot intégrateur. Ce terme,

bien qu'évitant une périphrase un peu lourde, n'est que très peu utilisé. La littérature anglo-saxonne utilise

souvent le terme de manager.

36 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux 1.2

informations n'est pas spécifiée. Un agent SNMP supporte généralement la MIB-II standard et

éventuellement une extension de MIB propriétaire. Par exemple, un routeur fabriqué par la

société Cisco dispose souvent d'un agent SNMP qui est apte à répondre aux requêtes

concernant des objets de la MIE-II et de la MIB Cisco associée au routeur en question.

2.4.1.2. Les agents OSI

L'ISO a prévu dès la conception de son modèle de réseau OSI d'intégrer des mécanismes

d'administration. Ceux-ci sont présentés dans la quatrième partie de la norme ISO 7498

"Management FramelVork",

Les agents OSI sont en fait des applications de la couche 7 OSI dédiées à l'administration, Il

s'agit d'entités d'application réalisant les services d'administration appelés: SMASE (System

Management Application Service Entity). Ces entités s'intègrent dans une application

gestionnaire nommée SMAP (System Management Application Processus) qui a pour rôle de

gérer les objets OSI d'administration, vue abstraite des équipements et ressources gérés par

l'agent.

Nous représentons dans le schéma 5 les différentes composantes d'un agent OSI :

Requêtesd'interrogationspour l'agent ~-r---ji~\

SMAP

objetsgérés

gère

Application

Présentation

Session

Transport1--------------1

Réseau

Liaison

Physique

Schéma 5 : Composantes d'un agent OS/

Administration des applicatifs réseau;'\: 37

1.2

2.4.1.3. Comparaison entre agents SNMP et agents OSI

L'état de l'art en administration de réseaux

Les agents SNMP et OSI sont relativement similaires sur le concept. En effet, tout deux sont

localisés sur l'équipement dont ils ont la surveillance. Leur rôle est identique; ils offrent tous

les deux une "vue abstraite" de l'équipement. On peut cependant noter une différence quant à

l'élaboration "historique" de ces agents. En effet, l'agent SNMP peut être considéré comme

"une pièce ajoutée" non prévue initialement (d'ailleurs, bon nombre de constructeurs

proposent deux versions de leurs matériels, l'une administrable par SNMP, l'autre non). Nous,

verrons, au paragraphe 2.4.2.1, que l'agent SNMP bénéficie d'un protocole dédié - non prévu

lors de la conception de la famille des protocoles TCP/IP. En revanche, l'agent OSI a été

élaboré d'entrée de jeu; il est considéré comme une application à part entière, qui peut

fonctionner sans le recours du protocole dédié CMIP (cf. 2.4.2.2).

2.4.1.4. Autres solutions

Bien que les agents SNMP et OSI soient largement reconnus et utilisés, certains constructeurs

développent parfois leurs propres agellts pour des besoins spécifiques. Il s'agit alors de

solutions purement propriétaires(a) qui ne rentrent pas dans le cadre de réseaux hétérogènes.

Par exemple, la plate-forme d'administration SUIlllet Mallagel; que nous présentons dans la

suite de ce chapitre, nécessite l'implantation d'un certain nombre d'agents propriétaires tels

traffic (observation du trafic réseau de l'équipement) ou encore layers (statistiques sur les

protocoles de la famille TCP/IP).

Une solution encore plus radicale est d'éviter le recours à l'agellt d'administration. Ainsi,

certains systèmes d'administration tentent d'interroger directement le système d'exploitatioll

de l'équipement à surveiller. Cette méthode est fortement restrictive, car elle ne concerne que

les paramètres qui peuvent être effectivement fournis par le système d'exploitation. De plus,

elle s'appuie implicitement sur la caratéristique mliititâche du-dit système d'exploitation.

Nous avons présenté les différents agents d'administration. Nous présentons maintenant les

mécanismes mis en œuvre pour interroger ces agellts afin de véhiculer l'information de

gestion qu'ils ont observée.

(a) Le terme de propriétaire est utilisé en réseau informatique pour signifier qu'il s'agit d'une solution

dépendant du matériel et du logiciel, définie par le constructeur: le propriétaire.

38 Administration des applicatifs réseaw:

L'état de l'art en administration de réseaux

2.4.2. Les canaux et protocoles d'administration

1.2

L'information de gestion doit pouvoir être véhiculée. Il s'agit ainsi de spécifier le protocole

qui définit les règles de codage et de transmission des données et le canal utilisé pour la

transmission.

Pour ce qui est du canal de transmission, il peut être de deux types. Il peut être le réseau

administré lui-même, soit un réseau parallèle dédié aux informations d'administration(a). On

parle alors de gestion dans la bande ou hors bande.

Quant aux protocoles, nous allons comparer les deux approches classiques:

- SNMP et SNMPv2 pour l'administration sous TCPIIP,

- CMIP et les services associés CMIS pour le modèle OS!.

2.4.2.1. Le protocole SNMP

Le protocole utilisé pour dialoguer avec les agents est appelé SNMP (Simple Network

Management Protocol). C'est ce terme qui a donné son nom au modèle d'administration sous

TCPIIP. Une première version a été publiée en 1988 dans le RFC 1157. En 1993, une seconde

version appelée SNMPv2 [RFC 1442] est venue compléter le protocoleinitial.

Il s'agit d'un protocole relativement simple de questions/réponses en mode asynchrone. Il

dispose de quatre primitives:

- GetRequest : interrogation simple d'une donnée de l'agent,

- GetNextRequest : poursuite d'une demande simple (dans le cas de données stockées en

tableaux, par exemple),

- SetRequest: assignation d'une valeur pour une donnée de l'agent,

- Trap : notification exceptionnelle par l'agent d'un événement particulier.

SNMPv2 modifie ce protocole assez élémentaire en y ajoutant un mécanisme

d'authentification des requêtes plus complet(b) que dans la version initiale. D'autre part

SNMPv2 introduit la notion de dialogue entre plates-formes d'administration et ajoute la

primitive GetBulk pour l'échange d'informations plus volumineuses qu'une simple variable

SNMP par exemple une table (ceci pour réduire l'utilisation excessive de la bande passante

dans le cas de transfert de données composées). Il y a lieu de souligner que SNMPv2 est

(a) Les réseaux parallèles d'administration sont utilisés par exemple dans les réseaux dits "intelligents",

spécifiés par le ccrTI dans son architecture INCM (intelligent Network Conceptual Madel)

(b) La version initiale de SNMP ne comportait qu'un système d'authentification "tout ou rien" en fonction

d'un nom de communauté reconnu ou non. SNMPv2 utilise la notion d'origine des requêtes et module les

droits sur les données (interdit, lecture seule, lecture/écriture). De plus un dispositif de chiffrement des

requêtes SNMP devient possible.

Administration des applicatifs réseau:",. 39

1.2 L'état de l'art en administratioll de réseaux

incompatible avec la version 1 et n'est pas encore, à l'heure actuelle, couramment implanté

dans des éqnipements.

2.4.2.2. CMIP et les services associés CMIS

Comme l'agent SMAP n'est rien d'autre qu'une application du modèle OSI, il peut utiliser

tous les services ISO courants: TP, MHS, FfAM, X500, etc (voir 3.1.2.2 - page 53).

Cependant des services spécifiques à la manipulation de données d'administration ont été

définis: CMIS (Connnon Management Information Service). CMIS est détaillé dans la norme

[ISO 9595-2]. Celle-ci définit les opérations élémentaires pour véhiculer les informations

d'administration d'un site à un autre. Elle va définir les opérations suivantes:

- M-GE'T consu1tation d'un objet,

- M-SET mise-à-jour,

- M-CREA'TE création,

- M-DELETE destruction,

- M-EVENT-REPORT gestion des événements,

- M-AC'TION génération d'actions.

Pour réaliser les opérations du CMIS, l'ISO définit le protocole CMIP (Common Management

Information Protocol) dans sa norme [ISO 9596-2]. La structure des données véhiculées est

définie, tout comme pour le protocole SNMP, dans le langage de description ASN.1. Il s'agit

d'nn protocole connecté très complet comportant des fonctions de détermination et de filtrage

pour sélectionner les objets traités, un système d'horodatage des requêtes, etc. Il est basé sur

le principe habituel de questions/réponses.

2.4.2.3. Comparaison des protocoles SNMP et OSI

Comme nous l'avons présenté, les protocoles et agents d'administration normalisés par l'ISO

s'articulent de manière identique à toutes applications du modèle OS!. Il n'y a par conséquent

pas de mécanisme parallèle pour l'administration. Certains auteurs critiquent cette mise en

œuvre en soulevant l'argument que l'administration de réseau n'est pas une application

comme une autre. Son rôle spécifique nécessite des mécanismes particuliers. Un exemple

généralement cité est le cas d'un écroulement des performances du réseau; les systèmes

d'administration osr s'écroulent en même temps et ne peuvent remplir leur rôle de

gestionnaire. Contrairement à CMIP, l'approche SNMP repose sur un protocole non-connecté,

ce qui évite certains blocages décrits dans l'exemple précédent.

D'autre part, la richesse de description des objets fournie par le modèle des informations OSI

filtrés et véhiculés par le protocole CMIP donne un bénéfice théorique important à l'approche

40 Administration des applicatifs réseau.."'·

L'état de l'art en administration de réseaux 1.2

OSI. Cependant, cet apport théorique entraîne une complexité à l'utilisation. En pratique, c'est

souvent l'approche relativement simpliste de SNMP avec ses quatre primitives qui a la

préférence des constructeurs.

2.4.2.4. Les protocoles à publications

Dans les deux protocoles classiques d'administration de réseau, SNMP et CMIP, les

opérations se basent essentiellement sur le principe de questions/réponses. Une autre approche

est fondée sur le mode de la publication. Le concept est profondément différent: l'agent

plutôt que de répondre aux interrogations de l'application d'administration va au contraire

publier (ou diffuser) systématiquement ses observations(al.

Des travaux dans ce sens ont été publiés récemment par B. Oki, M.Pfuegl, A. Siegel et

D. Skeen [OKI 93]. Il s'agit de la définition et de l'implantation d'un système de publication

de l'information d'administration appelé "The Information Bus". Ils montrent que cette

solution est généralement préférable tant que le volume des données d'administration n'est

pas prohibitif pour la bande passante du réseau administré. Le principal argument est la

facilité d'qjout et de retrait d'équipements. En effet, le système à publication systématique

évite de devoir nécessairement mettre à jour l'application d'administrateur pour prendre en

compte la modification de configuration.

Ce même choix de diffusion de l'information d'administration a été retenu par certains

constructeurs de petits réseaux informatiques. L'exemple le plus typique est celui du protocole

AppleTalk de la firme Apple [KaS 92]. Contrairement au modèle OSI ou aux réseaux bâtis au­

dessus du protocole TCPIIP, AppleTalk a été conçu comme un protocole réseau orienté

Utilisateur & Application. Ainsi tout est mis en place pour pouvoir connaître très facilement

les divers éléments du réseau: ressources, utilisateurs, services, etc. Pour cela chaque

équipement du réseau AppleTalk diffuse les informations de gestion dont il dispose. Ainsi il

suffit simplement de connecter un nouvel ordinateur pour qu'il soit immédiatement pris en

compte par les applications d'administration.

Ce principe de protocole à publication bien qu'ayant l'avantage de la simplicité d'utilisation

ne peut malheureusement pas être implanté dès qu'il s'agit de réseaux de taille conséquente.

En effet, pour publier l'information, les agents ne connaissent pas a priori les destinataires de

leurs données, ce qui nécessite l'utilisation de système de diffusion à la cantonade (broadcast)

(al CMIP et SNMP disposent chacun d'une primitive d'alerte mais on ne peut parler de protocole

d'administration par publication, car cette primitive n'est pas destinée à la diffusion des informationsd'administration courante.

Administratioll des applicatifs réseaux 41

1.2 L'état de l'art en administration de réseaux

ou de diffusion sélective (multicast(a)). Ces deux solutions, principalement la première, sont

génératrices d'un trafic réseau important. En effet, toute information d'administration est

transmise à tous les (ou un sous-groupe des) autres équipements. D'autre part, en

fonctionnement normal, on peut estimer que les informations d'administration vont être peu

nombreuses car les équipements ne changent pas profondément d'état. Par contre, s'il survient

un problème sur le réseau, par exemple une coupure de câble, tous les équipements observant

l'incident vont simultanément diffuser cette information. Le système d'administration est mis

à mal au moment où on en aurait le plus besoin. Pour illustrer la difficulté d'implantation

d'une telle solution, le fait suivant est révélateur: AppleTalk était initialement prévu pour des

petits réseaux comportant quelques dizaines d'équipements. L'essor de ce type de réseau a du

s'accompagner d'une modification profonde du protocole, rebaptisé AppleTalk Phase Il,

justement pour "endiguer" les problèmes de saturation du réseau dus à la publication

intempestive des données d'administration(b).

Concrètement, la solution de protocole d'administration basé sur le principe de la publication

ne sera retenu que pour des services d'administration restreints véhiculant très peu de

données.

7.4.2.5. Quelques autres protocoles utilisés pour l'administration

Les protocoles SNMP et CMIP utilisés pour l'administration réseau sont dédiés à des agents

d'administration particuliers. Ces agents se basent sur un modèle d'information standard et

normalisé. Un problème se pose dans le cas où la plate-forme d'administration recherche une

information d'administration non-spécifiée dans le modèle de données, un objet non défini

dans la MIE par exemple.

Une solution peut être le recours à un protocole propriétaire, utilisé conjointement avec des

agents propriétaires (cf. 2.4.1.4). Ainsi, le protocole dédié aux RPC (Remote Procedure Cali)

[RFC 1057] [ISO 11578] est un bon exemple de protocole propriétaire employé en

administration de réseaux. Il s'agit en fait d'exécutions de procédures à distance. Ceci

nécessite par conséquent des processus dédiés s'exécutant sur les machines à observer(c).

C'est une des solutions retenues pour la plate-forme d'administration SunNet Manager.

(a) Les protocoles de niveau réseau supportant le mode nmlticast sont encore peu courants. La seule versionréellement implantée à l'heure actuelle et l'IP multicast.

(b) L'exemple de AppleTalk n'est pas isolé: les réseaux Naveil reposent exactement sur le même principe dediffusion et se retrouvent actuellement confrontés au même problème de restructuration profonde du

protocole IPX utilisé.

(c) Dans ce contexte, ce processus est appelé daemoll.

42 Administration des applicatifs résealLr

L'état de l'art en administration de réseaux 1.2

Une deuxième solution repose sur l'utilisation de langages de commandes à distance non

spécifiquement dédiés à l'administration, mais qui vont permettre de récupérer l'information

souhaitée en interrogeant directement le système d'exploitation du matériel distant

(cf. 2.4.1.4). Ces langages sont généralement des dérivés de shell scriptta). Le langage de

commande à distance le plus simple est sans doute RSH (Remote Shell) qui permet d'exécuter

un shell script Unix sur un ordinateur distant. Cette solution a l'avantage d'être très facile à

mettre en œuvre. Ces performances sont par contre mauvaises; l'exécution de shell script

surcharge considérablement la machine interrogée (la plupart des instructions sont réalisées

par des processus Unix indépendants. L'utilisation de boucles un tant soit peu complexes

génère, dans ces conditions, une "avalanche" de processus).

Le langage PERL [WALL 93] est une alternative à RSH. Il dispose d'une syntaxe plus

complète, fortement inspirée du langage C. Il allie les avantages d'un langage de

programmation courant et la souplesse d'un interpréteur de commandes. Ainsi, la version

dédiée aux systèmes Unix dispose des procédures systèmes de "bas niveaux" tels les

manipulations de fichiers et de répertoires. Elle inclus également des opérations de "hauts

niveaux" telles la manipulation des expressions régulièrestb). D'autre part, ce langage offre de

bonnes performances, car il est basé sur un principe de compilation qui précéde chaque

exécution. Il s'agit d'une forme originale de péréquation entre interpréteur et compilateur.

Enfin, il existe de véritables langages dédiés aux opérations distantes. Scotty en est un bon

exemple. Il est employé dans l'application d'administration de réseau INED que nous

présentons au paragraphe 2.4.3.3. Réalisé par J. SchonwaIder et H. Langendorfer, scotty est un

fait un interpréteur TeLtc) tOUS 90] dédié à l'administration de réseaux [SCH 93]. Un

exemple de programme est donné au paragraphe de présentation de INED.

Comme nous l'avons vu, les langages de commandes à distance se justifient lorsque les

moyens traditionnels de recherche de l'information d'administration ne suffisent plus.

Généralement, la mise en place de telles solutions est rapide et aisée (pas d'implantation

ta) Un shell script est un programme en langage relativement "rudimentaire", interprété. Il s'agit simplement

d'un enchaînement de commandes d'exploitation. munÎ de variables de type élémentaire (chaînes de

caractères) et agrémenté des classiques procédures de contrôle: boucles, sauts conditionnels et

inconditionels.Ch) Les expressions régulières sous UnÎx relèvent des méthodes de m.anipulation des chaînes de caractères, en

vue de substitutions complexes. Elles sont utilisées dans certaines commandes Unix telles awk, sed, grep, etc.te) Définit pa, J.K. Ousterhou~ TeL est un langage de commandes comparable à PERL ou au shell Unix. Les

programmes en TeL peuvent être aisément inclus au sein d'applications plus complexes comme dans le cas

deINED.

Administration des applicatifs réseaux 43

1.2 L'état de l'art en administration de réseaux

d'agent, langage évolué). Malheureusement, elles s'appuient sur l'hypothèse que les systèmes

d'exploitation des équipements interrogés sont connus à l'avance. Donnons un exemple: la

recherche par le langage PERL du nom d'un ordinateur va nécessiter des requêtes totalement

différentes si la machine interrogée tourne sous Unix ou s'il s'agit d'un micro-ordinateur sous

le système 7 de Apple. Il n'est pas évident non plus que tout type d'ordinateur puisse

répondre: un compatible IBM sous MS-DOS pour l'exemple précédent.

2.4.3. Les plates-formes d'administration

Le troisième composant qui entre en jeu dans un système d'administration est la plate10rme

d'administration. C'est le "cœur" du système d'administration. Il s'agit du ou des

programmes qui vont permettre de stocker et d'analyser les données d'administration. Cette

plate-forme comporte généralement un système de mémorisation de l'information telle une

base de données. Elle comporte également une intelface de visualisation des analyses pour

l'utilisateur privilégié, à savoir l'administrateur réseau. La finalité de la plate10rme

d'administration est d'analyser les données observées pour obtenir des paramètres

qualificatifs et quantificatifs de gestion de réseau suivant les aires fonctionnelles présentées

dans le premier chapitre (cf. 1.1.3 - page 12).

Il n'existe pas actuellement de norme ou de standard pour définir une plate-forme

d'administration. L'OSI expose bien les cinq aires fonctionnelles, mais ne spécifie pas la

manière de les implanter. De la même façon, le modèle SNMP ne décrit absolument pas

comment exploiter les informations d'administration recueillies. Nous allons, par conséquent,

nous baser en partie sur l'article de Dupuy, Sengupta, Wolfson et Yemini [DUP 91] publié

sous le titre de "NEFMATE: A NetIVork Management Environment" et sur la présentation de

l'administration de réseaux de P. Rolin [ROL 91] dans la quatrième édition de son ouvrage

"Réseaux locaux: nonnes et protocoles", pour présenter les différents composants

nécessaires au fonctionnement d'une plate10rme d'administration. Nous considérons les trois

angles d'approche suivants: stockage, analyse et présentation de l'information

d'administration.

2.4.3.1. Stockage de l'information

A priori, on pourrait remettre en question la nécessité d'un moyen de stockage de

l'information sur la plate10rme d'administration elle-même. En effet, les données

d'administration sont, en quelque sorte, déjà mémorisées sur les équipements à gérer sous la

forme de MIE ou d'objets OS!. Une base de données sur la plate-forme ferait, en quelque

sorte, "double emploi". Plusieurs auteurs [BAP 91] [VAL 91] soulignent la limitation d'un tel

44 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux 1.2

point de vue pour des raisons évidentes de performances (chaque analyse ne peut relancer

systématiquement des requêtes aux agents concernés) et de gestion de l'historique (Les calculs

statistiques nécessitent la connaissance de l'évolution des états et non l'état courant

uniquement).

La solution qui est généralement retenue est intermédiaire. Une partie des informations

d'administration dont la durée de vie(a) est longue (supérieure à l'heure) va être mémorisée

dans une base de données propre à la plate-forme d'administration. Il s'agit, par exemple, des

données de configurations: nombre d'interfaces d'un routeur, types de protocoles supportés,

etc. Par contre, d'autres informations à durée de vie courte vont être à chaque fois

redemandées à l'agent dépositaire. Ce sera par exemple le nombre de messages en attente pour·

un logiciel de gestion de courrier électronique. L'article "Design of the MANDATE MIE"

[HAR 93] définit clairement les différents moyens de mémorisation de l'information en

fontion de son type. Il distingue notamment les "Sensor Datas" et les "Structural Datas" qui

reprennent le même concept de durée de vie.

Le principe d'une base de données propre à la plate-forme d'administration ne signifie pas

pour autant que la base doive être centralisée. Il est tout à fait envisageable et parfois

préférable que cette base soit distribuée, par exemple dans le cas de plusieurs plates-formes

coopérantes. Cette solution permet une meilleure sécurité des informations (moins de risques

de destruction) et surtout des performances accrues, car chaque plate-forme a son propre

domaine d'administration (plus petite base et interrogation des agents facilitée).

Le choix de la méthode de stockage reste entier. Certaines solutions s'appuient SUl' des bases

de données orientées objets pour garder une homogénéité d'approche avec le modèle osr ,d'autres préfèrent les performances des bases de données relationnelles plus classiques.

D'autres enfin, comme les auteurs de l'article cité ci-dessus [HAR 93], préconisent le

développement de bases de données dédiées à l'administration en soulignant les limitations

des systèmes classiques tels Ingres ou Oracle. Ils estiment que les niveaux de tolérance aux

pannes et de temps de réponse ne peuvent suffire pour des applications d'administration de

réseau.

2.4.3.2. Analyse de l'information

La plate-forme d'administration qui dispose des données d'administration stockées dans sa

base de données va devoir effectuer des calculs SUI' ceux-ci afin de fournir une analyse

pertinente sur l'état du réseau surveillé. 01', à l'heure actuelle, le constat est étonnant: les

(a) La durée de vie d'une informations d'administration est la plage de temps où la donnée est significative et

utilisable. Cette durée de vie est bien évidemment fonction de la périodicité de modification de l'information

en question, et de l'utilisation qui en est faite.

Administration des applicatifs réseaux 45

1.2 L'état de ['art en administration de réseaux

platesjormes d'administration ont tendance à fournir une pléthore d'informations disparates

(alarmes en tout genre, jauges d'interfaces, compteurs de trames, etc) mais beaucoup plus

rarement une vue globale de la qualité de service du réseau. Un exemple particulièrement

révélateur de cet état de fait est l'interface d'exploitation statistique de la plate-forme

d'administration SunNet manager: "the Grapher". Alors qu'il s'agit d'un produit de référence

(sans doute le plus diffusé après Openview), aucune fonctionnalité de traitement global n'est

offerte à l' administrateur (calcul de moyenne, débit moyen par jour/mois ou année, ou plus

prosaïquement, changement d'échelle sur un graphique) et aucune évolution n'a été faite entre

les différentes versions du logiciel. Or, à notre sens, une platejorme d'administration ne peut

se restreindre à l'unique rôle d'interrogateur d'agents.

Nous exposerons largement dans le chapitre suivant ce qui est fait pour l'analyse des

paramètres concernant la gestion des applications réseaux.

2,4,3,3. Interface

L'interface d'une plate-forme d'administration dépend, bien évidenunent, des fonctionnalités

attendues. Est-elle plus particulièrement dédiée à l'analyse des performances? à la gestion de

la configuration? à la détection de pannes?

Les plates-formes actuelles offrent ainsi une série de vues plus ou moins complètes.

Nous trouvons généralement une visualisation de la configuration du réseau. Ainsi il devient

possible de voir en un coup d' œil la localisation des ordinateurs en fonction de leur adresse

réseau. Il faut souligner cependant que cette visualisation se restreint généralement à une vue

logique et non pas à une vue physique. En effet, le maillage physique (câbles, répéteurs,etc)

n'est que très rarement indiqué (impossible sous OpenView, fastidieux et difficile à mettre en

œuvre sous SunNet manager).

La présentation des fonctionnalités touchant aux performances reprend la plupart du temps les

histogrammes, courbes, etc, habituels dans la présentation de données numériques. Les

systèmes de rapport d'alarme s'appuient sur un gestionnaire de notification, etc.

Les intelfaces des plates-formes d'administration se heurtent généralement au problème de la

quantité d'information à visualiser. OpenView en est un bon exemple: dépassé le demi-millier

d'équipements, la représentation à l'écran devient totalement illisible (pléthore d'icônes

minuscules).

Pour ce qui est des travaux plus universitaire nous citons une interface assez complète qui

montrent bien la différence de visualisation suivant les fonctionnalités d'administration

attendues: INED.

46 Administration des applicatifs réseaux

L'état de ['art en administration de réseaux 1.2

INED : lm éditellr réseau

A. Schonwalder et H. Langendorfer (SCH 93] [SCH 93a] ont développé un éditeur graphique,

appelé INED, pour décrire les équipements réseaux. Cet éditeur est couplé à un module

d'interrogation via le langage TCL et son extension scotly. Chaque équipement est représenté

par une icône graphique qui peut être liée au moyen d'arcs à d'autres équipements. Les

liaisons sont à définir par l'administrateur. Il peut s'agir de différents types de relations:

machines sur un même médium, dépendant d'une même administration, etc. D'autre part,

l'éditeur INED permet de visualiser des groupes d'équipements.

000III

SRIllCOOI SIllllOOl MIl)))

II"---II_---<D....IlliOOI

~_ ~,,~ 1----\~ l~I'.Ml1>W..1<b>M rl Iv-b> 6t

'G<Qnt.-bl1;.;:---------I-__~

Schéma 6: L'illterface INED

La simplicité d'utilisation de INED est remarquable. On peut cependant lui reprocher sa forte

orientation sur les réseaux TCP/IP et l'impossiblité de le coupler avec le modèle SNMP. La

fonctionnalité essentielle représentée par INED est l'architecture globale des ordinateurs qui

composent un réseau.

2.4.4. Un exemple de plate-forme d'administration: Sunnet Manager

Nous terminons la présentation des mécanismes utilisés en administration de réseaux en

décrivant une plate-forme d'administration et les agents associés: SlInnet Manager de la

société Sun [SUN 92].

Adminislratioll des applicatifs réseau:,. 47

1.2 L'état de ['art en administration de réseaux

Sunnet est l'une des plates-formes les plus diffusées. Elle est à comparer à Openview de

Hewlett-Packard. Il s'agit d'une plate-forme d'administration fortement orientée vers la

gestion du matériel Sun. Cependant, ses caractéristiques de développement<a) en font un

support de base pour un certain nombre d'applications d'autres constructeurs et/ou utilisateurs

(tel Optivity de Synoptics pour la gestion des répéteurs de cette firme) Celles-ci viennent alors

se "greffer" sur Sunnet Manager.

2.4.4.1. Architecture générale de Sunnet

L'architecture de Sunnet suit les principes généraux décrits précédemment. Dans le schéma 7

ci-dessous, nous illustrons la structure générale de l'outil. L'élément principal est la plate­

forme d'administration elle-même (appelée "management station"). Elle a la charge de tenir à

jonr une base de données centralisée qui décrit les caractéristiques et l'état du réseau à gérer.

Pour ce faire, elle dialogue avec une série "d'agents" localisés snr les machines à surveiller. Le

protocole employé entre la plate-forme et les agents est celui des RPC (Remote Procedure

Cali) que nous avons déjà évoqué précédemment (cf. 2.4.2.5)..

Managementstation

autres protocoles...I---- ...~ d'administration

Schéma 7,' Architecture générale de SlIImet Manager

<a) SlIImet dispose d'un langage de description qui permet à l'utiliseur de définir ses propres objets à

administrer. De même, la disponibilité de bibliothèques de programmation offre la possibilité de développer

ses propres agents.

48 AdministratioIJ des applicatifs réseaux

L'état de l'art en administration de réseaux

2.4.4.2. Les agents Sunnet

1.2

Les agents Sunnet d'observation du réseau sont de deux catégories. Les plus courants sont les

agents propriétaires Sun qui surveillent et transmettent certains paramètres spécifiques de la

machine sur laquelle ils sont localisés. Ces agents ne peuvent s'exécuter que sur des machines

du constructeur Sun. Nous donnons dans le tableau ci-dessous quelques agents propriétaires

en exemple:

Nom Fonction de J'agent

diskinfo Informations sur les disques iocaux

traffie Statistiques sur l'interface Ethernet

hostmem Statistiques sur l'utiiisation du processeur

iostat Statistiques sur les entrées/sorties

iproutes informations sur les tabies de routage IP

layers Statistiques sur les différentes protocoles iP, UDP, TCP et ICMP

rpcnfs Statistiques sur les requêtes RPC et NFS

Tableau 1 : Exemples d'agents propriétaires SUIlllet

Une seconde catégorie d'agents permet d'étendre les possibilités de Sunnet Manager à des

objets non Sun. Il s'agit des "proxy agents". Ceux-ci vont assurer la transition entre les

éléments non propriétaires et la plate-forme Sun (cf. schéma 7). L'exemple le plus typique est

le "proxy agent SNMP" qui va se charger de lancer les requêtes SNMP et de transmettre les

résultats à la plate-forme au moyen du protocole RPC.

Nota: La société Sun encourage les autres constructeurs à développer le "proxy agent" adapté

à leur matériel et à leur protocole d'administration propre.

2.4.4.3. La base de données SlIIlIlet

La base de donnée de Sunnet Manager a été développée "sur mesure,,(a). Elle est centralisée

sur la machine qui accueille la plate-forme d'administration. Son principe est fortement

"orienté objet".

La mise à jour de la base se fait par trois méthodes complémentaires. Tout d'abord, un module

appelé "discover" permet d'acquérir un certain nombre d'informations concernant les

ordinateurs qui se trouvent sur le réseau à administrer (types et noms des machines,

caractéristiques réseaux telles l'adresse IP et les possibilités SNMP, etc). Ce processus est

(a) Il serait question qu'une version future abandonne le principe d'une base de donnée propriétaire pourretenir un SGBD plus classique tels ORACLE, INGRES, SYBASE,....

Administration des applicatifs réseaux 49

1.2 L'état de l'art en administration de réseaux

assez lent (plusieurs heures pour un réseau de deux à trois cents machines) et relativement peu

performant dès qu'il s'agit d'ordinateur non Sun. Une deuxième méthode de mise àjour de la

base consiste à utiliser l'éditeur graphique. Souple et commode, il permet de définir plusieurs

vues logiques du réseau, de regrouper des machines au sein d'une même groupe, de décrire le

câblage sous-jacent, etc).

Enfin, la troisième méthode d'acquisition des données repose sur les informations issues des

agents d'observation. Nous en détaillons les possiblités dans le paragraphe suivant.

2.4.4.4. Méthodes d'inten'ogation des agents

Sunnet Manager propose deux modes de "dialogues" avec les agents. Le premier mode est

nommé "data reporting". Ceci signifie que pour les agents désignés, la plate-forme va

périodiquement générer des demandes de rapports. Il s'agit d'un principe de "pol/ing". Par

exemple, il est possible de demander à un agent "traffic" le nombre de trames ethernet

transmises sur l'ordinateur sur lequel il est implanté, et ceci toutes les demi-heures. Le second

mode d'interaction avec les agents est nommé "event reporting". Il s'agit d'un principe de

gestion d'alarmes. Sunnet indique, aux agents concernés, les conditions pour lesquelles ils

doivent générer une alarme de leur propre initiative. Par exemple, l'administrateur va spécifier

à l'agent de surveillance des disques (diskinfo) de prévenir dès que le taux d'occupation est

supérieur à 90%.

2.4.4.5. Exploitation et génération de résultats

Sunnet Manager dispose de trois outils complémentaires pour son exploitation. Tout d'abord,

Sunnet dispose d'une inteiface graphique conviviale et très pratique pour visualiser la

configuration du réseau. Nous en donnons une illustration dans le schéma 8 ci-dessous.

D'autre part, deux outils d'analyse des informations permettent à l'administrateur, soit de

parcourir aisément les rapports de données et d'alarme via le "brolVser", soit de générer des

graphiques (histogrammes et courbes) de visualisation des valeurs observées via le "grapher".

2.4.4.6. Outils de développement de Sunnet

Sunnet Manager offre des possbilités de développements d'applications d'administration

propres à l'utilisateur. Pour cela, il fournit avec le logiciel des bibliothèques de programmation

qui permettent d'écrire des agents spécifiques.

50 Administration des applicatifs réseaux

L'état de l'art en administration de réseaux

hub_onco

c--· C'W_"_ -_.>~=,_~.._"_~_~,,l,__ ._c'__=_ - [J

130.79.105,0 Medecine If3'~,Objets de performances

130.79.130,0

!!!!!I!11!!

lJ130.79,120.0

G

1.2

Schéma 8 " Inte/face de Sunnet Manager

Nous avons présenté dans ce chapitre l'état actuel du domaine de l'administration de réseau.

Nous appuyant sur les deux références les plus connues, OSI et SNMP, nous avons présenté

les modèles d'informations utilisés et les mécanismes mis en œuvre. Nous allons désormais

nous attacher à exposer les travaux spécifiques au domaine de l'administration des

dépendances des applications réseaux.

Administration des applicatifs réseaux 51

I.3 Administration des dépendances de sen/ices applicatifs

3. Administration desdépendances de servicesapplicatifs

Administrer les objets qui composent un réseau informatique (matériel, logiciel et utilisateurs)

est, comme nous l'avons vu, la base de l'administration réseau. Et ces dernières années ont vu

se développer des modèles et des outils pour effectuer cette tâche. Nous disposons ainsi des

éléments de base pour réaliser les fonctionnalités d'administration. Cependant, nous avons

souligné qu'à l'heure actuelle, la plupart des plates-formes d'administration se contentent trop

souvent de fournir les données brutes plutôt que de les analyser afin de donner des résultats

offrant une meilleure idée de la qualité de service.

Le sujet de cette thèse est justement de tenter d'administrer, non pas seulement les briques qui

composent les réseaux informatiques mais les services qui en découlent.

Définissons tout d'abord ce qu'est un service réseau et plus précisément un service applicatif

réseau.

3.1. Contexte général de l'administration des dépendances

entre services applicatifs

3.1.1. Service réseau: une définition

Pour la définition d'un service réseau, nous gardons l'approche du modèle client-serveur

communément admise. Celle-ci met en jeu trois composantes:

- un fournisseur de ressources que l'on nomme le servelll;

- un consommateur de ressources également appelé client,

- un ensemble de moyens pour faire dialoguer le serveur et le client.

Un service réseau est l'interaction entre deux entités: le client et le servew: Le serveur met à

disposition du client les ressources qu'il gère. Les deux entités c01llll1llniquent au moyen d'III!

réseau informatique.

52 Administration des applicatifs réseau.'t

Administration des dépendances de sen/ices applicatifs 1.3

Cette approche par décomposition binaire en client et serveur permet de décrire la plupart des

services réseaux existants. Donnons un exemple d'un service réseau qui se décrit typiquement

par le modèle client-serveur. Soient une base de données centralisée sur un ordinateur A et un

programme d'interrogation de cette base localisé sur un ordinateur B ; A joue le rôle de

serveur, B le rôle de client. Les éléments nécessaires à leurs interactions sont les protocoles de

communications adéquats et le matériel nécessaire à l'interconnexion des deux ordinateurs.

Le modèle client-serveur s'applique à une grande majorité de services réseaux, et à des

niveaux d'abstraction divers. En effet, il peut aussi bien s'agir de la lecture d'une variable

mémorisée sur un autre ordinateur, c'est-à-dire d'une ressource relativement élémentaire, que

du transfert d'un fichier d'une machine à une autre.

Pour les réseaux informatiques, le niveau de fonctionnalité le plus haut est l'application. Dès

lors, qu'entend-t-on par service applicatif réseau ?

3.1.2. Application réseau: une définition

Pour définir l'application informatique, nous reprenons la division en niveaux proposée par

l'organisme de normalisation ISO.

3.1.2.1. Les concepts généraux

La couche application est le dernier niveau du modèle OSr. Elle a comme rôle de fournir les

seryices aux tâches applicatives de l'utilisateur.

Le principe est basé sur un empilement d'entités fonctionnelles de complexité croissante. Une

entité fonctionnelle utilise les services de l'entité sous-jacente et fournit elle-même ses

services à l'entité fonctionnelle de niveau plus élevé. Le niveau le plus hant de cette hiérarchie

est appelé couche application. C'est ce que nous illustrons dans le schéma 9 ci-après.

Un service applicatif réseau ou application réseau est un service qui met en coopération une

entité client et une entité serveur du niveau application.

Nous allons décrire dans le point suivant les différentes applications réseaux les plus

courantes.

3.1.2.2. Description des applications réseaux

Les applications réseaux peuvent être classées en cinq grandes catégories:

-l'accès à des périphériques distants,

- l'accès à des données distantes,

-l'émulation de terminaux virtuels,

Admi1listration des applicatifs réseaux 53

1.3 Adm11listratioll des dépendances de seJ1'ices applicatIfs

ProgrammeApplicatif

1 Présentation

1 Session

1 Transport

1 Réseau

1 Liaison

1 Physique 1

ProgrammeApplicatif

W/ZlTLT//UUT/D///L.OTL.OT//T~LTL.OTU/UDJsupport physique

Schéma 9 : Utilisation de la couche application par les programmes des utilisateurs

-le courrier électronique,

-les exécutions déportées.

L'accès à des périphériques distants

Le service d'accès à des périphériques distants regroupe les applications permettant la mise à

disposition de périphériques qui ne sont pas localisés sur l'ordinateur de l'utilisateur. Il peut

s'agir par exemple d'une imprimante pilotée par un ordinateur central sur laquelle un

utilisateur muni de son micro-ordinateur veut pouvoir imprimer. Remarquons que le terme

périphérique n'a pas des contours très bien définis, mais dans ce contexte-ci il s'agit de

matériel disjoint de l'ordinateur lui-mêmeta). Typiquement, il s'agit des éléments tels un

scanner, une imprimante, un modem, une table traçante, etc.

Les applications les plus courantes utilisées dans ce type de services sont par exemple les

gestionnaires d'imprimantes LPILPD [BAC 92] pour le système Unix.

ta) La disjonction n'est pas toujours très claire à poser dans le cas d'un support de stockage tel un disque

magnétique, voire un lecteur optique.

54 Administration des applicatifs réseaux

Administration des dépendances de sen'ices appiicatifs

L'accès à des données distantes

1.3

La catégorie des services formés par les accès à des données distantes se scinde en trois

groupes prédominants: le transfert de fichiers, l'accès à des systèmes de fichiers distants et

l'accès à des bases de données distantes.

Sans entrer dans l'architecture des systèmes informatiques, ces trois groupes relèvent de deux

niveaux d'abstraction totalement différents.

Dans le cas du transfert de fichiers, les moyens mis en œuvre sont relativement mdimentaires

dans le sens où l'utilisateur doit lancer une application dédiée à ce transfert. Ce transfert

concerne l'ensemble de la ressource (en l'occurrence: le fichier) et ne peut être ajusté à un

sous-élément de la ressource.

Dans les deux autres cas: l'accès à des systèmes de fichiers et l'accès à des bases de données

distantes, l'accès aux données est assez fin dans le sens où l'utilisateur dispose d'une panoplie

de requêtes d'interrogation de sous-éléments de la ressource. Il lui est ainsi possible d'accéder

à une portion de fichier, de lire simplement un attribut d'un objet de la base de données, etc(a).

D'autre part, l'application utilisée pour de tels services est généralement inscrite dans un

programme informatique de fonctionnalités plus large. Pour le montage de systèmes de

fichiers, cette application est en fait le système d'exploitation lui-même.

Dans le cas des transferts de fichiers, les applications les plus courantes sont FTP (File

Transfer Protocole) [RFC 959], RCP (Remote CoPy) sous Unix-TCPIIP. Pour ce qui est des

montages de disques distants, les deux grands standards sont NFS [RFC 1094] (Network File

System) et RFS (Remote File Sharing) [RIF 86] pour le monde TCPIIP. Dans le cas de la

micro-informatique, tout dépend du type de système utilisé. Nous trouverons Appleshare

[KaS 92] pour les systèmes Macintosh de Apple, net use pour les systèmes NoveU.

L'application FTAM dans le modèle OSI (décrit dans la norme ISO 8571) permet à la fois

l'accès à des disques distants et le transfert des fichiers.

Les différents systèmes de base de données ont généralement leur propre application

d'interrogation. L'ISO préconise RDA (Remote Database Access) normalisé ISO 9579. Nous

citons également un standard regroupant un sous-ensemble de fonctionnalité, il a été

standardisé sous le nom de SQL (Simple Query Language) et la plupart des systèmes de bases

de données le reconnaissent.

(a) Les moyens mis en œuvre dans le cas d'accès à des sous-éléments de la ressource sont plus complexes carils nécessitent généralement la gestion des accès concurrents entre plusieurs clients (systèmes de verrous et

sémaphores par exemple).

Administration des applicatifs réseaux S5

1.3

L'émulation des terminaux virtuels

Administration des dépendances de services applicatifs

Les applications d'émulation de terminaux virtuels sont certainement les plus utilisées. Elles

consistent à donner les fonctionnalités d'nn terminal passifa) à un ordinateur afin qu'il puisse

se connecter à un autre ordinateur. L'intérêt d'une telle fonctionnalité est importante, car le

coût financier d'un terminal passif est souvent élevé, et l'utilisation d'un micro-ordinateur

fournissant les mêmes services en plus de ses fonctionnalités habituelles offre une alternative

non négligeable. Il s'agit par exemple de l'application Telnet [RFC 854] disponible sur la

majorité des ordinateurs, ou encore VT (Virtnal Terminal) pour le modèle OSI (décrit par la

norme ISO 9040 et 9041).

Le courrier électronique

Le service de courrier électronique est sans doute le plus implanté, car le premier disponible

historiquement. Il regroupe les applications permettant le transfert de lettres par le réseau

informatique entre utilisateurs. Il en existe de nombreuses applications, suivant le type de

réseau. La recommandation X400 du CCITT (normalisée ISO 9579 sous l'appellation MHS ­

Message Handling System) décrit les différents protocoles et architectures nécessaires à une

telle application. Dans le monde TCP/IP , il s'agit des applications basées sur le protocole

SMTP (Simple Mail Transfert Protocol) [RFC 821], dont il existe diverses implantations

suivant le type de machine. D'autre part, il existe un certain nombres d'autres implantations

propriétaires, MSMail, CCmail, etc.

Les exécutions déportées.

Le service d'exécutions déportées (ou distantes) est très proche du service d'émulation à ceci

près qu'il se restreint simplement à l'exécution d'un programme (ou d'une partie de

programme) se trouvant sur un autre ordinateur. Les résultats sont transférés sur l'ordinateur

de l'utilisateur. Rentrent entre autres dans cette catégorie, les RPC déjà cité, RSH, Rexec pour

les réseaux TCP/IP. Pour le modèle OSl, nous avons RO (Remote Operation) normalisé

ISO 9072.

3.1.2.3. Les applications réseaux pour un ordinateur standard

Concrètement, il est intéressant de connaître les applications réseaux courantes d'un

ordinateur. Pour fixer les idées, un ordinateur en réseau de type station de travail peut assurer

(a) La définition d'un terminal passif a beaucoup évolué du fait de la complexification du-dit terminal de

moins en moins "passif', La différence entre terminaux et ordinateurs n'est pas toujours aussi évidente qu'ilpeut y paraître à première vue. Nous gardons l'approche traditionnelle de la définition des terminaux tels uneVT100, une VT200, Terminal X, etc.

56 Administration des applicatifs réseaw:

Administration des dépendances de services applicatifs 1.3

en moyenne de 5 à 20 types de services applicatifs simultanément. Nous donnons dans le

tableau ci-dessous, l'ensemble des applications réseaux pour une station de travail standard

Unix utilisant la famille de protocoles réseaux TCPIIP :

Service Description

ftp transfert de fichiers

telnet Emulation de terminal

courrierlsmtp Courrier électronique

Base de données de correspondances nom dename

machine/adresse réseau

nls Exportation de disques locaux

lime Indicateur de temps

whoisBase de données dédiée aux annuaires des machineset des utilisateurs

tltp Transfert de fichier trivial pour stations sans disque

gopher Base de données documentaires

popper Courrier électronique pour les micro-ordinateurs

exec/rsh Exécution distance

rlogln Connexion distante

printer/lpd Accès aux imprimantes locales

uucp Courrier électronique (version antérieure)

who indicateur des utilisateurs actifs

syslog Indicateur d'indication système pour l'administrateur

talk Système interactif de dialogue

ingres Base de données commerciale INGRES

linger Indicateur des travaux des utilisateurs locaux

Schéma 10 : services applicatifs d'une station de travail sous le système Unix

Nota : Dans ce tableau, la plupart des services cités sont fournis par le constructeur de la

machine et de son système d'exploitation; quelques autres, tels gopher ou Ingres ont été

ajoutés par l'administrateur.

Administration des applicatifs réseaux 57

1.3 Administration des dépendances de services applicatifs

Lorsqu'il s'agit de micro-ordinateurs, les applications réseaux sont sensiblement les mêmes,

souvent moins nombreuses et généralement "noyées,,(a) dans le système; il est donc plus

difficile de les nommer.

Nous avons présenté ce qu'était un service applicatif réseau et décrit les principales classes de

ces applications. Voyons maintenant ce que l'on entend par dépendance entre services

applicatifs.

3.1.3. Dépendances entre applications réseaux

Le modèle client-serveur qui nous permet de décrire les services applicatifs réseau ne met pas

en évidence un problème bien connu de l'administration de réseaux: les dépendances des

services entre eux. Exposons tout d'abord un exemple courant.

Exemple de dépendances

Un utilisateur désire lire son courrier depuis le terminal X de son bureau. Or un tel terminal a

besoin, entres autres, des services d'un serveur de noms(b), d'un serveur de codes(c), d'un

serveur de fontes(d) et ceci simplement pour fonctionner. D'autre part, la boîte aux lettres de

l'utilisateur doit être accessible, ce qui signifie que l'ordinateur, sur lequel celle-ci est stockée

doit lui-même fonctionner correctement et rendre accessible cette boîte aux lettres. Serveurs

de noms, montages de disques, autant de services éventuellement nécessaires à la diffusion de

la boîte aux lettres demandée.

Nota: L'exemple présenté ci-dessus n'est pas un cas spécifiques de services particulièrement

dépendants, il est tout à fait commun dans un système informatique de type réparti(e).

Deux facteurs tendent à accroître le niveau de dépendances des services applicatifs. Il s'agit

tout d'abord de la banalisation des montages de disques distants, que ce soit dans les réseaux

de micro-ordinateurs ou dans les réseaux de stations de travail. D'autre part, la volonté

croissante d'interopérabilité entre services réseaux de constructeurs différents entraîne la mise

en œuvre de nombreuses passerelles qui augmentent encore ces dépendances.

(a) Un cas typique est celui du système 7 des micro-ordinateurs macintosh, où l'ensemble des fonctionnalités

réseaux est inclus dans le système d'exploitation de manière indivisible.

(h) Cf. note a - page 15.

(c) Les terminaux X doivent généralement "télécharger" leur système d'exploitation et l'application "serveurX" depuis un mini-ordinateur.(d) Une/onte est la description typographique d'un alphabet particulier.

(e) En opposition au système informatique centralisé (un ordinateur unique au milieu de consoles passives)

où la notion de service applicatif réseau n'as pas réellement de sens.

58 Administration des applicatifs réseaux

Administration des dépendances de sen'ices applicatifs 1.3

Après avoir posé le contexte des dépendances de services applicatifs réseaux, nous allons

présenter les différents travaux qui traitent de leur administration, les modèles définis, les

mécanismes utilisés.

3.2. L'état de l'art de l'administration des dépendances

entre services réseaux

L'administration des services réseaux est un domaine de recherche relativement récent et peu

de publications traitent directement du sujet, notamment dans le contexte de réseaux

hétérogènes. Cet état de fait s'explique principalement par la nécessité qu'il y avait de définir

au préalable les moyens élémentaires d'administration tels SNMP où OSI et de bénéficier

d'une réelle implantation de tels mécanismes au sein des matériels informatiques. Jusqu'en

1993 environ, il s'agissait principalement de gestion propriétaire de configuration, comme par

exemple la base de données d'administration "Moira" du projet Athena du MIT dont nous

rappelons les concepts ci-dessous. Cependant, ces deux dernières années voient désormais la

définition de modèles et de mécanismes pour l'administration des services réseaux. Nous

allons présenter ces différents travaux.

3.2.1. Mécanismes existants

Avant d'exposer les travaux les plus récents, il nous semble intéressant de situer les outils et

concepts précurseurs d'un tel domaine. Nous présentons ainsi la partie administration des

ressources du projet Athena.

3.2.1.1. Une première expérience d'administration des services réseaux: "Moira" du projet

Athena

Le projet Athena a débuté en 1983 au sein du "Massachussets Institute of Technology" en

collaboration étroite avec les firmes DEC et IBM. L'idée de base est de concevoir et

d'implanter les mécanismes qui permettent l'administration d'un grand réseau de campus

(supérieur au millier de stations) afin que tout utilisateur puisse travailler sur n'importe quelle

station comme s'il s'agissait de son propre ordinateur. Ce projet a été à l'origine de la création

de plusieurs applications désormais renommées: l'interface X-windows, le système

d'authentification Kerberos, l'annuaire Hesiod, etc.

Les services réseaux gérés de manière globale dans le projet sont les suivants: la gestion des

annuaires, des fichiers, des impressions, du courrier, des échanges de messages, de

l'authentification des personnes et des configurations logicielles.

Administration des applicatifs réseaux S9

1.3 Administration des dépendances de services applicatifs

Nous ne détaillons pas , cependant, tout le projet Athena (présenté dans l'ouvrage de

G.A. Champine "A Madel for Distributed Campus Computing" [CHA 90)), nous nous

intéressons plus particulièrement à la base de données d'administration utilisée dans le projet

appelé "Moira", aux concepts qu'elle met en œuvre.

Moira: une base de données d'administration des services réseaux

Pour administrer les services réseaux offerts dans le projet Athena, il a été nécessaire de

définir une base de données pour mémoriser les informations nécessaires à une telle gestion.

Les concepts de "Moira", la base de données en question sont les suivants:

- une base de données centralisée,

- des informations sur les disques, sur les configurations matérielles et logicielles, sur les

utilisateurs (comptes de travail, boîtes aux lettres, listes d'accès,etc) et ceci pour

l'ensemble des ordinateurs du réseau,

- des mécanismes de mise en conformité des équipements afin que leur configuration soit

identique à celle décrite dans la base.

Dans le projet Athéna, l'idée principale est de regrouper toutes les informations

d'administration au sein d'une même base de données. Il ne s'agit pas tant de décrire les

configurations qui "pré-existent" sur les ordinateurs, mais bien d'être à l'origine de ces

configurations. Prenons un exemple: la modification de la configuration logicielle d'un

ordinateur ne se fait pas sur l'ordinateur lui-même mais bien sur la base "Moira". C'est la base

elle-même qui va indiquer à l'ordinateur son changement de configuration.

Notons que "Moira" n'est pas l'unique base de données d'administration que comporte le

système Athena. "Hesiod", par exemple, gère l'annuaire des correspondances entre nom

d'ordinateur et adresse réseau. Cependant, c'est bien "Moira" qui est à l'origine des données

et qui délègue à Hésiod le travail de gestion (Hésiod dispose de mécanismes de duplication de

données permettant une résolution plus rapide des requêtes qui lui sont adressées).

Ce principe d'une base de données, "origine" des informations d'administration est à l'opposé

des méthodes d'administration plus récentes; il suppose une gestion uniforme et centralisée

des configurations. Le principe de l'administration SNMP et OS1 consiste à observer les

configurations des équipements. Ainsi, la base d'administration n'est plus "origine" mais

simple "vue" de l'information.

Voyons maintenant les travaux plus récents qui peuvent être utilisés pour l'administration de

services applicatifs.

60 Administration des applicatifs résemL'·

Administration des dépendances de sell'ices applicatifs

3.2.1.2. L'administration des applications sous SNMP

1.3

Pour ce qui est de l'administration SNMP, deux spécifications de MIE ont été publié fin 1993

- début 1994 qui offrent pour la première fois un standard pour l'interrogation des

équipements quant à lenr configuration au niveau applicatif. Nous en donnons une description.

Host Resources MIB

Le RFC 1514, publié en septembre 1993, décrit une extension de MIE: la

"Host Resources MIB", qui permet l'administration SNMP des divers objets considérés

comme ressources d'un ordinateur. L'article de S. Wa1dbusser [WAL 93] en donne une

description plus informelle et plus abordable que les définitions ASN.1 du RFC.

La "Host Resources MIB" définit six groupes:

- system group: permet de décrire un certain nombre de paramètres de configuration de la

machine: nombre d'utilisateurs, description des objets nécessaires au démarrage de

l'ordinateur dans le cas de machines sans disque ou de terminaux X, etc.

- storage group: définit les paramètres décrivant les snpports d'enregistrement de la

machine: disques, mémoire vive, etc.

- devices group: concerne les périphériques connectés: imprimantes, scanners, etc(a).

- running software group: décrit les informations générales concernant les logiciels· actifs,

c'est-à-dire en cours d'exécution.

- running software peiformance group: complète le groupe précédent en décrivant les

informations relevant des pe/formances des logiciels actifs.

- installed software group: décrit l'ensemble des logiciels installés, actifs ou non.

Comme nous pouvons le remarquer, l'orientation de cette MIE est axée principalement sur les

supports de mémorisation (disques magnétiques, bandes, etc) et sur les logiciels en place. En

revanche, nous relevons la pauvreté de la description des ressources utilisateurs (comptes,

répertoires de travails, etc) ; seul le nombre d'utilisateurs est définie dans cette MIE.

Network services monitoring MIB

Les travaux les plus récents d'extension des objets administrables via SNMP tendent à

pouvoir gérer des objets de plus en plus complexes. En janvier 1994, S. Kille et W.G. Chair

co-publient le RFC 1565, première spécification d'une MIE d'administration des applications

réseaux. Ce document met en garde les lecteurs sur la difficulté de définir une MIE commune

pour tous les types d'applications réseaux. Ainsi, le RFC s'applique plus spécifiquement aux

deux applications choisies comme exemples: les programmes de traitement des messages du

(a) La MIB-II décrit déjà partiellement un certain nombre de paramètres propres aux périphériques réseaux

qui ne sont pas repris dans la "Host Resources MIB",

Administration des applicatifs réseaux 61

1.3 Administration des dépendances de services applicatifs

courrier électronique ou MTA (Message Transfer Agent) et les programmes de l'annuaire

x,SOO(a) (DSA : Directory Service Agent).

Pour décrire les informations d'administration des applications réseaux, la MIE définit trois

classes de données:

- une table de tous les services réseaux administrables,

- des paramètres généraux à propos de chaque service (numéro de version, date

d'initialisation, etc),

- des informations sur l'état de chaque application (nombre de connexions courantes, taille

des files d'attentes, etc).

Il faut noter que la "Network services monitoring MIB" permet d'administrer non pas

seulement les applications issues des réseaux TCPIIP, mais également celles des réseaux OS!.

Ces publications permettront à moyen terme un réel développement des outils

d'administration des applications réseaux, mais il est nécessaire d'attendre au moins encore

une année (voire deux) pour trouver les premiers équipements implantant de tels MIE.

3.2.1.3. L'administration des applications dans le modèle OSI

La normalisation est un travail de longue haleine. Comme le soulignent certains auteurs (M.

Rose dans "The Open Book" [ROS 89], C. Lecerf et D. Chomel dans "Les normes de gestion

de réseaux à ['ISO" [LEC 93]), autant les spécifications d'objets d'administration pour les

couches les plus basses du modèle OSI (couche physique, liaison, réseau et transport) sont

nombreuses (presque à l'excès), autant tout reste à faire pour les couches les plus hautes. La

norme ISO N14ü4 en cours d'élaboration (2WD(b)) doit permettre la gestion des logiciels de

communication (configuration et contrôle de l'utilisation). Cette norme introduit deux classes

d'objets pour décrire un logiciel:

- Software managed object class : il s'agit de la classe d'objets qui décrit les logiciels en tant

que fichiers,

- Program descriptor object class : il s'agit de la classe d'objets qui décrit les logiciels en

tant que programmes en cours d'exécution.

Voici les principaux attributs communs à ces classes: le nom, le numéro de version, l'adresse

de stockage dans la mémoire, la relation de dépendance avec des matériels ou des logiciels, les

paramètres de lancement, les droits d'accès, etc.

Les opérations sur ces classes sont entre autres: la lecture de la configuration (enquire), la

suspension de l'activité du logiciel (suspend), l'arrêt du logiciel (hait), etc.

(a) X500 est une norme conjointe du CCITf [X500j et de "ISO [ISO 9594]. Elle décrit la structure logique

de la base d'informations pour un annuaire généralisé.(b) Les normes ISO suivent un cycle d'élaboration avant leur version définitive. Le sigle 2WD signifie qu'il

s'agit de la deuxième version préliminaire.

62 Administration des applicatifs réseaux

Administration des dépendances de services applicatifs

3.2.1.4. Travaux d'extension du modèle osr et SNMP pour l'administration des services

applicatifs réseaux

1.3

Un des aspects qu'il est nécessaire de souligner, aussi bien dans la gestion d'applications par

le modèle osr que pal' le modèle SNMP, est la difficulté à décrire les relations entre les objets

administrés dans de tels modèles. Or l'administration des services réseaux, et encore plus de

leurs interdépendances, nécessite de gérer les relations entre les objets: les relations entre

clients et serveurs, entre ressources et ordinateurs, entre utilisateurs et ordinateurs, etc. Dans le

modèle osr, une relation est spécifiée par un attribut sur les deux objets liés, ce qui soulève les

problèmes de cohérence entre les attributs des objets liés et la difficulté d'exprimer des

relations multiples. Plusieurs auteurs soulignent cette carence [CLEM 93], [BAP 93], [Sm 93]

et proposent plusieurs extensions au modèle. La solution la plus courante, proposée entre

autres par A. Clemm dans son article "Incorporating Relationships into OSI Management

Information ", repose sur la spécification d'objets de relation ayant ses propres attributs et ses

propres méthodes. Une extension à la norme d'administration osr [rSO N139ü]est en cours

d'élaboration pour traiter le problème des relations entre objets.

Pour SNMP, il n'existe, tout simplement, pas de moyen simple de spécifier les relations.

L'administration des services réseaux pose un deuxième problème qui consiste à repérer

chaque instance d'objet de manière unique et à la localiser sur le bon équipement. Le modèle

osr se base sur l'utilisation de DN (Distinguished Names) pour nommer chaque objet

(présenté au paragraphe 2.3.2.2 - page 32). Mais certains auteurs dont M. Sylor dans son

article "Junction Objets - A solution to a problem in naming and locating OSI managed

objects", soulignent que cette recommandation ne suffit pas pour lever toutes les ambiguïtés

sur le repérage de l'instance de l'objet en question. Il propose l'utilisation conjointe du

système d'annuaire normalisé "The Directory,,(a) avec l'administration OSr. L'idée essentielle

est de répertorier les objets à administrer dans l'annuaire, car celui-ci dispose de mécanismes

plus adaptés pour le repérage des équipements. Il ne s'agit pas tant d'utiliser l'annuaire

comme une base de données pour l'administration osr, mais pour résoudre le problème de la

localisation des objets gérés.

Conune nous le soulignions pour l'administration des applications sous SNMP, la définition

des objets liés à l'administration des services réseaux applicatifs n'apparaît que depuis un ou

deux ans, et les travaux pour étendre les modèles d'information à certains problèmes, dont

ceux liés à l'administration de réseaux, sont encore en cours d'élaboration. Il faudra attendre

encore quelque temps pour trouver des implantations de tels systèmes. C'est pourquoi les

<a) Plus géuéralement connu sous l'appellation de la norme CCrIT qui le décrit: X500.

Administration des applicatifs résealO: 63

1.3 Administration des dépendances de services applicatifs

solutions constructeurs et utilisateurs restent pour l'instant, l'unique possibilité pour un tel

domaine d'administration. Ainsi pour tenter d'offrir la vue la plus complète possible de l'état

de l'art de l'administration des services applicatifs réseaux, nous présentons deux solutions

non-standards. Tout d'abord, nous exposons le système de gestion de configuration proposé

par le constructeur informatique Sun; nous décrivons ensuite la solution développée par

Alcatel Business Systems pour la gestion des indisponibilités de ses applications

informatiques.

3.2.1.5. Un modèle constructeur: NIS

La société Sun, face à l'absence de solution globale pour le stockage des informations de

configuration des stations de travail a choisi de développer et commercialiser son propre

système: le NIS(a) (Network Information Service). Ce système d'informations est largement

implanté par les autres constructeurs concurrents sur le parc des machines basées sur le

système Unix. La structure de NIS est décrite dans l'article de D.K. Hess, DR Safford et

U.W. Pooch: UA Unix Protocol Security Sttldy: NetIV01* Information Service" [HES 90]. Le

détail complet du système NIS est spécifié dans le document de référence [SUN 91] fourni par

le constructeur Sun.

NIS a été mis en place afin qu'un parc de machines puisse partager les mêmes fichiers de

configuration. Il s'agit notamment des fichiers concernant les adresses des autres machines,

une partie de leur configuration et des paramètres propres aux utilisateurs.

Description de NIS

NIS est construit sur une architecture de bases de données dupliquées. Un serveur maître,

responsable des informations qu'il détient, met à jour cycliquement une série de serveurs

esclaves par duplication de ses données. Le modèle d'intel1'ogation est basé sur les notions

habituelles de clients/serveurs, à cela près qu'en l'occurrence il ne s'agit pas d'un unique

serveur, mais de serveurs dupliqués.

(a) Le NIS était appelé "Yellow Pages" dans les versions antérieures et rebaptisé NIS suite à un procès entre

Sun et British Telecom pour usurpation du nom de l'annuaire anglais des télécommunications.

64 Administration des applicatifs réseaux

Administration des dépendances de se/l'ices applicatifs 1.3

Clients NIS

Schéma 11 .. Structure des NIS

NIS gère divers types d'objets dont nous donnons les principaux:

-les utilisateurs, leur mot de passe et divers autres paramètres (passwd),

-les groupes d'utilisateurs (group),

-les protocoles acceptés par les machines (protocols, services),

-les machines (hosts).

Nota: Il faut cependant noter que le mécanisme qu'offre NIS ne se restreint pas aux types

d'objets cités. Il est tout à fait envisageable d'utiliser NIS pour partager d'autres types de

données tels des tables de logiciels, etc. La seconde version des NIS, rebaptisée NISPLUS et

diffusée avec le nouveau système d'exploitation Solaris 2.x de Sun, ajoute par exemple des

informations sur les montages de disques distants.

Nous voyons que NIS permet une certaine forme d'administration des applications réseaux,

car il manipule des données concernant les configurations et les utilisateurs. C'est sans doute

la forme d'administration la plus employée actuellement(a). Cependant, comme nous J'avons

présenté dans le premier chapitre de cette première partie, l'administration des services

réseaux ne consiste pas uniquement en J'administration des configurations logicielles et

matérielles. Il est intéressant de pouvoir décrire l'interaction du réseau sur les applications.

(a) Cette forte implantation s'explique principalement par l'importance du parc des stations de travail

utilisant NIS et par les liens entre NIS et NFS.

Administration des applicatifs réseau.'C 6S

1.3 Administration des dépendances de services applicatifs

Nous présentons un deuxième système, mais cette fois-ci développé par un utilisateur de

l'informatique: Alcatel Business Systems, qui intègre la notion d'interdépendance entre

applications réseaux.

3.2.2. Une solution utilisateur précurseur

Le centre de production de Strasbourg du groupe Alcatel Business Systems est en train

d'élaborer une solution d'administration des services réseaux [MAU 93] sous la direction de

P. Potters. Ce projet a débuté en 1991 et s'inscrit dans un projet plus large de suivi des projets

informatiques. Il s'agit de quantifier la disponibilité des ressources à la fois matérielles et

applicatives du Centre d'Informatique de la firme. L'idée repose sur la nécessité de pouvoir

mesurer les taux de service des utilisateurs afin de leur refacturer les coOts, et sur l'intérêt de

pouvoir évaluer les temps d'indisponibilité des services réseaux et d'en déduire les manques à

gagner.

Quatre problèmes ont du être surmontés:

- spécifier une définition de l'indisponibilité,

- définir les données qui permettent le calcul de l'indisponibilité,

- établir un système de nommage des ressources et des équipements,

- donner un modèle des dépendances entre les divers équipements.

Les solutions retenues sont toutes propriétaires et ne s'appuient sur aucune norme ou standard

d'administration de réseaux.

3.2.2.1, Le modèle de données

L'idée est de définir deux classes de données élémentaires: les indisponiblités planifiables et

celles qui ne le sont pas. On compte dans les indisponibilités planifiables les installations de

nouvelles versions de logiciels ou de systèmes d'exploitation, les ajouts de matériel

périphérique tel un disque, les sauvegardes régulières, les restructurations des données

système (défragmentation des disques, modification des arborescences des systèmes de

fichiers, etc). Il s'agit des opérations de maintenance qui nécessitent l'arrêt de j'ordinateur ou

son utilisation exclusive par l'administrateur. D'autre part, les indisponibilités non planifiables

sont les pannes (électriques, mécaniques, etc), non prévisibles bien évidemment.

De ces deux classes sont définis ce qu'ils appellent des "atomes d'indisponibilité brute"

associés à chaque ressource, chaque applicatif, chaque équipement. Un système assez simple

de dénomination est établi pour distinguer chaque élément (chaîne de caractères unique).

Chaque "atome d'indisponibilité" est muni d'une date et heure de début et de fin dans le but de

pouvoir obtenir des données d'indisponibilité en fonction du temps.

66 Administration des applicatifs réseaux

Administration des dépendances de selvices applicatifs 1.3

En fonction de la configuration matérielle et logicielle, des règles de "propagation des

indisponibilités" sont définies dans un langage défini pour la cause. Dans le tableau suivant,

nous donnons quelques unes de ces règles:

CENTREINFO -> CLUSTERl + CLUSTER 2 + CLUSTER_DEVT+ CLUSTER_SII1U + CLUSTER_EVAL + NESTOR + SUNCIS

[COUPURE;CLUSTER1] -> CLUSTERl

[CLUSTER1] -> RANSES + MERLIN + DAPHNE + GASTON + PLUTON

[INGRESV6;CLUSTER1] -> [INGRESV6;RANSESJ + [INGRESV6;MERLIN]+ [INGRESV6;PLUTON] + [INGRESV6;GASTON]

Celles-ci sont à lire de la façon suivante: "CLUSTERI -> RAMSES + MERLIN + ..." signifie

qu'une indisponibilité sur le Cluster de Vax nommé par "CLUSTERI" engendre

l'indisponibilité des équipements (ici des ordinateurs) nommés "RAMSES", "MERLIN", etc.

La notation "[INGRESV6;RAMSES]" doit permettre de savoir sur quels ordinateurs sont

installés les logiciels.

3.2.2.2. Les mécanismes mis en œuvre

Le système de gestion de la disponiblité des services réseau en cours d'élaboration repose sur

une base de données centrale appelée SAR (System Availability Reporting), qui est implantée

sous le gestionnaire Oracle. La description des règles de "propagation des indisponibilités" est

donnée dans un simple fichier texte et la signalisation des incidents utilise la voie prévue dans

l'entreprise à cet effet (notification téléphonique avec quantification de l'importance de la

panne en fonction des inconvénients visibles qui en découlent). Ces incidents viennent

s'ajouter aux indisponibilités planifiées et sont directement insérés dans la base de données par

les outils Oracle. Un moteur de propagation basé sur le principe du "moteur d'inférences" des

systèmes experts a été développé sur mesure. Il permet d'analyser les données de la base SAR

concernant les indisponibilités.

3.2.2.3. Les résultats obtenus

Six types de rapports sont produits par le système de calcul des indisponibilités qui décrivent

des points de vues complémentaires:

- Le rapport d'exceptions: il décrit les indisponibilités et les taux de services anormaux

(c'est-à-dire non prévus à l'avance).

- Le rapport global: il indique les taux d'utilisation en fonction du temps.

- Les rapports de configuration pour certains éléments critiques: il s'agit de la description

des règles de propagation qui concernent directement ces éléments.

Administration des applicatifs réseau.},; 67

1.3 Administration des dépendances de services applicatifs

- Les rapports de domaine: ils regroupent les informations qui concernent un domaine

particulier de l'entreprise.

- Les rapports d'éléments: ils synthétisent les informations d'utilisation et d'indisponibilité

d'un élément donné.

- Les rapports financiers globaux ou spécifiques: ils établissent le coût d'un service, d'un

équipement.

3.2.2.4. Evaluation du modèle

Ce système d'administration des services réseaux en vue de calculer les indisponibilités qui

en découlent est précurseur en la matière et relativement limité. En effet le modèle proposé par

Alcatel Business Systems repose sur une hypothèse qui nous semble fragile, à savoir que la

configuration matérielle et logicielle, qui donne lieu à l'élaboration des règles de propagation

des indisponibilités, est donnée "à la main" par l'administrateur réseau. Pour peu que celui-ci

oublie par exemple que tel logiciel se trouve sur tel disque, les règles ne décrivent plus les

dépendances réelles et les résultats calculés n'ont plus de sens. D'autre part, la notion

d'utilisateur des ressources n'est pas réellement définie, il s'agit plutôt des groupes

d'utilisateurs de chaque machine. Les rapports de domaine seront, par exemple, impossibles à

produire s'ils reposent sur des groupes d'utilisateurs qui ne travaillent pas nécessairement sur

une même machine. Enfin, le langage développé pour décrire les règles de propagation nous

semble pauvre et mal adapté à la description de l'ensemble des cas qui peuvent se présenter.

Ce modèle souligne cependant l'importance que peut revêtir l'administration des applications

et des ressources, et la carence actuelle dans ce domaine. L'investissement qu'Alcatel

Business Systems concède à ce secteur est, à notre sens, un argument significatif.

Nous proposons dans la deuxième partie de notre thèse un modèle qui s'approche quelque peu

de celui-ci. La finalité en est la même, nous essayons cependant de traiter de manière plus

générale les éléments qui entrent en jeu dans l'administration des dépendances entre services

réseaux applicatifs.

68 Administration des applicatifs réseaux

Administration des dépendances de services applicatifs

Conclusion

1

Nous l'avons vu, l'administration de réseaux est un domaine qui met à contribution différents

acteurs : laboratoires de recherche, organismes de normalisation, mais aussi constructeurs et

utilisateurs finaux. C'est pourquoi présenter un "état de l'art" a nécessité d'aborder le

problème sous différents angles d'approche. Après avoir reprécisé le rôle et la finalité de

l'administration, il a été nécessaire de faire un large tour d'horizon pour décrire l'ensemble

des travaux dans ce secteur. Nous avons choisi pour cela de présenter l'architecture générale

d'un système d'administration, et pour chacune de ses composantes d'exposer les différents

travaux actuels. Nous avons ainsi mis en exergue l'importance des deux grands modèles que

sont l'administration OS1 et l'administration SNMP. Nous avons relevé leurs différences

théoriques et leur cadre d'application respectif. Nous avons souligné l'hégémonie d'un

modèle SNMP relativement simpliste, en opposition avec un modèle OS1 définissant une

administration plus complète, mais encore peu implantée. En marge de ces deux modèles,

nous avons présenté des travaux parallèles: certaines méthodes d'interrogation non standard,

et les protocoles d'administration à publication.

Le cadre de travail ayant été posé, nous nous sommes attaché à décrire notre secteur spécifique

de recherche, à savoir l'administration des dépendances entre applicatifs réseaux. Après avoir

précisé ce que nous entendions par "applications réseaux", nous avons relevé le caractère

récent de ce domaine et avons exposé les développements prometteurs - des modèles SNMP,

OS1 et autres - qui appréhendent la gestion des applications et de leurs interdépendances. Il

s'agit d'une part des extensions du modèle d'administration OS1 pour prendre en compte les

"relations" entre les objets, et d'autre part, des spécifications de nouvelles MIE SNMP pour la

description des éléments qui entrent en jeu dans l'administration des dépendances réseaux.

Nous avons également présenté certains projets et travaux moins récents, mais attenants à

notre sujet de thèse: Moira du projet Athéna, et le système des NIS. La présentation de cet

"état de l'art" s'est achevée sur l'exposé d'un modèle précurseur d'administration des

ressources. Celui-ci a des finalités similaires à celles du modèle que nous allons présenter dans

la deuxième partie de notre thèse.

Administration des applicatifs réseau.," 69

Partie II

Un modèlepour l'administration

des applications'"reseaux

Administratioli des applicatifs réseaux 71

Comme nous le présentions dans le chapitre précédent, un des domaines de l'administration

encore peu exploité est, entre autres, tout ce qui concerne la gestion des services applicatifs, et

principalement dans un contexte de réseaux hétérogènes.

Le sujet de notre thèse est d'élaborer un modèle de données dans ce domaine particulier, de

montrer les résultats que l'on peut en tirer et d'en souligner la validité en réalisant son

implantation. Dans cette deuxième partie, nous exposons les deux premiers points - le modèle

de données et les résultats déduits - et présentons, dans la dernière partie de la thèse,

l'implantation du modèle en question en vue de sa validation.

Trois aspects vont être traités. En premier lieu, nous présentons notre modèle de données sous

un angle formel grâce au formalisme mathématique des ensembles et des applications

multivoques. Nous modélisons ainsi les éléments du réseau, leurs relations, ... bref, tout ce qui

nous est apparu nécessaire à la description des services applicatifs d'un réseau informatique

hétérogène. Ce modèle, dans sa description formelle, a été présenté auparavant au Colloque

Francophone de l'Ingénierie des Protocoles [FER 93].

Dans un deuxième temps, nous nous attachons à décrire les concepts informatiques de mise en

œuvre d'un tel modèle à savoir les principes d'acquisition des données, de leur mémorisation

et de leur exploitation, nous détaillons certains algorithmes qui nous ont été nécessaires. Nous

exposons également le diagramme de la base de données relationnelle qui nous permet de

"plonger" notre modèle formel dans un modèle "informatique".

Enfin, nous terminons cette deuxième partie en exposant les résultats que l'on obtient d'un tel

modèle. Nous reprenons pour cela les cinq aires fonctionnelles définies par l'ISO et exposons

pour chacune d'elles, un ou plusieurs résultats relevant du domaine en question. Les deux

résultats les plus importants sont l'estimation de la fiabilité d'lIIl se/vice réseau et la mesure

de l'impact d'un ordinateur ou d'un équipement sur l'ensemble des services réseaux. Nous

exposons également une méthode de recherche des aberrations de configurations concernant

les applications dans certains cas d'interblocages, une analyse de la sécurité des ressources,

Administration des applicatifs réseaux 73

II.

une proposition de règle de répartition des cOLÎts engendrés par l'exploitation d'un réseau et

enfin une méthode d'évaluation des périodes de charges des ordinateurs.

Cependant, avant d'exposer notre modèle et ses résultats, il nous semble nécessaire de préciser

le plus finement possible la finalité de ce modèle et, également, d'en définir le contex'e

d'application. Nous commençons donc cette deuxième partie en donnant le cadre d'utilisation

du modèle et, notamment, nous posons les hypothèses de travail incontournable dans toute

modélisation pour garder une complexité "raisonnable" et exploitable,

74 Administration des applicatifs réseQlL\·

Hypothèses et finalité du modèle

4. Hypothèses et finalité du

modèle

4.1. Finalité du modèle

n.4

Nous avons abordé l'élaboration de notre modèle de façon assez pragmatique en partant des

problèmes courants de gestion des services réseaux rencontrés par l'administrateur ou les

utilisateurs d'un réseau. Nous classons ceux-.ci en deux catégories complémentaires: les

problèmes de dépendances et les problèmes d'impacts. Comme nous le disions en

introduction de cette thèse, la tendance actuelle à une architecture décentralisée et

l'hétérogénéité des réseaux engendrent des phénomènes de dépendances entre applicatifs

réseaux de plus en plus difficiles à administrer. Ce.ci est d'autant plus net si le réseau est de

taille importante. L'exemple- présenté à la page 58 - des conditions nécessaires à la

consultation du courrier électronique à partir d'un terminal X illustre bien l'importance des

dépendances mises en jeu même pour un service réseau courant.

Nous définissons et illustrons les deux catégories de problèmes de gestion des services

réseaux: dépendances et impacts.

La gestion des problèmes de dépendances consiste à établir, contrôler et mesurer les éléments

réseaux nécessaires à l'établissement d'un service applicatif.

?•

Probtèmede ta dépendanceau réseau

Schéma 12 : lIIustration des problèmes de dépendances des services réseaux

Administratioll des applicatifs réseau.t: 75

II.4 Hypothèses et finalité du modèle

La gestion des problèmes d'impacts relève de la mesure de l'importance qu'a sur l'ensemble

des services applicatifs l'état d'llll élément du réseau.

Problème de l'impactsur le réseau

Schéma 13 : IlIuslration des problèmes d'impacts sur les services réseaux

Ainsi, la finalité du modèle de données, que nous présentons formellement dans le chapitre

suivant, est la description - au moyen d'un graphe particulier - des objets et des dépendances

inter-objets qui sont nécessaires au fonctionnement des services applicatifs d'un réseau

informatique hétérogène. C'est ce graphe qui est le véritable base de nos travaux, car nous le

spécifions de telle sorte qu'il modélise toutes les informations nécessaires à une gestion aisée

des applications réseaux; il peut être exploité dans les différents domaines habituels de

l'administration de réseaux (gestion de la configuration, des anomalies, des performances, des

informations comptables et de la sécurité - cf. 1.1.3 - page 12).

De ce graphe, nous déduisons un certain nombre de résultats spécifiques, que nous exposons

dans le dernier chapitre de celle deuxième partie (chapitre 7 - page 132). Nous proposons

ainsi:

- une méthode de calcul de la fiabilité des services réseaux,

- une méthode de calcul de l'impact des équipements sur l'ensemble des services réseaux,

- une méthode de localisation des configurations d'interblocages,

- une évaluation de la charge des ordinateurs,

- une méthode d'aide à la recherche des causes de dysfonctionnements.

- une méthode de calcul de la sécurité des ressources,

- une évaluation des coats financiers des services,

Nous exposons dans le paragraphe suivant le contexte d'application du modèle que nous

définissons: Quels types de réseaux peuvent être décrits par le modèle présenté?

76 Administration des applicatifs réseafLl:

Hypothèses et finalité du modèle

4.2. Contexte d'application du modèle

Il.4

Le contexte d'application du modèle que nous définissons est celui de réseaux de tailles

moyennes comme peuvent l'être les réseaux d'interconnexions de sous-réseaux locaux. Il

s'agit typiquement de réseaux d'entreprise ou de campus qui utilisent les technologies

désormais courantes Ethernet, TokenRing, etc. Il n'y a pas de réel intérêt à appliquer notre

modèle à un réseau de trop petite taille (un segment Ethernet par exemple), qui ne nécessite

pas réellement d'administration des services réseaux car ils sont relativement peu nombreux.

Par contre, notre modèle peut s'appliquer à un réseau de forte étendue géographique.

Cependant, il faut noter que les facteurs qui engendrent les dépendances entre services

applicatifs réseaux (principalement les montages de disques distants et les passerelles

logicielles) sont peu utilisés dans ce cas. D'autre part, le nombre de services et d'applications

gérés doit rester dans des limites exploitables, comme nous le soulignons dans le paragraphe

suivant traitant des hypothèses de travail.

La validation du modèle a été réalisée, quant à elle, sur le réseau de campus de l'Université

des Sciences Humaines de Strasbourg dont une description est donnée dans la troisième partie

de notre thèse. Il s'agit d'un réseau réparti sur deux sites géographiques comportant un peu

moins de deux cents nœuds (ordinateurs, équipements réseaux) et qui utilise principalement

deux familles de protocoles: TCPIIP et AppleTalk.

Polir élaborer notre modèle, il nous a fallu poser certaines hypothèses de travail que nous

allons présenter dans le paragraphe suivant.

4.3. Hypothèses de travail

Comme nous l'avons énoncé, le but affiché est de décrire le plus finement possible les

relations entre les objets qui participent au fonctionnement des services réseaux applicatifs.

Cependant, une des difficultés immédiates est de conserver un modèle dont la quantité de

données garde des proportions raisonnables(a). Il s'agit donc, nécessairement, d'une certaine

forme de péréquation entre précision et exploitation. Nous avons donc posé un certain nombre

d'hypothèses qui, tout en étant réductrices, conservent les propriétés du modèle que nous

voulons gérer.

(a) En informatique. on peut assimiler la périphrase "proportions raisonnables" à la notion de quantité dedonnées exploitables par un ordinateur.

Administration des applicatifs réseaux: 77

II.4 Hypothèses et finalité du modèle

Nous partons de l'observation suivante: la majorité des problèmes d'administration des

services réseaux applicatifs ne relèvent pas de la gestion des protocoles sous-jacents. Nous

pouvons étayer ce constat par l'étude du système d'administration du projet Athena

[CHA 90] (cf. 3.2.1.1 - page 59) ; alors qu'il permet la gestion de l'ensemble des applications,

aucune référence au type et aux informations des protocoles sous-jacents n'est nécessaire(a).

Ainsi, la nature des objets que nous modélisons est déduites d'une part du constat que nous

venons d'énoncer, et d'autre part de l'étude faite sur trois ans d'exploitation du réseau de

campus de l'Université des Sciences Humaines de Strasbourg. Nous soulignons qu'il s'agit de

problèmes d'exploitation et non de mise en œuvre de nouveaux services.

Le tableau ci-dessous montre que les problèmes les plus courants qui affectent les services

applicatifs sont avant tout planifiables car ils concernent la maintenance pour plus des trois­

quarts d'entre-eux (79%). D'autre part, les pannes et incidents, par nature imprévisibles, sont

dûs pour la moitié (49%) à des erreurs de configurations (paramètres réseaux ou logiciels).

Enfin nous soulignons le niveau de fiabilité des cartes électroniques des équipements

informatiques actuels.

Nota: Dans le tableau ci-dessous la colonne de droite indique le nombre d'occurences sur une

période de deux ans. Les lignes concernant les problèmes planifiables sont grisées.

Pannes d'électricité 12

Coupures volontaires d'électricité 4

Systèmes d'alimentation hors service 4

ii:lSystèmes pédphériques (disques, imprimantes) hors service 7

ii: Cartes électroniques hors service (CPU, cartes graphiques ou d'entrées!1l!:! sorties, bancs mémoires, etc)

~ Ecrans ou claviers hors service 4

Ruptures ou déconnexions des médiums 15

ReS(ructurations ou maintenance du réseau 6

Equipements réseaux hors service (répéteurs, transceivers, etc) 3

(a) A l'exception des adresses réseaux des ordinateurs.

78 Administration des applicatifs réseaux

Hypothèses et finalité du modèle U.4

Systèmes de stockage saturés 12

Erreurs de configuration réseau (adresses réseaux, masques, routeurs pardéfaut, etc)

30

Erreurs de configuration des protocoles (tables de routages, filtres, etc) 4

25Erreurs de configuration logicielle (droits d'accès, exportations ouimportations de données mal déclarées, etc)

Mises-à-jour des logiciels et systèmes d'exploitation (nécessitant l'arrêt de 1 .

l'ordinateur) 1

Restructuration des données et des disques (nécessitant le fonctionnement 1 .

en mode de maintenance de l'ordinateur) 1

Sau~'eg,'rde:s eot' ' . . le L •• .A.· 1-. .A~~:~'H:«5v. . l;5U'Uv" 1

Thbleau 2 : Répartition des problèmes affectalll les services applicatifs

Pour couvrir plus de 90% des problèmes liés à l'exploitation courante des applications

réseaux, il nous faut modéliser les objets suivants:

- les ressources (disques, périphériques, etc),

- les ordinateurs,

-les logiciels réseaux.

Nous appréhendons plus de 98% des problèmes si nous ajoutons à notre modèle:

- les utilisateurs,

-les équipements réseaux (médiums, répéteurs, etc).

De cette étude nous posons notre première hypothèse de travail :

L'administration des objets suivants: ordinateurs, ressources,

logiciels réseaux, utilisateurs et équipemellts réseaux suffit à

gérer la grande majorité des problèmes de l'administration des

services applicatifs réseaux. Par conséquent, notre modèle ne

s'appuie pas sur la définition et la gestion

des protocoles sous-jacents.

Notre deuxième hypothèse de travail repose sur les travaux de F. Schneider [SCH 83], L.

Lamport, S. Robert et P. Marshall [LAM 82] pour écarter les problèmes de fonctionnements

dégradés. Il s'agit des cas où un élément présente des dysfonctionnements partiels ou

passagers qui n'empêchent pas la réalisation du service mais en dégradent la qualité. Il s'agit

des cas de pannes certainement les plus difficiles à isoler et à repérer, mais dont la fréquence

Administration des applicatifs résemü: 79

II.4 Hypothèses et finalité du modèle

est relativement peu élevée et les conséquences de moindre importance, comme le soulignent

les auteurs précités. Nous ne traitons, dans notre modèle, que des cas francs :

Un objet modélisé ne peut avoir que deux états

defonctionnement: "en service" ou "hors service".

D'autre part, notre modèle s'attache à définir les services réseaux qui peuvent se décrire sous

le mode client-serveur (notion que nous avons présentée au paragraphe 3.1.1 - page 52). Les

services de ce type forment la grande majorité des services applicatifs réseaux actuels. Notons,

cependant, que certains services réseaux récents tels TooITalk(a) ou les systèmes de disques

miroirs(b) utilisent un modèle plus complexe du type client-mu/tiserveurs. Son principe repose

sur le fait qu'il ne s'agit plus d'une simple relation binaire (un client est "servi" par un serveur,

non désigné au préalable, d'un groupe de serveurs donnés). Ceci pose la troisième hypothèse

de notre modèle:

Les services réseaux élémentaires décrits dans notre modèle

doivent pouvoir être définis sous forme de relations binaires de

type client-servetll:

La quatrième hypothèse peut paraître évidente. Nous supposons que si tous les objets ­

nécessaires à· un service réseau - fonctionnent correctement, alors le service fonctionne

également. Ceci définit notre quatrième hypothèse:

Notre modélisation s'applique à des réseaux dont la

configuration est correcte.

Enfin, nous reprenons la même hypothèse de travail que celle utilisée dans le modèle de calcul

des indisponiblités développé par Alcatel Business Systems (cf. 3.2.2 - page 66) quant à la

gestion temporelle. Les services réseaux traités reposent sur des informations de configuration

à durée de vie(c) longue (supérieure à la journée). Cette hypothèse n'est pas particulièrement

(a) ToolTalk est un système d'appels de procédures dépo11ées basés surIes RPC (Remole Procedure Cali) qui

autorise plusieurs serveurs simultanés. Il est développé par la société Sun.

(b) Le principe des disques miroirs consiste à dupliquer l'information stockée afin d'éviter les pertes

accidentelles.

(e) Cf. note a - page 45.

80 Administration des applicatifs réseau:<

Hypothèses et finalité du modèle n.4

réductrice car elle englobe la grande majorité des services réseaux applicatifs. D'autre part,

l'utilisation d'un service réseau est planifiable dans le temps et peut être muni de fenêtres de

validité. Celles-ci délimitent les plages horaires pendant lesquelles le service réseau doit être

assuré car susceptible d'être utilisé. Cette hypothèse n'est pas nécessaire au modèle mais

permet d'étendre de manière significative ses résultats.

Le modèle est défini pour gérer des services réseaux dont

l'évolution de la configuration est lente (de l'ordre de la

joumée) et qui peuvent être planifiables.

Ces cinq hypothèses vont nous permettre de définir un modèle dont la quantité de données

reste exploitable et qui conserve, cependant, les propriétés que nous voulons traiter.

4.4. Présentation informelle du modèle

Nous avons posé les hypothèses de travail, nous présentons maintenant de manière informelle

les concepts de notre modèle avant de le définir formellement dans le chapitre suivant. L'idée

clé est de considérer qu'un service applicatif réseau peut être modélisé sans tenir compte du

contenu des messages échangés entre les serveurs et les clients pour un service réseau. Suivant

cette approche, nous allons poser les trois définitions des entités suivantes:

- Le service réseau élémentaire: il s'agit de la "brique" de base du modèle. Il décrit les

objets et les relations qui entrent en jeu pour l'établissement d'un service réseau le plus

simple.

- Le service réseau: il permet de regrouper des ensembles de services réseaux élémentaires.

- Le service réseau en cascade: il permet de modéliser les dépendances entre les services

réseaux élémentaires.

La dernière définition est le cœur de notre modèle. Elle permet de modéliser la notion

fondamentale qui est - comme nous allons le voir en détail par la suite - le fait qu'une

ressource ne se trouve pas nécessairement sur l'ordinateur prévu, mais peut être déléguée à un

ordinateur tiers. Le cas typique traité est le fait qu'un logiciel participant à un service réseau

est localisé sur un support magnétique (c'est-à-dire que le logiciel peut être considéré, en

quelque sorte, comme une ressource au même titre qu'un périphérique) . Or le logiciel peut

être sur un disque local, mais également sur un disque déporté rendu accessible par un autre

service réseau (montage de disque distant par NFS par exemple). La problèmatique prend, dès

lors, toute son ampleur.

Administration des applicatifs réseaux 81

II.4 Hypothèses et finalité du modèle

Ces trois définitions nous permettent de construire le graphe global de dépendances déduit des

services réseaux que l'on désire modéliser. C'est de ce graphe particulier que nous déduisons

l'ensemble des résultats précédemment cités.

Avant de présenter formellement le modèle, gardons à l'esprit le schéma ci-dessous qui

illustre intuitivement le concept de base de notre modélisation: tout service peut être décrit

par un couple (nœud client, nœud serveur) :

Noeud client Noeud serveur

Schéma 14 : Illustration intuitive du cOf/cept de base du modèle

82 Administration des applicatifs réseaux

Description formelle du modèle

5. Description formelle du

modèle

ILS

Notre modèle se décompose en trois volets:

-la modélisation des services réseaux à proprement parler, sous forme d'association nœud

client - nœud serveur,

- la modélisation des équipements réseaux nécessaires à l'association des nœuds clients avec

les nœuds serveurs,

- l'augmentation du modèle en fonction du temps.

Pour décrire le modèle de données, nous adoptons une notation ensembliste classique en

mathématiques. Elle al' avantage de la concision dans la définition des graphes que nous

allons manipuler. Il s'agit du même formalisme qu'utilisent M. Gondran et M, Minoux dans

leur ouvrage sur l'étude des graphes "Graphes et algorithmes" [GON 85]. Par souci de

facilité de lecture, nous présentons notre modèle en le "complexifiant" peu à peu, pour prendre

en compte les différents concepts qui entrent en jeu dans la définition des services applicatifs.

Nous n'indiquons pas, dans la description formelle du modèle présentée ici, les moyens

d'acquisition des informations. Notre propos est de poser les bases logiques des relations et

objets nécessaires à l'établissement d'un service réseau, les méthodes d'observation de ces

objets étant traitées dans le chapitre suivant "Du modèle théorique au modèle informatique".

Nota : Les exemples proposés sont issus principalement du système d'exploitation Unix

(station de travail), mais également du Système 6 & 7 (Macintosh) et de MS/DOS

(Compatible PC).

Administration des applicatifs réseau.t: 83

fi .5 Descriptioll formelle du modèle

5.1. Modélisation des services réseaux

5.1.1. Les objets

Pour décrire les objets qui participent à un service réseau, nous définissons quatre ensembles

finis :

- U: l'ensemble des utilisateurs,

- M : l'ensemble des machines,

- R : l'ensemble des ressources,

- P : l'ensemble des instances de programmes.

Un utilisateur est un identificateur unique d'une personne physique, par exemple le nom ou un

numéro d'identification (cet identificateur sera le même pour tout le parc de machines à

administrer).

Une machine est l'outil, en l'occurrence l'ordinateur, dont se servent un ou plusieurs

utilisateurs.

Une ressource est un objet physique que la machine sait piloter, par exemple, une imprimante,

un disque, bref un périphérique au sens le plus large.

Enfin, l'instance de programme est le complément indispensable à la machine pour réaliser

une action. Nous parlons d'instance de programme car il s'agit de chaque programme

mémorisé sur chaque machinera). Nous ne nous intéressons qu'aux instances de programmes

qui effectuentdes actions dans le domaine des services applicatifs réseaux, par exemple nfsd,

lpr, AppleShare, etc (voir le paragraphe 3.1.2.3 - page 56 pour la description des applications

réseaux d'une station de travail).

Nota : Pour faciliter la lecture, nous utiliserons dans la suite de notre thèse le terme

"programme" à la place de la périphrase "instance de programme". Il s'agira toujours

d'instance sauf mention contraire.

(a) Nous distinguons par la suite les instances de programmes stockées sur disques et les instances de

programmes en cours J'exécution (appelées processus ou daemon dans Je monde Unix).

84 Administration des applicatifs réseau..,.

Descriptionforlllelle du'modèle

5.1.2. Les applications de base

5.1.2.1. Les ressources d'une machine

ILS

Nous définissons une application r qui décrit les ressources gérées par une machine de

manière locale:

r: M~R (Eq.l)

Il s'agit d'une application multivoque c'est-à-dire que l'image d'un élément de M est un sous­

ensemble de R et non un élément unique.

Cette application décrit la configuration de la machine (disques, périphériques, mais

également les comptes utilisateurs, les boîtes aux lettres, etc).

5.1.2.2. Programmes d'une machine

Nous définissons une application multivoque 1qui décrit les programmes d'une machine:

1: M~P (Eq.2)

Cette application représente le catalogue des programmes applications réseaux de la

machine. Il s'agit, en quelque sorte, de la configuration logicielle de l'ordinateur.

Nous insistons sur le fait qu'il s'agit d'associer les ordinateurs avec des instances de

programmes.

5.1.2.3. Programmes clients et programmes serveurs

Nous distinguons deux sous-ensembles des programmes, les programmes clients et les

programmes serveurs. Ces deux sous-ensembles ne sont pas nécessairement disjoints

(cf. 5.1.5.). Nous notons donc:

Pc Ensemble des programmes clients

Ps Ensemble des programmes serveurs

P=PsuPc(Eq.3)

Nous définissons l'application multivoque a qui définit les programmes clients dont le

protocole est "compréhensible" par un programme serveur:

(Eq.4)

Administration des applicatifs résemu: 85

ILS Descriptioll formelle du modèle

Cette application s'appuie sur la première hypothèse de notre modèle: elle nous permet

d'associer les programmes clients et serveurs sans décrire les protocoles internes utilisés. Le

terme de "compréhensible" signifie que le serveur est conçu pour comprendre les requêtes des

clients qui lui sont associées. Par exemple le programme serveur Popper destiné à la gestion

des boîtes aux lettres peut être interrogé par les programmes clients Eudora, PC_Eudora,

POPmail, Minuet, etc.

5.1.2.4. Ressources gérées par un programme serveur

Nous définissons l'application multivoque g qui décrit les ressources que sait gérer un

programme serveur:

(Eq.5)

Cette application indique, par exemple, que le programme serveur postmaster sait gérer les

bases de données de type POSTGRES, ou autre exemple, que le programme serveur lpd gère

les imprimantes et non pas les boîtes aux lettres.

5.1.2.5. Utilisateurs d'un programme client

Nous définissons une application multivoque ue qui décrit les utilisateurs autorisés d'un

progranune client:

(Eq.6)

Cette application détermine les utilisateurs qui ont le droit d'exécuter le programme client.

Dans le cas d'un système mono-utilisateur, tel un micro-ordinateur, tous les utilisateurs sont

autorisés puisque il n'y a pas de notion de droit d'exécution sur ce type d'équipement.

5.1.2.6. Utilisateurs d'un programme serveur

Nous définissons une application multivoque Us qui décrit les droits d'utilisation des

programmes serveurs. Il est nécessaire de préciser ce que l'on entend par "droits

d'utilisation". Nous nous posons la question: de quels éléments dépendent-ils? La réponse

n'est pas aussi directe qu'il y paraît. Alors qu'un progrannne client doit être lancé par

l'utilisateur (par exemple telnet sous Unix), un programme serveur s'exécute en tâche defond

sur la machine serveur (par exemple telnetd sous Unix). L'utilisateur n'a donc pas à exécuter

le programme. En revanche, il doit être reconnu et autorisé à l'utiliser. Ce droit dépend

généralement de l'identité de l'utilisateur du programme serveur. Bien qu'étant le cas le plus

86 Administration des applicatifs réseaux

Descriptiollformel/e du modèle 11.5

fréquent, il existe des services réseaux qui définissent les droits d'utilisation du programme

serveur non seulement en fonction de l'identité de l'utilisateur, mais également en fonction de

la machine cliente. Par exemple, sous Unix, l'application rshd (sur la machine serveur) vérifie

dans le fichier .l'hast les couples (utilisateur, machine cliente) qui ont le droit d'utiliser le shell

local. Enfin, on pourrait imaginer la notion de droits d'utilisalion en fonction du programme

client lui-même. Ne connaissant aucun exemple réel basé sur ce dernier cas, nous ne retenons

que les deux premiers principes; nous spécifions l'application multivoque Us afin qu'elle

définisse les couples (utilisateur local, machine cliente) autorisés à utiliser un programme

serveur.

(Eq.7)

5.1.2.7. Le réseau physique

Enfin nous définissons l'application multivoque n qui décrit l'existence de liens réseaux entre

machines:

n:M~M (Eq.8)

Cette application est détaillée dans le deuxième volet de notre modèle concernant la

description des équipements réseaux nécessaires à l'établissement d'un service.

5.1.3. Définition des services réseaux élémentaires

Nous avons défini les objets et les relations qui existent entre ces objets afin de pouvoir poser

les conditions nécessaires et suffisantes à l'établissement d'un service réseau que nous

appelons élémentaire. Pour cela, nous définissons, tout d'abord, les ensembles de Cet S que

nous nommons nœuds de services clients (resp. serveurs). Ils sont définis comme suit :

C = UxMxP

S = UxMxPxR

Ensemble des nœuds de services clients

Ensemble des nœuds de services serveurs

(Eq.9)

Administratioll des applicatifs réseaux 87

II.5 Descriptionformel/e dit modèle

Nous définissons, d'autre part, f: C ---7 S une application multivoque ayant les propriétés

suivantes:

Soit (x, y) E CxS décomposé en x= (xu,xM'xp)

et Y= (YU'YM'YP'YR)

Alors: y E f(x) ssi les conditions ci-dessous sont vérifiées:

i) xME Il (YM) YM E Il (xM)

ii) XpE Pc YpE Ps xp E a (Yp)

iii) XpE 1(xM) Yp E 1(YM)

iv) XUE uc(xp) (Yu'xM) E Us (Yp )

v) YR E g(yp)

vi) YR E r(YM)

(Eq.10)

L'ensemble des services réseaux élémentaires ç est, dès lors, défini de la façon suivante:

ç = {(X,Y)E CXSI YEf(x)}

5.1.3.1. Détail des conditions d'un service réseau élémentaire

(Eq.11)

i) Spécifie que les deux machines en question peuvent accéder mutuellement l'une

à l'autre.

ii) Spécifie que le programme serveur comprend le protocole du programme client.

iii) Spécifie que les programmes se trouvent effectivement sur les machines en

question.

iv) Spécifie, d'une part, que dans le noeud de service client, l'utilisateur peut

exécuter le programme client. D'autre part, que le couple (utilisateur du serveur

1machine cliente) est autorisé à utiliser le programme serveur.

v) Spécifie que les programmes serveurs accèdent à la ressource demandée.

vi) Spécifie qne la ressource demandée est gérée par la machine serveur.

Nota: Dans la grande majorité des cas, l'utilisateur de la machine cliente (xu) est identique à

celui indiqué pour la machine serveur (Yu)' Cependant, certains services autorisent le

"changement d'identité", c'est-à-dire que l'identité de la personne qni exécute le programme

client n'est pas la même que celle indiquée pour l'utilisation du programme serveur. Un

88 Administration des applicatifs réseaux

Descriptioll formelle du modèle 11.5

exemple courant est le service d'exécution à distance du système Unix (rsh) qui permet, grâce

à un paramètre de spécifier l'identité de l'utilisateur distant.

5.1.3.2. Exemple de service réseau élémentaire

Soit un utilisateur désirant consulter sa boîte aux lettres. Nous pouvons représenter ce service

réseau élémentaire par le graphique suivant:

(utilisateur, machine_client,eudora)

f t(utilisateur,machine_serveur,popper,/var/spool/bal)

eudora: programme client de consultation de courrierpopper.' programme serveur dialoguant avec eudora

utilisateur: identificateur de l'utilisateur/var/spool/bal: botte aux lettres de l'utilisateur

Schéma 1S : Graphe d'un sell'ÎCe réseau élémentaire

5.1.4. Définition des services réseaux - dénomination de ces services

Nous avons défini, au paragraphe 5.1.3., des services demandant une seule ressource. Il est

pourtant courant qu'un service fasse appel à plusieurs ressources simultanément. Ainsi, nous

introduisons un système de dénomination des services réseaux qui nous permet d'effectuer les

regroupements des services réseaux élémentaires qui sont simultanément nécessaires pour le

fonctionnement des services nommés en question(a).

5.1.4.1. Définition de l'application de dénomination

Soit r l'ensemble des noms de services. Nous définissons l'ensemble des services réseaux çcomme un sous-ensemble du produit r x ç. Les éléments de r x ç qui sont des services

réseaux sont ceux qui sont associés à une application multivoque q, appelée application de

dénomination:

q: r ---7 ç (Eq.12)

Autrement dit, un service réseau est un couple (y, q (y)) où y est un nom de service et

q (y) un ensemble de services élémentaires.

(a) Ce regroupement aurait pu être spécifié au moyen d'ensembles de services réseaux élémentaires. Nousgardons cependant la définition par applications multivoques dans l'idée de pouvoir construire aisément legraphe global de dépendances présenté dans le chapitre suivant.

Administration des applicatifs réseau..,,· 89

11.5

Nous posons la contrainte suivante sur l'application q :

\f (x',y') E q (y) et \f (x",y") E q (y)

Descriptionfonnelle du modèle

, (' , ') , (1 • 1 1)avec x = x v' X M' X P et y = y V' YM' YP' YR

(Eq.13)

1:équation 13 spécifie que tous les services réseaux élémentaires qui participent à un service

réseau doivent nécessairement dépendre de la même machine cliente (XM)'

Dès lors, nous définissons l'application univoque m qui décrit la machine cliente associée à

chaque nom de service.

m: r ---7 M

Soit(x, y) E q (y) alors III (y) =xM

avec x= (xv' xM' xp) et Y= (yv' YM' Yp' YR)

(Eq.14)

5.1.4.2. Exemple de service réseau par dénomination

Un utilisateur dispose du service d'impression suivant: Il peut imprimer les documents d'un

disque magnétique donné sur une imprimante donnée. 1:imprimante et le disque ne sont pas

localisés sur l'ordinateur de l'utilisateur. 1:application q nous décrit les deux services réseaux

élémentaires nécessaires à ce service: accès au disque, accès à l'imprimante.

Nous avons les éléments suivants:

- ImpressiOlunl_laserIl : nom du service réseau,

- klein : identificateur de l'utilisateur,

-Ill, : noms de machines,

- PCNFS.EXE: programme client d'accès à un disque distant,

-nfsd: programme serveur de mise à disposition d'un disque,

- /dev/sdOh : identification du disque distant,

-LPR.EXE: programme client d'accès à une imprimante distante,

-lpd: programme serveur de mise à disposition d'une imprimante,

-laserIl : nom de l'imprimante.

90 Administration des applicatifs réseaux

Description formelle du modèle

Ce qui nous permet de poser les applications suivantes:

Impressionjnl_laserll

q ((klein, ml' PCNFS.EXE) -4 (klein, m2, nfsd, /dev/sdOh»)

-----::> (klein, m]> LPR.EXE) J; (klein, m3, lpd, laserll)

Nous en déduisons que:

Le schéma 16 trace une représentation graphique associé à ce service

ILS

(Eq.1S)

(Eq.16)

(klein,ml,PCNFS.EXE]

f +(klein,m2,nfsd,ldev/sdOh

Schéma 16 : Graphe d'un service réseau par dénomination

5.1.5. Définition des services réseaux en cascade

Nous avons défini, au paragraphe 5.1.3., des services dont la ressource est directement gérée

par la machine serveur.

Or certaines ressources qu'une machine exploite sont elles-mêmes issues d'un service réseau.

Nous parlons alors de services réseaux en cascade.

5.1.5.1. Application de transition

Pour spécifier les services en cascade, il est nécessaire d'introduire une application

multivoque de transition h définie par:

[h:S--'Jï

--(Eq.17)

Administration des applicatifs réseaux 91

ILS Description formelle du modèle

h associe à un élément de S (nœuds serveurs) zéro, un ou plusieurs services réseaux par leurs

dénominations.

Nous posons la contrainte suivante sur l'application h :

Soit Y E S

alors h (y) = 0

ou bien \:Iy E h (y) on a m (y) = YM

avec y= (Yu' YM' Yp' YR)(Eq.18)

L'équation 18 spécifie que la transition pour un nœud serveur donné (y) n'est possible qu'avec

des noms de services (y) dont la machine cliente (m (y) ) est la même que la machine du

nœud serveur (yM ).

L'application h est généralement définie par des fichiers de configurations (par exemple, pour

les impressions sous Unix, le fichier letc/printcap).

5.1.5.2. Définition d'un service réseau en cascade

Un service réseau en cascade est défini de la même façon qu'un service réseau en modifiant

la condition vi) de l'application multivoquef:

Soit (x, y) E CxS décomposé en x= (xU,xM,xp)

et y= (Yu'YM'Yp'YR)

Alors: y E f(x) ssi les conditions i) à v) de l'eq. 10 sont vérifiées,ainsi que la condition vi) ci-dessous:

vi) Ona YR E r(YM)

ou bien \:Iz E h (y) , \:Iw E q (z), (z, w) E S(Eq.19)

La condition vi) de l'équation 19 spécifie que la ressource est directement gérée par la

machine serveur, ou bien elle est rendue accessible à cette machine par un ou plusieurs

services réseaux en cascade.

Nota : La concision d'expression de cette condition ne reflète aucunement la difficulté

d'implantation d'un algorithme qui la vérifie, comme nous allons le voir dans la partie

suivante.

92 Administration des applicatifs réseaux

Descriptionformelle du modèle

5.1.5.3. Exemple de service réseau en cascade

IL5

Supposons que dans l'exemple précédent, l'imprimante en question ne soit pas gérée par la

machine serveur m3, mais par une autre machine m4, et que de plus, elle ait besoin d'un accès

à un serveur de noms.

Nous avons les éléments suivants:

-lmpression_ml_laserII,Acces_laseII: noms du service réseau,

- klein : identificateur de l'utilisateur,

-mi: noms de machines,

- PCNFS.EXE: programme client d'accès à un disque distant,

- nfsd : programme serveur de mise à disposition d'un disque,

- /dev/sdOh : identification du disque distant,

- LPR.EXE : programme client d'accès à une imprimante distante,

-lpd : programme serveur de mise à disposition d'une imprimante,

-laserll: nom de l'imprimante,

- gethostbyname : nom du programme client d'accès au serveur de noms,

- named : nom du programme serveur de noms,

-/etc/namebd: nom de la ressource annuaire du serveur de twms.

Ce qui nous permet de poser les applications suivantes:

ImpressiOlunLlaserII fq ((klein, ml' PCNFS.EXE) ~ (klein, m2, nfsd, /dev/sdOh) J

-----7 (klein, lit l' LPR.EXE) J (klein, m3, lpd, laserII)

Acces_laserlI fq ( (klein, m3, lpr) --'7 (klein, m4, lpd, laserII) J

-----7 (klein, m3, gethostbyname) ~ (klein, /Il y named,/etc/named)

Il(klein, m3' lpd, laserII) ---7 Acces_laserII

(Eq.20)

Nous pouvons illustrer les applications détaillées ci-dessus par le graphe du schéma 17.

5.1.6. Les programmes comme ressources

Pour des raisons de clarté de la présentation du modèle, nous avons, jusqu'à présent, séparé la

notion de programmes de celle des ressources. Or il faut souligner que l'ensemble des

programmes P est inclus dans l'ensemble des ressources R. En effet, les programmes sont

mémorisés sur un support physique, généralement des disques magnétiques, c'est-à-dire une

Administration des applicatifs réseaux 93

n.s Descriptiolljormelle du modèle

Impression_m Claserl/

~ ~-------- -----(klein,mt,PCNFS.EXE)

f t(klein,m2,nfsd,ldevlsdOh)

(klein,m t,LPR.EXE)

t(klein,m3,lpd,laserl/)

(klein,m3,lpr)

f t(klein,m,plpd,laserl/)

(kleln,ma,gethostbyname)t f

(klein,ms,named,letclnamebd)

Schéma 17 : Graphe d'un service réseau en cascade

ressource. Au même titre que n'importe quelle ressource, les programmes peuvent être rendus

accessibles au moyen d'un service réseau, il s'agit typiquement d'un montage de disques

distants. C'est pourquoi, la condition iii) des propriétés de l'application! de définition d'un

service réseau spécifiant l'utilisation d'un programme client ou serveur est modifiée comme

suit:

Soit (x, y) E CxS décomposé en x= (xU,xM,xp)

et y= (Yu'YM'Yp'YR)

Alors: y E tex) ssi les conditions il, iî), iv), v) de l'eq. 10et la condition vi) de l'Eq. 19 sont vérifiées,ainsi que la condition iii) ci-dessous:

iii) On a xp E r (xM )

ou bien :3 (x', y') E S tel que xM = x'M et xp = Y'R

Ona YpE r(YM)

ou bien :3 (x", y") E S tel que YM = x"M et Yp = Y"R

(Eq.21)

94 Administration des applicatifs réSeatLt

Descriptiolljormelle du modèle ILS

La condition iii) de l'équation 21 ci-dessus spécifie que le programme client (respectivement

serveur) est localisé sur la machine cliente (resp. serveur), ou bien le programme client (resp.

serveur) est une ressource issue d'un service réseau.

Remarquons que l'application 1 décrivant les programmes des ordinateurs n'est plus

nécessaire à la définition iii) car nous avons la propriété suivante:

\/mEM l(m)ç;r(m)

(Eq.22)

D'autre part, le fait que l'ensemble des programmes soit inclus dans l'ensemble des ressources

entraîne également la modification de l'application de transition h précédemment définie. En

effet, les nœuds serveurs ne sont plus les seuls éléments origines de l'application, mais

également les nœuds clients. Ainsi, l'application h est complétée comme suit:

h:Suc-)r

5.1.7. Définition générale d'un service réseau

(Eq.23)

En fonction des contraintes énoncées ci-dessus, nous pouvons récapituler la définition d'un

service réseau applicatif comme suit:

L'ensemble des services réseaux é, est un sous-ensemble du produit C X S. Les éléments de

C XS qui sont des services réseaux sont ceux qui sont associés à une application multivoque

f' C -) S décrite par l'équation 24 ci-dessous.

Nota: Les explications concernant les propriétés i), ii) iv) et v) ont été données pour

l'équation 10. Quant aux conditions iii) et vi), elles ont été détaillées aux équations 19 et 21.

5.2. Modélisation du réseau physique

De par sa définition, le modèle présenté ne prend en compte que les objets suivants:

machines, utilisateurs, programmes, ressources.

Il est intéressant de prendre également en compte les éléments du réseau physique qui

permettent l'établissement des services. Nous allons par conséquent, définir le graphe du

réseau physique et nous spécifions les conditions de l'application d'existence de lien réseau

(Eq. 8) précédemment définie.

Administration des applicatifs réseaux 9S

II .5 Descriptioll formelle du modèle

Soit (x, y) E CxS décomposé en x= (xu,xM'xp)

et y= (Yu'YM'YP'YR)

y E f(x) ssi les conditions ci-dessous sont vérifiées:

iii) On a xp E r (xM )

oubien 3 (x',y') E S tel que xM = x'M et xp = Y'R

On a YpE r(YM)

ou bien 3 (x", y") E S tel que YM = x"M et Yp = Y"R

iv) XUE uc(xp) (Yu'xM) E Us (Yp)

v) YRE g(yp)

vi) On a YR E r (YM)

ou bien 't/z E h (y) , 't/w E q (z), (z, w) E S

5.2.1. Graphe du réseau physique

5.2.1.1. Les équipements réseaux

(Eq.24)

Nous définissons l'ensemble Q des équipements réseaux comme tout élément appartenant à

une des familles des éléments suivants:

- médiums: câbles (fibres optiques, coaxiaux, paires métalliques, etc), espace de transport

(espace supportant tout type de transport sur principe ondulatoire, par exemple les ondes

hertziennes),

- entités de regénération et de partage du signal: amplificateurs, répéteurs, etc.,

- entités de branchement: prises et cordons de raccordement.

5.2.1.2. Les équipements

Nous définissons l'ensemble des équipements E comme l'union de l'ensemble des machines

M, et des équipements réseaux Q.

E=QuM

Il s'agit en fait de tous les éléments nécessaires à la liaison entre machines.

96 Administration des applicatifs réseau.x

(Eq.25)

Descriptionformelle du modèle

5.2.1.3. L'ensemble des connexions

ILS

Nous définissons l'ensemble A des connexions inter-équipements. A est inclus dans

l'ensemble des couples non-ordonnés pris dans E tel que:

«el' e2) E A) {=} «el' e2) est une connexion) (Eq.26)

La connexion entre deux équipements est le fait d'être branché l'un à l'autre au moyen d'une

prise, voire d'une soudure.

Nota: Suivant la finesse que l'on recherche dans la définition du graphe physique du réseau, il

y aura lieu éventuellement de distinguer les cartes de circuits imprimés d'un équipement

global comme étant chacune d'elles un équipement réseau.

5.2.1.4. Graphe du réseau physique

L'ensemble E des équipements et A des connexions entre équipements définissent le graphe du

réseau physique noté Gr, où E forme l'ensemble des sommets du graphe, A l'ensemble des

arêtes. Il s'agit d'un graphe pour lequel il existe au plus une seule arête entre deux

équipements.

Nota: Nous posons l'hypothèse que le réseau physique supporte des communications dans les

deux sens simultanément, c'est pourquoi nous travaillons sur un graphe non-orienté. Il est

inutile d'utiliser un graphe orienté pour traiter, par exemple, le cas de fibres optiques qui sont

uni-directionnelles, car il est bien clair qu'au niveau applicatif, une panne de câble même dans

un unique sens met hors-service toute application utilisant ce canal, du fait des protocoles

sous-jacents qui utilisent toujours un système de question-réponse (pour les acquittements par

exemple).

Exemple de graphe réseau

Nous voulons modéliser le réseau physique de trois machines reliées par un réseau de type

Ethernet comme nous le décrit le schéma 18 ci-dessous.

Nota : Les dénominations des équipements réseaux sont simplement mnémoniques dans

l'exemple présenté ici. Il serait nécessaire d'établir une nomenclature complète dans le cas

d'une implantation réelle.

Administration des applicatifs réseaux 97

n.s

Prise vampire~ Prise vampire ~

Descriptionformelle du modèle

Ethernet 10B5

r- DropAUI~ DropAUI

Schéma 18 : Il/ustration d'une portion de réseau Ethanet

Nous pouvons répérer les divers équipements réseaux et leurs connexions, Nous obtenons

ainsi les ensembles E et A suivants:

E = {Mac1,Mac2,PC,Drop1,Drop2, Vamp1, Vamp2,10b5,lOb2,Répétew}

A = {(Mac1,Drop1), (Drop1, Vampl),

(Vainp1,10b5),(lObS, Vamp2),(Vamp2,Drop2),

(Drop2,Répéteur), (Répéteur,1Ob2),(1Ob2,Mac2),(1Ob2,PC)}

Le graphe du réseau physique Gr sera celui décrit ci-dessous au schéma 19.

Nous allons utiliser les graphes ainsi définis pour compléter la définition de l'application

multivoque n donnant les liens réseaux dans le modèle.

5.2.2. Définition de J'application n

5.2.2.1. Rappel

Nous avons défini le réseau physique par une application multivoque n définie par:

Il: M ---7 M

Cette application décrit J'existence de liens réseaux entre les machines.

98 Administratioll des applicatifs réseaux

Descriptioll formelle du modèle

Mael1

Dropl1

Vampl1

lObS1

Vamp21

Drop21

Répéteur1

lOb2----Mae2 PC

Schéma 19 : Exemple de graphe de réseau physique

5.2.2.2. Contrainte sur l'application n

II.S

Pour tenir compte des équipements réseaux permettant la liaison entre machines, nous posons

la contrainte suivante sur l'application n :

(

/Ill E Msoit

/112 E Mon a:

(Eq.27)

Remarquons que suivant l'hypothèse précédente - sur l'approche non-orientée du graphe du

réseau physique (page 97) - nous avons la propriété suivante:

on a:

(Eq.28)

5.2.3. Hypothèses sur le réseau physique

Pour modéliser les éléments qui constituent le réseau physique, nous avons posé

implicitement des hypothèses de travail que nous allons détailler.

5.2.3.1. Hypothèse sur les réseaux multi-protocoles

Il faut noter avec attention que la manière de procéder pour étendre le modèle aux éléments

réseaux repose sur une hypothèse assez forte: tout protocole du modèle est supporté par le

Administratioll des applicatifs réseaux 99

11.5 Descriptioll formelle du modèle

réseau physique. C'est généralement le cas lorsqu'il s'agit d'un réseau de type Ethernet, ça ne

l'est plus lorsqu'il s'agit de méthodes propriétaires telle LocalTalk pour le réseau AppleTalk.

Nous connaissons la capacité d'une instance de programmes clients à dialoguer avec une

instance de programmes serveurs grâce à la définition de l'application multivoque a (Eq.4). La

connaissance du réseau physique ne donne qu'une condition nécessaire à l'établissement des

services, et non pas une condition suffisante quant à l'existence d'un réseau physique

supportant le protocole entre les programmes clients et serveurs. La direction à suivre serait le

typage des éléments réseaux par les protocoles supportés et la modification en conséquence de

l'application multivoque a.

5.3. Modèle temporisé

Jusqu'à présent le modèle formel décrit les services réseaux de manière statique: sans

commencement, ni fin. Nous allons augmenter le modèle pour tenir compte de la notion

temporelle des services décrits.

5.3.1. Fenêtres temporelles

L'extension du modèle au concept temporel que nous utilisons reprend une méthode classique

de définitions d'intervalles basés sur un repère temporda).

Le principe est de munir chaque service réseau d'une fenêtre temporelle décrite par une date

de début et Une date de fin. Cette fenêtre temporelle ne signifie pas que le service réseau

s'exécute pendant tout l'intervalle décrit, mais qu'il est susceptible d'être exécuté dans cette

période. Prenons deux exemples qui illustrent les deux cas les plus opposés. Supposons la

mise en place d'un service de sauvegarde des disques de l'ensemble des ordinateurs du réseau

modélisëb). La fenêtre temporelle de ce service est parfaitement connue à l'avance - par

exemple de 2h à 4h du matin. D'un autre côté, imaginons un service d'impression, lafenêtre

temporelle de ce type de service va être beaucoup moins bien définie. Suivant le contexte, ce

pourra être de 8h à 18h, voire en continu.

Nota : Soulignons qu'il Y a généralement plusieures fenêtres temporelles pour un service

réseau. Dans la majorité des cas, c'est une définition de fenêtres périodiques qui sera spécifiée

(sauvegardes automatiques, impressions aux heures ouvrables, etc).

(a) Cette méthode est utilisée, par exemple, pour les réseaux de Pétri temporisés qui manipulent également

des graphes dont on associe aux sommets des intervalles de temps.

(b) Remarquons qu'il s'agit typiquement d'une application réseau qui met en jeu des services en cascade

particulièrement complexes.

100 Administration des applicatifs réseaux

Descriptiol! formelle du modèle

5.3.1.1. Définition des fenêtres temporelles d'un service

ILS

Plutôt que de gérer des suites d'intervalles, les fenêtres temporelles sont décrites par une

fonction booléenne qui définit si à tel moment, tel service est dans une de ses fenêtres

temporelles ou non.

Ainsi, nous définissons une fonction tir ayant pour antécédents un nom de service réseau et

une valeur du temps t appartenant à T ( un entier décrivant le nombre de secondes écoulées

depuis une origine fixe) et pour image les valeurs booléennes VRAI ou FAUX.

tir: r X T -7 (VRAI,FAUX)

La signification d'une telle fonction est la suivante:

(tir (x, t) = VRAI) ~ (x est susceptible d'être demandé au temps t)

5.3.1.2. Exemple de règle de tir

(Eq.29)

(Eq.30)

Soit à définir la fonction de tir des fenêtres temporelles décrites comme suit: "Monsieur

Dupont désire pouvoir consulter sa boîte aux lettres de 9HOO à 17H00 tous les jours ouvrables

de la semaine". Nous avons la fonction de tir suivante:

(OS; (t/86400) %7 S; 4

tir (Courrier Dupont, t) =- 9 S; (1/3600) %24 S; 17

(Eq.31)

Nota: L'opération notée "%" désigne le "modulo". Ainsi, la première condition de la fonction

de tir ci-dessus spécifie qu'il s'agit d'un jour ouvrable (86.400 étant le nombre de secondes

par jour, (t/86400)%7 donne le numéro du jour de la semaine au temps t), la deuxième

condition indique la fenêtre horaire de ces jours ouvrables (3.600 étant le nombre de secondes

par heure, (t/3600)%24 donne l'heure du jour au temps I)(a).

Nous verrons au chapitre 7 comment les résultats de la modélisation tirent partie de

l'élargissement du modèle au réseau physique et au concept temporel décrit précédemment.

5.4. Graphes associés au modèle

Nous allons décrire plusieurs représentations par graphes de notre modèle, qui nous

permettront de traiter les problèmes de dépendances des services réseaux.

(a) Nous supposons que l'origine du repère temporel est défini, comme SOtlS Unix, à une certaine date

conventionnelle, par exemple le 1 janvier 1970 à 00 heure.

Administration des applicatifs réseau.x 101

II.5 Descrip/iotlformel/e dumodèle

5.4.1. Graphe global de dépendances des services réseaux

Nous proposons une représentation sous forme d'un graphe orienté, pour décrire l'ensemble

des dépendances entre services réseaux. Les sommets sont pris dans les ensembles C (nœud

client), S (nœud serveur) et r (nom de service), et les arcs sont définis par les applications!

(service réseau élémentaire), q (dénomination) et h (transition). Nous l'appelons graphe

global de dépendances. Comme il s'agit de I-graphe(al, nous reprenons la méthode de

définition des l-graphes donnée par M. Gondran et M. Minoux [GON 85]. Ainsi, le graphe

global de dépendances est défini par les équations 32, 33 et 34 :

Gg

est le graphe global de dépendances associé au modèle:

Gg

= (sg, Ag )avec sg ç eus u r ensemble des sommets

et Ag application multivoque de sg dans sg décrivant les arcs.(Eq.32)

Nota: Nous rappelons que dans ce formalisme de définition d'un graphe orienté, pour tout

sommet x appartenant à sg, Ag (x) est l'ensemble des sommets adjacents à x (dans le sens

des arcs).

- L'application multivoque Ag de description des arcs se déduit des applications/, q et h de

la façon suivante:

i) "Iy E r (c'est-à-dire un nom de service)

ona: Ag (y) = {x 1 (x,y) E q (y)}

ii) "Ix E C (c'est-à-dire un nœud client)

ona: Ag(x) =!(x) uh(x)

iii)"Iy E S (c'est-à-dire un nœud serveur)

ana: Ag (y) = h (y)(Eq.33)

- L'ensemble des sommets sg est inclus dans l'union des ensembles des noms de services,

des nœuds clients et des nœuds serveurs. Il est défini comme l'union des sommets

(al Un l-graphe a la propriété suivante: les sommets pris dellx à deux ont au plus un arc entre eux.

102 Administratioll des applicatifs réseaux

Deseriptiollformelle du modèle ILS

successeurs et des sommets prédécesseurs d'un arc. Ce qui peut s'exprimer sous la forme

suivante:

g g gS = SSlIee V Spréd

8avec Ssucc = U Ag (x)

XE cusur

(Eq.34)

Nota: L'équation 34, ci-dessus, restreint donc l'ensemble des sommets du graphe global de

dépendances aux éléments de C v S v r qui ne sont pas isolés. Cette restriction n'est pas

indispensable du point de vue théorique.

Le graphe global de dépendances décrit la totalité des interactions entre les divers objets

modélisés.

Exemple d'un graphe global de dépendances

Nous proposons un exemple de graphe global de dépendances. Cependant, afin de ne pas

alourdir notre exemple, nous le restreignons à trois services (a): deux services d'impression et

un service d'accès au courrier.

Les services d'impression- Un utilisateur (klein) veut pouvoir imprimer, à partir du PC

(pel), les fichiers de son répertoire de travail habituel (monza:/homelklein). L'imprimante

visée (laserII), ainsi que le fichier, ne se trouvent pas sur le PC. De plus, l'imprimante n'est

pas directement gérée par la machine indiquée par l'utilisateur (monaco), mais par une

machine tierce (Imola), ce qui nécessite l'accès à un serveur de noms (Isis). Ce service est

nommé Impression-pel_laserII.

D'autre part, un deuxième utilisateur (hector), demande l'accès à la même imprimante, mais à

partir du compatible PC de son bureau (pc2). Il ne dispose que d'un disque local.

Le service d'accès au courrier - Un utilisateur (Dupont) cherche à consulter sa boîte aux

lettres (/mai//dupont) à partir de son Macintosh (mac1). Sa boîte aux lettres se trouve sur une

machine distante (monza), et c'est grâce aux programmes eudora et popper qu'il lui est

possible d'y accéder. Le logiciel eudora a besoin des services du serveur de noms tournant sur

une tierce machine (isis). Nous nommons ce service: Courriet,-dupont. Nous obtenons le

graphe global de dépendances représenté par le ~chéma 20.

(a) Les trois services présentés sont réels, ils sont tirés de l'implantation du modèle (voir dernière partie).

Administration des applicatifs réseau."" 103

11.5 Descriptiollformelle du modèle

Impression_pcClaserll

/(kleln,pc1, PCNFS.EXE)

~f(klein,monza,nfsd,

monza:lhomelklein)

~(klein,pc1,LPR.EXE)

~f(klein,monaco,lpd,laserll)

~h

~ ~(klein,monaco, (klein,monaco,lpr)

gethostbyname) rtJ(dupont,monza,popper,1 (-,isis,named,letclnamebd) (-,imola,lpd,laserll)

BAL_Dupont)

tf tftf(dupont,mac1,eudora) (dupont,mac1, (hector,pc1,LPR.EXE)

~eudoraJesolver)

tq/Courrier_dupont Impresslon_pc2_'aserll

Schéma 20 : Exemple de graphe global associé au modèle

5.4.2. Gl'aphe global de dépendances à un instant donné

Dans le paragraphe précédent, les services réseaux ont été traités sans notion de temps. Or,

nous avons défini au paragraphe 5.3.1 la notion de fenêtres temporelles, qui déterminent les

périodes où chaque service est susceptible d'être utilisé. Ainsi, il devient possible de

déterminer le graphe global de dépendances à tin instant donné.

En faisant varier la valeur de temps, nous obtenons une succession de graphes comme illustré

par le schéma 21 ci-dessous.

5.4.3. Graphe de dépendances d'un service

Du graphe global des dépendances, il est possible de déduire les dépendances qui ne

concernent qu'un service donné. Nous représentons ces dépendances également par un graphe

104 Administration des applicatifs réseaux

Descriptioll [ormelie du modèie

Temps

Schéma 21 : Evoiutioll dalls le temps des graphes globaux

ILS

orienté que nous nommons, simplement, graphe de dépendances associé au nom de service en

question. Il répond à la définition des équations 35 et 36 :

Soit yE r un nom de service réseau,

alors Gy est son graphe de dépendances associé défini par:

Gy = (SyA) avec Sr'~' Cu sur ensemble des sommets

et A y application multivoque de Sy dans Sy décrivant les arcs.

(Eq.35)

- Ay et Sy se déduisent de G8 de la façon suivante:

(Eq.36)

Le graphe de dépendances permet de représenter aisément tous les "objets" nécessaires au

fonctionnement du dit service.

Exemple de graphes de dépendances

Pour illustrer notre définition, nous reprenons, dans le schéma 20, l'exemple précédent de

graphe global de dépendances et nous en déduisons le graphe de dépendances associé au

service Impression-pc1_laserII (repéré au moyen de la forme grisée en claire), et celui associé

au service Courriel,--dupont (forme grisée en foncé).

Administration des applicatifs réseaux lOS

ILS Description formelle du modèle

7(kleln,pc1,PCNFS.EXE)

V(klein,monza,nfsd,

monza:/home/klein)

~(klein,pc1,LPR.EXE)

+1(klein,monaco,lpd,laserll)

+h

f(-,imola,lpd,laser

(hector,pc1,LPR.EXE)

Impression_pc2_laserll

Accès_laserll

~(klein,monaco,lpr)

~(klein,monaco,

gethostbyname)

1

Schéma 22 : Déduction du graphe de dépendances associé à un service

5.4.4. Graphe contracté

Afin d'alléger la lecture des graphes manipulés, nous adoptons une seconde représentation,

plus souple, qui s'applique aussi bien au graphe global qu'au graphe de dépendances associé

à chaque service et que nous nommons graphe contracté. Il s'agit de réduire le nombre de

sommets en fusionnant les sommets adjacents traitant d'une même machine. Ainsi, le graphe

global contracté de dépendances est défini par les équations 37. 38 et 39 :

Soit Gg

alors Gcg

le graphe global

est son graphe contracté associé défini par:

Gcg

= {Scg,Aéj avec Scg

ensemble des sommets

et Aé applicationlt1ultivoque de Scg

dans Scg

décrivant les arcs.'---- -' (Eq.37)

106 Administration des applicatifs réseaux

Description formelle du modèle

- sé se déduit de Gg de la manière suivante:

Scg est une partition de sg

définie par l'application c : sg ~ Scg

telle que \;jx E sg et \;jy E sg

on a: y E Ag (x) et mach (x) = mach (y) =:0 c (x) = c (y)

ILS

avec mach (x) =xMpour tout XE C et décomposé en x = (x U' xM' xp)

mach(x) = xMPour tout XE Setdécomposéenx= (xu,xM'xp,xR )

mach (x) = m (x) pour tout x E rL- -' (Eq.38)

L'équation 38 définit que deux sommets du graphe global de dépendances sont dans la même

classe de la partition s'ils sont adjacents et s'ils concernent tout deux la même machine. Cette

condition nécessaire suffit à décrire la partition.

- Aé se déduit de Gg de la manière suivante:

\;jX E Scg

et \;jy E sé

(3y E Yet 3x E X J

On a " Y E Aé (X) <=>tels que y E Ag (x)

L- ----' (Eq.39)

L'équation 39 définit qu'une classe Yest adjacente à une classe X si et seulement il existe au

moins un élément de la classe y adjacent à au moins un élément de la classe X par le graphe

global de dépendances.

Nota: Nous notons qu'il ne s'agit pas à proprement parler d'une "contraction" mais d'une

nouvelle définition de graphe ;Ies arcs au sein d'une même classe de la partition ne donnent

pas lieu à des boucles.

Exemvle de gravhe contracté de dépendances

Pour illustrer la méthode de contraction des graphes, nous reprenons l'exemple d'un

utilisateur désireux de consulter sa boîte aux lettres électronique à partir de son terminal X

(voir paragraphe 3.1.3 - page 58). Le graphe de dépendances de ce service est donné par le

schéma 23. Comme nous le voyons, trois services réseaux sont nécessaires, dénommés

mailtooCbilboJel1lique, Bilbo_Ok et Montage_monzaJmail. Ils décrivent respectivement les

objets nécessaires au fonctionnement:

Administration des applicatifs réseau..x 107

11.5 Descriptionforme/le du modèle

mailtooCbilbo_fernique

h

i(-,monaco,biod)

ft

Montage_monza.Jma/l(-,escher,nfsd,lusr/fontes)

1(-,bilbo,serveurX)

/~(fernique,escher,olwm,-) (fernique,monaco,

mailtool,/maii/BAL_user)

(-,monaco,gethostbyname)

f!

(-,isls,named,letc/namebd)

(-,monza,named,letc/namebd) (-,monza,nfsd,lvar/BAL)

Schéma 23: Graphe de dépendances d'un selvice de consultation de boites aux lettres

- du logiciel de consultation du courrier (mailfool), pour l'utilisateur en question (jernique),

sur son ordinateur habituel (monaco), notamment l'exécution du gestionnaire de fenêtres

X (olwm) issu de la machine escher,

- du terminal X (bilbo) - c'est-à-dire l'accès au serveur de code et de fontes issu

respectivement des ordinateurs escher et monza,

- du montage de la partition disque sur laquelle se trouve la boîte aux lettres de l'utilisateur.

Certains de ces services nécessitent d'autre part l'accès à des serveurs de noms, soit

l'ordinateur isis, soit l'ordinateur monza suivant le cas.

Nota: Cet exemple n'est pas construit de toutes pièces, il s'agit réellement de la méthode de

consultation de notre courrier électronique.

108 Administration des applicatifs réseaux

Descriptioll formelle du modèle ILS

La contraction du graphe de dépendances est effectuée suivant la méthode illustrée par le

schéma 24. Nous entourons par une forme en grisé les sommets à fusionner.

r--l SommetsL-J à contracter

q~(-,bilbo,gethostbyname_X)

(-,/s/s,named,letclnamebd)

maiitooLbilbo-'ernlque

1(-,bilbo,serveurX)

(-,bilbo,nfsj)

(-,monza,named,letclnamebd) (-,monza,nfsd,lvarIBAL)

Schéma 24 " Illustratioll de la méthode de cOlltractioll

Le graphe contracté, résultat de l'opération, est représenté au shéma 25.

Le graphe contracté nous permet non seulement d'alléger la visualisation, mais il fait

ressortir, également, les dépendances en fonction des machines. Il nous sert pour le calcul de

certains paramètres telle la fiabilité d'un service, comme nous le présentons dans le

paragraphe 7.2.1 - page 136.

Nous avons exposé un modèle formel de description d'une grande majorité des services

réseaux applicatifs. Nous exposons maintenant comment, concrètement, peut se matérialiser

Admitlistratioll des applicatifs réseaux 109

(fernique,escher,oJwm,-)

ILS

.....(-,isis,named,letc/namebd)

(-,escher,nfsd,lusr/fontes)

Description formelle du modèle

mailtooCbi/boJernique(-,bi/bo,serveurX)

Bi/bo_Ok(-,bi/bo,gethostbyname_X)

(-,bi/bo,nfs_X)

~(fernique,monaco,

maiitoollmaiIlBAL_user)Montage_monzajmaiJ

(-,monaco,biod)(-,monaco,gethostbyname)

\(-,monza,named,letc/namebd) (-,monza,nfsd,lvar/BAL)

Schéma 25 " Exemple de graphe contracté de dépendances

et être utilisé un tel modèle. Comment acquérir et manipuler les données? Comment déduire

les services réseaux élémentaires et calculer les graphes de dépendances associés? Comment

utiliser ces informations pour une administration réelle des applications modélisées?

110 Administration des applicatl1s réseaux

Du modèle théorique au modèle Înformatique

6. Du modèle théorique aumodèle informatique

n.6

Nous avons défini, dans le chapitre précédent, un modèle théorique de description des services

applicatifs réseaux. Il nous apparaît nécessaire, dès à présent, de poser certains principes de

mise en œuvre. En effet, le modèle, pour être implanté, doit répondre à certaines spécificités

propres à l'informatique. La .limitation du volume des ensembles est un exemple de telles

contraintes dont il faut tenir compte. Nous proposons donc lUI modèle informatique déduit de

notre modèle théorique.

Comme nous l'évoquions précédemment, l'évaluation du volume des données est un point

incontournable que nous allons traiter en premier lieu. Nous allons dégager des ordres de

grandeur des ensembles manipulés. Ces estimations vont nous permettre de poser certains

principes de mise en œuvre :

-la détermination des services à modéliser,

-la méthode de mémorisation des données décrivant les objets et leurs relations,

-la définition des mécanismes d'acquisition des données d'administration,

-la description des méthodes de déduction des services réseaux et du graphe de leurs

dépendances.

Notons que nous ne décrivons pas, dans ce chapitre, une implantation effective du modèle,

mais uniquement ses principes de mise en œuvre. Le prototype logiciel se basant sur ces

concepts est détaillé dans la troisième partie de notre thèse.

6.1. Evaluation de la quantité d'informations manipulées

Dans notre modèle théorique, nous avons quatre ensembles d'objets à manipuler, à savoir: les

machines, les ressources, les programmes (instances de programmes) et les utilisateurs. Nous

avons également à utiliser un graphe global de dépendances.

Nous allons tenter d'estimer leur taille. Pour cela, nous nous référons aux données réelles ­

obtenues par la réalisation du prototype implanté sur le réseau informatique de l'Université

des Sciences Humaines de Strasbourg - qui nous a permis de valider le modèle et qui est décrit

Administration des applicatifs réseaux 111

II.6 Du modèle théorique au modèle informatique

dans la dernière partie de cette thèse. De ces chiffres, nous pourrons dégager des ordres de

grandeur pour les différents éléments.

6,1.1. Nombre d'éléments du modèle dans un cils réel

Les informations que nous avons du manipuler lors de l'expérimentation réelle de notre

modèle sont tirées d'un réseau de taille moyenne. Sa description est faite au paragraphe 8.2­

page 161. Dans ce cadre, nous nous sommes attachés à surveiller les familles(a) de services

réseaux décrits ci-dessous pour les protocoles TCPIIP et AppleTalk :

-le courrier électronique,

-les impressions,

-les montages de disques distants,

-les accès aux comptes.

Le réseau de test dispose d'un peu plus de ISO machines, les trois-quarts d'entre elles étant des

ordinateurs mono-utilisateur (PC ou Macintosh). En fonction des services réseaux à surveiller,

le nombre des ressources correspondantes avoisine 650. Le tableau 3, ci-dessous, en donne la

répartition exacte.

Ressource Nombre

Disques 20 (en serveur)

Imprimantes 20

Boîtes aux lettres 300

Comptes 300

Tableau 3 : Evaluation dUllombre de ressources

Les utilisateurs du réseau d'expérimentation sont au nombre de 300 environ. Quant aux

instances de programmes, nous en recensons environ 400, décrites dans le tableau 4, ci­

dessous.

Programme Nombred'instances

nfsd 10

nfs - PCNFS.EXE 30

CAP60 1

(a) Nous parlons de familles de services réseaux pour désigner l'ensemble des services réseaux de

fonctionnalités similaires (cf. pour exemple la liste qui suit).

112 Administration des applicatifs réseau.'<

Du modèle théorique au modèle Informatique

ProgrammeNombre

d'instances

lpd 6

lpr - LPR.EXE 100

POPmail 80

Eudora 40

popper 3

sendmail 10

mail 10

telnetd 10

Appleshare serveur 5

Appleshare client 40

LaserWriter serveur 5

LaserWriter client 40

TOTAL 390

. Tableau 4 : Estimation du nombre d'instances de programmes

6.1.2. Ordre de grandeur

11.6

Pour déterminer l'évolution de ces chiffres en fonction de la taille du réseau, nous proposons

l'approximation qui va suivre. Celle-ci est à considérer avec toute la prudence nécessaire dans

ce genre de calcul, mais elle a l'avantage de donner un ordre de grandeur. Le principe est de

s'appuyer sur l'architecture des réseaux décrits par le modèle (c'est-à-dire des réseaux

informatiques de stations et de micro-ordinateurs) et d'évaluer les rapports entre les

différentes tailles d'ensembles. Le but est d'obtenir une estimation du nombre d'objets

manipulés en fonction du nombre de machines et du nombre de services à surveiller.

Soit m, le nombre de machines. Nous notons ms le nombre de serveurs (stations de travail plus

ou moins dédiées à l'exportation de ressources) et mm le nombre de micro-ordinateurs. Nous

voyons que le rapport entre ms et mm est de un quart, trois quarts pour l'architecture du réseau

de test.

Administration des applicatifs réseaux 113

II.6 Du modèle théorique au modèle informatique

Soit u le nombre d'utilisateurs. Une estimation raisonnable est de compter un utilisateur par

micro-ordinateur et une moyenne de cinq utilisateurs par serveur. Nous obtenons l'évaluation

suivante: u ~ mm + Sms ,c'est-à-dire:

u~2m (Eq.40)

Soit s le nombre de familles de services à surveiller. Dans le tableau 4 précédent, nous

pouvons voir que certains services mettent en jeu des ressources qui dépendent des serveurs,

Ss (disques, imprimantes, ...). D'autres services utilisent, par contre, des ressources fonction

des utilisateurs, Su (comptes, boîtes-aux-Iettres, ...). Nous posons l'hypothèse que ces deux

types de services se répartissent moitié-moitié.

Soit r le nombre de ressources. Nous en évaluons leur nombre de la façon suivante. Chaque

service dépendant des utilisateurs (su) met en jeu une seule ressource (compte, boîte-aux­

lettres, ...). Par contre, les services associés aux serveurs (ss) utilisent une moyenne de trois

périphériques (disques, imprimantes,...). Ceci nous permet d'estimer r ~ Su + 3ssm s ' c'est-à­

dire:

3r~ -sm

2(Eq.41)

Enfin, soitp le nombre d'instances de programmes. Nous proposons la règle suivante: tous les

micro-ordinateurs sont clients pour l'ensemble des services; les serveurs, quant à eux, sont à

la fois clients et serveurs pour tous les services. Nous obtenons ainsi p ~ ~smm + 2sms ' c'est­

à-dire:

3p ~ -sm

2(Eq.42)

Ceci nous permet d'estimer que, pour un réseau qui reprend une architecture similaire au

réseau de test, le nombre d'objets manipulés peut être estimé en fonction du nombre de

machines et de services à surveiller par la formule suivante m + u + r +p, c'est-à-dire:

Nombre objets ~ 3sm (Eq.43)

D'une manière ou d'une autre, même si l'architecture du réseau à modéliser n'est pas

exactement celle décrite par notre évaluation, l'estimateur est linéaire en fonction du nombre

de machines et linéaire en fonction du nombre de services. Or, nous pouvons estimer que ces

deux variables sont indépendantes(a). Ainsi nous concluons que la taille de la base de données,

nécessaires à la mémorisation et à la manipulation des éléments, garde des proportions

exploitables, même pour des réseaux informatiques importants.

114 Administration des applicatifs réseau.t

Du modèle théorique au modèle informatique II .6

Nous procédons de la même manière pour donner une estimation du nombre de services

élémentaires (se). Ainsi, nous pourrons obtenir un ordre de grandeur du graphe global de

dépendances à manipuler.

En s'appuyant sur l'hypothèse précédente, qu'un micro-ordinateur est utilisé par un utilisateur

et qu'il réalise tous les services fournis par les serveurs, nous estimons le nombre de services

élémentaires engendrés par les micro-ordinateurs par sem'" mmsms'

De la même manière, en supposant qu'un serveur a en moyenne cinq utilisateurs et réalise tous

les services fournis par les serveurs, nous pouvons évaluer le nombre de services élémentaires

engendrés par les serveurs par ses'" 5mssms'

Ainsi le nombre de services élémentaires peut être estimé par la formule suivante:

Nombre services élémentaires'" 3sm (Eq.44)

Du calcul précédent, nous pouvons majorer la taille du graphe global de dépendances. Nous

estimons, tout d'abord, que pour tous les services élémentaires, chaque nœud client est

associé, pour la plus grande majorité des cas, à un unique nœud serveur. D'autre part, le

nombre de noms de services est au plus égal au nombre de services élémentaires. Ainsi,

sachant que l'ensemble des sommets du graphe global de dépendances est constitué des

nœuds clients, des nœuds serveurs et des noms de services, nous pouvons estimer que la taille

de cet ensemble est, au plus, égale à trois fois le nombre de services élémentaires.

(Eq.45)

En s'appuyant toujours sur les mêmes hypothèses, le nombre d'arcs de ce graphe est du même

ordre de grandeur (un unique arc issu de chaque nœud client et de chaque nom de service).

Comme pour le nombre d'objets de base, la taille du graphe global de dépendance est linéaire

en fonction du nombre de machines et linéaire en fonction du nombre de services.

Pour le réseau de test, le graphe manipulé était d'un peu plus de 3.000 nœuds (la majoration

déduite de l'équation 45 nous donnait 5.400). On peut extrapoler qu'un réseau d'un millier de

machines et de 10 services à surveiller engendrera un graphe de dépendances ne dépassant pas

(a) Le nombre de classes de services à surveiller dépend uniquement de la volonté de l'administrateur. On

pourrait cependant noter que plus un réseau informatique est important, plus son utilisation est variée. Enconséquent, le nombre de classes de services serait en partie fonction du nombre de machines. Même dans

celle hypothèse, il faut garder à l'esprit qu'il s'agit d'un facteur multiplicatif de faible grandeur que l'on peut

raisonnablement majorer par 10, voire 20 suivant la finesse de l'administration désirée (cf. 3.1.2.2).

Administration des applicatifs réseau.t 115

n.6 Du modèle théorique au modèle informatique

les 100.000 nœuds. Or, il suffit de moins de 2 méga-octets d'occupation mémoire pour stocker

un tel graphe (avec une moyenne de 16 octets pOUl' chaque sommet).

En comparant à d'autres applications, en biologie pal' exemple. où pour la modélisation des

molécules les graphes manipulés dépassent le million de sommets, nous pouvons conclure que

notre modèle peut être exploité sur des réseaux informatiques de taille relativement

importante.

6.2. Les services modélisés.

Nous avons proposé, au paragraphe précédent, des estimateurs du volume de données en

fonction du nombre de machines et du nombre de services. La connaissance du premier

paramètre ne pose pas de difficultés particulières; elle est directement donnée par la taille du

réseau à modéliser. En revanche, le nombre de familles de services réseaux est plus difficile à

cerner. L'approche la plus naturelle de l'utilisation du modèle est la possibilité de déterminer

automatiquement la liste exhaustive de tous les services applicatifs d'un réseau informatique

donné en fonction des objets et des applications multivoques qui décrivent leurs inter­

dépendances. Cependant, la restriction à un sous-ensemble de familles de services applicatifs

que l'on désire administrer nous semble une approche plus raisonnable. Il nous semble, en

effet, inutile et illusoire de vouloir modéliser la totalité des services. L'inutilité d'une telle

approche est illustrée, par exemple, par la commande ping de test de connectivité de réseau,

ou encore rperfermeter d'interrogation de la charge CPU d'une machine distante - quel intérêt

y a-t-il à vouloir administrer de telles applications?

De ce constat, nous posons notre premier principe de mise en œuvre. Le modèle informatique

ne modélise que certaines familles de services réseaux. C'est l'administrateur qui les définit en

fonction du contexte applicatif du réseau à modéliser (cf. les choix posés pour le prototype ­

paragraphe 8.1.3 - page 160).

6.3. Principe de mise en œuvre pour la mémorisation des données

L'utilisation de notre modèle théorique implique la mémorisation des données manipulées au

sein d'un ordinateur. Il existe, à l'heure actuelle. plusieurs principes de stockage des données

en vue de leur manipulation aisée. Le plus couramment utilisé est très certainement la base de

données. Ce système prend en compte les spécificités techniques des mémoires propres aux

ordinateurs (vitesses et capacités de la mémoire vive et de la mémoire de masse).

116 Administration des applicatifs réseaux

Du modèle théorique au modèle informatique

6.3.1. Type de la base de donnée

11.6

La première question à se poser concerne le type du système gestionnaire de base de données

(SGBD) à choisir. Le modèle s'exprime-t-il plus facilement dans une base de données orientée

objet (comme pour le modèle OSI) ou dans une base de données plus conventionnelle sur un

modèle relationnel?

Dans notre modèle, il s'agit, avant tout, de pouvoir manipuler aisément les relations entre les

objets. Par contre, les objets modélisés n'ont pas d'attributs particuliers et de méthodes où la

notion d'héritage peut se justifier réellement. C'est pourquoi, malgré l'attrait actuel sur les

modèles orientés objets, nous suivons le même raisonnement que J. Harista , M. Bail, N.

Roussopoulos , J. Baras , A. Datta [HAR 93] et nous optons donc pour un SGBn relationnel

qui se prête mieux, comme son nom l'indique, au problème d'associations d'objets.

6.3.2. Schéma de la base de données des objets et des relations

L'organisation des données - définies dans le modèle théorique - doit pouvoir être décrite dans

le contexte d'un SGBn relationnel. C'est ce que nous traitons dans les paragraphes suivants.

6.3.2.1. Représentation des objets

Chaque ensemble de base du modèle (machine, ressource, etc) peut être représenté par une

table de la base de données relationnelle. Ainsi, chaque élément d'un des ensembles est défini

par un ll-upletCa) réduit à sa plus simple expression:

-un index,

-la dénomination de l'élément.

L'index est donné par le gestionnaire de la base de données afin qu'il soit unique pour toute la

base(b). Par contre, pour la méthode de dénomination des éléments, la solution la plus

intéressante est de reprendre le système de dénomination, soit de l'OSI, soit de SNMP

(cf 2.3.2.2 - page 32) afin de lever toute ambiguïté de redondances.

Dans l'optique d'une utilisation du modèle en tant qu'outil d'administration, le n-uplet devra

être augmenté avec tout attribut associé au type d'objet administré comme le spécifient et le

spécifieront les travaux OSI ou SNMP sur ces d'objets. La "Host Resource MIB", la "Network

services mOllitoring MIB" sont certainement les travaux les plus récents pour définir les

attributs associés au type d'objet que nous utilisons (présentés dans la première partie à la

page 61).

(a) Un synonyme de n-uplet peut être le terme enregistrement dans le vocabulaire des bases de donnéesrelationnelles.(b) C'est le principe même de la base de donnée relationnelle.

Administration des applicatifs réseaux 117

n.6

6.3.2.2. Représentation des relations entre objets

Du modèle théorique au modèle Informatique

Les relations qui associent les objets sont définies par les applications multivoques dans le

modèle formel. Nous les rappelons brièvement:

Ressources d'une machine r: M ~ R

Programmes d'une machine 1: M ~ P

Liens progr. clients / progr. serveurs a: P s~ Pc

Ressources gérées par un programme g: Ps~ R

Utilisateurs d'un programme clien!.. UC" Pc~ U

Utilisateurs d'un programme serveur us:Ps~ U xM

Liens machine / machine 11: M ~ M

Schéma 26 : Récapitulation des applications de base du modèle

Deux solutions sont envisageables pour associer les objets. Il est possible d'inclure

directement dans les n-uplets des tables d'objets un ou plusieurs champs pour mémoriser

l'index de l'objet associé. Une autre solution consiste à utiliser une table tierce uniquement

composée de n-uplets réduits à un couple composé des index et des objets associés deux à

deux. La première méthode est plus performante en terme de vitesse mais a l'inconvénient

majeur de nécessiter la connaissance préalable du nombre de relations associées à chaque

objet, et de ne plus pouvoir l'augmenter par la suite. Le grand nombre de relations générées

par notre modèle nous pousse à opter pour la deuxième solution, et nous l'appliquons

systématiquement pour toutes les relations à représenter(a). Enfin, seule la deuxième solution

permet d'associer des attributs aux relations elles-mêmes dans l'hypothèse d'une utilisation

dans un outil d'administration plus général.

Nota: Remarquons que la deuxième solution nous "offre" également la représentation des

applications réciproques, ce qui pourra être utile dans l'implantation des algorithmes associés

au modèle.

Exemple de modélisation

Soit à modéliser l'application multivoque décrivant les programmes des machines.

1: M~P ]'--------

(a) Il Ya lieu de noter que le passage de la seconde solution à la première est automatisée sur la plupart des

gestionnaires de base de données tel ORACLE, INGRES, etc (lorsque le cas s'y prête).

118 Administration des applicatifs réseaux

Du modèle théorique au modèle informatique

Nous obtenons les trois tables données au schéma 27 ci-dessous.

II.6

Table des élémentsde M (les machines)

0001 monza

0002 imola

0003 isis

0004 balzac

Table de relation

0001 0002

0001 0004

0002 0001

0002 0002

~~Î0120 Yu 02

Table des élémentsde P (les programmes)

0001 lpr

0002 Ipd

0003 Eudora

0004 POPmail

Schéma 27 : Exemple de modélisation d'Ilne applicationmllltivoqlle

Nota: Les applications qui mettent en jeu plus de deux objets, telles celles qui spécifient les

droits des utilisateurs, seront réalisées de la même manière, la table des relations disposant

alors de plus de deux champs pour décrire les n-uplets associés.

6.3.2.3. Schéma de la base de données

En respectant les méthodes décrites ci-dessus, nous définissons l'architecture globale de la

base de données. Il est décrit par le diagramme ci-dessous (schéma 28), qui reprend la notation

standard proposée par Chen [CHE 76] dans son modèle entité-association. Les tables des

objets sont représentées par les rectangles en traits épais et surface grisée. Les tables de

relations utilisent les losanges en traits fins. Les attributs ne sont pas représentés pour ne pas

alourdir le schéma. Le nom des tables des objets reprend les dénominations des ensembles

représentés. Quant aux noms des autres tables, ils sont construits soit par leur fonction, soit par

la concaténation des premières syllabes des tables associées. Nous ajoutons au diagramme

entité-association les noms des ensembles et des applications multivoques du modèle

théorique. Ainsi, nous trouvons comme tables principales les ensembles de départs M, U, P, et

R et nous retrouvons comme tables de relations les applications multivoques n ,1; g, l, lis, lIc et

Administration des applicatifs réseau.x 119

n.6 Du modèle théorique au modèle informatique

a. Les arcs du schéma représentent les liens entre tables, ils sont munis de leurs cardinalitéia)

selon la notation ER(b).

n

Mach·Mach

R

r

1

Ressource

9

M M N

1 l Machine 1

1 Programme M

M N P

a

Prag·Prag

Utilisateur

u

Schéma 28: Diagramme entité-association de la base de données associée au modèle

6.3.2.4. Représentation du graphe physique du réseau

Dans le diagramme précédent, les équipements réseaux ne sont pas représentés, Une première

solution consiste à les placer directement dans la table Machine, la table de relation Mach·

(a) La cardinalité des liens indique le nombre d'associations possibles entre les éléments des tables en

relation [CHE 76] : univoque, multivoque ou bi-multivoque.

(b) ER est l'abréviation de Entity-Relationship, ce qui se traduit en français par Entité-association.

120 Administration des applicatifs réseau:\"

Du modèle théorique au modèle illformatique 11.6

Mach donnant les couples des équipements réseaux interconnectés deux-à-deux. Cependant

dans le cas d'ajouts d'attributs propres à chaque objet, il est préférable de dédier une table aux

équipements, ce qui complète le diagramme précédent de la façon illustrée par le schéma 29.

A

Equip-Equip

E M N

Equipement

Schéma 29 : Extrait du diagramme pour la représentatioll du réseau physique

Comme nous le soulignions ci-dessus, les attributs associés ne sont pas représentés sur les

deux diagrammes précédents, car ils dépendent de choix spécifiques d'implantation en vue de

fonctionnalités particulières d'administration. Nous proposons dans la troisième partie de

cette thèse un schéma de base de données utilisant certains attributs particuliers tels, par

exemple, le type d'ordinateur, le lieu géographique, le responsable administratif, les

paramètres réseaux, la capacité de chaque disque, bref, toutes descriptions utiles.

Nous avons décrit le schéma de la base de données nécessaire à la mémorisation des

informations utilisées par notre modèle. Nous présentons maintenant les principes

d'acquisition de ces données: Quels moyens sont envisageables? Comment peut s'effectuer

la remise à jour des données? etc.

Administration des applicatifs réseau.."!: 121

fi .6 Du modèle théorique au modèle informatique

6.4. Acquisition des données d'administration

6.4.1. Principes d'acquisition

Le principe d'acquisition des données dépend de l'utilisation du modèle. Une première

approche est d'utiliser les informations du modèle comme origine des données des

équipements à administrer, reprenant ainsi le concept de Moira dans le projet Athena du MIT

(présenté au paragraphe 3.2.1.1 - page 59) ou de NIS (présenté au paragraphe 3.2.1.5­

page 64). Dans cette optique, la description des utilisateurs, par exemple, est indiquée "à la

main" dans la base de données, le système d'administration se chargent de la diffusion de cette

information sur les différentes machines concernées.

Ce principe est certainement le plus intéressant du point de vue de l'administrateur. En effet,

cette méthode bénéficie de tous les avantages de la gestion centralisée: cohérence des données

dans leurs formes et dans leur contenu, performance des calculs (tout est sur place), etc.

Cependant, même si le principe est intéressant, il ne peut être le seul retenu. En effet, certaines

informations, notamment de description des états des équipements ne peuvent être définies a

priori dans la base d'administration: elles ne peuvent être qu'observées. Il est par conséquent

nécessaire d'utiliser deux principes complémentaires de mise à jour des informations

d'administration, à la fois directement dans la base de gestion, et également par sondes ou

agents d'observation des états des équipements. C'est une des solutions habituellement

retenues, par exemple par les logiciels d'administration comme SunNet Manager.

Le problème repose sur la limite entre les informations déduites du réseau et celles qni sont

déclarées directement par l'administrateur. Notre modèle s'applique à des réseaux

hétérogènes, il est donc difficile d'utiliser la base d'informations comme origine essentielle

des données de configuration. Nons optons, an contraire, pour la réutilisation des informations

pré-existantes sur le résean, tant que faire se peut.

6.4.2. Les informations pré·existantes sur le réseau

6.4.2.1. Principe d'acquisition des données pré-existantes

Nous avons présenté - au chapitre 2 - plusieurs principes pour "interroger le réseau" en vne de

sa gestion. Nous l'avons dit, les deux principales solutions sont l'administration préconisée

par l'ISO et celle basée sur le protocole SNMP (cf. 2.4.1 et 2.4.2). Malheureusement, il

n'existe pas à l'heure actuelle d'implantation d'agents SNMP ou OSI qui nous permettent

d'acquérir toutes les informations nécessaires à notre administration des services réseaux

comme pourra le faire, par exemple, la "Host Resoul'ces MIE" (présentée à la page 61).

122 Administration des applicatifs réseaux

Du modèle théorique au modèle informatique II.6

Cependant, les listes des machines, des utilisateurs, des applicatifs, des ressources sont

pourtant définies. Il s'agit d'éléments connus et répertoriés sur certains équipements du

réseau. Qu'il s'agisse de fichiers de configuration ou de tables distribuées, il est possible de

récupérer ces données par des méthodes moins standards, au moyen de langages

d'interrogation à distance par exemple (cf. 2.4.2.5).

Dans la troisième partie de notre thèse traitant de l'implantation d'un prototype, nous

détaillons un principe d'acquisition des données basé sur le langage de commandes à distances

RSH. Nous verrons que la mise en œuvre d'une telle méthode d'interrogation tient de "l'expert

systèmelréseau"(cf. 8.3.2). En effet, il est nécessaire de connaître parfaitement les systèmes

d'exploitation (Unix, VMS, MSDOS, ...) et les protocoles (Appletalk, TCPIIP, IPX,

DECNET, ...) des ordinateurs du réseau à modéliser.

6.4.2.2. Principe de mise à jour des données pré-existantes

Les données acquises par interrogation et mémorisées dans la base de données doiyent être

nécessairement en adéquation avec les données réelles du réseau modélisé. Or ces dernières

sont susceptibles d'évoluer dans le temps. Dès lors, comment gérer les mises àjour de la base

de données?

Le modèle théorique s'appuie sur plusieurs hypothèses (cf 4.3). L'une d'elles spécifie que les

informations manipulées ont une durée de vie relativement longue, au minimum de l'ordre de

la journée (cf. page 81). La mise à jour des données peut donc se baser sur un principe

d'interrogations cycliques des éléments (quotidiennement ou bi-quotidiennement) pour

recenser les modifications de configuration: les disques démontés, les ajouts d'utilisateurs, les

modifications des logiciels, etc. La méthode la plus raisonnable est de choisir une période de

faible activité des machines interrogées. Ces périodes peuvent être elles-mêmes déduites des

résultats de la modélisation (cf 7.2.3 - page 143).

6.4.2.3. Informations issues d'autres bases de configuration

L'acquisition des informations d'administration ne se restreint pas nécessairement à

l'interrogation des machines elles-mêmes. En effet, les informations peuvent être également

acquises par interrogation de bases d'informations tierces. Il s'agit, par exemple, d'annuaires

tels DNS (Domain Name Server) (a), X500 (cf. note a - page 62) ou encore NIS (cf 3.2.1.5­

page 64) dans le cas où ils sont implantés sur le réseau administré. Il s'agit, dès lors, de

disposer des interfaces de communications avec de telles bases d'informations. Dans le cas de

(a) Le DNS est un système d'annuaire distribué contenant en particulier des correspondances entre noms et

adresses réseaux des ordinateurs sous le protocole TCPIIP [RFC 1033].

Administration des applicatifs réseaux 123

II .6 Du modèle théorique au modèle informatique

l'annuaire DNS par exemple, il est nécessaire d'utiliser un outil logiciel implantant le

"resolver',(a) .

Nous avons illustré sur le schéma 30 les tables de la base de données qui sont susceptibles

d'être renseignées - à l'heure actuelle - par interrogation d'informations pré-existantes sur le

réseau. Elles sont hachurées en traits obliques.

6.4.3. Les données déclarées

Certaines informations ne peuvent être acquise par interrogation du réseau. Il s'agit de

données non mémorisées, ou encore de données pour lesquelles il n'existe aucun moyen

(même non-standard) d'acquisition. Dès lors, une part des informations nécessaires à notre

modèle doit être donnée "à la main" en utilisant les commandes adéquates de la base de

données. C'est ce que nous nommons les données déclarées. A moyen terme, les données

déclarées pourraient disparaître avec les progrès effectués dans le domaine de l'administration

de réseaux.

6.4.3.1. Principe d'acquisition des données déclarées

Parmi toutes les données manipulées par le modèle, deux types d'informations doivent être

nécessairement définis "à la main" car il n'existe - à notre connaissance - aucune méthode

pour les acquérir. Il s'agit:

- des informations concernant le réseau physique,

- des descriptions de certaines fonctionnalités des programmes.

Nota: Les tables qui concernent ces informations sont représentées au schéma 30 par les

rectangles et losanges non-hachurés.

Description du réseau physique

Il n'existe pas à l'heure actuelle de méthode d'interrogation pour connaître les éléments qui

composent un réseau informatique, leurs connexions, etc, notllnment lorsque l'on désire une

description assez fine qui fait référence aux équipements passifs (médiums, répéteurs, etc). Il

est donc incontournable de définir les composantes du réseau (table Equipement, Mach-Equip

et Equip-Equip) à la main.

Description des fonctionnalités des programmes

Un deuxième type d'informations non-déductibles du réseau lui-même concerne les

fonctionnalités des programmes. Pour notre modèle, il nous faut alors indiquer manuellement

(a) Dans la description du DNS, le resolverest l'entité interrogatrice de la base d'informations.

124 Administratiol! des applicatifs réseaux

Du modèle théorique au modèle informatique

Equip-Equip'

II .6

Légende

Ges-Ress

Equipement

Programme

Prog-Prog

Tables renseignéespar des donnéespré-existantessur le réseau

Tables renseignéespar des donnéesdéclarées

Schéma 30 : Provenance des données du modèle

les couples de classes de programmes clients et serveurs qui sont prévus pour "dialoguer"

ensemble (voir explications et exemples au paragraphe 5.1.2.3 - page 85). Il s'agit de la table

Prog-Prog de la base de données. D'autre part, il nous faut également définir les types de

ressources dont un programme serveur a la charge (voir explications et exemples au

paragraphe 5.1.2.4). Il s'agit de la table Ges-Ress.

Administration des applicatifs réseaux 125

II.6

6.4.3.2. Principe de mise à jour des données déclarées

Du modèle théorique au modèle informatique

Pour les données déclarées, la mise à jour des informations concernant les progranunes ne

pose pas de problèmes particuliers car il n'y a pas de modifications, mais uniquement des

ajouts. En effet, il s'agit d'indiquer des relations fonctionnelles des classes de programmes.

Celles-ci sont définies une fois pour toutes au développement de ces logiciels. Par contre, pour

ce qui est de la définition des données du réseau physique, il est crucial pour la validité du

modèle, qu'il y ait parfaite adéquation entre le réseau décrit et le réseau réel. Nous retrouvons

une pareille contrainte sur les logiciels d'administration de réseaux du marché (SunNet

Manager, OpenView et outils similaires).

Après avoir exposé les méthodes d'acquisition et de mise à jour des données, nous présentons

les méthodes de définition des services réseaux, et de génération du graphe de leurs

dépendances.

6.5. Recherche des services réseaux et de leurs dépendances

L'établissement des services réseaux dépend à la fois de données déduites et d'informations

déclarées. Pour ce qui est des services réseallx élémentaires, nous présentons un algorithme de

déduction automatique basée sur les données mémorisées dans la base. Pour les applications

de dénominations et de transitions nous montrons comment il est possible d'allier

l'algorithme de recherche automatique des services élémentaires au moyen d'un langage

simple de description de leurs dépendances.

6.5.1. Déduction des services réseaux élémentaires

Les services réseaux élémentaires ont été définis au paragraphe 5.1.3. De cette définition, nous

pouvons déduire un algorithme de recherche automatique de ces services. Il s'agit de vérifier

une à une les six conditions de l'application f pour tout couple (nœud client, nœud serveur),

c'est-à-dire, quels que soient (x, y) de l'ensemble ç. Ceci revient à effectuer des produits

cartésiens en série sur les composantes de x (c'est-à-dire xu. xM et xp) et de y (c'est-à-dire Yu,

126 Administration des applicatifs réseaux

Du modèle théorique au modèle illformatique II .6

YM> YP et YR) et d'éliminer les couples (x, y) non-valides. Cette première approche nous

donne l'algorithme suivant:

pour tout Xu appartenant à Upour tout xM appartenant à M

pour tout xp appartenant à Ppour tout Yu appartenant à U

pour tout YM appartenant à Mpour tout Yp appartenant à Ps

pour tout et YR appartenant à Rsi XM app à Il(YM) et YM app à Il(XM) et

xp app à a(yp) et xp app à r(xM) et Yp app à r(YM) etXu app u,(xp) et (YU,xM) app à usCYp) etYR app g(yp) et YR app à r(YM)

alors (xU,xM,XP)->(YU,YM,Y/lYR) est Uli service élémentaire

Cette première approche brutale nous donne un algorithme dont la complexité est en O(n7), ce

qui ne le rend pas réellement exploitable, pour peu que les ensembles considérés aient une

cardinalité élevée. Cependant, en y regardant de plus près, nous pouvons réduire

considérablement le nombre d'itérations en posant chaque test de sélection dès que possible

dans le déroulement de l'algorithme. Cette méthode est payante car elle repose sur l'hypothèse

qu'il y a relativement peu de services élémentaires par rapport au nombre total de n-uplets

possibles, et qu'il est inutile de continuer à traiter des n-uplets dont une des conditions de

validations n'est pas remplie. Ainsi, cette deuxième approche nous donne une proposition

d'algorithme de recherche des services élémentaires qui peut être la suivante:

pour tout YM appartenant à Mpour tout YR de R tel que YR appat1ient à r(YM)

pour Yp de P tel que YR appartient à g(yp) et Yp appartient à I(YM)pour tout xM appartenant à Il(YM)

pour tout xp appartenant à l(x~t! et xp appartenant à a(yp)pour tout Xu appartenant à u,(xp)

pour tout Yu de U tel que (YU,xM) appartient à ulYp)on a (XU,XAfoXp)->(YU,)'M.Y/lYR) service élémentaire

Nous voyons, dans l'algorithme ci-dessus, que l'ordre des boucles imbriquées n'est pas

quelconque. Pour une performance optimale, il est nécessaire de placer les itérations utilisant

les tests de sélections qui écartent le plus de n-uplets le plus "extérieurement" possible, afin

d'éviter d'entrer inutilement dans les boucles imbriquées. Or cet ordre des boucles est

variable. Il dépend du nombre respectif d'éléments de chaque ensemble traité. Il dépend

également de l'ordre d'instanciation des variables pour les conditions de validation. Nous

proposons ainsi une troisième approche: l'algorithme "adaptatif'. Il s'agit de définir - de

manière générique - les paramètres qui régissent les sept boucles de l'algorithme précédent.

Ainsi la boucle d'indice n est décrite par:

Administration des applicatifs réseaux 127

Il.6 Du modèle théorique au modèle informatique

-l'ensemble qu'elle doit balayer: E(n),

-les conditions de validation de la boucle: C(n),

-la variable de "balayage" de la boucle: i(n).

Prenons comme exemple la deuxième boucle de l'algorithme précédent, à savoir:

pour tout YR de R tel que YR appartient à rIYM)

Les paramètres génériques de la boucle d'indice 2 sont les suivants:

- E(2) décrit l'ensemble R,

- i(2) décrit la variable YR'

- C(2) décrit la condition "YR doit appartenir à r(YM)'"

Soit V la liste des variables déjà instanciées, nous proposons l'algorithme "adaptatif' suivant:

Algo_Adaptatifsoit V liste videProcédure_Bouclee Procédure_Choix_Boucle( V»

Procédure_Bouclee n : indice de la boucle courante)pour tout iln) appartenant à Eln) et dont iln) et V vérifient les conditions Cln)répéter

si Vet iln) définissent toutes les variables alors ils décrivent un service élémentairesinon s' il reste une boucle non encore parcourue

alors Procédure_Bouclee Procédure_Choix_Boucle( I\il"» )

Procédure_Choix_Boucle( liste des variables instanciées)Retourner l'indice de la boucle i non encore parcourue

dont toutes les variables nécessaires à ses conditions Cli) sont instanciéeset dont le cardinal de E(i) est le plus petit

Utilisation des outils du gestionnaire de la base de données

Après avoir présenté les algorithmes de recherche des services réseaux élémentaires, nous

soulignons les possibilités d'utilisation des outils du SGBD qui permet la mémorisation des

informations. En effet, notre modèle s'appuyant sur une base de données relationnelle, les

produits cartésiens et tests de sélections exposés précédemment peuvent être réalisés par le

gestionnaire de base de données sous forme de jointures et de projections successives sur les

tables adéquates. Cette méthode a bien évidemment l'avantage de déléguer le traitement du

problème à un outil prévu pour ces types d'opérations. Cependant, il faut garder à l'esprit que

les gestionnaires de bases de données n'optimisent que les opérations de projections, et

généralement pas l'ordre de traitement de séries de jointures couplées à des projections,

comme pour la méthode présentée ci-dessus. Il est nécessaire d'expliciter, dans le langage

128 Administration des applicatifs réseaux

Du modèle théorique au modèle informatique II.6

spécifique du gestionnaire de la base de données, les opérations à effectuer, ce qui fige l'ordre

des boucles.

Lors de l'implantation d'un prototype de notre modèle, il nous a été possible de comparer les

deux méthodes. Sur le SGBD relationnel (INGRES domaine public(a» utilisé, les

performances sont particulièrement décevantes par rapport à celles de l'algorithme adaptatif

présenté ci-dessus (plus de dix fois plus lent en moyenne sur notre jeu d'essai).

6.5.2. Dénomination des services réseaux élémentaires et fonction de transition

L'opération qui consiste à regrouper les services élémentaires au moyen de l'application de

dénomination ne peut être déduite automatiquement, car cette opération dépend en partie

d'informations déclarées. Il en va de même pour l'applications de transition qui nous permet

de définir les services en cascade et par conséquent de construire le graphe global de

dépendances.

La méthode que nous proposons repose sur la définition d'un langage simple de description

des dénominations et des transitions: suites de règles de réécriture qui permettent de décrire

les dépendances. Certaines de ces règles sont déduites de données pré-existantes sur le réseau,

d'autres doivent être déclarées par l'administrateur.

Syntaxe dl/langage de description des règles de dénomination et de transition

La syntaxe de ce langage s'inspire directement de l'exemple (Eq.20) présenté

paragraphe 5.1.5 pour définir un service réseau en cascade.

Nous donnons une grammaire qui décrit ce langage. Son vocabulaire non-terminal est

composé des symboles P, D, T, F, C, S, r et l'axiome de la grammaire est P. Son vocabulaire

terminal est composé des symboles suivants y, =, {, J, (, J, Yu, YMo YF YR' xu, xM' xl" Les

règles de dérivation de cette grammaire sont les suivantes:

P--7DIT

D --7 DDIDTly = {F}

T--7 TTITDIS = {f} IC = {f}r --7 rflyF--7FFIC = S

S --7 (Yu' YM' Yp, YR)

C --7 (xu' xM' x p )(Eq.46)

(a) La version de INGRES dll domaine public a été rebaptisée POSTGRES à partir de t987 (voir présentation

de POSTGRES dans la troisième partie de la thèse - paragraphe 8.3.1 - page 165).

Administration des applicatifs réseaux 129

11.6 Du modèle théorique au modèle informatique

Nota : Pour les symboles non-terminaux. nous avons choisi la sémantique suivante:

D : dénomination, T: transition, F : service élémentaire, C : nœud client, r :nom de service,

et S : nœud serveur.

Exemple de règle de dénomination - déclarée

Prenons pour exemple une règle déclarée par l'administrateur pour dénommer (et par

conséquent regrouper) les services élémentaires nécessaires aux impressions d'une salle

d'ordinateurs:

Impr_Sallel = {(SU, $M, PCNFS.EXE) = {(SU, monza, nfsd, /dev/sdOh »(SU, $M, LPR.EXE) = ({SU, monaco, lpd, laserII)}

Les variables précédées du caractère "$" vont être celles à instancier en fonction des services

élémentaires déduits par l'algorithme présenté au paragraphe 6.5.1. Les éléments déjà définis

dans la règle soulignent tout l'intérêt d'un tel algorithme "adaptatif' ; certaines variables sont

déjà instanciées ce qui va accélérer d'autant le traitement.

Nota: Il serait nécessaire d'ajouter à ce langage de description une sémantique permettant de

vérifier certaines conditions sur les éléments. Dans notre exemple, il serait nécessaire de

vérifier que la machine cliente décrite par la variable $M est bien localisée dans la salle

d'ordinateurs en question.

Exemple de règle de dénomination - déduite du réseau

En fonction du type de machines, certaines règles peuvent être déduites directement de la

configuration.

Nous donnons en exemple une règle qui peut être aisément déduite du fichier lete/printcap et

lete/I'esolv.confpour une machine Unix; elle indique les services élémentaires mis en œuvre

pour l'accès à une imprimante donnée:

Accès_Laser!I = {

(SU, monaco, lpr) = {(SU, imola, lpd, laserII )}($U, monaco, gethostbyname) = {(-, isis, named, /etc/namebd)}

De la même manière que nous décrivons les regroupements de services élémentaires, nous

décrivons les transitions. Elles sont déduites des informations pré-existantes sur le réseau, ou

bien déclarées par l'administrateur.

130 Administration des applicatifs réSealLl:

Du modèle théorique au modèle informatique

Exemple de règle de transition - déduite du réseau

II .6

En reprenant l'exemple précédent, en fonction des mêmes fichiers de configuration, il est

possible de déduire la règle de transition suivante:

($u,monaco, Ipd, laserII) = {Accès_Laser!I

6.5.3. Construction du graphe global de dépendances

Le langage spécifiant les dénominations et les transitions - allié à l'algorithme adaptatif de

déduction des services élémentaires - permet de construire le graphe global de dépendances.

En effet, les informations qui décrivent le réseau permettent de générer (grâce au langage

décrit ci-dessus) une suite de règles instanciées qui n'est rien d'autre que la description du

graphe global de dépendances en fonction de la sémantique suivante:

- tout facteur d'un mot du langage de la forme (xu, xM' xp) est un nœud client, appartenant àsg ,

- tout facteur d'un mot du langage de la forme (yu, YM> YI' YR) est un nœud serveur,

appartenant à sg ,- tout facteur d'un mot du langage réduit au symbole 'Y est un nom de service, appartenant à

sg,- tout facteur d'un mot du langage x ={yz... } signifie que yz... est successeur de x, c'est-à­

dire que les éléments y, z, ... appartiennent à Ag (x) .

Après avoir évalué le volume des données nécessaires à notre modélisation, nous en avons

décrit les principes de mise en œuvre, à savoir: l'application non-exhaustive, les moyens

d'acquisitions et de mémorisations des données, et les méthodes de génération du graphe

global de dépendances. Ce sont ces concepts qui sont retenus dans le prototype logiciel décrit

dans la dernière partie de notre thèse.

Dans le chapitre suivant, nous allons exposer les résultats que nous pouvons obtenir d'une

telle modélisation.

Administration des applicatifs réseau.t 131

II.7 Résultats de la lI1odélisqtioll

78 Résultats de la modélisation

Nous allons exposer plusieurs résultats qui découlent de notre modélisation. Nous détaillons

des exemples d'exploitations de notre modèle pour mettre en relief ses divers domaines

d'application. Afin de donner une vue assez complète des possibilités offertes, nous classons

nos résutats suivant les cinq aires fonctionnelles définies par l'ISO dans le cadre de

l'administration de réseau.

Les résultats présentés se basent sur l'exploitation du graphe global de dépendances ou sur le

graphe de dépendances associé à chaque service. Ils exploitent les notions d'impacts et de

dépendances des objets les uns par rapport aux autres.

7.1. Gestion de la configuration

La première aire fonctionnelle proposée par l'ISO est la gestion de la configuration. Nous

présentons deux résultats de notre modèle dans ce domaine:

-la connaissance des relations entre les éléments qui entrent enjeu dans l'établissement des

services applicatifs,

-le repérage de configurations applicatives aberrantes: les interdépendances cycliques.

7.1.1. Connaissance des configurations

Le modèle présenté dans les deux chapitres précédents nécessite, dans un premier temps,

l'acquisition et la mémorisation d'un certain nombre d'informations de configuration, afin de

pouvoir générer, dans un deuxième temps, le graphe global de dépendances. Cette

connaissance préalable de données n'est pas à proprement parler un "résultat" , mais couplée à

un outil de manipulation de l'information, tel un gestionnaire de base de données, elle offre

des réponses immédiates à bon nombre de questions qu'un administrateur de réseau est amené

à se poser. Celui-ci dispose d'une base d'informations qui lui permet de connaître la

localisation des comptes utilisateurs, les ordinateurs serveurs et clients des montages disques,

les machines de gestion des périphériques dédiés, etc.

En fait, il s'agit de l'exploitation "courante" de la base de données constituée pour le modèle.

Projections, sélections, jointures, autant d'opérations sur le SGBD, qui, appliquées à la base

132 Administration des applicatifs réseaux

Résultats de la modélisation II.7

d'informations du modèle, permettent de résoudre un certain nombre de problèmes courants

d'administration.

Nota: Nous trouvons également ce type de résultat dans certains outils existant de gestion de

réseau, mais généralement limités à quelques types d'ordinateurs. Par exemple, SI/nnet

Manager offre la connaissance des disques gérés par les ordinateurs fabriqués par Sun.

Ne s'agissant pas de résultats particulièrement originaux, et puisqu'il s'agit d'une simple

utilisation de base de données, nous ne nous étendons pas sur cet aspect de l'exploitation de

notre modèle. Nous présentons simplement dans la troisième partie de la thèse les méthodes

d'interrogation de la base de données pour ce type de problèmes. Un deuxième résultat plus

original dans la gestion de la configuration est présenté dans le paragraphe suivant. Nous

exposons la manière d'utiliser notre modèle afin de repérer certains types de configurations

aberrantes: les interdépendances cycliques.

7.1,2, Repérage des interdépendances cycliques

Un cas relativement fréquent de configurations applicatives aberrantes est celui où deux

services réseaux dépendent réciproquement l'un de l'autre pour fonctionner. Nous appelons ce

type de situation interdépendance cyclique.

7.1.2.1. Exemple d'interdépendance cyclique

L'exemple le plus typique d'interdépendance cyclique est le montage croisé de disques. De

quoi s'agit-il? Le cas le plus simple est celui où deux ordinateurs serveurs "exportent" chacun

un certain nombre de leurs partitions-disques. Ces deux ordinateurs sont également

"importateurs" de certaines partitions-disques qui proviennent de l'autre ordinateur. Le

schéma 31 illustre le cas d'un ordinateur serveur (machine B) qui exporte les partitions

disques nécessaires à une station de travail (machine A) fonctionnant sans disque système (1

export et/home). Pour des raisons de convenances personnelles, l'utilisateur de ce deuxième

ordinateur veut gérer localement son propre disque de données (ldev/sdJ). Cependant, il désire

également que certaines de ces données soient accessibles à travers le serveur pour les autres

utilisateurs. Cette situation est parfaitement possible et ne pose aucun problème ni de mise en

œuvre, ni d'utilisation en fonctionnement "normal". Le problème prendra toute son

importance dans le cas de redémarrage simultané des deux ordinateurs (suite à un

rétablissement de l'électricité par exemple). Les deux ordinateurs vont chacun attendre

indéfiniment le rétablissement du fonctionnement normal de l'autre ordinateur: c'est

l'inter!Jlocage.

Administration des applicatIfs réseaux 133

II .7 Résu.ltats de la modélisation

montage des partitions lexport et fllOmesur des répertoires de même nom

Ordinateur B

1

Ordinateur Amontage de la partition/dev/sdlsur le répertoire Ihomc/etudiant

Schéma 31 : fnte/dépendance cyclique dans le cas de maillages de disques

Nota : L'interdépendance cyclique dans le cas de montage de disques est si typique que

certains fournisseurs de ce service réseau, tel Sun par son service NFS (Network File System),

offre une option d'attente sur montage (option "background" de NFS) afin d'éviter les

interblocages. Il s'agit alors d'une possibilité de fonctionnement en mode dégradé du service.

Ce type de situation d'interblocages peut se repérer "à la main" dans le cas de deux

ordinateurs. Cela devient nettement plus aléatoire lorsque plus de deux machines entrent en

jeu. Or les cas d'interdépendances cycliques sont parfaitement repérables grace à notre

modèle de données, comme nous le présentons dans le paragraphe suivant.

7.1.2.2. Cycle dans les graphes de dépendances

Le graphe de dépendances Gy, d'un service y, est défini par l'ensemble de ses sommets Sy et

par l'application multivoque Ay décrivant les arcs (voir définition en 5.4.1). Cette application

a été définie à partir des trois applications multivoques f, q et il prenant leurs valeurs dans les

ensembles suivants:

f: C ---7 Sq: ï ---7 C X S

h: Cu S ---7 ï(Eq.47)

Il y a par conséquent possibilité de cycles dans les graphes de dépendances (par les éléments

de l'ensemble ï).

134 Administration des applicatifs réseaux

Résultats de la modélisation

Nous avons la propriété suivante:

IL7

Soit 'Y E l

3x E Sy tel que 3 Circuitc, (x, x) <=;> 'Y en interdépendance cyclique(Eq.48)

Un cycle dans un graphe de dépendances est la mise en évidence d'une situation

d'interdépendance cyclique susceptible d'engendrer un interblocage. En effet, un cycle dans

un graphe de dépendances signifie que le fonctionnement de chaque service du cycle dépend

de son propre joncfiOllllement préalable. Il est bien clair que de tels services sont impossibles

à établir. Il s'agit typiquement d'une erreur de configuration des applications.

Nota : Dans la suite de la présentation des résultats, nous supposons que tous les cas

d'interdépendances cycliques ont été repérés par la méthode ci-dessus, et corrigés, afin que la

configuration des applications modélisées soit correcte. Par conséquent, la suite des résultats

présentés est obtenue à partir de graphes de dépendances acycliques.

7.2. Gestion des anomalies et des performances

L'ISO délimite deux aires fonctionnelles distinctes pour la gestion des anomalies d'une part et

la gestion des performances d'autre part. Ces deux domaines sont pourtant étroitement liés;

nous préférons les traiter dans un même paragraphe pour une meilleure clarté de notre exposé.

En effet, les résultats qui vont être présentés mettent en œuvre certaines méthodes similaires.

Nous allons développer quatre résultats quant à l'utilisation de notre modèle dans ces

domaines. Il s'agit tout d'abord d'offrir une méthode de calcul de la fiabilité des services

réseaux, ceci pour répondre au type de questions suivantes: Pourquoi tel utilisateur à partir

de son ordinateur habituel ne parvient que rarement à imprimer sur telle imprimante?

Pourquoi ce terminal Xfonctionne mal par rapport à cet autre terminal qui, lui, ne pose aucun

problème? Il peut également s'agir de questions plus générales du genre: Quelle est la

qualité de service d'un réseau applicatifdans sa globalité? Est-elle meilleure que celle de cet

autre réseau? Dans un deuxième temps, nous exposons une méthode originale de mesure de

l'impact de chaque machine sur l'ensemble des services réseaux. L'idée est de pouvoir

répondre à la question suivante: Quels sont les ordinateurs du réseau qui sont "sensibles" ?A

quels moment? Pourquoi? Ce dernier résultat va être utilisé, par la suite, pour évaluer la

charge des ordinateurs, soit de manière globale, soit en fonction du temps. Enfin, nous

terminons l'exposé des résultats concernant les domaines de la gestion des anomalies et des

performances, par la présentation de l'utilisation du modèle pour effectuer des diagnostics en

cas de dysfonctionnement de services réseaux. Il s'agit de pouvoir répondre à la question

Administration des applicatifs réseau.'< 135

IL7 Résultats de la modélisation

suivante: Quels équipements doivent être suspectés dans IlIl cas de dysfonctionnement de

services réseaux?

7.2.1. Fiabilité d'un service réseau

Pour obtenir des paramètres mesurant la fiabilité de service, nous nous appuyons sur les

méthodes présentées, entre autres, dans l'ouvrage "Téléinformatique - Transport et traitement

de l'information dans les réseaux et systèmes téléinformatiques et télématiques" [MAC 87] de

C. Macchi et co-auteurs. en les appliquant aux graphes de dépendances générés selon notre

modèle. Ces méthodes ont été également décrites dans les ouvrages traitant des problèmes de

calculs de disponibilité d'équipements, approfondis dans [KAU 75] et [POL 69]. Le problème

est de pouvoir quantifier la fiabilité d'un service afin d'estimer sa qualité, et de pouvoir la

comparer: Qu'est-ce qu'un "bon" service? Qu'est-ce qu'un "mauvais" service?

7.2.1.1. Définition de la fiabilité d'un service

Nous définissons lafiabilité d'un service comme la disponiblité moyenne du dit service. Celte

disponibilité peut être quantifiée par l'estimation de la probabilité de fonctionnement du

service en question. Par exemple, un service, qui a une probabilité de fonctionnement de

0,988, a une indisponibilité moyenne de 2h par mois (dans le cas où l'on ne considère que les

heures ouvrables du mois - soit environ 160 heures).

7.2.1.2. Calcul de la fiabilité d'un service

Méthode utilisée

Selon la méthode exposée par Macchi, il s'agit d'estimer la probabilité de fonctionnement

d'un équipement enfonction des éléments sous-}acents. Dans le cas où tous les éléments sous­

jacents sont strictement nécessaires, le produit des probabilités de fonctionnement de ceux-ci

nous donne la probabilité de fonctionnement de l'équipement. Macchi souligne que celte

méthode s'appuie sur l'hypothèse qu'il s'agit de probabilités indépendantes, hypothèse dont

nous débaltons par la suite.

Utilisation des graphes contractés de dépendances

Pour appliquer cette méthode au calcul de la fiabilité d'un service, nous utilisons le graphe de

dépendances du service en question. En effet, ce graphe a été défini pour modéliser l'ensemble

des objets (machines, utilisateurs, programmes et ressources) strictement nécessaires au

fonctionnement du service sous forme de nœuds clients et nœuds serveurs. Ainsi, pour

calculer la fiabilité d'un service réseau, nous pondérons les sommets du graphe de

136 Administratioll des applicatifs réseaux

Résultats de la modélisatioll II .7

dépendances associé au service, par la probabilité de fonctionnement de chaque nœud. La

probabilité de fonctionnement du service en question est obtenue par produit des probabilités

de chaque nœud du graphe:

P [Service y correct] = II P [x correct]XE Sy

(Eq.49)

Ce résultat s'appuie sur l'hypothèse que la probabilité de fonctionnement d'un nœud est

indépendante de la probabilité de fonctionnement des autres nœuds. Nous voyons dans le

paragraphe suivant que cette hypothèse est relativement réaliste si l'on se restreint à la

probabilité de fonctionnement des machines et des ressources.

Nota: Dans le cas particulier de pannes de secteur, il sera nécessaire d'effectuer des calculs

plus complexes, par regroupement en catégories d'éléments à probabilité de fonctionnement

indépendante. Nous renvoyons le lecteur aux ouvrages présentés précédemment.

Probabilité de fonctionnement des nœuds clients et serveurs

Le problème reste de pouvoir estimer la probabilité de fonctionnement de chaque nœud du

graphe de dépendances. Une approche raisonnable est de considérer uniquement les

probabilités de fonctionnement des machines et des ressources (vu comme des équipements

physiques - disques, imprimantes, etc). En effet, il existe bien sOr des possiblités de

programmes bogués, mais on peut poser l'hypothèse que la probabilité de fonctionnement des

programmes (sur un ordinateur fiable) a un impact négligeable par rapport aux probabilités de

fonctionnement des équipements.

Calcul de la probabilité de fonctionnement d'une machine, d'une ressource

La probabilité de fonctionnement d'une machine peut être calculée de plusieurs manières,

nous en proposons deux:

- calcul par produit sur les diverses composantes de la machine,

- calcul empirique en fonction du taux de fonctionnement.

Le calcul de la probabilité de fonctionnement d'un matériel électronique peut être estimé par

le produit des probabilités de fonctionnement de ses diverses sous-composantes (mémoires,

microprocesseur, cartes d'extension...). La finesse des résultats sera fonction de la définition la

plus exhaustive des composantes. Cette méthode a l'avantage de donner un résultat a priori,

sans aucune simulation, ni essai.

La deuxième méthode semblera peut être plus brutale, mais donne en fait de meilleurs

résultats. Il s'agit simplement de calculer sur une période de temps donnée (un mois, une

semaine), le temps où la machine a effectivement fonctionné, et le temps où elle a été hors-

Administration des applicatifs réseau.t 137

n.7 Résultats de la modélisation

(klein,monza,nfsd,monza:/home/klein)

service. Un simple quotient entre ces deux valeurs nous donnera une très bonne estimation de

la probabilité de fonctionnement de la machine en question. Notons que cette deuxième

méthode a l'avantage d'inclure des paramètres tels le degré de suivi de la machine: rapidité de

dépannage, temps d'immobilisation pour les modifications logicielles de la machine, etcta). Il

s'agit en fait de la disponibilité de la machine.

Exemple de calcul de fiabilité d'llll service

Nous présentons ci-dessous un exemple de calcul defiabilité pour le service d'impression dont

nous nous sommes servi pour illustrer la méthode de construction du graphe global de

dépendances (cf. 5.4.1). Le schéma 32 reprend le graphe contracté de dépendances du service

fn\ Impression_pc1_laserllI!Y ->(klein,pc1,PCNFS.EXE)

-> (klein,pc1,LPR.EXE)

/ ~@(klein,monaco,lpd,laserll)-> Accès_Iaserll

-> (klein,monaco,lpr)-> (klein,monaco,gethostbyname)

/ \®(-,lmola,lpd,laserll) (-,isis,named,letc/namebd)

Schéma 32: Exemple de calclIl de la fiabilité d'lIl1 sen'ice

en question, en y adjoignant les probabilités de fonctionnement de chaque nœud, spécifiées

dans le tableau 5 ci-dessous. Pour notre exemple, nous nous sommes restreints à la probabilité

de fonctionnement des ordinateurs et de l'imprimante, les disques ont été estimés fiables.

Nœuds Indisponibilité moyenne Probabilité defonctionnement

pc! 2 heures par semaine Pl =0,9500

mailza 2 heures par mois P2 =0,9875

monaco 1 heure par mois P3 =0.9938

(a) Suivant le résultat escompté. il peut être intéressant de prendre en compte certains types d'arrêt de lamachine plutôt que d'autres.

138 Administration des applicatifs réseaux

Résultats de la modélisatloll

Nœuds Indisponibilité moyenneProbabilité de

fonctionnement

imola 1 heure par semaineP4 = 0,9141

Laser II 30 minutes par jour

isis 30 minutes par mois Ps = 0,9969

Tableau 5 : Exemple de calcul de laftabilité des services

11,7

Le calcul de la fiabilité du service d'impression est donné ci-dessous. Nous remarquons

immédiatement la fiabilité relativement faible due aux nombreux intermédiaires.

L'indisponibilité du service Impressiotl--pc1_LaserII est estimée à environ 1 heure 15 par jour,

ce qui peut sembler élevé même pour une moyenne.

5

P [Impression_pcl_laserII correct] = II Pi = 0,8443

i ~ 1

(Eq.50)

L'exemple cité est réel. Nous avons pu ainsi mesurer que la fiabilité calculée corrobore assez

fidèlement notre observation directe de l'indisponibililé de ce service. Il est bien clair que

l'estimation des probabilités de fonctionnement des éléments sous-jacents doit être la plus

fidèle possible pour avoir un résultat cohérent(a).

7.2.1.3. Estimation de la qualité d'un réseau

Pouvoir estimer la "qualité d'llll réseau" est un des soucis constant de l'administrateur.

Sachant l'importance vitale que peut prendre le réseau informatique au sein d'une entreprise ­

où un simple arrêt de quelques heures peut se chiffrer à plusieurs dizaines de milliers de

francs - on peut comprendre l'intérêt d'un tel estimateur. Il s'agit, cependant, d'une notion

vague et à multiples facettes. Parle-t-on de qualité du débit global, du nombre d'utilisateurs

satisfaits, du cumul des temps d'indisponibilités des ordinateurs? Bref, de nombreux

paramètres sont envisageables.

En nous basant sur les calculs de fiabilité pour chaque service, présentés au paragraphe

précédent, nous proposons une méthode pour estimer une certaine forme de "qualité globale"

du réseau modélisé, à savoir la "qualité de service". Nous calculons pour cela la moyenne(b)

(a) Par contre, dans l'exploitation du prototype logiciel présenté dans la troisième partie de la thèse, lesfiabilités calculées nous paraissent légèrement minorées par rapport à la réalité. Ceci est dO, en partie, à uneapproximation, sur une période trop courte, des indisponibilités moyennes des ordinateurs et des ressources(voir paragraphe 9.4 - page 200).

(b) Le calcul de cette moyenne peut être, éventuellement, pondérée en fonction de l'importance accordée à

chaque type de service (les services vitaux pour l'entreprise, etc).

Administration des applicatifs réseau.t 139

11.7 Résultats de la modélisation

des fiabilités pour l'ensemble des services afin d'obtenir une valeur reflétant la disponibilité

globale des services du réseau à évaluer.

Qualité du réseau

l P [Service y correct]_ YErnSg

- card( [' il sg )(Eq.51)

Cet estimateur est à prendre avec les précautions d'usage sur ce type de calcul aussi global,

mais il permet d'opérer une certaine forme de classement des réseaux et d'en évaluer leurs

évolutions.

7.2.2. Impact d'un ordinateur

Dans le cas d'une infrastructure informatique centralisée autour de ce que l'on nonune un

"mainframe", c'est-à-dire un "gros ordinateur central", le problème de l'impact de la machine

en question ne se pose pas réellement. Si l'ordinateur tombe en panne, plus rien ne fonctionne.

Avec une petite note d'humour, nous pouvons dire que cela a l'avantage de simplifier les

explications aux utilisateurs mécontents. Dans les réseaux actuels où la station de travail est

reine, il est beaucoup plus difficile d'estimer, a priori, les dégâts occasionnés par l'atTêt d'une

ou de plusieurs de ces stations.

C'est pourquoi, il est tout à fait vital qu'il soit possible de quantifier l'impact d'une machine

sur l'ensemble des services réseaux et de pouvoir répondre précisément à des questions du

genre: Quel est le moment le plus judicieux pour rajouter un disque à tel serveur? Qui

faudra-t-il prévenir?

Nota: A l'heure actuelle et à notre connaissance, l'impact n'est jamais mesuré, et les seules

précautions consistent à effectuer les al1'êts de machines aux heures susceptibles de ne gêner

que le minimum de personnes (avec toutes les surprises que l'on peut imaginer), et à prévenir

le plus de monde possible (en espérant n'omettre personne).

Une autre application directe de la mesure de l'impact est de justifier les contrats de

maintenance des ordinateurs. Pouvoir répondre à la question: "quel contrat de maintenance

pour quelle machine? (intervention sous les quatre heures, dans la semaine...)" n'est pas aussi

simple qu'il peut y paraître. Notons que le coût des contrats établis par les revendeurs est

uniquement fonction de la machine, et non pas de la finalité que l'utilisateur lui assigne. A

quoi sert de payer des dizaines de milliers de francs par an, sachant que les machines

couvertes ont un impact très faible sur les services réseaux?

140 Administration des applicatifs réseaux

Résultats de la modélisatioll II .7

Nous présentons dans les paragraphes suivants, une méthode de calcul de l'impact de chaque

machine sur l'ensemble des services réseaux, et nous proposons une normalisation de ces

valeurs afin d'en faire des estimateurs comparables.

7.2.2.1. Définition de l'impact d'une machine

En première approche, nous définissons l'impact d'une machine comme le nombre de services

réseaux strictement dépendants du fonctionnement de la machine en question. Nous notons

cet impact lmi pour la machine mi'

Méthode de calcul de l'impact

Pour calculer l'impact d'une machine, nous travaillons par pondération du graphe global des

dépendances, sous sa forme contractée, présenté au paragraphe 5.4.2. Il s'agit de parcourir le

graphe dans le sens descendant, en pondérant chaque nœud par le nombre de services qu'il

aura fallu traverser pour arriver jusqu'à chaque nœud. Dans le cas où le nœud courant a déjà

été traité, il y aura sommation avec l'ancienne valeur.

Exemple de calCltI de l'impact

Pour illustrer la méthode de calcul de l'impact, nous reprenons l'exemple donné lors de la

définition du graphe global de dépendances. Le schéma 33 ci-dessous indique les pondérations

opérées sur un tel graphe. Nous avons opéré trois parcours complets dans le sens des arcs à

partir des trois services modélisés: Impression...JJCClaserII, Accès_laserII et Courrier

(typographie grasse sur le schéma).

7.2.2.2. Définition de l'impact réduit d'une machine

L'impact réduit d'une machille est défini comme le rapport de l'impact d'une machille sur le

nombre total de services. Nous le notons IRmi pour la machine mi'

Il s'agit d'une valeur comprise entre 0 et 1. Une machine d'impact réduit égal à 1 est

nécessaire au bon fonctionnement de la totalité des services du réseau modélisé. Une machine

d'impact réduit nul n'a aucune incidence sur les services du réseau.

Calcul de l'imvact réduit des machines

Pour obtenir l'impact réduit pour chaque machine, il suffit d'effectuer le quotient de chaque

impact sur le nombre total de services. Pour l'exemple précédent, card (s) = 3 ,ce qui

nous donne les résultats suivants:

Administration des applicatifs réseaux 141

11.7 Résultats de la modélisation

t.\ Impression_pc1_laserllo ->(kleln,pc1,PCNFSEXE)-> (klein,pc1,LPR.EXE)

CD / ~ ®(kleln,monaco,lpd,laserll)

(klein,monza,nlsd,monza:lhome/kleln) _> Accès laserll-> (kTein,monaco,lpr)-> (kleln,monaco,gelhoslbyname)

®(-,imola,lpd,laserll)

(Dupont,monza,popper,/BAL_Dupont)

CD

(-,isis,named,lelclnamebd)

Courrier CD-> (Dupont,mac1,eudora)-> (Dupont,mac1,eudorajesolver)

Schéma 33: Catcul de l'impact des machines.

MachineImpact Impact réduit

J/Il JR/Il

/Ill 1 0,33

/Il2 1 0,33

/Il 3 2 0,66

/Il4 2 0,66

1 0,33

Tableau 6: Exemple de calcul d'impacts réduits

Nous remarquons immédiatement que la machine /Il 5 devra être particulièrement surveillée,

puisqu'elle conditionne le fonctionnement de l'ensemble des services du réseau.

142 Administration des applicatifs réseaux

Résultats de la modélisatioll

Poids variables des serl'ice~

11.7

Dans le calcul présenté précédemment, nous avons supposé que tous les services avaient la

même importance. Il est bien entendu plus réaliste d'affecter des coefficients à chaque service,

afin que le calcul de l'impact en dépende.

Notons que, dans ce cas-là, le calcul de l'impact réduit sera obtenu par quotient sur la

sommation des coefficients de chaque service, et non plus simplement sur le nombre de

services.

Reprenons l'exemple précédent en supposant que le service Courrier a un coefficient de 4 par

rapport aux autres services n'ayant qu'un coefficient 1. Le diviseur pour le calcul de l'impact

réduit sera alors de 6 et nous obtenons le résultat suivant:

MachineImpact Impact réduit

J/Il JR/Il

/Il) 0,17

/Il2 1 0,17

/Il 3 2 0,33

/Il4 2 0,33

4 0,67

Tableau 7: Exemple de calcul d'impacts réduits elljonction de selvices pondérés

7.2,3. Charge des machines

Dans une optique similaire à celle développée dans le rapport de Maurin [MAU 93] sur les

travaux d'Alcate! Strasbourg, nous proposons une méthode d'estimation de la charge des

machines. Nous tentons de répondre aux questions suivantes: Quels sont les ordinateurs

particulièrement sollicités? Par qui? Pourquoi? Et à quel/es périodes?

Nous avons proposé, au paragraphe précédent, une méthode de calcul de l'impact d'un

ordinateur sur l'ensemble des services. La valeur obtenue (dans le cas 011 elle n'est pas

réduite) représente le nombre de services que la machine doit supporter. Si l'on considère le

graphe global de dépendances, parcouru dans le sens inverse des arcs à partir de la machine

concernée, nous retrouvons tous les noms de services, mais également tous les utilisateurs qui

demandent leur réalisation. Or on peut, raisonnablement, estimer la charge engendrée en

Administration des applicatifs réseaux 143

11.7 Résultats de la modélisation

fonction du nombre de programmes qui s'exécutent simultanément sur la machine. Dans notre

modélisation, il s'agit donc de recenser les programmes qui permettent d'assurer la réalisation

de tous les services demandés, c'est-à-dire les nœuds clients et les nœuds serveurs concernant

cette machine.

Si nous parvenons à évaluer la charge moyenne de chaque type de programmes, nous

obtenons, par cumul, un paramètre global pour la charge de chaque machine. Une méthode

assez simple, pour estimer cette charge moyenne, est de reprendre les résultats des outils

d'analyses statistiques, disponibles sur la grande majorité des systèmes d'exploitation. Ainsi,

pour SlmOS(a), la commande "sa" permet d'obtenir une liste des programmes classés en

fonction de leur charge(b) respective.

Le résultat de calcul de charge prend tout son intérêt dès lors que les services élémentaires

sont munis de fenêtres temporelles, comme nous l'avons défini au paragraphe 5.3.1­

page 100, car il devient possible de calculer l'évolution de la charge des machines en fonction

du temps. C'est exactement le résultat escompté dans les travaux cités précédemment.

7.2.4. Diagnostic de pannes

S'il est un domaine qui nécessite de fréquents et délicats diagnostics, c'est bien

l'administration de réseau. En effet, dans sa dimension "opérationnelle", la rapidité d'isolation

des causes des pannes est un atout majeur pour garantir la qualité du réseau. Car c'est

généralement la recherche de la cause, plus que la réparation elle-même, qui pose le plus de

problèmes.

Notre travail a consisté à établir la modélisation des dépendances qui entrent en jeu dans le

fonctionnement des services réseaux. Nous avons déjà montré au paragraphe 7.2.2 qu'il nous

était possible de connaître l'impact d'une machine sur l'ensemble des services. Or établir un

diagnostic, n'est-ce pas justement la démarche inverse, à savoir: en fonction des services en

"dérangement", déterminer le (oules éléments) susceptible d'engendrer de tels effets?

Nous proposons le procédé suivant: en fonction du graphe global contracté de dépendances,

et en testant un à un les services réseaux, nous opérons des recoupements successifs afin

d'écarter ou de retenir les sommets du graphe susceptibles d'être nùs en cause. Afin de réduire

le plus rapidement possible le nombre des sommets suspectés, nous proposons le procédé de

(a) SmIO. est le système d'exploitation Unix de Sun.

(b) La valeur, utilisée par la commande "sa ~lC', est le produit de l'espace mémoire nécessaire par le tauxd'occupation du processeur.

144 Administration des applicatifs réseaux

Résultats de la modélisation

recherche suivant:

IL7

Initialisation

1) Nous définissons un ensemble Sp des sommets suspectés, qui comporte au démarrage

tous les sommets du graphe global contracté de dépendances.

2) Nous associons à chacun des éléments de l'ensemble Sp un compteur initialisé à zéro.

3) Pour tout service y signalé défectueux, nous augmentons d'une unité les compteurs

des sommets du graphe contracté de dépendances associé à y ,à savoir SCy compris

dans Sp.

Boucle de réduction des sommets suspects

4) Nous sélectionnons le prochain service y à tester en choisissant celui dont la somme

des compteurs associés aux sommets SCy n Sp (sommets encore suspects de son

propre graphe contracté de dépendances) est la plus proche de la demi-somme des

compteurs associés aux sommets de Sp (principe de dychotomie)

5) Si le service testé s'avère fonctionner, les sommets dépendants sont ôtés de

l'ensemble des sommets suspects, par contre, s'il est également hors-service, nous

ajoutons une unité à tous les sommets SCy n Sp. Dans le cas extrème où il s'agit

d'un singleton(a), ce nœud est nécessairement défecteux.

Arrêt du procédé de recherche

6) La recherche s'arrête au plus tard lorsque tous les services ont été testés. Il est bien

clair que ce procédé ne doit pas être utilisé jusqu'à cette limite. Il offre simplement

une méthode d'aide au diagnostic qui précise de plus en plus le champ

d'investigations.

Nous avons présenté quatre résultats de notre modèle dans le domaine de la gestion des

anomalies et des performances: l'estimation de la fiabilité des services, la mesure de l'impact

d'une machine sur l'ensemble des services réseaux, une utilisation de cet impact pour une

obtention de la charge des ordinateurs et enfin une méthode d'aide aux diagnostics de pannes.

Nous présentons dans le paragraphe suivant nos résultats dans le domaine de la gestion de la

sécurité.

(a) Un singleton est un ensemble réduit à un unique élément.

Admillistralion des applicatifs réseaw: 145

II .7 Résultats de la modélisation

7.3. Gestion de la sécurité

La gestion de la sécurité en informatique comporte deux grands volets complémentaires. Il

s'agit, d'une part, de la composante "préventive" de la sécurité, à savoir la gestion des accès.

Ceci consiste à définir et mettre en œuvre les moyens pour répondre à la question suivante:

Qui a accès? A quoi? Et comment? La deuxième composante de la sécurité informatique est

plus "currative", il s'agit de la mise en œuvre, de la gestion et de l'exploitation des "traces" ou

"audit". Ceci regroupe tous les moyens utilisés pour connaître a posteriori les agissements des

utilisateurs, autorisés ou non, afin de pouvoir surveiller les délits d'accès, les usurpations

d'identités, etc, bref, repérer le "coupable" et le moyen qu'il a utilisé.

Nous exposons dans ce paragraphe un résultat d'exploitation de notre modèle qui concerne le

premier volet présenté ci-dessus: l'administration des accès et plus spécialement des accès

aux ressources. Ainsi, nous définissons des estimateurs de la sécurité d'une ressource, et

présentons leurs méthodes de calculs.

7.3.1. Sécurité d'une ressource

Nous commençons par rappeler ce qu'est une ressource dans notre modèle. Les exemples les

plus simples sont une imprimante, un scanner, etc. La gestion des accès à ce type de

ressources n'est pas le point le plus important de notre exposé. Bien plus intéressantes sont les

ressources telles un disque, le contenu d'un disque et, entre autres, les programmes qu'il

contient. Or, entre tous, un programme particulier est sensible à tout point de vue:

l'intelpréteur de commandes (tel un sheU sous Unix). Cette dernière ressource a une

importance cruciale en sécurité, car si une personne, autorisée ou non, parvient à en disposer

sur une machine, il possède bien plus qu'un simple accès à un programme quelconque, il a

véritablement l'accès à la machine et aux autres programmes dont celle-ci dispose(aJ• C'est ce

type de programmes qu'il faut particulièrement surveiller, puisque c'est grâce à eux qu'un

utilisateur peut accéder à une machine.

Nota: Il faut noter que l'accès à un programme tel un intel]Jréteur de commandes se traduit

dans notre modèle par une fonction de transition h, qui renvoie à tous les services réseaux

autorisés pour l'utilisateur de cet interpréteur.

(a) Avec, cependant. comme restriction d'accès, les droits liés à l'identité de l'utilisateur pour lequel la

personne s'est fait passer (à juste titre ou non). L'interpréteur de commande s'exécutant sous l'identité de

l'administrateur de ['ordinateur est, bien évidemment, particulièrement sensible.

146 Administration des applicatifs réseau.'\:

Résultats de la modélisatioll II .7

Les estimateurs que nous utilisons pour définir la sécurité d'une ressource reposent sur la

connaissance exhaustive de tous les utilisateurs qui ont accès à la ressource en question. Des

paramètres comme le nombre d'utilisateurs, les moyens utilisés pour accéder à la ressource (la

longueur du chemin, le nombre de changements d'identité utilisés ...) nous permettent de

préciser assez finement la sécurité des ressources.

7.3.2. Calcul de la sécurité d'une ressource

Pour le calcul des estimateurs de la sécurité d'une ressource, nous utilisons le graphe global

de dépendances. Le principe repose sur la contraction des sommets concernant la ressource

en question, comme nous le montre le schéma de l'exemple ci-dessous. Le parcours du graphe

ainsi obtenu à partir du sommet - résultat de la contraction, nous donne non seulement les

personnes qui y ont accès, mais également les moyens utilisés, programmes, machines,

changement d'identité, etc. Ce parcours s'effectue dans le sens contraire des arcs.

Exemple de calcul d'estimateurs de sécurité

Notre exemple de calcul d'estimateurs sur la sécurité d'une ressource concerne l'accès à un

interpréteur de commandes (sheU) sous l'identité de l'utilisateur Dupont, sur un ordinateur

donné (m2)' Pour la clarté de l'exposé (et du graphe), le nombre de services du graphe est

réduit à deux.

Le schéma 34, ci-dessous, représente le graphe global de dépendances sur lequel a été effectué

la contraction adéquate des sommets pour la ressource sheU en question.

Rlogin_Durant-> (Durant, mt, nslookup)-> (Durant, mt, rlogin)

(Dupont, m2, rlogind,shell)(Dupont, m2, telnetd, she/I)

(-, m5, named, /etc/named.t)

/Rsh Merlin~->(lIferlin, m4, rsh)

(Hector, m3, rshd, shell)-> Telnet Hector

-> (Hector, m3, telnet)

Schéma 34 " Exemple de graphe de la sécurité d'ulle ressource

Administration des applicatifs réseaux 147

11.7 Résultats de la modélisatiou

Nous regroupons dans le tableau ci-dessous, certains estimateurs de la sécurité de cette

ressource :

Utilisateurs Nombre de Profondeuraccédant à la changements Chemin utilisé du chemin

ressource d'identité

Dupont 0 ml 1

Durant 1 ml->m2 2

Hector 1 m3 -> m2 2

Merlin 2,

m4-> m3 -> m2 3

Total: 4 utilisateurs accèdent à la ressource Shell sur 11I2 en tant que Dupont

l'ableall 8 : Exemple de calcul de la sécurité d'une ressource

7.3.3. Indication de "trou" de sécurité

La sécurité informatique repose sur la connaissance de tous les moyens permettant d'accéder à

une ressource. La modélisation des moyens connus donne déjà un bon aperçu de la sécurité

d'une ressource. Il est pourtant bien clair que ce sont les moyens inconnus de l'administrateur

qui sont les plus dangereux puisqu'ils ne peuvent être ajoutés au modèle.

Certains organismes tel le CERT indiquent périodiquement des trous de sécurité, par

exemple: "Sur la version système 4.1.1 de SunOs, un utilisateur peut accéder par telnet au

shell de l'utilisateur root via le daelllon sendmail".

Cette indication de trou de sécurité est en fait un service réseau élémentaire qu'il suffit de

rajouter au modèle pour voir son incidence sur les paramètres de sécurité.

(*, *, telnet) ---7 (root, *, sendmaiCSun_4. 1. 1, shell) (Eq.52)

Nota: La notation "*,, permet d'indiquer n'importe quel utilisateur, machine, etc. Elle nous

permet de noter de manière générique plusieurs services élémentaires.

Le graphe global de dépendances va dès lors indiquer les personnes susceptibles d'utiliser

cette méthode, et quelles ressources ils peuvent accéder via ce trou de sécurité.

7.4. Gestion des informations comptables

Le dernier domaine défini par l'ISO pour l'administration de réseau est celui de la gestion des

informations comptables. Tout a un coût, et un système informatique ne déroge pas à cette

règle. Dans les réseaux de télécommunication, la facturation des frais n'est pas un problème

148 Administration des applicatifs réseaux

Résultats de la modélisation 11.7

trivial. Il s'agit tout d'abord de définir une politique de facturation, que ce soit en fonction du

débit, de la quantité de données échangés, par abonnement, etc. Il est également nécessaire de

mettre en place les moyens de mesures. Ces derniers s'apparentent, quelque peu, à ceux

utilisés en gestion de la sécurité: c'est-à-dire la mémorisation et la gestion de l'historique des

activités des utilisateurs. Tant qu'il s'agit de facturation de services élémentaires, par exemple

entre un appelé et un appelant, des solutions, relativement simple dans leur principe, peuvent

être mise en œuvre. Il peut s'agir, par exemple, du système de facturation au volume des

réseaux TRANSPAC. De même, ce peut être, dans le cas des réseaux téléphoniques par

exemple, un principe de facturation pour l'usager appelalll en fonction de la durée et de la

distance de la "communication".

Par contre, dans le cas de services informatiques plus complexes, il n'y a plus de notion

d'appelant et d'appelé, ni même de "communication" mais plutôt de machines coopérantes.

De plus, il n'y a qu'exceptionnellement des possibilités techniques de mesure des débits ou

des temps pour un utilisateur donné puisque dans la plupart des protocoles de transmission

utilisés, les paquets de données circulant sur le réseau n'indiquent pas l'utilisateur mais

uniquement la machine initiatrice ou réceptrice. La facturation pour les réseaux informatiques

n'est pas un sujet facile contrairement à ce que l'on pourrait penser en première approche, et la

preuve en est que les organismes de télécommunications proposent des solutions basées sur un

principe d'abonnements par période de temps plutôt que de s'aventurer dans une facturation

plus fine (à la durée ou au volume). C'est le cas, par exemple, du raccordement au réseau

français de la recherche RENATER.

7.4.1. Répartition des frais réels

Notre propos n'est pas de présenter une solution globale de facturation des services réseaux,

nous exposons, plutôt, une méthode de répartition des frais réels des services réseaux. Elle est

relativement facile à mettre en œuvre si le réseau informatique en question a été décrit suivant

notre modèle. Une méthode similaire [MAU 93], mais sur un modèle plus simple, a été

développé dans le cadre du projet de gestion des ressources de Alcatel Business Systems

(présenté au paragraphe 3.2.2 - page 66).

704.1.1. Principe de la répartition des frais

Un système de facturation sans bénéfice repose toujours sur le même principe: la répartition

des coOts sur les usagers (ou groupes d'usagers). Il s'agit par conséquent d'établir les deux

points suivants: d'une part le montant global des frais, d'autre part la règle de répartition de

cette enveloppe.

Administration des applicatifs réseaux 149

IL7 Résultats de la modélisation

Le calcul du total des frais est relativement simple, tout dépend de ce que l'on veut faire entrer

dans l'enveloppe: amortissement des équipements, coûts des logiciels, des consommables

(papier, électricité, etc), salaires des techniciens et ingénieurs, coût de la recherche et du

développement, etc.

Autant le premier point ne pose pas réellement de problèmes théoriques, autant il va être

difficile d'établir la règle de répartition des coûts sur les usagers. En effet, comme nous le

soulignions en introduction, bon nombre de protocoles de réseaux informatiques (par

exemple: TCP/IP, DECNET, AppleTalk, IPX) ne permettent pas de mesm:er l'utilisation

propre à chaque utilisateur car les trames de données véhiculées ne disposent pas de cette

information mais uniquement l'adresse réseau de la machine émettrice et de la machine

réceptrice. Or un serveur informatique peut être utilisé par plusieurs centaines d'utilisateurs.

Dans l'état actuel, il est très difficile d'établir une règle de répartition des coûts sur les

utilisateurs en fonction de la durée et/ou du volume transmis pour les protocoles réseaux tels

TCP/IP, AppleTalk, IPX, etc. Dès lors, comment procéder? En fonction du nombres de

machines raccordées? En fonction du nombre d'utilisateurs déclarés? Nous proposons une

solution intermédiaire qui se base sur le coût réel de chaque service réseau.

7.4.1.2. Une méthode de répartion en fonction des services offerts

Connaissant le montant global des frais, nous reprenons l'idée stipulée dans le rapport de

C. Maurin [MAU 93] qui propose une répartition de ces coûts en fonction des services offerts

aux utilisateurs. Or les graphes de notre modèle permettent justement d'établir assez finement

les équipements et machines nécessaires au fonctionnement de chaque service. Nous

rappelons que dans notre modèle, tous les services sont associés à leurs utilisateurs, ce qui

permet d'imputer les frais aux personnes elles-mêmes.

Nous exposons donc la méthode de calcul suivante:

Nous calculons les coûts d'amortissement, maintenance et/ou fonctionnement de chaque

nœud du graphe global contracté du réseau modélisé. Ainsi pour un nœud mi est associé un

coût ci' Pour répartir la part des frais concernant chaque service réseau nous reprenons les

résultats obtenus lors du calcul de l'impact des machines (voir paragraphe 7.2.2 - page 140).

Le coût d'un service y, noté Cr' est obtenu en effectuant la sommation des coûts de chaque

nœuds nécessaires au fonctionnement du service en question, chacun de ces coûts étant

préalablement divisé par l'impact non-rédltit (Jm) de la machine du nœud en question.

(Eq.53)

150 Administration des applicatifs réseaux

Résultats de la modélisation II .7

7.4.1.3. Exemple de calcul de coût

Pour illustrer cette méthode de calcul de la répartition des frais réel, nous reprenons l'exemple

du graphe utilisé pour la mesure de l'impact de chaque machine (voir 7.2.2).

Impressio/cpc1_laserlJ->(klein,pc1,PCNFS.EXE)-> (klein,pc1,LPR.EXE)

/ ~(klein,monaco,lpd,laserlJ)-> Accès_laserIJ

-> (klein,monaco,lpr)-> (klein,monaco,gethostbyname)

(klein,monza,nfsd,monza:/home/klein)

(-,imola,lpd,laserll)

/\

Courrier-> (Dupont,mac1,eudora)-> (Dupont,mac1,eudoraJesolver)

Schéma 35 : Calcul des coOts des services réseaux.

Nous déduisons du graphe représenté par le schéma 35 la répartition par service réseau,

récapitulée dans le tableau ci-dessous:

Services Coût

Impression_pcl_laserIIc 3 c4 Cs

l2500Fcl + C2 + 2" + 2" + '3 =

Accès_LaserIIC3 C4 Cs

SOOOF-+-+- =223

--

Courrier CslOOOOFc 6 + c7 + '3 =

Tableau 9 .. Exerup/e de répartition des conts globaux sur les sen'ices

Administration des applicatifs réseau:( 151

n.7

Prise en compte des frais liés à la maintenance du réseau

Résultats de la modélisation

Il est possible, avec l'extension du modèle aux équipements du réseau physique, de prendre en

compte dans la répartition des coûts, les frais dûs à la mise en place et à la maintenance du

réseau lui-même (câbles, prises, équipements actifs tels les répétcurs ...).

7.4.1.4. Calcul des frais imputés à l'utilisateur

Notre modèle est bâti sur la notion de service réseau. Comme nous le rappelions

précédemment, ces services sont nominatifs, c'est-à-dire qu'ils dépendent de la personne qui

les utilise.

Ainsi, pour calculer le coût engendré par chaque utilisateur, il suffit de sommer les coûts

calculés pour chacun de ses services comme nous l'avons décrit dans le paragraphe précédent.

152 Administration des applicatifs réseau.\"

Résultats de la modélisation

Conclusion

II

Dans cette deuxième partie, nous avons présenté le point central de notre thèse: un modèle de

données pour la description des services applicatifs réseaux. Il nous a fallu, pour cela, définir

les éléments - et leurs interdépendances - nécessaires au fonctionnement des services

applicatifs.

Ainsi, après avoir précisé la finalité d'un tel modèle et présenté ses hypothèses d'application,

nous avons proposé nne définition du service réseau applicatif. Celle-ci a été décrite sous la

forme d'une application multivoque régie par une série de contraintes. De là, il nous a été

possible de définir un graphe global associé au réseau modélisé, qui décrit toutes les

dépendances mises en jeu.

De ce modèle "théorique", nous avons présenté les points importants pour passer à un modèle

"informatique". Nous prenons ainsi en compte les spécifités techniques de ce domaine. Nous

avons proposé un schéma de base de données pour la mémorisation des informations. Nous

avons également présenté les méthodes d'acquisition de telles informations. La présentation

du modèle "informatique" s'est achevée par l'exposé des moyens et algorithmes nécessaires à

la déduction des services réseaux et de leurs dépendances.

Nons avons ensuite présenté les résultats que nous obtenons d'une telle modélisation; ils ont

trait à tous les domaines de l'administration de réseaux. Les deux principaux résultats sont, à

notre sens, le calcul de la fiabilité d'un service résean et l'impact d'Ime machine sur

l'ensemble des services modélisés.

Il nous reste à démontrer la "faisabilité" d'une plate-forme d'administration basée sur de tels

concepts. C'est l'objet de la dernière partie de notre thèse; nous présentons la maquette

logicielle ADSAR qui implante notre modèle en vue de sa validation.

Administration des applicatifs réseaux 153

Partie III

Validation du modèlepar implantation

Administration des applicatifs réseaux 155

La mise en œuvre d'un logiciel d'administration de réseaux n'est pas une tâche facile, ni

rapide. Ce type d'outil nécessite toujours des développements pointus dans plusieurs

domaines informatiques distincts. Ainsi, il met en jeu, entre autres, des manipulations de base

de données volumineuses, une adéquation indispensable à la normalisation en cours, des

représentations graphiques complexes, bref, c'est le type de logiciel "touche à tout" qui

engendre un volume de développements inexorablement important. Si nous prenons

l'exemple de Openview développé conjointement par Hewlett Packard et Motorola-codex, il

aura fallu plus de 50 années/hommes de recherche et de développement(a) pour sortir la

première version expérimentale. De plus, plutôt que de poursuivre les extensions de son

propre logiciel d'administration de réseaux SNA (Netview) pour l'administration SNMP, IBM

a préféré racheter le code source et les droits d'exploitation de OpenView, commercialisé sous

l'appellation Netview 6000(b). Il s'agit strictement du même moteur logiciel dans le cas de

OpenView et Netview 6000.

Cependant, malgré la difficulté de la tâche, il nous est apparu indispensable d'implanter

réellement le modèle présenté dans notre thèse afin d'en démontrer la faisabilité et l'intérêt de

ses résultats. Nous exposons ainsi, dans cette dernière partie, une maquette logicielle qui

implante une grande majorité des concepts énoncés. Ce prototype, de par sa nature, ne peut

pas, raisonnablement, se restreindre à un réseau informatique miniature, voire simulé, sans

perdre tout son intérêt de validation, car le modèle prend tout son sens lorsqu'il s'applique à

un réseau informatique suffisamment complexe pour mettre en œuvre des dépendances

logicielles nombreuses. Nous avons donc développé une maquette "grandeur nature"

appliquée à un réseau informatique universitaire réel: celui de l'Université des Sciences

Humaines de Strasbourg.

(a) Le monde informatique.

(b) Netview et Netview 6000 n'ont strictement fien de commun si ce n'est IBM" La similitude des noms est

due aux impératifs commerciaux.

Administration des applicatifs réseaux 157

m.

Notre exposé est divisé en trois volets. Nous présentons, tout d'abord, le contexte

d'implantation de la maquette. Nous voyons ainsi, entre autres, les concepts du modèle qui

ont été effectivement programmés, les choix techniques d'implantation et le cadre de

fonctionnement de la maquette. Nous détaillons, ensuite, le prototype logiciel lui-même:

comment il se présente à l'utilisateur et les fonctionnalités dont il dispose. Enfin, nous

terminons cette troisième partie par une évaluation de l'implantation effectuée; nous

comparons notamment les résultats obtenus avec la réalité observée expérimentalement, afin

de justifier la pertinence des résultats.

Il fallait un nom à ce prototype, nous avons opté pour "A.D.S.A.R". Il s'agit du sigle construit

à partir de la périphrase suivante: Administration des Dépendances entre Services Applicatifs

Réseaux.

La maquette ADSAR est issue d'une version préliminaire nommée CQFD. Cette dernière

gérait les données nécessaires à son fonctionnement, au moyen d'un système de gestion de

bases de données développé "sur mesure". Tout comme le prototype ADSAR, CQFD

manipulait les graphes de dépendances, mais ne calculait pas pour autant des résultats tels

ceux présentés au chapitre 7 (fiabilité d'un service, impact d'un ordinateur, etc). Ainsi, la

volonté de s'appuyer sur un gestionnaire de base de données non ad hoc et le manque de

souplesse dans la version préliminaire nous ont poussé à redévelopper un second prototype

plus complet: ADSAR.

158 Administration des applicatifs réseaux

Contexte de la maquette

8. Contexte de la maquette

III.8

"ADSAR" n'est, en aucun cas, un outil d'administration de réseaux, au sens d'un "produit

fini". Même si un soin particulier a été porté aux fonctionnalités et à la qualité de l'interface, il

s'agit bien d'une maquette logicielle destinée à valider les concepts de notre modèle

théorique. Ce prototype a été réalisé dans un contexte donné. Ainsi, des choix ont été faits sur

les concepts qu'il implante, il est réalisé pour un site de test donné, il a mis en œuvre des choix

techniques qui ont été pris en fonction de la finalité de validation et d'expérimentation et non

pas en vue de la production d'un logiciel "clé-en-main". C'est tout ce contexte de mise en

œuvre que nous présentons dans ce chapitre.

8.1. Le modèle implanté

Ne disposant malheureusement pas de 50 années/hommes de développement, l'implantation

de la maquette logicielle, en vue de la validation du modèle, a nécessité des choix

d'implantation. Ceux-ci ont porté, tout d'abord, sur les concepts du modèle effectivement

implantés, également sur les services réseaux retenus, et enfin sur les types d'ordinateurs et de

protocoles gérés. Nos choix ont été dictés dans le but de réaliser l'implantation des éléments

indispensables au modèle dans l'optique de réaliser le calcul des résultats les plus

intéressants. C'est ce que nous présentons dans les paragraphes qui suivent.

8,1.1. Les concepts théoriques implantés

Une certaine forme de péréquation entre les concepts énoncés et ceux programmés

effectivement a été nécessaire. Il nous a fallu réaliser l'implantation d'un modèle minimal qui

garde cependant tout son intérêt. Ainsi, la modélisation des services réseaux a été totalement

implantée sans y adjoindre, toutefois, la description du réseau physique (cf. 5.2.1 - page 96)

qui ne semble pas poser de problèmes pratiques ardus et qui, par contre alourdit les graphes

générés. De même, la description des fenêtres temporelles (cf. 5.3.1 - page 100) a été

volontairement laissée de côté, car elle nécessite un apport important de données dites

"déclarées", ce qui imposerait une enquête assez précise sur les besoins des utilisateurs et

groupes d'utilisateurs. Une dernière restriction du modèle a été retenue, il s'agit de la

description des droits d'utilisation des programmes. Dans une première approche, nous

appliquons la règle simplificatrice suivante: "toute personne qui dispose d'un compte sur une

Administration des applicatifs réseaux 159

m.8 Contexte de la maquette

machine de type Unix peut utiliser tous les programmes (pour les services réseaux) de cette

machine",

En revanche, les informations strictement nécessaires à la réalisation du modèle ont été

augmentées de données supplémentaires dans les cas où celles-ci n'engendraient pas de

difficulté particulière ou de surcoût de développement. Par exemple - et comme nous allons le

voir dans le diagramme de la base de données (ef. 9.1.1.1) - les n-uplets utilisés pour décrire

les ordinateurs ne comportent pas uniquement un nom de machine et un identificateur, mais

également des informations annexes telles que certains paramètres de configuration (adresse et

masque de réseau, système d'exploitation, type de processeur, etc), de localisation

(emplacement géographique, dépendance administrative, etc), et autres indications

pertinentes. Il en est de même pour les autres tables de la base de données, à savoir celle des

utilisateurs, des ressources et des programmes.

8.1.2. Les types d'ordinateurs et de protocoles supportés

Pour la réalisation de la maquette, tous les types d'ordinateurs présents sur le réseau de test ont

été pris en compte. Il s'agit de matériels tout à fait courant: des stations Unix, des compatibles

PC et des Macintosh. Le choix des protocoles réseaux reconnus a été plus restrictif. En effet,

certains protocoles spécifiques des compatibles PC, tels IPX pour les réseaux NOVELL et

LanManager pour les réseaux Microsoft, ont été écartés au bénéfice des protocoles TCP/IP et

AppleTalk qui sont utilisés dans plus de 90% des services du réseau de test. En effet, IPX et

LanManager se restreignent à trois petits "îlots" de faible importance.

8.1.3. Les services réseaux modélisés

Le choix des familles de services réseaux modélisés ne s'est pas réellement posé, car la

maquette développée est suffisamment souple pour permettre d'adjoindre, par la suite, de

nonveaux services sans aueune difficulté. Dans l'état actuel, nous nons sommes

principalement attaché à prendre en compte, avant tout, les services de montages de disques

puisqu'ils engendrent d'importantes dépendances, mais aussi les services d'impressions, et

enfin certains services de courrier électronique. D'autre part, nous avons ajouté quelques

services sous forme d'exemples spécifiques, pour certains cas particuliers. Ainsi, ont été

décrits les services nécessaires au!onctionnement d'un terminal X, ou encore d'un compatible

PC bien particulier car dédié au "flashage(a)" d'image de synthèse (voir le paragraphe suivant

pour la présentation du réseau de test).

(a) Le "flashage" est un terme spécifique au domaine de l'imagerie informatique. Il recouvre les moyens mis

en œuvre afin de convertir le codage d'une image digitale sous forme analogique, en vue de son utilisation enbandes vidéo (Bétacam, VHS, etc) ou de photogmphies.

160 Administration des applicatifs réseaux

Contexte de la maquette

8.1.4. Les résultats implantés

III .8

Nous avons présenté un certain nombre de résultats théoriques dans le dernier chapitre de la

deuxième partie de notre thèse. La liste ci-dessous indique les résultats qui ont été

effectivement réalisés dans le prototype ADSAR. Nous avons implanté:

-la connaissance de la configuration du réseau au niveau applicatif (cf. 7.1.1)

-le repérage des inter-dépendances cycliques (cf. 7.1.2)

-le calcul de la fiabilité de chaque service (cf. 7.2.1)

-l'estimation de la qualité de service globale du réseau (cf. 7.2.1.3)

-le calcul de l'impact de chaque ordinateur (cf. 7.2.2)

Ces résultats comportent la grande majorité des algorithmes de manipulation des graphes ct de

la base de données.

Après avoir précisé les concepts effectivement implantés, nous présentons le cadre

d'exécution de la maquette, à savoir le réseau informatique qui nous a permis de valider le

modèle.

8.2. Cadre de l'expérimentation

Nous ne pouvons décrire l'implantation développée pour la concrétisation du modèle sans

présenter, même succinctement, l'infrastructure du réseau sur lequel les tests ont été effectués.

Il s'agit du réseau de l'Université des Sciences Humaines de Strasbourg baptisé Vivaldi. C'est

un réseau de taille moyenne, hétérogène au niveau des machines et des protocoles. Il fait partie

intégrante du réseau inter-universitaire OSIRIS qui assure les liaisons informatiques sur les

campus universitaires de Strasbourg.

8.2.1. L'infrastructure et la technologie du réseau de test

Le réseau Vivaldi est réparti sur deux sites géographiques distants de quelques kilomètres. Il

comporte cinq bâtiments reliés par des câbles Ethemet(a) de technologie la base 5(b). La

liaison entre les deux sites géographiques est assurée par de la fibre optique. La couverture du

réseau au sein des bâtiments est réalisée également par des câbles Ethernet mais de

(a) Le terme Ethemet regroupe les spécifications technologiques et protocolaires d'un type de réseau,

développé à l'origine par XefOX puis normalisé sous l'appelation ISO 802.3, qui est désormais une des

références incontournables des réseaux informatiques actuels. Ethernet sUppOlte des protocoles réseaux de

niveau plus élevé tels ceux cités précédemment (IPX, TCPIIP, LanManager, DECnet, AppleTalk, etc)

(b) Ethemet supporte principalement 3 types de technologie pour son médium de transmission: le câble

coaxial épais (10 base 5), le câble coaxial fin (10 base 2) et la paire torsadée (10 base T).

Administratioll des applicatifs réseaux 161

m.8 Contexte de la maquette

technologie 10 base 2(a), cette fois-ci. L'ensemble représente un peu plus de 800 points de

connexion potentielle (prises réseaux).

Le réseau Vivaldi utilise principalement la technologie Ethanet sur l'ensemble de sa surface.

Il fait cohabiter sur ses câbles les protocoles TCP/IP, AppleTalk, IPX et LanManager. Il faut

noter, cependant, que certaines sections du réseau utilisent uniquement une technologie

LocaITalk(b), et non Ethanet, pour supporter le protocole Appletalk. Il s'agit, notamment, des

liaisons nécessaires à l'accès à certaines imprimantes Apple LaserWriter.

8.2.2. Le parc des machines

Le parc représente un peu moins de cent cinquante machines (courant juin 1994). Il s'agit de

micro-ordinateurs (50% de PC - 25% de Macintosh) et mini-ordinateurs (20%) et de quelques

terminaux X et imprimantes directement connectés sur le réseau (5%).

8.2.3. Les utilisateurs

Les utilisateurs du réseau informatique de l'Université des Sciences Humaines de Strasbourg

se répartissent en trois classes distinctes, courantes dans ce type de structure universitaire:

-les étudiants (en filière informatique & hors filière informatique),

-les enseignants/chercheurs,

- et les personnels d'administration et de gestion.

L'ensemble représente un peu plus de trois cents utilisateurs, dont une centaine réguliers

(accès à une machine au moins une fois par jour ouvrable).

8.2.4. Les services fournis

Le réseau Vivaldi étant à vocation universitaire, nous retrouvons les types de services réseaux

nécessaires à un tel environnement. Il s'agit principalement des services suivants:

-la messagerie (accès libre aux étudiants, accès par machines dédiées pour les enseignants/

chercheurs et les personnels d'administration),

-l'impression par groupes d'usagers,

-les montages de disques par équipe de recherche (tous protocoles),

(a) La technologie JO base 2 utilisée dans le réseau Vivaldi n'utilise pas les classiques "prises en T" peu

pratiques pour du câblage de bâtiments, mais un système de prises par "clapet" qui autorise J'utilisation d'uncordon de descente entre la prise murale et l'ordinateur. Ce cordon n'cst en fait qu'une boucle du câble

coaxial au sein d'un même enrobage plastique. Il s'agit d'une simple dérivation du bus 10 base 2.

(b) Le protocole AppleTalk suppOlte trois types de technologies sous-jacentes qui se dérivent en EtherTalk

(au-dessus de Ethernet), TokellTalk (au-dessus d'un anneau à jeton) et LocalTalk (pour la technologie

propriétaire Apple).

162 Administration des applicatifs réseaux

Contexte de la maquette III ,8

-l'émulation de terminaux en interne et en externe,

-la consultation de la base de données des bibliothèques de l'université via le logiciel

Gopher et WAIS(a),

-les transferts de fichiers (tous protocoles).

Certains services sont spécifiques au site. Citons, entre autres, la manipulation d'images de

synthèse pour la génération de films en Bétacam(bl, qui engendre un trafic réseau

particulièrement intense.

8.2,5. Les caractéristiques particulières du réseau Vivaldi

Le réseau Vivaldi a subi un développement essentiel et des restructurations importantes ces

trois dernières années. Un des points majeurs de ses caractéristiques actuelles est la présence

de cinq serveurs Unix distingués en fonction de leur cadre d'utilisation (administratif,

recherche ou enseignement) et de leurs fonctionnalités propres (services d'impressions, de

courrier, de montages de disques, etc). Ces cinq serveut's gèl'ent la majeure partie des

ressources partagées (disques, périphériques, etc)(c).

Une passerelle CAP (Columbia AppleTalk Package) implantée sur l'un des serveurs permet

d'assurer certaines interactions entre la composante AppleTalk-Macintosh et la composante

TCPIIP-Unix du réseau. Ainsi, imprimantes et disques sont, en partie, partagés entre les deux

composantes.

Pratiquement la moitié des compatibles PC dispose du logiciel PC-NFS qui leur permet

d'accéder aux disques et aux imprimantes gérés par deux des serveurs cités précédemment. La

totalité des PC dispose de tous lcs utilitaircs réseaux les plus courants dans le monde

universitaire(d) (Paquettages NèsA, CUTCP, POPmai!, GOPHER, WinQvtNET, etc)

Une composante particulière du réseau Vivaldi est le sous-réseau de stations Silicon et de

matériel spécifique à la génération et à la manipulation d'images de synthèse (4 Silicon,

1 Getris, 8 PC dédiés, 1 Macintosh et quelques autres équipements - caméra, Bétacam,

f1asheuse, etc ).

(a) Les outils logiciels Caplter et \VAIS permettent le stockage, l'indexation et la diffusion de documents

informatisés de tout type (textes, images, sons). Très en vogue cette dernière année au sein du réseau Internet,

ils permettent aux utilisateurs non-aveltÎs de rechercher des données informatiques sans se soucier ni de leur

stmcture, ni de leur localisation.

(b) Bétacam est une norme technologique pour la cinématographie professionnelle.

(c) L'ancien serveur principal a du "éclater" ses services sur deux autres serveurs plus petits pour des raisons

de surcharge d'exploitation (fin 93 - début 94).

(d) Le réseau international Internet pemet d'acquérir gracieusement bon nombres de logiciels réseaux

extrêmement intéressants dans le cadre universitaire. et entre autres, la plupart des logiciels réseaux les plus

courants.

Administration des applicatifs réseau.'t 163

m .8 Contexte de la maquette

8.2.6. Le choix de l'ordinateur d'accueil de la plate-forme d'administration

L'ordinateur choisi pour implanter la maquette ADSAR devait nécessairement être

suffisamment puissant pour assurer à la fois le stockage des données et la manipulation des

graphes issus du modèle. Nous avons bénéficié de la possibilité d'implanter le prototype sur le

serveur le plus puissant du réseau, à savoir un SUN 4 - 390, disposant de 10 Go de mémoire de

masse et de 32 Mo de mémoire centrale. Bien que ce matériel soit désormais un peu obsolète,

les performances de ce type de machine ont largement suffi au développement et à l'utilisation

de la maquette.

8.2.7. Avantages et inconvénients du site de test

L'opportunité de pouvoir à la fois disposer d'un ordinateur suffisamment puissant pour

implanter notre prototype logiciel, localisé dans un réseau dont les dépendances entre services

applicatifs sont nombreuses, complexes et variées, nous est apparu particulièrement

intéressante pour valider notre modèle. La diversité des services, des protocoles et des types

d'ordinateurs nous a permis de réaliser une maquette suffisamment complète pour vérifier la

pertinence du modèle proposé. Le réseau Vivaldi est certainement un très bon exemple du type

de réseaux pour lequel notre modèle a été pensé.

En revanche, l'obligation de faire cohabiter la maquette ADSAR avec les autres applications

du serveur fut un inconvénient notable. En effet, il ne s'agissait pas d'une machine dédiée à la

recherche; elle ne pouvait en aucun cas subir d'arrêts intempestifs.

Après avoir présenté le réseau de test Vivaldi, nous exposons, dans le paragraphe qui suit, les

choix globaux que nous avons dO poser pour implanter notre maquette ADSAR.

8.3. Les choix de l'implantation

Pour permettre une présentation claire et complète de la maquette logicielle que nous avons

réalisée, et avant d'entrer dans les détails de l'implantation, nous exposons les choix

techniques généraux que nous avons retenus. Ceux-ci concernent, tout d'abord, le

gestionnaire de base de données. Il existe plusieurs SGBD relationnels; lequel choisir? Nous

exposons ensuite les méthodes d'acquisition des données qui ont été utilisées. Puis, nous

présentons le système de gestion des graphes qui est exploité. Nous terminons par la

présentation des choix globaux de la maquette ADSAR : le langage de programmation et les

bibliothèques sous-jacentes. Nous exposons l'implantation dans le détail dans le chapitre

suivant, au paragraphe 9.1 - page 178.

164 Administration des applicatifs réseaux

Confexte de la maquette

8.3.1. La base de données

III .8

Pour réaliser l'implantation de notre modèle, nous devions nous appuyer sur un système de

gestion de base de données relationnelles. Plusieurs choix s'offraient à nous dont, entre autres,

les SGBD bien connus tels ORACLE, INGRES, SYBASE, PARADOX, etc. Les critères qui

nous ont permis d'arrêter notre choix ont été les suivants:

- un SGBD tournant sur un ordinateur de système d'exploitation Unix,

- dont les capacités de stockage et la puissance de travail se placent parmi les meilleurs,

- qui dispose, à la fois, d'un langage d'interrogation facile à acquérir et à utiliser (SQL par

exemple),

- mais également d'une interface de programmation avec le langage C

- et dont la disponibilité serait la plus courte possible et la mise en œuvre aisée.

Nous avons ainsi retenu la version de INGRES restée dans le domaine de la recherche

universitaire, rebaptisée POSTGRES (POST inGRES) pour se démarquer de la version

commerciale. POSTGRES est développé par l'équipe(a) de M. Stonebraker, C. Ghosh et

C. Mosher de l'Université de Californie-Berkeley, sponsorisée par les organismes de

recherche suivants: la Defense Advanced Research Projects Agency (DARPA), le Army

Research Office (ARO) et la National Science Fotlndation (NSF). Ces principales

caractéristiques ont été largement publiées [STO 76], [STO 81], [STO 83a], [STO 83b] et

[POS2 88]. Il s'agit d'un SGBD qui supporte les fonctionnalités courantes de ce type de bases

de données. Il implante, d'autre part, certaines possibilités particulières issues de la recherche

dans ce domaine [STO 85] et [STO 86], comme par exemple les règles et contraintes par

réécriture, l'héritage des définitions de tables, les opérations génériques, etc. Cependant, nous

n'utilisons pas ces extensions spécifiques, afin de garder une certaine indépendance

d'implantation vis-à-vis du SGBD qui nous permet de réaliser notre prototype logiciel.

Le fait d'avoir choisi POSTGRES, plutôt qu'un autre SGBD, repose principalement sur sa

disponibilité immédiate(b) et sa gratuitëc).

La version utilisée pour l'implantation de la maquette ADSAR est la 4.0.1 qui, bien qu'étant

quelque peu ancienne (1988), a l'avantage certain d'être suffisamment fiable. Selon

M. Stonebraker, ses performances sont sensiblement comparables à celles de lNGRES(d).

(a) Par ordre alphabétique: James Bell, Jennifer Caetta, Jolly Chen, Ron Choi, Jeffrey Goh, Joey Hellerstein,

\Vei Hong, Allant Jhingran, Greg Kemmîtz, Case Larsen, Jeff Meredith, Michael Oison, Lay-Peng Ong,

Spyros Potaminianos, Sunita Sarawagi et Cimarron Taylor.

(b) paSTGRES est disponible sur le réseau Internet par simple transfert FTP anonyme à partir de

l'Université de Californie - Computer Science Division, 521 Evans Hall, University of california - Berkeley,

CA 94720.

(c) paSTGRES est diponible gracieusement pour les universités.

(d) Selon les programmes de tests de performances Wisconsin benchmark.

Administration des applicatifs réseaux 165

m.8 Contexte de la maquette

Le système de gestion de base de données POSTGRES peut être interfacé avec le langage

normalisé d'interrogation de base de données SQL. Nous avons, cependant, préféré utiliser

pour nos développements le langage POSTQUEL [KUN 84] [POS4 88], également

disponible, et mieux référencé dans la documentation de POSTGRES. Ce langage

POSTQUEL peut être utilisé, soit à partir d'un petit interpréteur de commandes nommé

I/Ionilor, soit directement à partir d'un source en langage C, grâce à la bibliothèque libpq

[POSS 88]. Ces deux applications sont fournies avec le paquettage de POSTGRES.

Nous avons opté pour le SGBD POSTGRES. Il nous a fallu, également, choisir les méthodes

d'acquisition des informations d'administration nécessaires au modèle. C'est ce que nous

exposons dans le paragraphe suivant.

8.3.2. U acquisition des données

Comme nous l'avons indiqué dans la partie théorique (cf. paragraphe 6.4.1), deux sortes

d'informations vont être exploitées par le modèle: les informations "pré-existantes" sur le

réseau et celles "déclarées".

8.3.2.1. Méthodes pour l'acquisition des données pré-existantes

Ne disposant pas, à l'heure actuelle, d'agents SNMP ou osr sur le site de test, qui nous

permettent de récupérer les données qui nous sont nécessaires, il nous a fallu utiliser des

moyens moins standards, basés sur les langages de commande à distance (cf. 2.4.2.5).

Nous présentons, ci-dessous, les méthodes d'acquisition des informations d'administration

que nous utilisons dans notre prototype pour les trois grandes familles d'ordinateurs présents

sur le site de test, à savoir: les machines sous le système d'exploitation Unix(a) et réseau TCP!

IF, les micro-ordinateurs Macintosh en réseau Appletalk, et les compatibles PC.

Informations isslles des machines Unix salis TCPIIP

Les ordinateurs sous Unix ont la réputation d'être des systèmes dits "ouverts". En effet, ils se

basent sur un système d'exploitation non-propriétaire qui offre de nombreuses possibilités de

coopérations entre machines. D'autre part, ces spécifications ont été très largement publiées et

sont par conséquent largement connues (citons entre autres [BOUR 82], [COL 94], etc). C'est

certainement le type d'ordinateurs qui est le plus facilement "interrogeable" par des moyens

autres que SNMP ou OS!. Dans notre cas, nous avons opté pour le langage de commande à

(a) Nous détaillons les méthodes d'acquisition pour le système Unix Berkeley. Pour les systèmes Unix AT&T

Version V, une simple correspondance de noms de fichiers doit être opérée.

166 Administration des applicatifs réseaux

Contexte de la maquette m.8

distance définie pour les "remote shell scripts" : RSH (décrit, entre autres, dans [RIF 93]). Il

reprend la syntaxe des interpréteurs de commandes Unix.

La plupart des données de configuration des machines Unix se trouvent regroupées dans un

certain nombre de fichiers [BAC 92]. Il s'agit principalement des suivants:

- lete/hosts liste des machines TCPIIP,

- lete/passlVd liste des utilisateurs de la machine,

- lete/printcap liste des imprimantes gérées,

-/ete/lI1tab liste des partitions-disques montées,

-/ete/exports liste des partitions-disques exportées.

Ces fichiers sont organisés comme des tables de tH/piets associés à la machine qui les

mémorise. L'interrogation de ces fichiers nous permet, en fonction de leur origine, de mettre à

jour une partie des tables de la base de données. Donnons un exemple: le fichier lete/mtab

nous permet de compléter la table Ressource de la base de données et d'associer ainsi les

partitions-disques à l'ordinateur qui les gère (tables Machine et Mach-Ress). C'est ce qui est

illustré au shéma 36.

~..-..

Ordinateur"Pluton"

Fichier /etc/mtab1 4.2 1 1lusr 4.2 1 2lusers 4.2 1 3

Illtel'rogatiollpar sheU script

010 pluton 001 Idev/rsdOa002 Idev/rsdOg003 Idev/sdOla

010 001010 002010 003

Plate-formed'administration

Schéma 36 .' Exemple d'acquisition de données

Généralement, une simple copie des fichiers de configuration ne peut suffire. Il a été

nécessaire d'effectuer certains traitements à distance afin de recouper ou d'ordonner les

données recueillies. Nous illustrons cela pal' les deux exemples qui suivent.

Administration des applicatifs réseaux 167

m.8 Contexte de la maquette

Exemple 1 - L'extrait.de code ci-dessous permet d'effectuer un traitement de filtrage et de

mise enfoi"me des données issues du fichier pré-citéletclmtab. En effet, il s'agit de ne prendre

en compte que les données nécessaires à la modélisation ..

# Interrogation des disques montes locauxHOST=\hostname'grep fA/dey' /etc/mtab \

1 awk '{ printf ("append ressdsq (nom=\" 1 $HOST' _%s\", dev::::\ "%s\",host=\" 1 $HOST' \", classe=\ "disque\". mp=\ "%s\ ") \n", $1, $1, $2) '}

Sans pour autant entrer dans les détails du code, nous donnons une courte description des

conunandes mises en œuvre:

- hostname : commande unix qui retourne le nom de l'ordinateur sur lequel s'exécute le

"shell script".

- gi"ep 'A/dev' letclmtab : commande unix pour filtrer les lignes qui commence par "/dev".

Nous écartons ainsi les informations concernant les disques distants.

- awk : commande unix de filtre et de mise en forme qui permet de ne conserver que les

paramètres pertinents pour chaque ligne traitée.

Exemple 2 - Le deuxième exemple, que nous donnons ci-dessous au schéma 37, illustre de

manière plus convaincante le type de traitement qu'il est nécessaire d'effectuer. Il s'agit du

code qui permet de recenser les programmes serveurs actifs d'un ordinateur unix.

# Interrogations des programmes serveurs actifsservice="shell exec talk smtp ftp telnet login printer pop"# Recuperation des numeros de ports utilisesserv='netstat -an \

1 awk '/'[tcp;udpl/ ( print $4 )' \1 awk -F"." , ( printf("%s\n",$NF) )' \1 a\·,k 'lift $1<1024 && $1!~"*" ) print $1)"

# Recherche des noms de services correspondantsfor i in $serv; do

nom='grep "[ ;]$i/" < fete/services 1 awk '{ print $1 l"~

for k in $service; doif [ "$nom" = "$k n

thenHp='grep "..... ${k}[ ]" /etc/inetd.conf 1 awk '{ print $6 }"if [ -il "$HP" li then

DEV='df $MP 1 awk '{ print $1 } 1 1 grep -v ' ..... Filesystem"echo "append prog (nom=\"${HOST)_$k\", host=\"$HOST\" ,

classe=\"serveur\", dir=\"$HP\" , disq=\"$DEV\")"fi

fidone

done

Schéma 37 "Extrait de code pOUffa recherche des programmes sell'eurs actif'!

168 Administration des applicatifs réseau.l'

Contexte de la maquelte m.8

Nous ne détaillons pas cette portion de "shell script" quelque peu ardue, nous n'en donnons

que le principe de fonctionnement. Il s'agit d'effectuer une série de recoupements afin de

déterminer le nom des programmes serveurs actifs ainsi que les partitions disques sur

lesquelles ils sont localisés.

En appliquant des traitements similaires, notre prototype va acquérir les informations

suivantes nécessaires à la constitution de sa base de données: listes des utilisateurs, des

machines - listes des programmes serveurs actifs et des programmes clients - listes des boîtes

aux lettres et des comptes - liste des périphériques gérés (imprimantes et partitions disques).

Les données nécessaires à l'établissement des fonctions de transitions qui nous permettent de

modéliser les services réseaux en cascade (cf. 5.1.5.1 - page 91) sont également récupérées,

soit dans des fichiers, soit par exécution de petits programmes. Il s'agit principalement de:

- /etc/printcap renvoi sur d'autres imprimantes,

-/etc/fstab renvoi sur d'autres serveurs disques,

-/etc/.rhosts modification des droits d'accès à un compte,

- /etc/sendmail.cf renvoi à d'autres serveurs de messagerie,

-/etc/resolv.cOlif liste des serveurs de noms.

Nota: Un extrait plus complet du "shell script" d'acquisition des données sur les machines

Unix est donné en annexe.

Informations isslles des machines Macintosh SOIIS AvpleTalk

L'acquisition des données pour l'administration des services réseaux, pour les ordinateurs

Macintosh sous le protocole AppleTalk, est un peu plus délicate. En effet, ce type de uùcro­

ordinateur n'étant pas réellement muititâche, il n'est pas possible d'interroger le système

d'exploitation comme nous le faisons pour les machines sous Unix. Une preuùère solution ­

envisagée pour la maquette ADSAR - était d'exploiter la MIE SNMP [RFC 1243] développée

par Apple pour ces machines. Il s'agit d'une MIE propriétaire(a) tout à fait particulière, très

complète, qui nous aurait permis de récupérer les données nécessaires à notre modèle. C'est

pourtant une autre solution qui a du être retenue. En effet, l'adjonction d'un agent SNMP sur

tous les Macintosh du réseau de test n'était pas envisageable en raison du coOt d'une telle

opération. D'autre part, il faut noter que l'implantation d'une telle MlB est très "gourmande"

en place mémoire, ce qui limite considérablement son emploi pour de tels micro-ordinateurs.

Une deuxième solution plus souple, mais moins standard, a donc été choisie. Il s'agit de

(al Bien qu'étant implantée sur un Macintosh utilisant traditionnellement le protocole AppleTalk, cette MlB

utilise un agent SNMP intcrrogeable par Tep/IP, ce qui nécessite l'adjonction d'un tel protocole aux

machines en question.

Administration des applicatifs résealn- 169

m.8 Contexte de la maquette

l'utilisation d'une passerelle logicielle CAP60(a) localisée sur une des machines Unix. CAP60

est un logiciel qui permet de mettre en œuvre, sur une machine Unix, le protocole AppleTalk.

Il est ainsi possible d'effectuer la recherche de ressources, de programmes, etc, du réseau

AppleTalk, au moyen de primitives disponibles par CAP60. Il s'agit, dès lors, de simples

commandes Unix. Par exemple, la liste des machines Apple est directement obtenue par les

commandes CAP60lUnix getzones et atlooks.

Procéder au moyen d'une passerelle telle CAP60 a permis de nous ramener à la même

méthode d'acquisition des données que pour les systèmes Unix.

Nota: Celte méthode s'appuie sur le fait que AppleTalk est un protocole à publication - une

machine sur le réseau connaît en permanence l'état des autres ordinateurs (cf 2.4.2.4­

page 41). Cependant, il faut souligner que certaines informations pointues ne peuvent être

récupérées par ce biais, par exemple, les programmes clients d'un Macintosh. Ces données

doivent être nécessairement déclarées (cf. 8.3.2.2).

b.lformations issues des machines compatibles PC

Le parc des ordinateurs compatibles PC sous MSDOS pose un problème plus difficile. Nous

n'avons pas trouvé de solution souple pour notre maquette. En effet, ce type de machine, bien

que très répandu, ne dispose pas à l'heure actuelle d'une MIE d'un niveau comparable à la

MIE Apple et ne permet donc pas de récupérer les informations nécessaires à notre modèle.

D'autre part, les protocoles réseaux utilisés sur les PC sont nombreux. Nous trouvons, entre

autres, IPX développé par Novell, Lau Mannager proposé par Microsoft et plusieurs

implantations de TCPIIP. Or à chaque protocole correspond une solution propre. De plus, il

faut souligner que ce type de micro-ordinateur ne permet pas, tout comme les Macintosh,

d'intenogations aisées (à distance) des paramètres de son système d'exploitation

(généralement MSDOS).Les données concernant les compatibles PC sont donc déclarées sur

le prototype ADSAR.

Nota: Il y a lieu de noter que ce type de micro-ordinateurs est la plupart du temps uniquement

client de quelques services réseaux. Ceci réduit de manière non-négligeable les informations à

déclarer.

8.3.2.;LM~thodes pour l'acquisition dcs données déclarées

Toutes les informations impossibles à acquérir par "remote shell" vont être considérées

comme des données "à déclarer". Pour cela, nous avons choisi de les spécifier par de simples

(a) CAP60 est un logiciel développé par l'UI/iversité de Coll/mbia (V.S). EtherShare est le produit

commercial équivalent.

170 Administration des applicatifs réseaux

Contexte de la maquette 1II.8

fichiers mis à jour "à la main" et directement lus par le système de gestion de la base de

données au moment de la génération de la base et dans le cas de modifications ultérieures. Il

reste cependant possible d'ajouter directement à la base de données certaines informations

supplémentaires au moyen des procédures POSTGRES prévues à cet effet. Le fait d'utiliser

des fichiers, plutôt que de mettre à jour directement la base, permet la régénération aisée de la

base, ce qui est appréciable dans le cas d'un prototype.

Après avoir présenté les méthodes d'acquisition des données, nous exposons les moyens mis

en œuvre, dans notre prototype ADSAR, pour la manipulation des graphes de dépendances du

modèle.

8.3.3. La génération des graphes et le calcul des résultats

Notre modèle utilise des graphes construits à partir des définitions du modèle. Dans le cadre

de l'implantation de la maquette ADSAR, quel système de gestion de graphes adopter?

Contrairement aux systèmes de gestion de base de données que l'on peut acquérir en tant que

"produit fini", les gestionnaires de graphes ne se trouvent pas facilement, pas plus dans le

monde universitaire que dans le secteur commercial. D'autre part, la méthode d'implantation

de tels systèmes a une importance déterminante sur les performances des traitements. Par

exemple, un graphe muni de nombreux sommets et de relativement peu d'arcs (comme ceux

que nous manipulons dans notre modèle) ne doit absolument pas être implanté de la même

façon qu'un graphe muni de très nombreux arcs, comme le souligne très justement

M. Gondran dans son ouvrage sur les graphes [GON 85]. Nous avons donc développé notre

propre système de gestion de graphes. Celui-ci a été écrit en langage C, il implante les notions

suivantes:

- Les graphes manipulés peuvent être orientés ou non.

- Les sommets et les arcs peuvent être valués ou non. Ces valuations sont de tailles

mémoires quelconques.

- L'exploitation des graphes est faite directement en mémoire vive. La gestion de la mémoire

nécessaire aux structures de données est dynamique. Il n'y a donc pas de réservation "à

l'avance". La taille des graphes est théoriquement limitée par la place mémoire virtuelle

disponible pour un processus de l'utilisateur(al.

(al La taille de la mémoire virtuelle disponible pour un utilisateur sur un système Unix est généralement liée

à la taille de la zone "swap" de l'ordinateur. Pour peu que la machine dispose de suffisamment de place

disque, la taille des graphes manipulés peut être très importante. Pour l'implantation de la maquette, nous

avons "retaillé" à 128 Mo la zone de "swap" de la machine supportant la plate-forme d'administration. C'est

une méthode courante pour les logiciels gourmands en mémoire (comme par exemple Softlmage de Silicon,

dont la taille de "swap" préconisée est de 256 Mo).

Administration des applicatifs réseaux 171

III.8 Contexte de la maquette

La méthode choisie pour implanter les graphes a été conçue afin d'optimiser la place mémoire

nécessaire, tout en conservant de bonnes performances de traitements. La spécification de la

bibliothèque glph, développée pour la gestion des graphes, est donnée en annexe. Nous

présentons, cependant, l'architecture générale de la structure de données utilisée.

Chaque graphe comporte un tableau contigu à évolution dynamique (voir paragraphe suivant)

de l'ensemble de ses sommets. Ce qui garantit un accès direct à chaque sommet, par simple

calcul sur l'indice indiqué. A chaque sommet est associé un tableau contigu - à évolution

dynamique - des indices des sommets adjacents classés par ordre croissant. Ceci permet une

recherche rapide par dichotomie d'un sommet adjacent indiqué. La valuation des arcs et des

sommets se fait au moyen d'allocations dynamiques, avec mémorisation de la taille et de

l'adresse de la zone mémoire allouée.

Le schéma 38, ci-dessous, illustre les structures mises en œuvre pour l'implantation des

graphes. Seuls un sommet et un arc sont annotés, les parties en grisé représentent un n-ième

sommet ou arc.

Les tableallx contigus à évoitltion dynamique ont été également développés pour les "besoins

de la cause". Ils sont décrits en annexe, dans la présentation de la bibliothèque nommée tbd.

Leur principe de fonctionnement repose sur la fonction real/oc() du langage C. Un tableau est

alloué par tranches de taille fixetaJ, afin d'éviter les ré-allocations à chaque insertion ou

suppression d'éléments. Contrairement à une simple allocation classique, la fonction real/oc()

assure le déplacement des données dans le cas où l'extension de la zone ne pourrait être

assurée de manière contiguëtb).

Nous terminons ce chapitre en exposant les choix généraux concernant la plate-forme

d'administration elle-même. Comment a-t-elle été réalisée?

8.3.4. La plate·forme d'administration

La plate-forme d'administration que nous avons développée se décompose en deux entités

fonctionnelles distinctes. Il s'agit d'un côté du gestionnaire de la base de données, à savoir le

programme POSTGRES appliqué à la base de données d'administration nommée BDadsar. De

(a) A t'exception de la première tranche qui est de très petite taille.. Ce procédé permet d'éviter le gaspillage

de mémoire dans les cas de tableaux ne possédant que quelques éléments (pour notre maquette, il s'agit par

exemple des tableaux associés à chaque sommet qui décrivent les sommets adjacents).

(b) S'appuyant généralement sur des primitives matérielles de recopies de zones mémoires, disponibles sur la

plupart des stations, la fonction realloc() permet de manipuler des stl1lctures de données dont les propriétés

de contiguïté sont remarquables, et dont les performances de traitement n'ont rien à envier à des structures

chaînées.

172 Administration des applicatifs réseaux

Contexte de la maquette m.8

Valuation Jd'un arc ---.J.

Structured'un sommet

Valuationd'un sommet

.....-J

\ StructureL d'un arc

Tableau desindices de sommetsadjacents

Tableaudes sommets

Structured'un graphe

l...----..

Schéma 38 : Structures de données des graphes

l'autre côté, nous avons le prototype ADSAR en tant que tei. Soulignons que les deux entités

ne sont pas nécessairement localisées sur une seule et même machine. En effet, tout a été

prévu pour assurer les dialogues entre ADSAR et POSTGRES via le réseau lui-même(al.

Le rôle de la première entité fonctionnelle est évident, elle a pour tâche de gérer la base de

données des informations nécessaires au modèle. Nous appelons cette première entité

"POSTGRES BDadsar". Le rôle de la seconde entité fonctionnelle, nommée "ADSAR", est

triple. D'une part, elle doit assurer l'interface entre l'utilisateur et le gestionnaire de base de

données BDadsar pour les requêtes d'administration courante. D'autre part, elle construit,

maintient et exploite les graphes de dépendances, issus de la base de données BDadsar, et

réalise les calculs de fiabilité, impacts, etc. Enfin, elle permet la mise à jour des données de la

(al Cette facilité de localisation distincte entre la maquette ADSAR et le gestionnaire de base de données

POSTGRES a été largement exploitée. Elle nous a permis de pouvoir exécuter la maquette quel qu'ait été

l'ordinateur de développement, qu'il s'agisse d'un ordinateur du réseau de test lui-même, ou d'une machinedu réseau du département d'informatique de l'Université Louis-Pasteur.

Administration des applicatifs réseaux 173

m.8 COlltexle de la maquette

base BDadsar par des méthodes d'acquisitions d'informations sur le réseau modélisé. Nous

illustrons par le schéma 39 les deux entités fonctionnelles qui composent la plate-forme

d'administration et nous y résumons leurs rôles respectifs.

,----------------------------------,------

Réseau à modéliser

Gère labase dedonnéesBDadsar

hili1~

POSTGRES BDadsar

ADSARGère les graphes

Acquiert les informationsd'aâministratiollet les transmet au SGBDSURporte l'intelfaceutIlIsateur

Schéma 39 : Rôles des deux emités de la maquette d'administration

8.3.4.1. L'entité de gestion de la base de données BDadsar

Le fonctionnement de l'entité de gestion de la base de données BDadsar suit les spécifications

du SGED sous-jacent, c'est-à-dire POSTGRES. Cette entité se décompose en trois modules:

-la base de données BDadsar stockée sur disque, avec ses tables, ses index, etc,

174 Administration des applicatifs réseau.),'

Contexte de la maquette m.8

- un ou plusieurs processus Unix, appelés pastgres d'exploitation de la base, qui assurent la

réalisation des requêtes. Ces processus ont la charge de gérer les conflits d'accès à la

base(aJ,

- et enfin, un processus Unix, appelé pastlllaster, qui assure la gestion des accès

d'interrogation via le langage POSTQUEL. Ces interrogations peuvent provenir soit d'un

moniteur POSTQUEL, soit de programmes utilisateurs s'appuyant sur la bibliothèque C

d'interfaçage à ce langage, à savoir libpq. Dans les deux cas, les moniteurs et les

programmes utilisateurs peuvent être soit locaux, soit déportés sur d'autres machines.

8.3.4.2. L'entité fonctionnelle ADSAR

L'entité fonctionnelleADSAR se décompose également en modules. Nous avons, tout d'abord,

un "moteur central", sous forme d'un processus Unix, qui assure les fonctionnalités

principales, à savoir:

-la construction et l'exploitation des graphes,

-l'interfaçage pour réaliser les requêtes de l'utilisateur dans un contexte graphique aisé

(requêtes d'interrogation de la base "emballées" dans des "boîtes à boutons" et des "menus

déroulants,,(bJ).

L'interface utilisateur de ce premier module s'appuie sur la bibliothèque graphique Xl1R4(c)

[DUM 90] et Xview(d) [HEL 90]. La manipulation des graphes est assurée par la librairie grph

présentée au paragraphe précédent. Tous les développements ont été réalisés en langage Cee).

Le deuxième module, nommé explorer, assure l'acquisition des informations nécessaires à la

modélisation du réseau. En fonction des données recueillies, il en demande la mise à jour à

l'entité fonctionnelle de gestion de la base de données BDadsar. Ce module est réalisé sous la

forme d'un ou plusieurs processus Unix, s'exécutant en "tâche de fond" avec une priorité

relativement faible, afin de ne pas surcharger inutilement les machines. Ces processus

d'exploration sont gérés par le module principal, que nous avons appelé "moteur central". Il

(a) POSTGRES utilise les sémaphores IPe pour résoudre les conflits d'accès aux champs de bases dedonnées. Ceux-ci doivent donc être disponibles sur la machine qui implante l'entité de gestion de la base dedonnées BDadsar.

(b) Les "boîtes à boutons" et "menus déroulants" sont des termes décrivant des méthodes courantes mises en

œuvre par les interfaces d'utilisation des logiciels graphiques [HEL 90].

(c) La bibliothèque XIl est le standard par "excellence" des interfaces graphiques sur stations Unix. Elle aété développée par le MIT dans le cadre du projet Athéna.(d) La bihliothèque Xview s'appuie cn partie sur XlI, mais utilise une approche objet pour ledéveloppement d'interfaces graphiques.

(e) Les logiciels d'aide au développement d'interfaces graphiques, tels DevGuide de Sun, n'ont pu être

utilisés du fait de la complexité des affichages des graphes, qui o'est pas gérée par ce type d'outils.

Administration des applicatifs réseau.\" 175

m,8 Conte.l:te de la maquette

en assure la création et la modification de priorités, en fonction de la charge de la machine et

des impératifs du logiciel. Il gère leur suppression éventuelle, Ce deuxième module a été

également écrit en langage C.

Le schéma 40, ci-dessous, représente les différents modules qUI composent l'entité

fonctionnelle ADSAR..

Dialoguent avec l'entité fonctionnellePOSTGRES BDadsar Scrutent le réseau à modéliser au moyen

de "remote shells"

l 'b ~bd1 pq - ---grph

moteurcentral

libpq

Explorer

libpq

Explorer

•-......... "

-------- .rr-::::~-"';'; __ L'IIl 1 1Il 1 1.... " , ,II. .. 1, ,1 Explorer'"'--- --_ ..

,••

Xii Xview

Gère l'illteljaced'wilisatiol/

Pilote (lal/cemel/t, destructiol/, etc)

ADSAR

Schéma 40: Les modules de l'elltitéjol/ctiol/I/elle ADSAR

Nous terminons la présentation des choix globaux qui ont été faits pour l'implantation du

prototype en vue de la validation de notre modèle en présentant, par le schéma 41, l'ensemble

de l'architecture de la maquette ADSAR. Nous y avons représenté les différentes composantes

fonctionnelles et les modules qui ont été détaillés précédemment.

Après avoir présenté, de manière générale, les choix techniques pour la réalisation de la

maquette ADSAR, nous entrons, au chapitre suivant, dans la description précise de son

implantation et de son utilisation.

176 Administration des applicatifs réseaux

CoJltexte de la maquette 1II.8

POSTGRES BDadsar Réseau modélisé

gère postgres

pilote (lancement, destruction, etc)

r - - - - ..- .. -'.-.."r---'Il 1

" ,.... " ,IL ,J, ,, Explorer'10_·_- . .l

Explorer

IibpqIibpq

soumetles requêtes

postquel\postquel

moteurcentral

X11 Xview

BDadsar

l'b ~bd1 pq u_grph

met enforme

I~jADSAR

Schéma 41 : Architecture de la maquette ADSAR

Administration des applicatifs réseaux 177

m.9 La maquel1e ADSAR : implantation, utilisation et évaluation

9@ La maquette ADSAR :

inlplantation, utilisation et évaluation

Nons présentons, dans ce chapitre, les détails concrets de l'implantation de notre maquette

ADSAR et les fonctionnalités offertes à l'utilisateur. Nous terminons par une évaluation de la

maquette tant du point de vue technique que de ses résultats.

9.1. L'implantation de la maqnette ADSAR

Nous présentons les détails de l'implantation d'ADSAR en deux volets. Nous décrivons, tout

d'abord, la base BDadsar. Quelle est sa structure générale? Comment est définie chaque

table? Comment est-elle générée par le prototype? Nous poursuivons, dans un deuxième

temps, par la présentation de certains détails techniques d'implantation des différents modules

de l'entité fonctionnelle ADSAR.

9.1.1. Implantation et génération de la base de données BDadsar

Pour pouvoir mémoriser et manipuler les données nécessaires à l'élaboration de notre modèle,

nous avons défini une base de données selon le diagramme théorique que nous avons exposé

dans la deuxième partie (voir 6.3.2 - page 117). Nous présentons la structure des tables, le

diagramme effectivement implanté et la méthode de génération de la base par la maqnette

ADSAR.

9.1.1.1. Tables de la base de données

Afin d'alléger la lecture, nous ne décrivons que deux des tables de la base, le reste étant

donnés en annexe. 11 s'agit de la table de base décrivant les machines, et de la table de relation

décrivant la localisation de chaque ressource.

Les tableaux de présentation sont construits de la façon suivante: pour chaque champ sont

spécifiés son identificateur, c'est-à-dire le nom de manipulation du champ, son type de

données (au format POSTGRES - voir annexe) et une courte description de son rôle. De plus,

un qllalifialll ("indispensable" ou "additionnel") caractérise chacun d'eux.

178 Administration des applicatifs réseaux

La maquette ADSAR : i111plalllatioll. utilisation et évaluation

La table de description des ordinateurs

m.9

La table "Machine" est destinée à mémoriser l'ensemble des informations concernant chaque

ordinateur.

TABLE "Machine"

TypeIdentifi-

Typecateur

dedu

des don- Description du champchamp

champnées

C nom char16 Identificateur de la machineOl <Il0.-.!:Q~ oid oid Cié du n-uplet (géré par POSTGRES)"0 enc

cpu texl Type de processeur

os text Système d'exploitation~'Ol loc texl Localisation géographique~

'OlCl

Nom du responsable de laresp text machine

ID divers text Informations diverses (Release...)c.9

nomip texl Nom IP de la machine:g"0 0.<>: "" adrip byle[4] Adresse IP0.

~masqip byle[4] Masque IP

"" nomap text Nom AppleTalk de la machine(ij1-Ol zoneap texl Zone AppleTalk0.0.

<>:

Tableau 10 : Description des champs de la table "Machine"

De nombreux champs additionnels ont été ajoutés pour chaque n-uplet décrivant les

ordinateurs. Ces champs ont été ajoutés afin de montrer comment notre modèle peut s'insérer

dans une plate-forme complète d'administration de réseaux.

La table de localisation des ressources

La table "Loc-Ress" est destinée à mémoriser les associations entre ressources et ordinateurs.

Chaque n-uplet est un couple de clés POSTGRES (type oicf) qui indique d'une part

l'ordinateur et d'autre part la ressource. Un troisième champ de type oid est automatiquement

inséré par POSTGRES ; il n'est pas utilisé pour notre application.

Administratioll des applicatifs réseau,\.' 179

III.9 La maquette ADSAR .' implafltation, utilisation et évaluation

-_.~~._-------------_ ..~_.-

TABLE "Loc-Ress"1-----

TypeIdentifi-

Typecaleur

dedu

des don- Description du champchamp

champnées

, mach oid Identificateur de l'ordinateurcCl> Cl>0.- ress oid Identificateur de la ressource",.0.- '""0'"E oid oid Clé du n-uplet (gérée par POSTGRES)

Tableallll : Description des champs de la table "Loc-Ress"

9.1.1.2. Diagramme de la base de données de la maquette

Comme nous l'avons indiqué en introduction, le schéma de la base de donnée a été simplifié

par rapport à celui spécifié dans le modèle (paragraphe 6.3.2) afin de ne pas alourdir

l'implantation. Le diagramme utilisé est illustré par le schéma 42 ci-dessous.

9.1.1.3. Génération de la base de données par le prototype ADSAR

La génération des tables sous le SGBD POSTGRES peut-être effectuée de différentes façons.

Nous avons opté pour l'utilisation d'un programme POSTQUEL qui est, nous le rappelons, un

des langages de manipulation des données sous POSTGRES. Nous donnons, ci-dessous,

l'exemple du programme de création de la table "Utilisateur".

create Utilisateurnom=char16,org=text,adr=text,divers=text

)

define index ind_util_l on utilisateur using btree (nom char16_ops)

Schéma 43 : Symaxe POSTQUEL de création de la table décrivant les lIIi/isatellrs

Nota: Les champs qui sont utilisés fréquemment pour des spécifications de requêtes, tel le

champ "nom" sont munis d'un index afin d'accélérer le traitement des recherches.

L'ensemble des instructions de création de tables et de génération d'index ont été regroupées

dans un fichier nommé createdb.pq. Ce "programme POSTQUEL" peut être exécuté soit sous

le moniteur fourni avec POSTGRES, soit directement sous le prototype logiciel ADSAR. Nous

avons programmé la maquette afin qu'elle puisse assurer l'exécution des fichiers

d'instructions POSTQUEL de la même manière que le moniteur. Ceci a été développé grâce

aux procédures de la biliothèque libpq d'interfaçage à POSTGRES.

180 Administration des applicatifs réseau."(

La maquette ADSAR : implamatidil. utilisation et évaluation m.9

1

Loc-Ress

N

Machine

LRessource Loc-Prog Login Utilisateur

Programme

M N

a

Prog-Prog

Schéma 42 : Diagramme entité-association de ia base de données associée au modèle

9.1.2. Implantation des modules de l'entité fonctionnelle AD8AR

Nous allons détailler l'implantation des deux modules de l'entité fonctionnelle ADSAR, à

savoir le "moteur central" et le "processus explorer".

9.1.2.1. Implantation du "moteur central" de ADSAR

Lorsque l'administrateur désire utiliser la maquette ADSAR, il lance l'exécution du "moteur

central". Nous en avons décrit les fonctionnalités générales au paragraphe 8.3.4.2.• nous en

précisons les détails d'implantation.

Construction et maniuulation du graphe de dépendances

Au démarrage, le "moteur central" de ADSAR crée le graphe global de dépendances. Il le

déduit en fonction des règles du langage de description des applications de dénominations et

Administration des applicatifs réseaux 181

m.9 Ln maquette ADSAR : implantation, utilisation et évaluation

de transitions (cf. 6.5.3 - page 131). Ce graphe ne sera plus modifié tant que ADSAR n'est pas

relancé.

Nota: Les règles de description sont placées directement dans le code source. Ceci évite, dans

le cas d'un tel prototype, de développer un compilateur dédié à cette tâche. En effet, le

langage C permet de décrire les règles de réécriture de manière similaire.

Le "moteur central" implante les algorithmes de manipulation des graphes pour :

_. générer le graphe global de dépendances, et vérifier son caractère acyclique,

- extraire un graphe de dépendances associé à un service particulier et le visualiser dans une

fenêtre, soit sous une forme "brute" (fidèle à la définition), soit sous une forme fortement

contractée qui ne décrit que les dépendances entre machines,

- calculer les résultats (fiabilité d'un service, impact d'une machine, etc).

Tous ces algorithmes ont été écrits au moyen de la bibliothèque de programmation grph

(cf. 8.3.3 - page 171).

Manipulation de la base de donnée

La deuxième fonction du "moteur central" est d'établir une interface afin que l'utilisateur

puisse interroger la base de données BDadsar. Pour ce faire, le "moteur central" implante un

interpréteur de commandes du langage POSTQUEL. Celui-ci permet de soumettre à la base de

données POSTGRES des requêtes utilisateurs et d'en restituer les réponses sous la forme de

fenêtres graphiques.

Nota: Sur le même principe, et comme nous l'avons décrit précédemment (cf. 9.1.1.3), le

"moteur central" permet la régénération complète de la base bdadsar.

Gestion des modules explorer

Au moyen des possibilités Unix de communications inter-processus, le "moteur central" gère

les modules "explorer" d'acquisition des données. Grâce à la bibliothèque C de gestion des

signaux, il règle la priorité des différents processus d'exploration en cours d'exécution. Par la

même méthode, il en assure au besoin la destruction.

Implalltatioll de l'algorithme adaptatif

Dans l'état actuel, la maquette ADSAR ne permet pas de construire le graphe global de

dépendances en fonction de tous les services possibles, mais uniquement en fonction d'un

groupe de service désigné. Une extension du "moteur central" implante cependant

l'algorithme adaptatif (décrit au paragraphe 6.5.1" page 126) afin de déduire

automatiquement tous les services élémentaires.

182 Administration des applicatifs réseaux

La maquette ADSAR : implantation. utilisation et évaluation

9.1.2.2. Implantation du module d'acquisition des données

III.9

Nous avons présenté, au paragraphe 8.3.4.2, les fonctionnalités du module explorer

d'acquisition des informations nécessaires au modèle. Nous en détaillons ici l'implantation.

Génération des processus explorer

Le module explorer assure sa fonction sous la forme d'autant de processus Unix que

nécessaire pour scruter le réseau modélisé. Ces processus sont les "fils", au sens Unix du

terme, du module principal d'ADSAR que nous avons appelé "moteur central". Le nombre

maximum de processus explorer, en exécution simultanée, est géré par le processus père. Il en

est de même pour leur prioritëa).

Principe de fonctionnement

Le principe de fonctionnement du module explorer repose essentiellement sur la notion de

"tubes Unix". Ceux-ci nous permettent l'exécution de shell scripts, locaux ou distants, dont

les résultats vont être utilisés directement par le module explorer. Ainsi, en langage C, c'est au

moyen de la procédure popen()(b) que nous nous assurons le concours de ce genre de "tubes".

Le court extrait de pseudo-code source C, ci-dessous, illustre la méthode employée.

/* DECLARATION DES VARIABLES */p : indentificateur du Dtube"s : tableau de 256 caractères

/* OUVERTURE DU "TUBE" */p=popen("commande Unix", ... )i

/* LECTURE DU "TUBE" */tant que lecture_tube(p)->s non terminéerépéter

Traitement (8) i

fin/ * FERNETURE DU l' TUBE 1. * /

pclose (p) ;

Schéma 44 : Méthode de lancement des commandes d'acquisition

(al Dans la version actuelle d'ADSAR, les processus explorer doivent nécessairement être localisés sur la

même machine que le "moteur central ADSAR", car toutes les communications sont assurées par des signaux

Unix et non pas au moyen de RPC ou de tout autre mécanisme similaire.(b) La procédure de bibliothèque popenO lance, en tâche de fond, un interpréteur de commandes (shell) qui

assure l'exécution de la commande Unix passée en paramètre. Cette procédure, bien qu'extrêmenent pratique.s'appuie uniquement sur le "Boume Shell", et ne permet pas l'utilisation du "e-sheH" ni du "Kom-shell".

Administration des applicatifs réseaux 183

m.9

_Le "shell" d'exploration

La maquelte ADSAR .' implantation, utilisation et évaluation

La commande exécutée à travers le "tube" est, dans notre cas, bien particulière. Il s'agit d'un

"remote shell script" pour lequel l'exécution distante doit avoir lieu sur l'ordinateur par le

processus explorer.

Une première solution, employée dans la version préliminaire CQFD dont nous avons parlée

en introduction, consiste à passer en paramètre le shell script d'exploration lui-même (comme

indiqué dans le cadre ci-dessous). Cette méthode implique alors que l'utilisateur initiateur du

"remote shell" (c'est-à-dire l'utilisateur dc CQFD) dispose de droits particuliers d'accès à la

machine à explore/a). Ceci engendre de réels problèmes de sécurité puisque, potentiellement,

tout utilisateur de CQFD va disposer d'un compte sur toutes les machines surveillées. Une

deuxième solution, plus rigoureuse, est employée dans la version ADSAR. Elle consiste à créer

un compte spécifique sur chaque machine à surveiller dont l'interpréteur de commandes

habituel (csh ou autres) est remplacé par le "shell script d'exploration" lui-même. Cette

méthode est directement inspirée de la commande nvho Unix, qui utilise le même principe

pour le système V d'AT&T. Elle permet de limiter strictement les possiblités d'utilisation du

compte en question. Nous indiquons, dans le cadre ci-dessous, la définition particulière dans le

fichier /etc/passwd du système Unix, pour le compte dédié à l'exploration.

explorer: :999:999:Compte d_exploration:/usr/explorer:/usr/explorer/explorer

Dans notre implantation ADSAR, les processus explorer sont lancés périodiquement pour

scruter les cinq serveurs prédominants du réseau de test. La période peut être modifiée; elle

est fixée, par défaut, à une semaine. D'autre part, il est possible de lancer volontairement un

processus explorer en direction de n'importe quelle autre machine sur laquelle aura été

préalablement installé le compte dédié à l'exploration. C'cst ce qui est préconisé au moment

de la génération de la base de données; l'exploration périodique est réservée aux machines

susceptibles d'évoluer le plus rapidement.

Le principe de fonctionnement des "shells d'exploration" a été présenté au paragraphe 8.3.2.1

Au delà de la fonction d'acquistion des données, ils ont un rôle de mise en forme syntaxique.

En effet, les processus explorer doivent comprendre les résultats des "shells d'exploration" et

générer les requêtes de mise à jour correspondantes. Ces dernières sont traitées par l'entité

fonctionnelle de gestion de la base de données BDadsar (cf. shéma 39). Pour ne pas alourdir

(a) II s'agit de mettre en place une dérogation d'accès au moyen du fichier Unix de configuration prévu à ceterrel : .rhosts.

184 Administration des applicatifs réseaux

La maquelle ADSAR : implallfatioll, utilisation et évaluation m.9

inutilement le prototype, nous avons choisi comme syntaxe un sous-ensemble du langage

POSTQUEL. Ceci facilite la formulation des requêtes au niveau du processus explom; car lui­

même utilise POSTQUEL pour dialoguer avec l'entité fonctionnelle de gestion de la base

BDadsar.

Soulignons que le "shell d'exploration" doit prendre en compte la spécificité de la machine à

explorer, car de nombreuses différences persistent entre systèmes Unix selon le constructeur

de la machine. Et même pour deux systèmes d'exploitation Unix certifiés "système V

conforme AT&T", nous trouvons de subtiles différences dont il faut tenir compte(a).

Nous terminons la description des modules fonctionnels en présentant deux problèmes

rencontrés et en exposant les solutions retenues.

9.1.2.3. Problèmes d'implantation

Problème lié à la duplication des informations

Un des problèmes que les processus explorer doivent résoudre est la mise à jour de données

déjà notifiées dans la base BDadsar, afin d'éviter leur duplication. Le système de gestion de

base de données POSTGRES ne sait pas gérer les clauses "uniques,,(b) associées à certains

champs d'un n-uplet, et qui en définissent les conditions d'unicité. Il est donc nécessaire de

s'assurer avant tout ajout d'un n-uplet que l'objet qu'il décrit n'est pas déjà recensé dans la

base. Pour cela, le processus explorer est obligé d'effectuer une lecture préalable, et suivant le

cas, d'effectuer soit une mise à jour, soit un ajout. Techniquement, ce problème n'est pas

compliqué à résoudre, mais la solution entraîne un surcoût important de traitements.

Problème lié à l'aima de n-liplets dans les tables de relations

Un deuxième problème a du être résolu. Il s'agit des cas de mises àjour des tables de relations

qui, nous le rappelons, mémorisent les associations entre objets des tables principales, par

exemple les utilisateurs d'un ordinateur. Ces tables de relations ne spécifient pas le "nom" des

objets associés mais uniquement leur index POSTGRES. Or le "shell d'exploration" ne peut

connaître ces index, il ne peut qu'indiquer les "noms" des objets en association. La solution

repose sur le processus explorer qui va assurer, pour chaque insertion ou mise à jour de table

(a) Un des exemples, qui nous a donné un peu de fil à retordre, a été, entre autre, la différence d'affichage de

la commande lpstat, d'analyse des états des imprimantes, entre le systèrne Unix SUIIOS et lrlx pour Silicon

(utilisation de tabulations à la place d'espaces)

(b) La clause "unique", également nppelée "key" dans certains SGBD, est une des évolutions récente

apportée dans ce domaine. La version 4.0.1 de POSTGRES en décrit la syntaxe, mais ne l'implante

malheureusement pas.

Administration des applicatifs réseaux 185

m.9 La maquette ADSAR : i11lplaJ1lation, tlfiUsatioll et évaluation

de relations, la substitution des "noms" des objets par l'index qui leur est associé dans la base

de données BDadsarta).

Après avoir décrit les détails techniques de l'implantation des différents modules

fonctionnelles de la maquette, et présenté le schéma de la base de données, nous exposons les

fonctionnalités de la maquette logicielle ADSAR.

9.2. Fonctionnalités de la maquette ADSAR

Nous présentons et commentons dans ce paragraphe une série de "copies d'écrans" qui

illustrent les possibilités offertes à l'utilisateur de ADSAR. Les résultats d'exploitation et les

caractéristiques de leur obtention sont traités dans le paragraphe suivant.

Nota: Nous rappelons qu'ADSAR n'a pas la prétention d'être un logiciel d'administration

"clé en main", mais un prototype destiné à vérifier que le modèle est exploitable. Ainsi,

certains "menus" destinés à exécuter des portions du programme en cours de développement

ne sont pas détaillés.

9.2.1. Lancement du prototype

Pour pouvoir exécuter le programme ADSAR, il est nécessaire, au préalable, de s'assurer du

bon fonctionnement du gestionnaire de base de données POSTGRES. Il s'agit notamment de

lancer le module postmaster, qui doit gérer les requêtes de mise à jour. Par défaut, ADSAR

recherche localement le gestionnaire de base de données. Cependant. le nom d'une machine

distante et un numéro de port spécifiquetb) peuvent lui-être indiqués en paramètre, dans le cas

où les deux entités fonctionnelles ne sont pas situées sur une même machine.

Le logiciel, au démarrage, vérifie l'existence de la base de données BDadsar, et en cas

d'échec, en demande la création au SGBD POSTGRES. Par défaut, les processus

d'exploration automatique sont relancés. Enfin, l'écran d'accueil d'ADSAR s'affiche

(schéma 45), et offre à l'utilisateur ses différentes fonctionnalités sous forme de "boutons" :

Exploitation de la base, Analyse des dépendances et Importation des données.

(a) Une solution plus élégante, utilisant des règles de réécriture automatique. a du être abandonnée. En effet,

POSTGRES est légèrement bogué. et ne supporte pas plus de 1024 caractères pour l'ensemble des

spécifications des règles de réécriture.

(h) Les communications entre le SGDD et l'entité fonctionnelle ADSAR utilisent le protocole TCPflP. Le

numéro de port et l'adresse réseau permettent de spécifier, de manière non-équivoque, les entités de pait et

d'autre.

186 Administration des applicatifs réseaux

La maquette ADSAR " implantation, utilisation et évaluation

Schéma 45: Ecran d'accl/eil d'ADSAR

9.2.2. Génération et exploitation courante de la base BDadsar

9.2.2.1. Régénération de la base

m.9

La première fonctionnalité offerte à l'utilisateur est la possibilité de régénérer la base de

données BDadsar. Le "sous-menu" adéquat entraîne, après confirmation, la suppression totale

de la base de données existante et la reconstruction des tables et des index d'une nouvelle base

BDadsar. Après une telle opération, il est recommandé de réinitialiser les périodes des

processus d'exploration automatique, et au besoin, de lancer des processus d'exploration vers

les machines que l'on veut scruter.

Schéma 46: Menl/ de "exploitation de la base de données

9.2.2.2. Exploitation courante de la base

Une interface d'interrogation de la base BDadsar est disponible par le "sous-menu":

Exploilation - Interrogation. Celle-ci se présente sous la forme d'une fenêtre destinée à

afficher les résultats de requêtes POSTQUEL. Pour interroger la base BDadsar, deux solutions

sont offertes. Il est possible de choisir une requête pré-programmée exécutable par un simple

"clic-menu", ou encore d'éditer ma/lIIel/ement, dans une fenêtre de texte, la requête

POSTQUEL.

Administratioli des applicatifs réseaw: 187

m.9 La maquette ADSAR : implantation, utilisation et évaluation

En fonction de la réponse à une interrogation, la liste des n-uplets correspondants s'affiche

dans la fenêtre des résultats. Seule la valeur des champs "nom" est indiquée dans cette liste.

Un bouton Détail permet d'afficher la valeur de chaque champ d'un n-uplet donné. Le

schéma 47 illustre un exemple d'exploitation courante de la base BDadsar. La liste affichée

correspond à la requêtc de recherche de tous les ordinateurs de type compatibles PC et dout

l'adresse réseau commence par 130.79.140. Le détail du n-uplet concernant la machine

gauguin est affiché en sur-impression.

Schéma 47 .' Exemple d'interrogation de la base de données

Nota : Les requêtes pré-programmées peuvent être facilement ajoutées au programme, au

moyen d'un simple fichier décrivant les correspondances entre chaque sous-menu et la requête

POSTQUEL associée.

188 Administralioll des applicatif<; réseaux

La maquette ADSAR : implantation, utilisation et évaluation

9.2.2.3. L'analyse des services réseaux

m.9

Le deuxième volet d'utilisation d'ADSAR est l'exploitation des graphes de dépendances pour

l'administration des services réseaux. C'est le principal travail dans la réalisation de la

maquette. Nous avons choisi d'implanter deux approches complémentaires. Nous

construisons et exploitons les graphes de dépendances pour une série de services réseaux

déterminés. Cette fonctionnalité est disponible par le "sous-menu" : Analyse - Les services à

surveiller. Nous avons également implanté l'algorithme de recherche de tous les services

élémentaires possibles ("sous-menu" : Analyse - Tous les services possibles).

Analyse des services à surveiller

L'interface pour l'analyse des services offre deux approches. La première est basée sur des

visualisation de graphes. La deuxième s'appuie sur des représentations sous forme de tables.

Schéma 48 : Meflu de l'analyse des services à slI/veiller

La maquette ADSAR permet de représenter le graphe de dépendances d'un service réseau. La

spécification du nom du service désiré est facilitée par la méthode des caractères

génériqueial . La première visualisation, appelée graphe brut, affiche le graphe de

dépendances dans son expression la plus simple: les noms de service, les nœuds clients et les

nœuds serveurs. Pour éviter la représentation de graphes illisibles du fait des croisements des

arcs, nous dupliquons les sommets, si nécessaire. Nous donnons, dans le schéma 49, le graphe

de dépendances d'un service d'impression, sur une imprimante nommée patinette, pour un

compatible PC : balzac.

Comme nous l'avons dit en introduction, un des résultats théoriques implanté est le calcul de

la fiabilité d'un service réseau. Le "bouton" Calcul, de la fenêtre de visualisation des graphes,

permet d'obtenir la probabilité de fonctionnement du service, le nombre de machines

(a) Les caractères génériques ou ''jokers'', tels "*" ou "7", permettent de spécifier certaines formes

d'abréviations des mots. Cette méthode est plus souple que la simple "troncature" habituellement utilisée en

base de données.

Administration des applicatifs réseaux 189

m.9

t

t

t

t

t

La maquette ADSAR : implantation, utilisation et évaluation

~,ba~ac,PCNFS_baèaq

t

t

Schéma 49 : Exemple de visualisation du graphe de dépendances d'un selvice

nécessaires, et une approximation du temps d'indisponibilité mensuelle. Le schéma 50 nous

donne les résultats de ces calculs pour le service d'impression de l'exemple précédent.

Schéma 50: Exemple de calcul de la fiabilité d'un selvice

Nous offrons une deuxième possibilité de visualisation du graphe de dépendances d'un service

donné, en ne prenant en compte que les ordinateurs. Il s'agit d'une extension de la méthode de

contraction des graphes de dépendances (présentée au paragraphe 5.4.4.) olt seuls les noms

des machines sont affichés. Cette représentation permet de souligner, de manière évidente, les

dépendances entre ordinateurs. Le schéma 51 illustre ce type de visualisation.

190 Administration des applicatifs réseaux

La maquette ADSAR : impla1lfatioll, utilisation et évaluation III.9

Schéma 51 : Graphe de dépendances d'lin service rédllil allx ordinalellrs

La représentation sous forme de graphes n'est pas toujours la plus indiquée. L'exploitation du

modèle est parfois plus aisée en utilisant des tables. Nous avons ainsi implanté une méthode

de recherche des éléments qui composent les graphes (noms de service, utilisateurs, machines,

programmes et ressources), afin de pouvoir les sélectionner facilement. Par exemple, le

schéma 52 représente toutes les ressources (masque de recherche: "*") spécifiées dans les

graphes de dépendances.

En faisant défiler cette liste (lorsqu'elle visualise des machines), il est possible d'en

sélectionner un élément et de lancer, en ce qui le concerne, un calcul d'impacts. En exemple,

le schéma 52 nous donne ainsi l'impact réel de l'ordinateur nommé spa: 61 services sont

dépendants de son fonctionnement. Ce schéma nous donne également l'impact réduit calculé

sous forme de pourcentage.

Schéma 53: Exemple de calclli de l'impacl d'lm Oldinalellr

Administration des applicatifs réseaux 191

m.9 La maquette ADSAR : implantation, utilisation et évaluation

Schéma 52 " Liste des ressol/rces dal/s le graphe global

9.2.2.4. Recherche de tous les services réseaux

En extension à l'exploitation des services réseaux à surveiller, nous avons implanté

l'algorithme de recherche de tous les services réseaux possibles, et non plus seulement d'un

sous··groupe désigné.

Schéma 54 : At/elllt de l'analyse des services possibles

Nous proposons ainsi, dans la maquette ADSAR, une utilisation de recherche des services, en

fonction d'une ou plusieurs composantes spécifiées. Le schéma 55 montre, par exemple, tous

les services élémentaires concernant l'utilisateur ferniqlle depuis la machine cliente ba/zac

(compatible pC).

192 Administration des applicatifs réseaux

La maquette ADSAR : implantation, utilisation et évaluation III .9

Schéma 55 : Exemple de recherche de selvices élémentaires

9.2.3. Acquisition des données

L'acquisition des données, nous le répétons, est assurée par des processus explorer

indépendants. Ceux-ci sont lancés soit automatiquement au démarrage du logiciel, soit à la

main au moyen d'un menu (schéma 56). La liste des ordinateurs pouvant être interrogés par

explorer est décrite par un fichier de configuration afin de faciliter les remises à jour.

Schéma 56 : Menu de lancement manuel des sondes

Nous venons d'exposer les fonctionnalités de la maquette ADSAR. Dans le paragraphe

suivant, nous préscntons les résultats numériques obtenus lors de nos tests.

Administration des applicatifs réseau.'t 193

III.9 La maquette ADSAR: i11lplaHlatioll. utilisation el évaluation

9.3. Résultats d'exploitation et caractéristiques de leur

obtention

Le but de la réalisation de la maquette fut avant tout de démontrer la faisabilité du modèle.

Cependant, cette maquette a été testée sur un réseau réel, ce qui nous a permis d'obtenir

certaines valeurs pour les résultats théoriques ayant été implantés. Nous présentons dans ce

paragraphe ces résultats numériques. Nous allons exposer également en fin de paragraphe les

conditions de leur obtention: temps de calcul, occupation mémoire, etc.

9.3.1. Résultats des calculs de la fiabilité des services

Ne pouvant donner la liste exhaustive de toutes les mesures de fiabilité (environ 600 services

élémentaires modélisés), nous présentons certains services relativement significatifs.

Les tableaux ci-dessous comportent trois mesures: la fiabilité sous la forme d'une mesure de

probabilité de fonctionnement, le nombre d'Oidinateurs nécessaires au service et enfin le

ealcul de l'indisponibilité mensuelle correspondante.

Il faut noter que ces calculs se basent sur une estimation du fonctionnement moyen des

ordinateurs, sur une période d'un an au plus(a). Elle prend en compte les arrêts dus aux pannes

et à la maintenance (sauvegardes, installations de nouveaux logiciels, ajouts de périphériques,

tests et essais, etc).

9.3.1.1. Services d'impressions

Le tableau ci-dessous indique les valeurs· numériques de fiabilité pour trois services

d'impression relativement illustratifs :

Nom du service Fiabilité Ordinateurs Indisponibiliténécessaires mensuelle

_.1 impr_stendhaLpirouette 0,9693 4 4h17mn

-2 impr_stendhaLcamionnette 0,9363 4 8h57mn

3 impr_cezanne_Fiordiiigi 0,9831 2 2h22mn

l'ableau12 : Fiabilités de certains services d'impression

Mesure 1 - La première mesure concerne un compatible PC (stendhal) en libre accès pour

les étudiants. L'imprimante visée (pirouette) est connectée à une station Sun - sans disque ­

important son système d'un autre serveur Unix (monza). L'accès à un servcur de noms est

(a) Certains services ayant été mis en place plus récemment, l'estimation de leur fonctionnement moyen a dO

être évaluée sur une période plus courte.

194 Administration des applicatifs réseaux

La maquette ADSAR : implantation. utilisation et évaluation III .9

nécessaire. L'indisponibilité moyenne de 4hl7mn mensuelle reste une valeur raisonnable,

sachant que ce service utilise un des plus gros serveurs du réseau de test dont la disponibilité

plafonne à 0,9875 (nombreux arrêts pour la maintenance et la sauvegarde des disques).

Mesure 2 - Le deuxième exemple est plus complexe. Il s'agit cette fois-ci d'une imprimante

gérée par un Macintosh (cezalllle). Une passerelle CAP60 - localisée sur une station Unix

tierce - assure la conversion du protocole d'impression sous TCP/IP en celui de AppleTalk.

Nous voyons que la fiabilité est nettement moins bonne (0,9343). Cela s'explique

principalement par l'utilisation de la passerelle, mais également par le mauvais suivi du

Macintosh en question.

Mesure 3 - Enfin, la dernière mesure concerne le même Macintosh (cezalllle), pour une

impression sur imprimante LaserWriter (Fiordiligi). Les dépendances sont réduites; la

fiabilité s'avère assez bonne (0,9831) pour ce type de service.

9.3.1.2. Services d'importation de disÇjues

Dans le contexte du réseau de test, les mesures de "montages" de disques distants s'appuient

soit sur le protocole NFS pour TCP/IP, soit sur AppleShare pour AppleTalk. Nous présentons

les mesures suivantes:

Nbre IndisponibilitéNom du service Fiabilité d'ordinateurs

nécessaires mensuelle

1 NFS_imola_monza-lusr 0,9831 2 2h22mn

2 NFS_nardo_spa-ldisq1 0,9604 3 5h32mn

3 NFS_daILmonza-lusr/local 0,9831 2 3h28mn

4 AS_cezanne_monza_CCASH 0,9711 2 4h02mn

Tableau 13 : Fiabilités de certains seJ1lices de montages de disques

Mesure i - La première mesure concerne un montage de disque entre une station Sun sans

disque (imola) et un autre serveur Unix (mollza).

Mesure 2 - En deuxième ligne, c'est un service d'importation de disque un peu particulier

qui est calculé. Il met en jeu trois stations Unix. La partition (jdisqi) - montée sur une station

Silicon (nardo) - est gérée par une station Sun (spa) dont le disque système est lui-même

importé depuis une tierce machine (mollza). Il y a lieu de noter la différence de fiabilité avec la

première mesure (0,9604 par rapport à 0,9831). Celle-ci est due principalement au fait que la

sation Silicon dispose de ses propres disques (la maintenance de ces disques locaux abaisse le

taux moyen de disponibilité de cette station).

Admillislration des applicatifs réseaux 195

111.9 La maquette ADSAR : implantation, utilisation et évaluation

Mesure 3 - La troisième mesure s'effectue dans des conditions proches de la première

mesure, à cela près que la machine cliente est un compatible PC (dali) utilisant le logiciel PCI

NFS.

Mesure 4 - Enfin, le dernier calcul concerne un macintosh (cezanne) qui importe une

partition disque d'une station Unix (lIlonza) au moyen d'une passerelle CAPGO.

9.3.1.3. Autres services

Nous donnons dans le tableau ci-dessous une série de mesures sur divers types de services

illustratifs :

NbreIndisponibilité

Nom du service Fiabilité d'ordinateursnécessaires

mensuelle

1 ONS_stendhaLmonza 0,9752 2 3h28mn

2 ONS_imola_monza 0,9831 2 2h22mn

3 Courrier_stendhaLsuzuka_klein 0,9611 3 6h22mn

4 Courrier_crilx_fernique 0.9343 5 9h12mn

5 Softlmage_nardo_chris 0,9460 4 7h33mn

Tableall14 : Fiabilités de divers services illllstratifs

Mesures 1 et 2 - Les deux premières mesures concernent des accès au serveur de noms

localisé sur une station Sun (lIlonza) - depuis un PC (stendhal) et depuis une station sans

disque (imola).

Mesures 3 et 4 - Les deux calculs suivants mesurent la fiabilité de deux services d'accès au

courrier électronique. Le premier résultat concerne un PC (stendhal) utilisant le protocole

popper vers une station sans disque (sIIZllka). Dans le deuxième cas, le courrier est lu à partir

d'un terminal X (critx). Remarquons la fiabilité très faible (0,9343).

Mesure 5 - La dernière mesure concerne l'utilisation de l'application So!tIlIlage(a) sur une

machine Silicon (nardo).

A la lecture de ces résultats, nous remarquons combien il peut être difficile de dégager des

règles générales d'estimation de la fiabilité. Il aurait pu être raisonnable, par exemple, de

penser qu'une station sans disque est généralement moins fiable (car dépendante d'un

serveur). Or il n'en est rien dès que l'on prend en compte, dans l'évaluation du temps moyen

(a) Softlmage est un logiciel de manipulation d'images de synthèse 3D.

196 Administration des applicatifs réseaux

La maquette ADSAR : implantation, utilisation et évaluation 1II.9

de fonctionnement de chaque ordinateur, les arrêts dus à la maintenance. Ce temps de "mise à

jour" du système vient contre-balancer la baisse de fiabilité due à l'augmentation des

dépendances. Nous nous sommes rendu compte, lors de nos tests qu'il est réellement

nécessaire de regarder au cas par cas comme le permet notre modélisation.

9.3.2. Résultat du calcul de la qualité de service globale

Il nous faut donner un dernier résultat numérique concernant les mesures de fiabilité des

services: il s'agit de la qualité de service globale du réseau de test (cf. 7.2.1.3 - page 139). Sur

l'ensemble des services modélisés, le réseau Vivaldi a une fiabilité moyenne de 0,9706. Ceci

correspond a une indisponibilité moyenne par service de 4 heures et 7 minutes par mois.

Cette valeur prendra tout son intérêt lors d'une exploitation à plus long terme du prototype

ADSAR. En effet, nous obtiendrons la courbe d'évolution de ce paramètre au cours du temps.

Ceci est un excellent paramètre pour vérifier l'amélioration qualitative globale du réseau ou,

au contraire, sa dégradation.

9.3.3. Résultats de calculs d'impact

Nous présentons certains résultats numériques de calculs d'impact pour les ordinateurs les

plus représentatifs du réseau de test. Le tableau ci-dessous présente les caractéristiques

générales de chaque ordinateur, son nom et la mesure de son impact. Celle-ci est exprimée en

pourcentage. Il s'agit du rapport du nombre de services dépendant de la machine en question

sur le nombre total de services surveillés (sans pondération - cf. 7.2.2.2) :

Nom desDescriptif

·······...(>iordinateurs 1.····· 'T

li .....••• >

1 monzaServeur Unix généraliste (courrier, impression, ·····················.·"X·;,)idisques, etc)

1 .•••,,"'r~ii

2 spaServeur Unix pour les applications d'images de 16·0;0synthèse (disques)

3 imola Serveur Unix dédié aux impressions 22~"

4 monaco Serveur Unix pour les essais1 ····if%

5 nardoStation Unix dédiée aux applications d'images de < 1%synthèse

6 bottero PC destiné au "f1ashage" d'images de synthèse /2%

Tableau 15 : Impacts des ordinateurs les plus représentatifs

Administration des applicatifs réseaux 197

m.9 La maquette ADSAR : implantation, utilisation et évaluation

Nom des.

ordinateursDescriptif Impact

7 stendhal PC en libre accès pour les étudiants, destiné au 6%traitement de texte et au courrier électronique

8 hugo PC de bureau d'un utilisateur donné <1%

9 cezanne Macintosh dédié aux étudiants de doctorats 3%

10 critx Terminal Xde bureau d'un utilisateur donné <1%

Tableau 15 : Impacts des ordinateurs les plus représentatifs

Rappelons que dans notre modélisation, les services sont associés aux utilisateurs (cf. 5.1.7).

Dès lors, les résultats numériques d'impacts restituent asssez fidèlement la proportion

d'utilisateurs qui ne pourront plus bénéficier des services qu'ils ont demandés, dans le cas de

l'arrêt de l'un ou l'autre des ordinateurs.

Ces valeurs d'impacts nous ont fourni l'enseignement suivant: malgré la volonté de

restructuration entreprise sur le réseau de test (au cours des huit derniers mois) afin de

distribuer les applications réseaux, l'architecture fonctionnelle reste fortement centrée sur le

serveur généraliste (monza). En visualisant les graphes de dépendances concernant les deux

serveurs secondaires (Imola et spa), nous avons pu voir que l'impact du serveur principal peut

être diminué en déplaçant d'une part la passerelle logicielle CAP60 sur l'un des serveurs

secondaires et en ajoutant un disque système à la machine spa. Il y a lieu de noter que cette

intervention répartit effectivement l'impact mais diminue, en contre-partie, la fiabilité de

l'ensemble (maintenance du disque système déplacé).

Après avoir donné certaines valeurs numériques des résultats implantés, nous décrivons les

caractéristiques de temps et d'occupation mémoire de leur obtention.

9.3.4. Caractéristiques des calculs de résultats

Nous élargissons ce paragraphe à la présentation d'une série dc mesures ne concernant pas

uniquement l'obtention des résultats, mais également certaines caractéristiques générales de la

maquette ADSAR.

198 Administration des applicatifs réseaux

La maquette ADSAR : implantatioll, utilisation et évaluatioll

9.3.4.1. Caractéristiques d'occupation mémoire

Nous présentons dans le tableau ci-dessous quelques caractéristiques de "volumes".

III .9

Description Mesure

Volume mémoire du graphe giobal de dépendances environ 150 Ko

Volume de la base de donnée BDadsar 800Ko

Nombre de services modélisés environ 600

Taille du code source 7400 lignes -1.82 Ko

Tableau 16 : Quelques caractéristiques de "volumes"de la maquette ADSAR

On peut noter le faible volume de la base de données (800 Ko). Il s'explique principalement

par le fait qu'il s'agisse d'un prototype. Dans ce eadre d'application, les ehamps ayant été

ajoutés aux tables (tels le lieu géographique ou l'identité de l'administrateur d'une machine)

n'ont pas tous été renseignés lors des tests. Ceci réduit d'autant le volume total de la base.

9.3.4.2. Caractéristiques temporelles

Dans le tableau ci-dessous, nous regroupons des mesures du temps nécessaire au déroulement

de certaines opérations de ADSAR. Nous rappelons que le prototype a été testé sur une station

Sun 4-390:

M"""~(3.•.. <

Descritption .;

Temps de génération du graphe global :20$$ç:

Temps de calcul de tous les impacts <10âeq

immédiat cardéjàcalculéTemps de calcul de l'impact d'un ordinateur sélectionné . à lagénératlonYclQ

grElphe

Temps de recherche d'un service réseau dans le graphe et;$eC

affichage du graphe de dépendances associé ...... .....

Temps de calcul de la fiabilité d'un service donné pour untsElcservice sélectionné

Temps de calcul de la qualité de service globale ... <5 sec

Très variable- dépendTemps de recherche de tous les services élémentaires en des critères posés-fonction de paramètres prédéfinis généralement inférieur à

30 sec

Temps de régénération de la base 15sec

Tableau 17 : Quelques caractéristiques temporelles de la maquette ADSAR

Administration des applicatifs réSeaflX 199

III .9 La maquette AD5AR .' implalllatioll, lltilisatioll et évaluation

Descritption Mesure

Temps d'acquisition des données déclarées (sous forme 2 mnde fichiers)

Temps d'acquisition des données pré-existantes sur une 20 mnstation Unix (SLC)

1libleall 17 : Quelques caractéristiques temporelles de la maquette ADSAR

Notons tout d'abord la vitesse de génération du graphe global de dépendances. Ce temps court

permet de justifier la régénération du graphe à chaque démarrage (ceci est comparable à un

éditeur de texte qui charge en mémoire le document, et travaille par la suite en mémoire vive).

Une deuxième valeur à souligner est la rapidité de calcul des résultats de fiabilités et

d'impacts. Ceci s'explique principalement par l'utilisation d'un graphe totalement en

mémoire vive. En revanche, nous relevons le temps très long d'acquistion des données (20 mn

pour une station) principalement dû à la lenteur d'interprétation des "remote shells scripts".

9.4. Evaluation de la maquette et retour d'expérience

Nous terminons cette troisième partie par l'évaluation de la maquette ADSAR. Nous

répondons aux questions suivantes: Les choix d'implantation ont-ils été judicieux? Les

résultats obtenus sont-ils pertinents? Dans quelle mesure?

9.4.1. Evaluation des choix techniques

Deux critères principanx avaient été définis pour les choix techniqnes concernant

l'implantation de notre modèlc. Sachant que le travail de développement serait nécessairement

lourd, les solutions dont la rapidité de mise en œuvre était la meilleure ont été retenues. Par

ailleurs, le prototype initial CQFD ct la maquetteADSAR qui a suivi ont nécessité une certaine

forme de "tâtonnement" dans le développement: essais. retours en arrière, changements de

méthodes. La souplesse des moyens techniques a donc été absolument nécessaire. Nous

présentons succinctement, dans les paragraphes suivants, une courte évaluation de différents

choix techniques que nous avons retenus pour l'implantation du modèle.

9.4.1.1. Méthode d'acquisition

La méthode d'acquisition des informations est l'exemple le plus Oagrant d'un choix technique

qui ne se justifie que par la rapidité de mise en œuvre et la souplesse de réalisation. En effet, la

méthode des "remote shell scripts" a d'importants inconvénients, qui se sont révélés au cours

de l'implantation.

200 Administration des applicatifs réseaux

La maquette AD5AR " implamtllioJl, lI1ilisatio1l el é\'aluatioll m.9

Le principal problème rencontré est la dépendance inhérente des "shell scripts" au type de

système d'exploitation, voire à la version même du système. Notre choix s'était posé sur

l'interrogation des machines sous Unix. Or même avec cette restriction importante, le nombre

de "variétés" de Unix s'est révélé être un inconvénient majeur pour le développement d'un ou

de plusieurs "shell scripts" d'acquisition de données. D'autre part, la pérennité de cette

méthode est extrêmement faible. Chaque nouvelle version de système d'exploitation remet en

cause le fonctionnement de la méthode d'acquisition.

D'autre part, la charge infligée à la machine interrogée est particulièrement lourde

(cf. tableau 17). En effet, cette méthode génère une succession importante de petits processus

de mise en forme, de troncature et d'analyse des fichiers, qui entraînent une surcharge

difficilement justifiable pour le traitement fourni.

En conclusion, il nous apparaît que tant que l'implantation d'agents d'acquisition pour

l'administration des applicatifs réseaux n'est pas réalisée sur les machines (agents basés sur

CMIP, SNMP, RPC ou tout système similaire), une plate-forme d'administration de telles

applications ne pourra être qu'un "pis-aller", une solution transitoire. Et ceci d'autant plus s'il

s'agit d'un réseau hétérogène.

9.4.1.2. Manipulation des graphes

Pour ce qui est des choix retenus concernant la manipulation et l'exploitation des graphes, les

résultats obtenus ont été tout à fait satisfaisants (cf. 9.3.4.2). Le développement d'un

gestionnaire de graphes dédié à notre application nous a permis de prendre en compte les

problèmes liés à la place mémoire ou au temps de traitement. L'idée de travailler directement

en mémoire pal' allocations dynamiques s'est avérée pertinente. La taille des graphes, déduits

de la modélisation du réseau de test, est restée dans des proportions parfaitement exploitables.

Nous notons cependant l'importance de disposer d'une "bonne" implantation des librairies

d'allocations (malloc(), l'ealloc(), jl'ee()... ), qui prend en compte les spécificités techniques de

la machine à laquelle elle est destinée.

9.4.1.3. Base de données

Comme nous l'avons déjà dit, le choix de s'appuyer sur un gestionnaire de base de données

existant n'a été décidé que pour la deuxième version de la maquette. Bien que nécessitant une

réécriture importante du code, cette décision s'est avérée très intéressante sur plusieurs plans.

Tout d'abord, du point de vue théorique, nous avons pu montrer que le choix d'une base de

données relationnelles convenait bien à notre modèle. D'un point de vue plus pratique, le

modèle a pu être testé en vraic grandeur, car la puissance de la base de données nous a permis

de manipuler des quantités de données importantes. D'autre part, la disponibilité d'outils de

Admin;slratioll des applicatifs réseaux 201

DI.9 La maquette AD5AR : implantation, utilisation et évaluation

lecture et de mise à jour manuelle de la base a permis une très grande souplesse de mise en

œuvre. Nous pensons notamment il la facilité d'exploitation sous le monilellr fourni avec le

paquetage du SGBD. Enfin, la possibilité d'avoir des accès simultanés à la base nous a permis

d'implanter les modules parallèles (explorer, molellr cenlral, voire monilellr), qui sont très

souples dans leur utilisation.

Quant au choix de POSTGRES, une importante carence nous a fortement handicapé.

L'impossibilité de préciser la clause "unique" sur un champ ou un ensemble de champs d'un

n-uplel, afin d'en caractériser son unicité, nécessite de conditionner toute nouvelle écriture sur

la base à une lecture préalable (cf. 9.1.2.3). Or, le type d'opérations engendrées par une

application telle une plate-forme d'administration justifie, nous semble-t-il, le choix d'un

SGBD implantant cette fonctionnalité.

9.4.1.4. Interface utilisateur

Il est toujours souhaitable de développer un programme dont la présentation est agréable.

Cependant, le soin apporté à l'interface-utilisateur a certainement été trop poussé pour le type

de maquette que nous avons développée. A notre décharge, nous notons simplement qu'il

aurait été, sans doute, regrettable de ne pouvoir visualiser les graphes de dépendances.

9.4.2. Evaluation des résultats d'exploitation

Nous avons présenté au paragraphe 9.3 certains résultats d'exploitation de notre prototype sur

le réseau de test. Nous en présentons dans ce paragraphe une évaluation dans le contexte du

réseau de test. Nous répondons à la question suivante: A qnoi cela nOlis a-I-il servi?

9.4.2.1. Gestion de la configuration

La possibilité de regrouper dans une base de donnée centrale les informations décrivant la

configuration des applications du réseaux de test est un avantage indiscutable. D'autant plus,

si l'opération est faite plus ou moins automatiquement. Dans l'état actuel, la maquette ADSAR

offre une telle fonctionnalité en se basant sur des "shells scripts" d'acquisition d'informations.

Malgré les inconvénients d'une telle méthode (cf. 9.4.1.1), les résultats sont tout à fait

exploitables. Dans l'éventualité d'une exploitation ultérieure du prototype, il serait cependant

nécessaire de s'assurer à chaque installation d'un nouveau système (par exemple SunOS 6.0)

que le "shell d'acqllisilion" fonctionne correctement, et de le modifier si besoin. D'autre part,

il pourrait être judicieux de compléter les champs non encore renseignés dans la base de

donnée (lieu géographique de chaque machine....).

202 Administration des applicatifs réseallx

La maquette ADSAN : implafllafioll, utilisation et é\'aluatioll III.9

Le deuxième résultat implanté concernant la gestion de la configuration a été le repérage des

inter-dépendances cycliqucs. Cette opération s'effectue uniquement au moment de la

génération du graphe global de dépendances, afin de signaler les cycles. Il serait intéressant de

réaliser une interface utilisateur plus sophistiquée dans l'optique d'une utilisation à plus long

terme de la maquette. En effet, dans l'état actuel, le logiciel signale simplement les éléments

cycliques et demande une correction immédiate afin de pouvoir être relancé.

9.4.2.2. Calcul de la fiabilité

Pour ce qui est du calcul de la fiabilité, les résultats obtenus nous ont surpris. En effet, bien

que difficile à vérifier expérimentalement, la fiabilité de certains services nous a semblé sous­

évaluée. Pour ne citer qu'un exemple, nous avons obtenu une indisponibilité moyenne de

six heures par mois sur des services de courrier électronique (fiabilité de 0,9611). Après

enquête, une valeur de trois heures par mois semble être plus proche de la réalité (fiabilité de

0,980). Pourquoi ce décalage? Nous avançons trois hypothèses non exclusives. Tout d'abord,

le temps moyen de fonctionnement de chaque machine aurait dû être mesuré sur une période

d'au moins un an pour avoir des chiffres sur lesquels s'appuyer. Ceci n'a pas été le cas pour

certaines machines, mises en place récenunent, ou qui simplement n'ont pas été suffisamment

suivies pour en déterminer précisémment la disponibilité. Une deuxième hypothèse repose sur

la condition d'indépendance des probabilités de fonctionnement. Nous avions cité un cas de

dépendance de probabilité - les coupures d'électricité - et en avions tenu compte dans les

estimateurs. Cependant, après utilisation de la maquette, un deuxième facteur de dépendance

semble devoir être pris en compte. Les administrateurs réseaux ont tendance à regrouper les

interventions qui nécessitent un arrêt d'une partie du réseau. Ils travaillent par exemple sur

toute une salle de PC, pour les systèmes desquels ils assurent les remises à jour en une après­

midi. Les probabilités d'indisponibilité des machines de cette salle ne peuvent être, dès lors,

considérées comme indépendantes.

Cependant, les valeurs obtenues peuvent être considérées comme des majorants. Nous

disposons d'une excellente échelle d'ordre de grandeur pour évaluer et classer les services.

9.4.2.3. Calcul de la qualité de service

On peut s'étonner d'une valcur de 0,9706 pour la qualité de service globale du réseau de test

(cf. 9.3.2). En effet, une indisponibilité moyenne de 4 heures sur l'ensemble des services peut

sembler relativement élevée. Il faut cependant garder à l'esprit que ce résultat se base sur

l'estimation du taux de fonctionnement de chaque machine. Or celui-ci a été évalué en prenant

en compte les temps nécessaires à l'administration elle-même (sauvegarde, modifications de

configurations, etc). Une enquête plus précise permettrait de distinguer les temps d'arrêts dus

Administration des applicatifs réseau"y 203

m.9 La maquette ADSAR : ÎlJlplaJltatiulI, lltiUsatiol1 et évaluation

aux évènements "accidentels" (pannes d'électricité. disques hors service. etc) et les temps

d'arrêts de maintenance du réseau. Nous obtiendrions ainsi deux valeurs complémentaires de

la mesure de la qualité de service globale, qui permettraicnt une analyse plus fine.

9.4.2.4. Calcul de l'impact

La mesure de l'impact de chaque machine a donné cles résultats auxquels nous ne nous

attendions pas, ou peu. Bien évidemment, nous avions une idée assez claire des machines

particulièrement sensibles. Mais la maquette nous a apporté bien plus. Nous disposons d'une

liste des machines classées par ordre d'impact dans le réseau. C'est un clocument précieux sur

plusieurs points. Il permet, tout d'abord, de justifier les contrats de maintenallce des machines

(cf. 7.2.2). Il serait raisonnable de moduler la rapidité de dépannage (sous 4h, dans la journée,

dans la semaine, etc) en fonction du pourcentage cI'impact des machines en question. Pour le

réseau de test et dans l'état actuel de la configuraiton, les machines mOllza, spa et imola

doivent bénéficier d'un bon contrat de maintenance (cf. tableau 15). D'autre part, cette liste

permet d'établir sans conteste le degré de centralisation des applications réseaux. Ainsi, si l'on

veut assurer un fonctionnement moyen régulier de l'ensemble des services du réseau, il est

nécessaire de vérifier que l'impact cie chaque machine ne dépasse pas un certain seuil - par

exemple 25%). Dès lors, sous l'hypothèse que les causes des pannes sont indépendantes, on

pourra vérifier que jamais plus du quart des services réseaux n'est en panne simultanément..

C'est l'approche entreprise actuellement sur le réseau Vivaldi afin de supprimer le rôle

prépondérant du serveur mOllza.

Pour terminer cette évaluation de notre maquette, nous pourrions dire que l'ensemble des

résultats fournis nous a été déjà réellement utile, dans le cadre du réseau Vivaldi. ADSAR a

permis de poser et de justifier dcs choix cI'administration tactiques et stratégiques alors même

qu'il ne s'agit que d'un prototype.

204 Administration des applicatifs réseaux

La maquette ADSAR : implantation, utilisation et évalu(lfioll

Conclusion

III

Nous avons préscnté, dans cette dernière partie, une réalisation logicielle concrète en vue de

vérifier la validité de notre modèle théorique. Nous avons exposé, tout d'abord, les choix

techniques généraux pour l'implantation d'une telle maquette. Les langages et les

bibliothèques de programmation, le gestionnaire dc base de données, le gestionnaire de

graphes, ct cnfin l'architccture du logiciel, ont été successivement présentés. Il nous a fallu,

également, décrire succinctemcnt lc cadre de l'expérimentation, c'cst-à-dire le réseau

universitaire utilisé pour les tests. Par la suitc, nous avons détaillé l'implantation en elle­

même: le diagramme de la base de données ainsi que le détail de ses tables, les méthodes

d'acquisition des informations nécessaires à la modélisation, et enfin, les moyens mis en

œuvre pour obtenir des résultats, exposés dans la deuxième partie de notre thèse. Quelques

exemples tirés dc la maquette implantée ont pcrmis d'illustrer les fonctionnalités d'un tel

prototype. Nous avons présenté certains résultats numériques propres au site de test et nous

avons précisé les caractéristiques de leur obtention. Pour terminer, nous avons tenté d'évaluer

notre travail d'implantation. Ainsi, nous avons soupesé chaque choix techniqne, mais

principalement, nous nous sommes attachés à évaluer les résultats obtenus.

En conclusion, nous constatons, tout d'abord, que cette expérience a nécessité un

développement lourd et relativement "tâtonnant". Mesurer la "taille" d'un programme n'est

jamais très facile; cependant - pour ne citer qu'un seul chiffre - 11.500 lignes de

développemcnt dc code ont été nécessaires pour obtenir une maquette logicielle

satisfaisante(a). D'autre part, l'apprcntissage du fonctionnement du gestionnaire de base de

données POSTGRES et du langage associé POSTQUEL, l'utilisation des bibliothèques de

programmation et de celles dcs interfaces graphiqucs ont été un investissement important. Le

résultat: une maqucttc baptisée ADSAR qui nous a permis de démontrer une certaine forme de

validité du modèle proposé.

Pouvions-nous faire l'économic d'un tel développemcnt? Il nous semble que pour une

modélisation tcllc quc nous la proposons dans notre thèse, c'est ccrtainement l'argument sur la

(a) La maquette ADSAR a nécessité 7400 lignes, le prototype initial CQFD comprenait 5000 lignes

supplémentaires pour la gestion de sa base de données.

Admillistration des applicatifs réseaux 205

ID La IJwql{ette AD5AR : implalltation, utilisation et é~lalliation

faisabilité qui doit être, avant tout, développé. A notre sens, un modèle non exploitable dans

ce domaine n'aurait que peu d'intérêt. Or, ayant été implanté dans des conditions réelles, notre

prototype montre que des plates-formes d'administration, qui s'appuieraient sur les concepts

exposés, peuvent être réalisées et exploitées.

Peut-on dire qu'il s'agisse d'une véritable plate-forme d'administration? Evidemment non!

Nous le redisons: les choix techniques retenus pour l'implantation de notre maquette, sur le

plan de la rapidité et de la souplesse de mise en œuvre, ne peuvent être les bases d'un logiciel

d'administration destiné à une exploitation réelle. ADSAR n'est qu'un prototype dont la

réalisation nous est apparue incontournable pour notre sujet de thèse.

206 Administration des applicatifs réseaux

Conclusion

Administration des applicatifs réseaux 207

Nous avons présenté dans cette thèse un modèle théorique pour l'administration des services

applicatifs au sein d'un réseau informatique hétérogène, et ceci en vue d'appréhender les

problèmes de dépendances qui régissent de tels services. Nous avons, d'une part, situé cette

étude dans le contexte actuel des travaux sur l'administration des réseaux informatiques. Nous

avons, d'autre part, montré la faisabilité des idées avancées, par la réalisation du logiciel

implantant les concepts décrits dans notre modèle.

Résultats et contributions

Quatre types de résultats, qui représentent des contributions nouvelles et personnelles au

domaine de l'administration de réseaux, nous paraissent devoir être soulignés:

- L'approche originale

- La méthodologie employée

- L'implantation réalisée

- La pertinence des résultats obtenus

Avvroche originale

L'administration de réseaux, indispensable pour la gestion des réseaux informatiques de taille

conséquente, repose principalement sur les concepts de dénomination et de description des

divers éléments mis en œuvre. Elle définit également les méthodes pour connaître les états de

ces divers éléments.

Cette méthode suffira, sans doute, lorsqu'il s'agit d'administration des couches les plus basses

des protocoles réseaux. Par contre, il nous apparaît que la gestion des applications réseaux

nécessite la connaissance des interdépendances entre les divers éléments. Il n'est plus possible

de considérer uniquement les états des éléments, mais il devient nécessaire d'appréhender les

relations qui les associent.

Administration des applicatifs réseaux 209

Conclusion

Cette approche plus globale nous a permis de définir un modèle de données basé sur la

définition d'un service réseau élémentaire.

Méthodologie emplovée

La méthode employée pour décrire ce modèle de données a été appuyée sur des définitions

mathématiques d'applications multivoques. Cette manière de procéder nous a permis de

définir, dans un formalisme très générique, les relations de dépendances et d'appartenances

des divers éléments composant notre modèle.

Nous soulignons, en particulier, la facilité d'expression de la définition d'un service réseau

élémentaire et généralisé. Elle nous permet d'exprimer les dépendances modélisées sous la

forme d'un graphe global.

Parallèlement au modèle théorique, nous avons décrit les même concepts sous la forme d'un

modèle "informatique" tenant compte des spécificités techniques de ce domaine.

Implantation réalisée

L'implantation, facilitée par la méthodologie employée, nous a permis de démontrer la

faisabilité des idées présentées dans le modèle abstrait. Nous avons ainsi pu réaliser un

logiciel prototype, qui a été testé avec succès sur un réseau informatique réel de taille

moyenne.

La réalisation de cette maquette nous a permis de démontrer que la taille des graphes

manipulés restait parfaitement exploitable. Ce logiciel prototype nous a permis, non

seulement, de confirmer ou infirmer certains choix d'implémentation initialement retenus,

mais bien plus, d'évaluer les résultats obtenus en fonction de la réalité observée.

Pertinence des résultats

Nous soulignons tout particulièrement la vaste gamme des problèmes qui peuvent trouver une

solution lorsqu'ils sont abordés dans l'optique de notre modèle. Nous les résumons dans ces

trois mots: validation, impact, dépendance.

Ainsi, nous citerons tout d'abord l'originalité de la méthode pour rechercher les phénomènes

d'interblocages applicatifs en fonction des propriétés de cycles sur les graphes de

dépendances déduits du modèle. Elle nous donne une solution efficace au problème suivant:

"La configuration du réseau, projetée pour l'ajout de tel ou tel service, est-elle correcte? A-t­

elle une incidence sur les autres services initialement offerts à l'utilisateur?"

Nous rappelons, ensuite, les divers résultats concernants les calculs d'impacts.

210 Administration des applicatifs réseau.>:

Conclusion

Tout d'abord, nous avons exposé une méthode de calculs d'impacts en cas de

dysfonctionnement d'un élément réseau sur la globalité des services fournis. Nous répondons

ainsi au type de questions suivant : "Quels vont être les utilisateurs dérangés par

l'indisponibilité de tel ou tel ordinateur ?". Nous avons ainsi proposé une méthode de calcul

de paramètres quantificatifs afin de déterminer les ordinateurs les plus sensibles.

Dans la même optique de calcul d'impacts, nous soulignons la facilité de mise en œuvre de la

méthode de calcul de charge d'une machine en fonction des services réseaux qui lui sont

démandés.

Enfin, nous avons proposé une exploitation du modèle en vue de déterminer la sécurité des

ressources du réseau, par exemple: "Qui a accès à ce compte-machine? Comment y arrive­

t-il ?".

Les autres résultats de la modélisation relèvent de la dépendance entre éléments.

Nous avons ainsi pu établir une méthode de calcul de la fiabilité d'nn service réseau. Il s'agit

de répondre à la question suivante: "Dans une configuration réseau donnée, quelle est la

disponibilité de tel ou tel service ?". De là, nous avons déduit nn paramètre de mesure globale

de la "qualité de service" d'un réseau.

Nous avons également proposé une méthode d'aide aux diagnostics. Elle décrit un moyen

rapide pour localiser un ou plusieurs éléments défectueux, en fonction de l'observation de

l'état des services réseaux. Le principe est illustré par la question suivante: "Quel est le

prochain service réseau qu'il faut tester pour trouver le plus rapidement la panne ?".

Nous proposons enfin une méthode de calcul des cOlÎts réels des divers services réseaux, afin

de pouvoir répartir les frais en fonction des utilisateurs, ce qui répond à la question

incontournable: "Comment répartir les frais dus au réseau informatique ?".

Extensions et perspectives

Nous proposons de continuer notre étude dans deux directions complémentaires. Il nous

semble nécessaire d'étendre notre modèle afin d'y inclure les notions de protocoles. En effet,

le modèle à l'heure actuelle pose l'hypothèse que le réseau physique sous-jacent supporte tous

les protocoles utilisés, ce qui est quasiment le cas pour les réseaux de type Ethernet.

Cependant, hors de cette hypothèse, il sera nécessaire de spécifier les protocoles supportés par

les diverses composantes du réseau physique. Dans cette perspective nous nous

rapprocherions des travaux de P. Françon [FRA 92] concernant la modélisation des

protocoles. Il faudra vérifier avec soin que la tame du modèle est encore exploitable.

Administration des applicatifs réseau.'.; 211

Conclusion

Une deuxième voie de recherche serait d'étendre not!:e modèle afin qu'i! prenne en compte les

services de type "client-lIlultiserveur", c'est-à-dire qu'il n'y a plus un unique serveur désigné

pour un service réseau, mais plusieurs serveurs susceptibles de rendre le service. Le choix

effectif du serveur peut être fonction de la disponibilité de chacun des serveurs parallèles, ou

encore, de caractéristiques des messages véhiculés. Décrire ce type de services signifierait que

le modèle ne gèrerait pas uniquement les conditions nécessaires de dépendances, mais

également les conditions suffisantes. Ceci élargirait sans aucun doute le champ d'application

de notre modèle.

D'autre part, l'expérimentation, effectuée grâce à la maquette ADSAR, gagnerait à être

prolongée. En effet, l'étude de l'évolution de certains résultats numériques permettrait de se

faire une idée plus objective quant à l'utilisation à moyen terme de ces indicateurs.

Enfin, l'évolution future des solutions standards et/ou normalisées pour l'administration des

applications réseaux nous permettra vraisemblablement d'appliquer et d'implanter notre

modèle dans un contexte cohérent, fiable et largement reconnu.

212 Administration des applicatifs résemo:

Annexes

Administration des applicatifs réseaux A·l

Descriptioll des tabies de la base de dOllllées BDadsar

Description des tables de la

base de données BDadsar

Annexes

Nous donnons, dans les tableaux ci-dessous, la description de l'ensemble des tables de la base

de données BDadsar associée à la maquette logicielle ADSAR.

La table de description des ordinateurs

La table "Machine" est destinée à mémoriser l'ensemble des informations concernant chaque

ordinateur.

TABLE "Machine"

TypeIdenti!i-

Typecateur

de dudes don- Description du champ

champ champ nées

, nom chari6 Identificateur de la machinec., .,0.-.~~

oid Clé du n-uplet (géré par paSTORES)"0'"oS

\~pu/ text Type de processeur

os text Système d'exploitation~.., loc text Localisation géographique~..,0)

resp text Nom du responsable de la machine

ID divers text Informations diverses (Release...)c0:e nomip text Nom IP de la machine"0"0 0.« 'ii adrip byte[4] Adresse IP

~masqip byte[4] Masque IP

"" nomap text Nom AppleTalk de la machine(ij

tmCi. zoneap text Zone AppleTalk0.«

Tableau 1 : Description des champs de ia table "Machine"

Administration des applicatifs réseau..... A·3

Annexes

La table de description des utilisateurs

Description des tables de la base de dOJlnées BDadsar

La table "Utilisateur" est destinée à mémoriser l'ensemble des informations concernant

chaque personne utilisatrice potentielle des services réseaux.

TABLE "Utilisateur"

Type Identifi- Typecateur

de du des don- Description du champchamp champ nées

, Identificateur de l'utilisateur (concaténa-c nom char16<Il <Il tion du nom et du prénom)0.-(/).0._ <Il'O(/)E oid oid Clé du n-uplet (géré par paSTORES)

0>_ org text Organisme d'appartenanceC <Ilo ~

adr Adresse professionnelle~'(1) text.- ~'0 'Q)'O0l« divers text Informations diverses

Tableau 2 " Descriptions des champs de la table "Utilisateur"

La table de localisation des ressources

La table "Loc-Ress" est destinée à mémoriser les associations entre ressources et ordinateurs.

TABLE "Loc-Ress"

Type Identifi· Typecateur

dedu

des don· Description du champchamp

champ nées

, mach oid Identificateur de l'ordinateurC<Il <Ilg-:o ress oid Identificateur de la ressource.- <Il'O(/)E oid oid Clé du n·uplet (gérée par paSTORES)

Tableau 3 " Description des champs de la table "Loc-Ress"

A·4 Administration des applicatifs réseaux

Description des tables de la base de dOllnées BDadsar

La table de description des ressources

Annexes

La table "Ressource" est destinée à mémoriser l'ensemble des informations concernant

chaque ressource utilisée par les services réseaux: disques, périphériques, boîtes aux lettres,

comptes utilisateurs, etc.

TABLE "Ressource"

TypeIdentl!i-

Typecateur

dedu

des don- Description du champchamp champ nées

C nom charl6 Identificateur de la ressource<Il <Il0.-.~ ~

oid oid Clé du n-uplet (gérée par POSTORES)'0 V>5

]Informations diverses." text

oÉÎbl)

1···· text Interface de rattachement<Il;j

n\P Point de montage0' textV>'6

iêap u_int4 Capacité de stockagea;

Interface de rattachementc <Il text0 -c:e ro'0 E type text Technologie (laser, matticielle, etc)'0<>: 'C

0.

.ê text Localisation géographique

....J user oid Identificateur du propriétaire<>:OJ disq oid Identificateur de la partition-disque

J!l oid Identificateur du propriétaire0.E0 disq oid Identificateur de la partition-disque0

Tableau 4 : Description des champs de la table "Ressource"

Administration des applicatifs réseaux A~S

Annexes

La table de description des programmes

Description des tables de la base de données BDadsar

La table "Programme" est destinée à mémoriser l'ensemble des informations concernant les

programmes qui sorit nécessaire à l'établissement des services réseaux.

TABLE "Programme"

TypeIdentifi-

Typecateurdedu des don- Description du champ

champchamp nées

C: nom char16 Identificateur du programmeID ID0.-",.0._ eu

oid oid Clé du n-uplet (gérée par POSTORES)"0'"oS

text Système d'exploitationID-e eu text Version du programmeo ~

;e'~"O-ID"00> Type de programme (Client, Serveur ou« type charl6

Client/Serveur)

Tableau 5 : Description des champs de la table IIProgranune"

La table de localisation des programmes

La table "Loc-Prog" est destinée à mémoriser les associations entre programmes et

ordinateurs et indiquer leur "localisation".

TABLE "Loc-Prog"

Type Identifi-Typecateurde

dudes don- Description du champ

champchamp nées

mach.

oid Identificateur de ['ordinateur,eID Ol~:o prog oid Identificateur du programme:am

oS oid oid Clé du n-uplet (gérée par POSTORES)

Tableau 6 "Description des champs de la table "Loc-Prog"

. A·6 Administration des applicatifs réseaux

Descriptioll des tables de la base de dOllllées BDadsar

La table des relations entre programmes

Annexes

La table "Prog-Prog" est destinée à mémoriser les associations entre programmes. Il s'agit de

connaître les programmes clients que les programmes serveurs "supportent".

TABLE "Prog-Prog"

Type Identifi- Typecateurde du des don- Description du champ

champ champ nées

C:.machc oid Identificateur du programme client

<Il <Ilg-:o machs oid Identificateur du programme serveur.- '"'0 '".5 oid oid Clé du n-uplet (gérée par POSTORES)

Tableau 7: Descriptioll des champs de la table "Prag-Prag"

La table des droits d'exécution

La table "Login" décrit les droits d'exécution des utilisateurs. Nous appliquons une règle

simplificatrice pour l'implantation de la maquette: un utilisateur ayant accès à un ordinateur,

soit parce qu'il dispose d'un compte, soit parce qu'il s'agit d'un micro-ordinateur(a), peut

utiliser tous les programmes localisés sur la machine en question. Il nous suffit de décrire les

droits d'accès aux ordinateurs et non plus aux programmes. Ceci est réalisé par la table ci­

dessous.

TABLE "Login"

Type Identifi- Typecateurde du des don- Description du champ

champ champ nées

, mach oid Identificateur de l'ordinateurc<Il <Il0.- utilis oid Identificateur de l'utilisateur",.0.- '"'0'".5 oid oid Clé du n-uplet (gérée par POSTORES)

Tableau 8 : Descriptioll des champs de la table "Logifl"

(a) Les micro-ordinateurs (compatibles PC et Macintosh) ne disposent pas de système de gestion des accès

utilisateurs contrairement aux stations de travail sous système d'exploitation Unix.

Administration des applicatifs réseau..r A·7

Annexes Primitives et structures d'implalltatioll des tableauxdYllamiqlles et des graphes

Primitives et structures

d'implantation des tableaux

dynamiques et des graphes

/* indice du dernier element *//* Taille du tableau dynamique *//* Pointeur sur le tableau *//* Taille des elements *//* Taille des buffers d'allocation */

Les tableaux dynamiques: bibliothèque tbd

La librairie tbd offre les structures de données ainsi que les procédures de manipulation de

tableaux dynamiques. L'implémentation effectuée permet un accès direct au moyen d'un

index car elle utilise un tableau de pointeurs contigus plutôt que le chaînage traditionnel des

listes. La taille des objets du tableau est définie par l'utilisateur. Des objets de tailles

différentes ne peuvent être enregistrés dans le même tbd sans passer par le truchement d'une

nouvelle indexation (tbd de pointeurs sur des objets de tailles variables).

La variation dynamique de la taille du tbd se fait par la fonction real/oc() du langage C, c'est

elle qui permet de conserver la contiguïté du tbd.

La structure de données

Un tbd se manipule au moyen d'un pointeur sur la structure suivante:

/* Type de tableau dynamique */typedef struct Stbd {int n;long m;char *pt;int size;int sizebuf;

}*tbd, tbds;

A-S Administration des applicatifs réseaux

Primitives et structures d'implantation des tableauxdynamiques et des graphes

Schéma de la stl'llctllre

Annexes

'tbd

le·' 1tbds

m tjs multiple de sizebuf

..n

-------lon-1: On ~01 1 02 )1 1

m~

'pt size

size

sizebu!

Schéma 1 .' Structure d'un tableau dynamique (tbd)

Les primitives de manivulation

• tbd tbdopen(size,sizebuf): ".,,"" Ouverture.

• tbdclose(tbd) : """"""""."""""" Fermeture.

• tbdclr(tbd) : "."""""""""""""""Libération du buffer (comme après un tbdopen).

• tbdins(tbd,ind) :""""""""""""'" Insertion d'une place libre à partir de l'indice

ind.

• tbdinsn(tbd,ind,size) ;""."""""." Insertion de size places à partir de ind.

• tbddel(tbd,ind) :""""""""""""". Suppression d'une place sur l'indice ind.

• tbddeln(tbd,ind,size) : .,,""""""" Suppresion de size places à partir de l'indice

ind.

• tbdset(tbd,ind,void *obj) : "."."."Insertion de l'élément d'adresse ob} à l'indice

ind.

• tbdcp(tbd d,s) : """",,""",,""""" Copie d'un tbd sur un autre.

• int tbdadj(tbd,void *x) ; "."".,,"" Adjonction d'un objet à la fin d'un tbd.

• tbdtrvas(tbd s,tbd d) :."""".""""Recopie des éléments d'un tbd dans un autre

(sans vérification de redondance).

• void *tbdget(void *x,tbd,ind): ". Récupération dans l'objet x de l'objet stocké à

l'indice ind avec retour de l'adresse effective.

si x==NULL pas de recopie.

Administration des applicatifs réseau.x Am 9

Annexes Primitives et structures d'implantation des tableauxdynamiques et des graphes

• tbdn(tbd) : Retourne le nombre d'éléments.

• tbdmem(tbd) : Retourne l'occupation mémoire.

• int tbdind(tbd,void*x) : Retourne l'indice du premier objet similaire à x

dans tbd, -1 sinon.

• int tbdin(tbd,void *x) : Retourne 1 si x se trouve dans le tbd, 0 sinon.

Les graphes orientés valués: bibliothèque grph

Le paquetage grph fournit des outils puissants de manipulation de graphes dont voici quelques

caractéristiques:

- Taille du graphe dynamique

- Graphe orienté ou non

- Valuation des sommet ou non

- Valuation des arcs (resp. arêtes) ou non

- Multi-arcs (resp. arêtes) entre mêmes sommets

- Tailles variables des objets de valuations

La structure des données a été définie afin d'optimiser la place mémoire et les traitements pour

des graphes relativement creux (c'est-à-dire que le nombre d'arcs est du même ordre de

grandeur que le nombre de sommets). Elle assure de bonnes performances de recherche au

moyen d'algorithmes dichotomiques (voir ci-dessous).

Les structures de données

Un glph se manipule au moyen d'un pointeur sur la structure suivante:

t* Type d'un grph *ttypedef struct Sgrph {

iut ns; t*int na; t*int sizesom; t*int sizearc; t*int opt; t*tbd s; t*

}*grph,grphs;

La structure d'un sommet est la suivante:

Nbre de sommets */Nbre d'arcs */Taille structure des sommets */Taille structure des arcs */VAL_ARC 1 VAL_Sml 1 NON_ORr * ttbd des sommets */

tbd 0; t*

char *v; t*int sv; t*

}Tgsom;

/* Typetypedefint

dlun sonunet */struct Sgsom (

d; /* delta: Nombre d'arc dont lesommet est l'origine */

omega : tbd des arcs dont lesommet est l'origine */

Valeur associee (optionnel) */Nbre d'octets pointes (opt) */

A-IO .Administratioll des applicatifs réseaux

Primitives et structures d'implantation des tableauxdynamiques et des graphes

La structure d'un arc (resp. arête) est la suivante:

Annexes

/* Typetypedefintcharint}Tarci

d'un arc */struct Sarc {

i;*Vi

sv;

/* Indice du sommet d'arrivee *//* pointeur sur valeur (opt) */

/* Nbre d'octets pointes (opt) */

Une occurence de g/ph est un pointeur sur une structure. Cette structure décrit le graphe, c'est­

à-dire le nombre de sommets, le nombre d'arcs (resp. arêtes), le type de graphe (sommet

valué, arc valué, graphe orienté). Cette structure enregistre également un tableau dynamique

(tbd) qui décrit chaque sommet du graphe. Le numéro de rang d'un sommet dans le tbd

représente le numéro (ou indice) du sommet.

Chaque sommet est lui-même décrit par une structure dont la taille est variable suivant le type

de graphe (sommet valué ou non). Cette structure décrit le nombre de sommets adjacents au

sommet, un pointeur (optionnel) sur la valuation du sommet ainsi que la taille mémoire

utilisée pour cette valuation. Elle enregistre également un tbd décrivant chaque arc issu du

sommet.

Un arc est également décrit par une structure dont la taille dépend du type de graphe (arc valué

ou non). La structure d'un arc mémorise l'indice du sommet visé, un pointeur (optionnel) sur

la valuation de l'arc ainsi que la taille mémoire utilisée pour cette valuation. Pour une

recherche rapide des indices des sommets voisins, l'ordre des arcs dans le tbd est trié par

indice des sommets visés. La recherche pourra donc se faire de manière dichotomique.

Il faut noter qu'un graphe non-orienté sera implanté comme un graphe orienté dont chaque

arête donne lieu à une paire d'arcs de sens imposé. En cas de valuation des arêtes, les

pointeurs de la paire d'arcs désigneront une plage mémoire unique.

Administration des applicatifs réseaux A·ll

Annexes Primitives et structures d'implantation des tableauxdynamiques et des graphes

Schéma de la structure

'tbd

do 'v sv

nm*ptsize

sizebuf

,1111111111111111111111,11

!O11111

1011111 1, J

\.. /... _--------------

-,,,,,,,1111

Exempted'un sommet

;"---------------'"0:0 l

, 1, 1, 1, 1, 1

*tbd

do 'v sv

nm'pl

sizesizebuf

oo

'grph

Exempled'un arc;"-----------

Tare1111111,•" ... _----------

ns na sizesom sizearc opl s

G nm'pt

sizesizebuf

grphcp

Schéma 2 : Structure d'un graphe orielllé valué (grphJ

A·12 Administration des applicatifs réseaux

Primitives et structures d'implantation des tableauxdynamiques et des graphes

Les primitives de manivulation

Annexes

• grph grphopen(int opt) : Ouverture.

• grphclose(grph g): Fermeture.

• grphclr(grph g) : Libération de la mémoire.

• grphadjs(grph g, int inds) : Adjonction d'un sommet.

• grphadja(grph g, int indd, int inda) : Adjonction d'un arc(arête).

• grphseta(grph g, int indd,inda, void *obj, int size) : Valuation d'un arc (premier

trouvé).

• grphsetan(grph g, int indd,inda,nrg, void *obj, int size) : Valuation d'un arc (de

rang nrg).

• grphmake(char *s) : Constructeur rapide de graphe.

Exemple: grphmake(g, "1-2,3,8 2-2,3);

• void *grphgets(void *x, grph g, int ind) : Récupération d'une valeur d'un

sommet.

Dans la zone pointée par "x" sera recopiée la

valeur

du sommet, par contre le pointeur retourné par

la

procédure sera l'adresse de la valeur elle-même.

L'allocation de la zône mémoire pointée pas "x"

est à la charge du programmeur.

• void *grphgeta(void *obj, grph g ,int indd, inda) : Récupération d'une valeur sur

un arc (premier trouvé). Même remarque pour

"ob)" que pour "x" dans glphgets.

• void *grphgetan(void *obj, grph g, int indd,inda,nrg) : Récupération d'une valeur

sur un arc (rang=nrg). Même remarque pour

"ob)" que pour "x" dans glphgets.

• grphns(grph g) : Retourne le nombre de sommets.

• grphna(grph g): Retourne le nombre d'arcs.

• grphd(grph g,int ind) : Retourne le delta d'un sommet.

(càd le nombre de sommets adjacents).

• .grphss(grph g, int inds,inda) : .... Retourne l'indice du sommet pointe par l'arc

donné

par (inds,inda).

Administration des applicatifs réseaux A·13

Annexes Primitives et structures d'impla11lation des tableauxdynamiques et des graphes

o grphconnexe(tbd *t, grph g, int ind) : Remplit un tbd. de la composante fortement

connexe qui contient le sommet d'indice illd. La

création du tbd est à la charge du programmeur.

o grphoriente(grph g) : Graphe orienté.

o grphsornv(grph g) : Sommets valués.

o grpharcv(grph g) : Arcs (arêtes) valués.

o grphexs(grph g, int ind) : Existence d'un sommet.

o gl'phexa(grph g, int indd,inda) : Existence d'un arc (premier trouvé).

o grphexan(grph g, int indd,inda,nrg) : Existence d'un arc de rang Ilrg.

o grphsave(char *path,grph g) : Sauvegarde du grph dans le fichier path.

o grphload(grph g, char *path): Lecture d'un glph à partir d'un fichier.

A·14 Administration des applicatifs réseaux

Extrait du shell script d'acquisition d 'informations

Extrait du shen script

d'acquisition d'informations

Annexes

Nous donnons ci-dessous le début du "shen script" d'acquisition des données des machines

Unix. Celui-ci est exécuté par les modules "explorel" de la maquette ADSAR.

monza# more explorer#! /bin/sh

# Explorer Version 1.2# Recuperation des donnees propres a un systeme# Auteur P.Fernique# Date : 16/2/94#

# Initialisation des variables globalesHOST::::' hostname'REP=$HOME/exp1orer

# Recuperation d'infos generales sur le systeme courantif [ -f /etc/motd Jthen

head -1 /etc/motd 1 awk '{ printf("append host (nom=\"'$HOST'\",\divers=\Il%s\Il)\nH,$O) }'

fi

# Recuperation des utilisateurs ayant un loginawk -F: '{ printf("append user (nom=\"%s\", divers=\"%s\")\n",$1,$S) ri \

letc/passwd

# Recuperation des disques montes localementgrep In/dev' letc/mtab \

1 awk '{ printf("append ressdsq (nom=\lll$HOST'_%s\", dev=\"%s\Il,\host=\ H' $HOST' \", classe=\ "disque\", mp=\ "%s\") \n", $1, $1, $2) '}

# Recuperation des imprimantes locales1pstat -s 1 grep /dev \

1 awk 1 { printf (Happend ressimp (nom=\ I/%s\", dev=\ "%s\ Il 1 host=\ H'$HOST 1 \", \

classe=\ II imprimante\ H) \n" ,$3, $5) '}

Administration des applicatifs réseaux A·15

Annexes Extrait du shell script d'acquisition d'informations

# Recuperation des comptes locauxfor i in 'cat /etc/passwd 1 sed "si /_/g"'do

nom='echo $i 1 ai'lk -F: 1 { print $1 }.,mp=' echo $i 1 awk -F,' { print $6 }"if [ -d $mp Jthen

dev='df $mp 1 grep Idevl 1 awk '{ print $1 }"eeho "append resscpt (nom=\ "$ {HOST}_cpt_$norn\" , host=\D$HOST\D,\

user=\"${nom}\", classe=' "compte\" , rep=\"$mp\", disq=\"$dev\")"fi

done

# Recuperation des boites aux lettres localesif [ -d Ivarlspool/mail J

thenDEV='df Ivarlspool/mail 1 grep Idev 1 awk '{ print $1 l"~

if [ -n "$DEV" Jthen

awk -F; 1 { printf ("append ressbal (nom=\ U • $HOST' _bal_%s\ n, \

host=\ n' $HOST' \", user=\ "%s\ n 1 classe=\ "bal \ A, \

disq=\"'$DEV'\")\n",$l,$l) }' \/etc/passwd

fifi

# Recuperation des programmes serveursservice="shell exec talk smtp ftp telnet printer pop"# Recuperation des numeros de ports utilisesserv=~netstat -an \

1 awk 'l'[tcp;udpll { print $4 }' \1 awk -F",' , ( printf{"%s\n",$NF) }' \1 awk 'lift $1<1024 && $1!="*" ) print $1}"

# Recherche des noms correspondantsfor i in $serv; do

nom=~grep M{ ;]$i/" < Jete/services 1 awk '{ print $1 }l~

for k in $service; doif { "$nom" = "$k"then

Hp='grep "${k} [ 1" letc/inetd.conf 1 awk '{ print $6 }"if ( -n 1'$Mpn ); then

DEV='df $HP 1 awk '{ print $1 J' 1 grep -v "Filesystem"echo "append prog (nom=\ "${HOSTl-$k\ " , host=\ "$HOST\ " , \

classe=\"serveur\", dir=\"$Mp\lI J disq=\"$DEV\") Il

fifi

donedone

( ... )

A·16 Administration des applicatifs réseaux

Types de dOl/l/ées du SCBD POSTCRES

Types de données du SGBD

POSTGRES

Annexes

Nous donnons, dans le tableau ci-dessous, les divers types de données prédéfinis par le

système de gestion de bases de données POSTGRES. Nous indiquons le mnémonique et une

courte description de chacun d'eux.

Mnémonique Description

bool Booléen

byte Octet sans interprétation particulière

Int2 Entier sur 2 octets

u_int2 Entier non-signé sur 2 octets

int4 Entier sur 4 octets

u_int4 Entier non-signé sur 4 octets

float4 Réel sur 4 octets

floatB Réel sur 8 octets

char Caractère

char16 Texte sur 16 octets

text Texte de longueur variable

abstime Date sous forme absolue

reltime Date sous forme relative

regproc Procédure enregistrée

postquel Commande POSTQUEL

Schéma 3 : Types de donl/ées supportés par POSTCRES

Administration des applicatifs réseaux A-17

Annexes Logiciels d'administration

Logiciels d'administration

Le tableau ci-dessous répertorie la liste des logiciels d'administration disponibles sur stations

de travail Unix, en janvier 1994(a). Nous en indiquons la référence, l'éditeur, les types

d'interfaces de communication qui sont gérés et le type de base de données sous-jacente

(lorsque ces informations sont disponibles). Il y a lieu de souligner qu'il est difficile de

distinguer dans tous ces logiciels ceux qui sont dédiés à la surveillance de matériel spécifiques

tel un "pont" d'un constructeur donné, etc, par rapport à une véritable plate-forme

d'administration. Nous remarquons l'omniprésence de SNMP et des trois logiciels SunNet

Manager, HP Openview et NetView 6000 comme "support" de travail des autres logiciels .

...Editeur Interfaces

Interfaces"< ••.< "'"'' Distributeur communication

bases de

•••• ••••• \) . données

Transcend Ilélbuilder 3Com SNMP

View."""",,· . 3Com SNMP

•••••••• • ••• ArcheCommunications

SunNet Manager....

Alcatel Bell SNMP'o"AI''''''....

SunNetManager•••• Armon HP OpenView relationelle

Netview 6000

Time/LAN100 EMS Ascom Timeplex SNMP Sybase

TiméNiew Ascom Timeplex SNMP Informix

....... AT&TNetwork SunNet Manager'h System Outils ISO/CMIP

1 ...CommandlPosl Boole & Babbage SunNet Manager Sybase

Evenlix Bridgewayagent SNMPManager SNMP

Schéma 4: Logiciels d'administration disponibles enjallvier 94 (sur station Unix)

(a) Source: Réseaux & lëlécollls - Janvier 1994.

A-18 Administration des applicatifs réseaux

Logiciels d'administration Annexes

Editeur InterfacesInterfaces

Référence bases deDistributeur communication données

Integrated System Mana-SNMP

Bull OSIIDMAgement

CMIP

Remote Lanview Cabletron Systems SNMP

Spectrum Cabletron SystemsSNMP, SNMPv2CMIP

SunNet ManagerNCS on Demand Chipcom HPOpenview

Netview 6000

Ciscoworks Cisco SNMP...

Digital Equipment..." France

. .

NP.1400 Ericsson

Agentview Experdata SNMP

InterVieW Fibronique SA SMT plate

GanView GambitNetwareSNMP

HPOpenView Hewlett-Packard SNMP

Netmetrix Hewlett-PackardSNMPAgentRMON

.

SunNet ManagerNet ReUx HP/Retix

HPOpenView

MonetHugues

SNMPLan Systems

Netview 6000 IBM SNMPOracleIngres

Command 5000 KI Research

Open DNM KI Research

SNMP

Multiman LannetSunNet ManagerNetView 6000HPOpenView

Schéma 4 : Logiciels d'administratioll disponibles en janvier 94 (SUI" stalion Unix)

Administration des applicatifs réseaux A·19

Annexes Logiciels d'administration

Editeur InterfacesInterfaces

• ""'v' vUVv Distributeur communicationbases de

"

données

NMS NATHPOpenviewNetview 6000

StarS!lntry NCR

Série 5000 NET SNMP Oracle

NetlabsSNMP

"., CMIP

NMC3000 Network Manager

4602 lntellig!lnt N!ltwork Newbridge SNMP

LahorarnaLST5600 North Hills HPOpenView

QneVi!lw Proteon

SunNet ManagerRemedy HP Openview

,.... Netview 6000

EUt!l SMC ESII Informix....

SNMP,........~. Sun ConnectRPC

SunNet Manager.... -, SynOptics HPOpenView

Netview 6000

NF/GWS Télématics

TRT SNMP

N!ltOirector Ungermann Bass SNMP Sybase

SunNet Manager, ...n ••"",,,, Wellfleet HPOpenView

Netview 6000

PathWayManagement The WollongongSNMP

group

SNMPControl Point Xyplex RPC

Telnet

Schéma 4: Logiciels d'administration disponibles en janvier 94 (sur station Unix)

A~20 Administration des applicatifs réseaux

Références et Index

Référellces bibliographiques Références et Index

Références bibliographiques

[BAC 92] C. BAC & D. BOUILLET - "Administrer des systèmes Unix en réseall" - Edition

Duno - 1992

[BAP 93] S. BAPAT - "Richer Modeling Semantics for Management Information" - IFIP

Transaction C : Communication Systems - Integrated Network Management III - San

fransisco - 18-23 Avril- pages 15-28.

[BOU 82] S. BOURNE - "The Unix System" - Ed. Addison-Wesley Publishing Company ­

1982.

[BEN 93] C. BENZ, M. LEISCHNER - "A Righ Level Specification Technique for Modeling

Networks and their Environments ineluding Semantic Aspects" - IFIP Transaction C :

Communication Systems - Integrated Network Management III - San fransisco - 18­

23 Avril- pages 29-44.

[CHE 76] CHEN P.P-S - "The Entity-Relationship Model- To\Vard a Unified Vie\V ofData" ,

ACM Trans. Database Syst - 1 - p19 - 1976.

[CCITT M30] CCITT recommendation M.30 "Principles for Telecommunications

Management Network, version 5" - 1992.

[CHA 90] G.A. CHAMPINE - "MIT Project Athena - A model for Distributed Campus

Computing" - Digital Press - 1990.

[CLEM 93] A. CLEMM - "Incorporating Relationships into OSI Management Illformation"­

2nd IEEE Network Management and Control Workshop - Tarrytown - 21-23 Sept

1993.

[COL 94] J.P. ARMPACH, P. COLIN et F. OSTRE-WAERZEGGERS - "UNIX, Initiation et

utilisation" - Ed. InterEditions - 1994.

[COM 88] D.E. COMER - "Intemet\Vorking \Vith TCP/IP - Volume 1 - Principles, Protocols

and Architecture" - Prentice-Hall International Editions - 1988.

[COM 91] D.E. COMER, D.L. STEVENS - "Intemetworking \Vith TCP/IP Volume II ­

Design, implémentation, and intemals" - Prentice-Hall International Editions - 1991.

Administration des applicatifs réseaux B~ 2

Références et Index Références bibliographiques

[COM 93] D.E. COMER, DL STEVENS - "Intel'lletlVorking lVith TCP/IP Volume III ­

Client-server programming and applications" - Prentice-Hall International Editions ­

1993.

[CNE 92] CNET - "Gestion de réseaux - Concepts et Outils" - Masson - 1992.

[DUM 90] R. DUMEUR, J-A. LE BORGNE & M. BASSINI, "PratiX, Utiliser et

programmer X" - Edition C2V - 1990.

[ECK 92] W. Eckerson, E. MESSMER - "Is OSI Dead" - Network World - 1992.

[FER 93] P. FERNIQUE - "Un modèle pour l'administration des services applicatifs en

réseaux hétérogènes" - Acte du CFIP'93 - page 239 à 253 - 1993.

[FIL 93] J. FILIPIAK, A. LOMBARDO, S. PALAZZO - "Design of Network Management

Architecturesfor Heterogeneous Networks Using abject OrientedApproach" - IFIP

Transaction C : Communication Systems - Integrated Network Management III- San

fransisco - 18-23 Avril- pages 59-72.

[FRA 92] P. FRANÇON - "Configuration de Réseaux hétérogènes: Modèlisation par Objets

et Outil de Validation" - Thèse de Doctorat de l'Université Louis Pasteur de

Strasbourg - 1992.

[GAI 92] D. GAiTI, G. PUJOLLE - "De nouvelles architectures pour les communications ­

Réseaux intelligents - Service - Architecture et Outils" - Actes du Congrès - Paris - 13

au 15 oct. 1992.

[GAI 93] D. GAITI, G. PUJOLLE - "L'intelligence dans les Réseaux" - Eyrolles - 1993.

[GER 89] M-P. GERVAIS - "Modèle architectural pour la distribution et l'interconnexion

d'administrations de réseaux hétérogènes" - Thèse de Doctorat de l'Université Pierre

et Marie Curie - 1989.

[GON 85] M. Gondran, M. Minoux, "Graphes et algorithmes", Collection de la Direction des

Etudes et Recherches d'Electricité de France, Edition Eyroles, 1985.

[HAR 93] J. HARISTA, M. BALL, N. ROUSSOPOULOS, J. BARAS, A. DATTA - "Design

ofthe MANDATE MIE" -lF1P Transaction C: Communication Systems - Integrated

Network Management III - San fransisco - 18-23 Avril - pages 85-96.

[HEL 90] D. HELLER - "XvielV Programming Manual, an OPEN LOOK Toolkit for Xll"

dans "The Definitive Guides to the X WindolVs System - Volume 7" - O'Reilly &

Associates -1990.

Il .. 3 Administration des applicatifs réseau.'t

Références bibliographiques Références et Index

[HES 90] D.K. Hess, D.R. Safford, U.w. Pooch : "A Unix Protocol Secl/rity Stl/dy : Network

Information Service" - 1990.

[HON 93] J-w. HONG, M-A BAUER, F-M BENNET - "Integration ofThe Directory Service

in the Network Management Framework" - IFIP Transaction C : Communication

Systems - Integrated Network Management III - San fransisco - 18-23 Avril - pages

149-160.

[ISO N1387] ISO / IEC JTC 1 / SC 21 WG 4 N1387 - "Management Domain Management

FI/nction" - Décembre 1991.

[ISO N1389] ISO / IEC JTC 1/ SC 21 WG 4 N1389 - "Management Knowledge Management

FI/nction" - Novembre 1991.

[ISO N1390] ISO / IEC JTC 1 / SC 21 WG 4 N1390 - "General Relationship Model" ­

Novembre 1991.

[ISO N1404] ISO / IEC JTC 1 / SC 21 WG 4 N1390 - "OSI Software Management" - Janvier

1991.

[ISO 1002] ISOIIEC 1002 - "Information processing System - Open Systems Interconnection

-Message HandLing System".

[ISO 7498] ISOIIEC 7498 - "Information processing - Open Systems Interconnection - Basic

reference modelfor Open Systems Interconnection" - 1989.

[ISO 7498.4] ISOIIEC 7498-4- "Information Processing Systems - Open Systems

Interconnection - Basic Reference Model- Part 4: Management Framework" - 1989.

[ISO 8571] ISOIIEC 8571 - "Information processing System - Open Systems Interconnection

-File Transfert Access Management".

[ISO 8649] ISOIIEC 8649 - "Information processing System - Open Systems Interconnection ­

Association Control Service Element".

[ISO 8824] ISOIIEC 8824 - "Information processing System - Open Systems Illterconnection

- Specification ofAbstract Syntax Notation One (ASN.J)" - 1986.

[ISO 8825] ISO/IEC 8825 - "Information processing System - Open Systems Interconneetion

- Specification ofBasic Encoding RI/les for Abstract Syntax Notation One (ASN.J)" ­

1986.

[ISO 9072] ISOIIEC 9072 - "Information processing System - Open Systems Interconnection

-Remote Operatin Service Element".

Administration des applicat{fs réseaux B· 4

Références et Index Références bibliographiques

[ISO 9545] ISO/IEC 9545 - "Information processing System - Open Systems Interconnection

- Application Layer Structure" - 1987

[ISO 9579] ISO/IEC 9579 - "Information processing System - Open Systems Interconnection

-Remote Data Access".

[ISO 9594] ISO/IEC 9594 - "The Directory" - co-publié sous l'appellation CCITT X.500 ­

1990.

[ISO 9595·2] ISO / IEC JTC 1 / SC2l IS 9595-2, "Information processing System - Open

Systems Interconnection - Management Information Protocol Definition - Part 2 :

Common Management Information Service" - co-publié sous l'appellation CCITT

X.71O - Janvier 1991.

[ISO 9596·2] ISO / IEC JTC 1 / SC21 IS 9596-2, "Information processing System - Open

Systems Interconnection - Management biformation Protocol Definition - Part 2 :

Common Management Information Protocol" - co-publié sous l'appellation CCITT

X.712 - Janvier 1991.

[ISO 9804] ISO/IEC 9804 - "biformation processing System - Open Systems Interconnection

-Commitment, Concurrency and Recovery".

[ISO 10040] ISO / IEC JTC 1 / SC21 IS 10040, "biformation Technology - Open Systems

Interconnection - Systems Management Overview" - co-publié sous l'appellation

CCITI X.701 - Janvier 1992

[ISO 10164·1] ISO / IEC JTC 1 / SC21 IS 10164-1, "Infonnation Teclmology - Open Systems

Interconnection - Systems management - Part 1 : Object Management Function" - co­

publié sous l'appellation CCITI X.730 - Octobre 1991.

[ISO 10164-2] ISO / IEC JTC 1 / SC21 IS 10164-2, "biformation Technology - Open Systems

Interconnection - Systems management - Part 2 : State Management Function" - co­

publié sous l'appellation CCITI X.73l - Octobre 1991.

[ISO 10164-3] ISO / IEC JTC 1 / SC2l IS 10164-3, "biformation Technology - Open Systems

Interconnection - Systems management - Part 3 : Attributes for Representing

Relationships" - co-publié sous l'appellation CCITT X.732 - Janvier 1992.

[ISO 10165.1] ISO / IEC JTC 1/ SC21 IS 10165-1, "biformation Teclmology - Open Systems

Interconnection - Structure of Management Information - Part 1 : Management

Information Madel" - co-publié sous l'appellation CCITI x.no -Janvier 1992.

B~ 5 Administration des applicatifs réseaux

Références bibliographiques Références el Index

[ISO 10165-2] ISO / IEC JTC 1/ SC2l IS 10165-2, "Information Technology - Open Systems

Interconnection - Structure of Management Information - Part 2: Definition of

Management Information" - co-publié sous l'appellation CCITI X.721 - Janvier

1992.

[ISO 10165-4] ISO / IEC JTC 1/ SC2l IS 10165-4, "Information Technology - Open Systems

Interconnection - Structure ofManagement Information - Part 4: Guidelines for the

Definition ofManaged Objects" - co-publié sous l'appellation CCITT X.722 - Janvier

1992.

[ISO 11183-1] ISO/IECJTC 1 /SC2l DISP 11183-1, "InformationprocessingSystem- Open

Systems Interconnection - ??? - Part 1 : Specification of ACSE, Presentation and

Session Protocole for the use by ROSE and CMISE" - Octobre 1990.

[ISO 11183-2] ISO IIEC JTC 1/ SC2l DISP 11183-2, "Information processing System - Open

Systems Interconnection - ??? - Part 2 : Entranced Management Communications" ­

Octobre 1990.

[ISO 11183-3] ISO / IEC JTC 1 / SC2l DISP 11183-3, "Information processing System - Open

Systems Interconnection - ??? - Part 3 : Basic Management Communications" ­

Octobre 1990.

[ISO 11578] ISO / IEC CD 11578, "RPC: Remote Procedure CalI Protocol" - 1992.

[KOn 89] Y. KOBAYASHI - "Standardization issues in integrated Management" -Integrated

Network Management 1 - Proceedings of the IFIP TC 6IWG 6.6 Symposium on

Integrad Network management - Boston, MA, USA, 16-17 Mai 1989.

[KAU 75] A. KAUFMANN, GROUCHKO, CRUON - "Modèles mathématiques pour l'étude

de la fiabilité des systèmes" - Masson - 1975

[KOS 92] D. KOSIUR - "Réseaux Macilltosh -le livre MacWorld" - Editions Sybex - 1992.

[KUN 84] R. KUNG - "Heuristic Search in Database Design" - SpringerVerlag, 1985.

[KUN 92] R. KUNG - "L'état du Réseau Intelligent" - Actes du Congrès sur les nouvelles

architectures pour les communications - Paris - 1992.

[LAM 82] L. LAMPORT, S. ROBERT, P. MARSHALL - "The Byzantine Generais Problem"

- ACM Transactions on Progamming Languages and Systems Vol 4 - Numéro 3 ­

1982.

[LEC 93] C. LECERF - D. CHOMEL - "Les nonnes de gestion de réseau à l'ISO" - Cnet &

Enst - Ed Masson - 1993.

Administration des applicatifs réseaux B~ 6

Références ct Index Références bibliographiques

[LEI 93] A. LEINWAND - "Accomplishing Pe/formance Management lVith SNMP" - Proc.

INET - 1993.

[MAC 87] C. MACCHI - "Téléinformatique - Transport et traitement de l'information dans

les réseaux et systèmes téléinformatiques et télématiques, Chapitre i4 : Disponibilité

d'un système téléinformatique" - page 724 à 744 - Bordas - 1987.

[MAU 93] C. MAURIN - "Rapports de disponibilité matérielle et applicative" - Alcatel

Business Systems - 1993.

[MAN 90] K. MANNING, D. SPENCER - "Model Based Network Management" - Roke

Manor Research Ltd - 1990

[NEU 93] B. NEUMAIR - "Modelling Resourcesfor integrated Pe/formance Management" ­

IFIP Transaction C : Communication Systems - Integrated Network Management III

- San fransisco - 18-23 Avril- pages 109-122.

[OKI 93] B. OKI, M. PFUEGL, A. SIEGEL, D. SKEEN - "The information Bus - An

architecture for Extensive Distributed Systems" - Operating Systems Review - ACM

Press - Vol 27, Numéro 5 - Décembre 1993.

tOUS 90] J.K. OUSTERHOUT - "TCL: An Embeddable Command Language"- Proc. Winter

USEN1X Conference - pages 133-146 - 1990.

[POL 69] A.M. POLOVKO - "Fundamentals ofreliability theory" - Academie Press - 1969

[POS2 88] "POSTGRES reference manllal - Section 2 : information on the illteractill between

POSTGRES and the operating system UNiX" - University of California - 1988.

[POS4 88] "POSTGRES reference manllal - Section 4 : POSTQUEL - description of the

general syntax ofPOSTQUEL" - University of California - 1988.

[POSS 88] "POSTGRES reference manual - Section 5 : LIBPQ - programmer's interface to

POSTGRES" - University of California - 1988.

[RFC 760] J. POSTEL - "internet Protocol" - Request for comments 760 - Network

Information Center, SRI International - 1980.

[RFC 761] J. POSTEL - "Transmissioll Control Protocol" - Request for comments 761

Network Information Center, SRI International - 1980.

[RFC 768] J. POSTEL - "User Datagram Protocol" - Request for comments 768 - Network

Information Center, SRI International - 1980.

B- 7 Administration des applicatifs résemo:

Références bibliographiques Références et Index

[RFC 821] J. POSTEL - "Simple Mail I)'ansfer Protocol" - Request for comments 821

Network Information Center, SRI International - 1982.

[RFC 854] J. POSTEL, J.K. REYNOLDS - "Telnet Protocol specification" - Request for

comments 854 - Network Information Center, SRI International - 1983.

[RFC 959] J.POSTEL, J.K. REYNOLDS - "File Transfert Protocol" - Request for comments

959 - Network Information Center, SRI International - 1985.

[RFC 1033] "Domain Names - Concepts and facilities" - Request for comments 1033 ­

Network Information Center, SRI International.

[RFC 1052] V. Cerf - "IAB Recommendations for the Development of Intemet Management

Standards" - Request for comments 1052 - 1988.

[RFC 1057] Sun Microsystems, Inc., - "RPC .' Remote Procedure Call Protocol specification .'

version 2" - Request for comments 1057 - 1988.

[RFC 1094] Sun Microsystems, Inc., - "NFS.' Nehvork File System Protocol specification" ­

Request for comments 1094 - 1988.

[RFC 1094] M. ROSE, Mc. CLOGHRIE - "Structure & Identification of Management

Information fol' TCPIIP-Based Intemets" - Request for comments 1155 - Network

Information Center, SRI International - 1988.

[RFC 1156] "Management Information Base fol' NehVork Management of TCPIIP-based

Intemets" - Request for comments 1156 - Network Information Center, SRI

International - 1988

[RFC 1157] "A Simple Network Management Protocol (SNMP)" - Request for comments

1157 - Network Information Center, SRI Internationa1- 1989.

[RFC 1158] M. ROSE - "Management Information Basefor NehVork Management ofTCPIIP­

based intemets - MIB IF' - Request for comments 1158 - Network Information Center,

SRI Internationa1- 1990.

[RFC 1213] K. McCLOGHRIE, M. ROSE - "Management Information Base fol' NehVork

Management of TCP/IP-based intemets.' MIB-II" - Request for comments 1213,

Hughes LAN Systems, Performance Systems International - 1991.

[RFC 1243] S. WALDBUSSER - "AppleTalk Management Information Base" - Request for

comments 1243 - Carnegie Mellon University - 1991.

[RFC 1296] M. LüTTER - "Internet Growth" - Request for comments 1296 - 1992.

AdminÎstration des applicatifs réseaux B· 8

Références et Index Références bibliographiques

[RFC 1442] J. CASE, K. McCLOGHRIE, M. ROSE, S. WALDBUSSER, "Structure of

Management Information for version 2 ofthe Simple NetworkManagemelll Protocol

(SNMPv2)" - Reguest for comments 1442 - Network Information Center, SRI

International - 1993.

[RFC 1514] P. GRILLO, S. WALDBUSSER - "Host Resources MIB" - Reguest for comments

1514 - Sept 1993.

[RFC 1565] S. KILLE, WG. CHAIR - "NellVork Services Monitoring MIB" - Reguest for

comments 1565 - 1994.

[RIF 86] A.P. RIFKIN - "Remote File Sharing : Architecture Overview" - Conférence Usenix

- 1986.

[RIF 93] J.M. RIFFLET - "La programmation sous UNIX" - Ed. Ediscience international ­

3ème édition - 1993.

[ROL 91] P. ROLIN - "Réseaux locaux - Normes et protocoles" - Ed. Hermès - 4ème édition

- 1991.

[ROS 89] M. ROSE - "The Open Book : A Practical Perspective on Open Systems

interconnection", Prentice-Hall, 1989

[ROS 94] M. ROSE - "The Simple Book: An introduction to Internet Management", Prentice­

Hall - 2nd ed. - 1994.

[SER 93] D. SERET, T. LIAO - "La gestion des réseaux d'elllreprise" - Réseaux et

informatigue répartie - Ed. Hermes - Volume 3 - numéro 4 - 1993.

[SCH 83] F. SCHNEIDER - "Fail-Stop Processors" - Digest ofPapers from Spring CompCon

- IEEE Computer Society International Conference - 1983.

[SCH 93] J. SCHONWALDER, H. LANGENDORFER - "Administration oflarge distributed

UNIX !ANs with BONES" - Proc. World Conference On Tools and Techniques for

System Administration, Networking, and Security, Arlington (Virginia) -Avril 1993.

[SCH 93a] J. SCHONWALDER, H. LANGENDORFER - "An application Independent

NellVork EditaI''' - Institute for Operating Systems and Computer Networks - 1993.

[sm 93] M. SIBILLA, D. MARQUIE, Y. RAYNAUD - "Management Information Base;

Guidelines leadig from generic specification of managed abject relationships ta

consistent implemelllation" - 4th. annual Int. Workshop on Distributed Systems,

Operations and Management (DSOM'93), Long Branch NJ., US - 5 et 6 Octobre

1993.

B· 9 Administration des applicatifs réseaux

Références bibliographiques Références et Index

[STA 93] W. STALLINGS - "SNMp, SNMPv2, and CMIP - The practical Guide ta NetlVork­

Management Standards" - Ed. Addison-Wesley Publishing Company, Inc - 1993.

[STE 91] H. STERN - "Managing NFS and NIS" - O'Reilly & Associates - 1991.

[STO 76] M. Stonebraker - "The Design and Implementation of INGRES" - ACM-TODS,

1976.

[STO 81] M. Stonebraker - "Operating System Support for Databas Management" - CACM,

1981.

[STO 83a] M. Stonebraker - "Pelformance Analysis of a Distributed Data Base System" ­

Proc. 3th Symposium on Reliability in Distributed Software and Data Base Systems,

Clearwater, Fla, 1983.

[STO 83b] M. Stonebraker - "Document Processing in a Relalional Daabase System" - ACM

TOOIS, 1983.

[STO 85] M. Stonebraker - "Triggers and Inference in Data Base systems" - Proc. Islamoora

Conference on Expert Data Bases, Islamoora, Fla, 1985.

[STO 86] M. Stonebraker - "Ine/usion ofNew Types in Relational Data Base Systems" - Proc.

Second International Conference on Data BAse Engineering, Los Angeles, Ca, 1986.

[SUN 91] "The Network Information Service" - SunOs Reference Manual- Sun Corporation ­

1991.

[SUN 92] SunConnect - "Sunnet Manager 2.0 - Usas Guide Reference and Programmer's

Guide" - 1992.

[SYL 93] M. SYLOR - "Junction Objets - A solution ta a problem innaming and locating OSI

managed abjects" - Integrated Network Management III - Noth-Holland - 1993.

[TER 92] K. TERPLAN - "Communications NetlVorks Management" - Ed. Prentice-Hall ­

1992.

[VAL 91] R. VALTA - "Design concepts for a Global Network Management Database" ­

Integrated Network Management II - 1991.

[WAL 93] S. WALDBUSSER - "A look at the Host Resources MIE" - The Simple Times, Vol

2, No 3, mai/juin 1993 ou Connexions, Vol 17, No 11, no 1993.

[WALL 93] L. WALL, R.L. SCHWARTZ - "Programming PERL" - O'Reilly & Associates,

Inc - 1993.

Administration des applicatifs réseaux B· 10

Références et Index

Liste des figures

Administration de réseaux:J'état de J'art

Liste des figures

Partie 1

Fig. 1 : MIE SNMP au sein de l'arbre de dénomination iso-ccil! 27Fig. 2 : Structure arborescente de la MIE pour TCPIIP 29Fig. 3 : MIE privées dans le SMI 30Fig.4 : Arbre de dénomination des classes d'objets d'aministration ISO 32Fig. 5 : Composantes d'un agent OS1. 37Fig.6 : L'interface INED 47Fig. 7 : Architecture générale de Sunnet Manager 48Fig. 8 : Interface de Sunnet Manager 51Fig. 9 : Utilisation de la couche application par les programmes des utilisateurs 54Fig. 10 : services applicatifs d'une station de travail sous le système Unix 57Fig. 11 : Structure des NIS 65

Un modèlepour J'administrationdes applications réseaux Partie Il

Fig. 12 : Illustration des problèmes de dépendances des services réseaux 75Fig. 13 : Illustration des problèmes d'impacts sur les services réseaux 76Fig. 14 : Illustration intuitive du concept de base du modèle 82Fig. 15 : Graphe d'un service réseau élémentaire 89Fig. 16 : Graphe d'un service réseau par dénomination 91Fig. 17 : Graphe d'un service réseau en cascade 94Fig. 18 : Illustration d'une portion de réseau Ethernet 98Fig. 19 : Exemple de graphe de réseau physique 99Fig. 20 : Exemple de graphe global associé au modèle 104Fig.21 : Evolution dans le temps des graphes globaux 105Fig. 22 : Déduction du graphe de dépendances associé à un service 106Fig. 23 : Graphe de dépendances d'un service de consultation de boites aux lettres 108Fig. 24 : Illustration de la méthode de contraction 109Fig. 25 : Exemple de graphe contracté de dépendances 110Fig. 26 : Récapitulation des applications de base du modèle 118Fig. 27 : Exemple de modélisation d'une application multivoque 119Fig.28 : Diagramme entité-association de la base de données associée au modèle 120Fig.29 : Extrait du diagramme pour la représentation du réseau physique 121Fig. 30 : Provenance des données du modèle 125

c- 1 Administratioll des applicatifs réseaux

Liste des figures Références et Index

Fig. 31 : Interdépendance cyclique dans le cas de montages de disques 134:Fig.32 : Exemple de calcul de la fiabilité d'un service 138Fig.33 : Calcul de l'impact des machines 142Fig.34 : Exemple de graphe de la sécurité d'une ressource 147Fig.35 : Calcul des coûts des services réseaux 151 .

Validation du modèle par implantation Partie III

Fig.36 : Exemple d'acquisition de données 167Fig. 37 : Extrait de code pour la recherche des programmes serveurs actifs 168Fig. 38 : Structures de données des graphes 173Fig. 39 : Rôles des deux entités de la maquette d'administration 174Fig. 40 : Les modules de l'entité fonctionnelle ADSAR 176Fig. 41 : Architecture de la maquette ADSAR 177Fig. 43 : Syntaxe POSTQUEL de création de la table décrivant les utilisateurs 180Fig. 42 : Diagramme entité-association de la base de données associée au modèle 181Fig. 44 : Méthode de lancement des commandes d'acquisition 183Fig. 45 : Ecran d'accueil d' ADSAR 187Fig.46 : Menu de l'exploitation de la base de données 187Fig. 47 : Exemple d'interrogation de la base de données 188Fig. 48 : Menu de l'analyse des services à surveiller 189Fig.49 : Exemple de visualisation du graphe de dépendances d'un service 190Fig.50 : Exemple de calcul de la fiabilité d'un service 190Fig.51 : Graphe de dépendances d'un service réduit aux ordinateurs 191Fig.53 : Exemple de calcul de l'impact d'un ordinateur 191Fig. 52 : Liste des ressources dans le graphe global 192Fig. 54 : Menu de l'analyse des services possibles 192Fig. 55 : Exemple de recherche de services élémentaires 193Fig. 56 : Menu de lancement manuel des sondes 193

Annexes

Fig. 1 : Structure d'un tableau dynamique(tbd) A-9Fig. 2 : Structure d'un graphe orienté valué (grph) A-12Fig. 3 : Types de données supportés pal' POSTGRES A-17Fig. 4 : Logiciels d'administration disponibles en janvier 94 (sur station Unix) A-18

Administration des applicatifs réseaux C- 2

)

!\

\

\

Références et Index

Liste des tableaux

Administration de réseaux:l'état de l'art

Liste des tableaux

Partie 1

Tab. 1 : Exemples d'agents propriétaires Sunnet.. 49

Un modèlepour l'administrationdes applications réseaux Partie /1

Tab. 2 : Répartition des problèmes affectant les services applicatifs 79Tab. 3 : Evaluation du nombre de ressources 112Tab.4 : Estimation du nombre d'instances de programmes 113Tab.5 : Exemple de calcul de la fiabilité des services 139Tab.6 : Exemple de calcul d'impacts réduits 142Tab.7 : Exemple de calcul d'impacts réduits en fonction de services pondérés 143Tab.8 : Exemple de calcul de la sécurité d'une ressource 148Tab.9 : Exemple de répartition des coûts globaux sur les services 151

Validation du modèle par implantation Partie /1/

Tab. 10 : Description des champs de la table "Machine" 179Tab.ll : Description des champs de la table "Loc-Ress" 180Tab.12 : Fiabilités de certains services d'impression 194Tab.13 : Fiabilités de certains services de montages de disques 195Tab. 14 : Fiabilités de divers services illustratifs 196Tab. 15 : Impacts des ordinateurs les plus représentatifs 197Tab. 16 : Quelques caractéristiques de "volumes"de la maquette ADSAR 199Tab. 17 : Quelques caractéristiques temporelles de la maquette ADSAR 199

Annexes

Tab.l : Description des champs de la table "Machine" A-3Tab.2 : Descriptions des champs de la table "Utilisateur" A-4Tab.3 : Description des champs de la table "Loc-Ress" A-4Tab.4 : Description des champs de la table "Ressource" A-5

1). 1 Administration des applicatifs réseaux

Liste des tableaux Références et Index

Tab. 5 : Description des champs de la table "Programme" A-6Tab.6 : Description des champs de la table "Loc-Prog" A-6Tab.7 : Description des champs de la table "Prog-Prog" A-7Tab.8 : Description des champs de la table "Login" : A-7

AdmÙÛstralioll des applicatifs réseaux D~ 2

Références et Index Glossaire des abréviations

Glossaire des abréviations

- ADSAR Administration des Dépendances entre Services ApplicatifsRéseaux

- ANSI American National Standards Institute-ARO Army Research Office- ASN.l Abstract Syntax Notation One- AUI.. Attachment Unit Interface- CAP Columbia Appletalk Package- ccnT Comité Consultatif International pour la Télégraphie et la

Téléphonie- CERT Computer Emergency Response Team- CMIS Common Management Information Service- CMIP Common Management Information Protocol- CNET.. Centre National des Etudes en Télécommunication- CPU Control Process Unit- DARPA Defense Advanced Research Projects Agency- DIS Draft Internet Standard- DCE Distributed Computing Environment- DME Distributed Management Environment- DN Distinguished Names- DNS Domain Name Server- DP Draf Proposais- DSA Directory Service Agent- EGP External Gateway Protocol- ER Entity Relationship- FTAM File Tranfer Acces and Management- FTP File Transfer Protocol- GDM0 Guidelines for the Definition of Managed abjects- GDN Global Distinguished Name-IAB .Internet Advisory Board-ICMP Internet Control Message Protocol-1EC. .International Electrotechnical Committee- IETF .Internet Engeneering Task Force-INCM Intelligent Network Conceptual Model-IP .Internet Protocol-IPX Internet Protocol eXchange-ISO .International Standardization Organization- JTC Joint Technical Commiltee- LAN Local Area Network- MAN Metropolitan Area Network- MHS Message Handling System-- MIB Management Information Base- MSDOS MicroSoft Disk Operating System

EM 1 Administration des applicatifs réseaux

Glossaire des abréviations Références et Index

- MTA Message Transfer Agent- NCSA National Center for Supercomputing Applications- NIS Network Information Service- NFS Network File System- NSF National Science Foundation- OIW OSI Implementers Workshop- OSF Open Software Foundation- OS!.. Open System Information- OSI NMIFORUM Open System Information / Network Management Forum- PC Personal Computer- RCP Remote CoPy- RFC Request For Comments- RFS Remote File Sharing- RDA Remote Data Access- RDN Relative Distinguished Name- RENATER Réseau NAtional de Télécommunication pour l'Enseignement et

la Recherche- RMON MlB Remote Monitoring Management Information Base- RNIS Réseau Numérique à Intégration de Services- RO Remote Opération- RPC Remote Procedure Cali- RSH Remote SHeli- SAR System Availability Reporting- SC SubComittee- SGBD Système de Gestion de Base de Données- SMAP System Management Application Process- SMI Structure of Management Information- SMTP Simple Mail Transfer Protocol- SNMP Simple Network Management Protocol- SQL Simple Quety Language- TCP Transmission Control Protocol- TCPIIP Transmission Control Protocol / Internet Protocol- TMN Telecommunication Management Network- TP Transaction Processing- UDP User Datagram Protocol- UIT.. Union Internationale des Télécommunications- VT Virtual Terminal- WAIS Wide Area Internet Space- WAN Wide Area Network- WD Working Draft- WG Working Group

Administration des applicatifs réseaux E· 2

Références et Index

Table des matières

Partie /.

Administration de réseaux:l'état de l'art

1. Le contexte général del'administration de réseaux

Table des matières

1.1. Administration de réseaux 111.1.1. Une définition de l'administration de réseaux 111.1.2. Les éléments à administrer 11

• Le matériel 12• Le logiciel 12• Les utilisateurs 12

1.1.3. Les fonctionnalités de l'administration 12- La gestion de la configuration 13- La gestion des anomalies 13- La gestion des performances 13• La gestion des informations comptables 14- La gestion de la sécurité 14

1.1.4. Les niveaux d'administration 15• L'administration opérationnelle 15- L'administration tactique 15- L'administration stratégique 16

1.2. Réseaux hétérogènes, standards et normes 161.2.1. Réseaux hétérogènes: une description 16

- Hétérogénéité des matériels et des logiciels 16- Hétérogénéité architecturale 17• Hétérogénéité des données 17

1.2.2. Standards de fait 171.2.3. Normes et organismes de normalisation 18

1.3. Hétérogénéité et administration 181.3.1. L'administration mise en place par les utilisateurs 191.3.2. L'administration proposée par les constructeurs 191.3.3. L'administration par les standards 201.3.4. L'administration normalisée 20

F~ 1 Administration des applicatifs réseaux

Table des matières

2. L'état de l'art en administration deréseaux

Références et Index

2.1. Cadre des travaux d'administration de réseaux 222.1.1. Les organismes de normalisation 22

- L'ISO 23- Le CCITT 23

2.1.2. Les associations d'utilisateurs et de constructeurs 24- OSI NM/FORUM 24- L'OSF 24- L'IAB 24

2.2. Architecture générale d'un système d'administration 252.3. L'information d'administration 26

2.3.1. L'information sous SNMP 26- Dénomination et description des objets sous SNMP 26- MIB, MIB-II, extensions de MIB et MIB privées 28

2.3.2. L'information d'administration ISO 31- Modèle orienté objet 31- Dénomination des objets gérés 32- La description des objets 33

2.3.3. Autres modèles d'informations 352.3.4. Evaluation des modèles d'informations 35

2.4. Les mécanismes mis en œuvre pour l'administration 362.4.1. Les agents d'administration 36

- Les agents SNMP 36- Les agents OSI 3'1- Comparaison entre agents SNMP et agents OSI 38- Autres solutions 38

2.4.2. Les canaux et protocoles d'administration : 39- Le protocole SNMP : 39- CMIP et les services associés CMIS 40- Comparaison des protocoles SNMP et OSI 40- Les protocoles à publications 41- Quelques autres protocoles utilisés pour l'administration 42

2.4.3. Les plates-formes d'administration 44- Stockage de l'information 44- Analyse de l'information 45- Interface 46

2.4.4. Un exemple de plate-forme d'administration: Sunnet Manager 47- Architecture générale de Sunnet 48- Les agents Sunnet 49- La base de données Sunnet 49- Méthodes d'interrogation des agents 50- Exploitation et génération de résultats 50- Outils de développement de Sunnet.. 50

Administration des applicatifs réseaux F· 2

Références et Indcx

3. Administration des dépendances deservices applicatifs

Table des matières

3.1. Contexte général de l'administration des dépendances entre services applicatifs 523.1.1. Service réseau: une définition 523.1.2. Application réseau: une définition 53

- Les concepts généraux 53- Description des applications réseaux 53- Les applications réseaux pour un ordinateur standard 56

3.1.3. Dépendances entre applications réseaux 583.2. L'état de l'art de l'administration des dépendances entre services réseaux 59

3.2.1. Mécanismes existants 59- Une première expérience d'administration des services réseaux: "Moira" du pro-

jet Athena 59- L'administration des applications sous SNMP 61- L'administration des applications dans le modèle OSI 62- Travaux d'extension du modèle OSI et SNMP pour l'administration des services

applicatifs réseaux 63- Un modèle constructeur: NIS 64

3.2.2. Une solution utilisateur précurseur 66- Le modèle de données 66- Les mécanismes mis en œuvre 67- Les résultats obtenus 67- Evaluation du modèle 68

Partie Il.

Un modèlepour l'administrationdes applications réseaux

4. Hypothèses et finalité du modèle

4.1. Finalité du modèle 754.2. Contexte d'application du modèle 774.3. Hypothèses de travail 774.4. Présentation informelle du modèle 81

5. Description formelle du modèle

5.1. Modélisation des services réseaux 845.1.1. Les objets 84

F ~ 3 Administration des applicatifs réseaux

Table des matières Références et Index

5.1.2. Les applications de base 85- Les ressources d'une machine 85- Programmes d'une machine 85- Programmes clients et programmes serveurs 85- Ressources gérées par un programme serveur 86- Utilisateurs d'un programme c1ienl.. 86- Utilisateurs d'un programme serveur 86- Le réseau physique 87

5.1.3. Définition des services réseaux élémentaires 87- Détail des conditions d'un service réseau élémentaire 88- Exemple de service réseau élémentaire 89

5.1.4. Définition des services réseaux - dénomination de ces services 89- Définition de l'application de dénomination 89- Exemple de service réseau par dénomination 90

5.1.5. Définition des services réseaux en cascade 91- Application de transition 91- Définition d'un service réseau en cascade 92- Exemple de service réseau en cascade 93

5.1.6. Les programmes comme ressources 935.1.7. Définition générale d'un service réseau 95

5.2. Modélisation du réseau physique 955.2.1. Graphe du réseau physique 96

- Les équipements réseaux 96- Les équipements 96- L'ensemble des connexions 97- Graphe du réseau physique 97

5.2.2. Définition de l'application n 98- Rappel 98- Contrainte sur l'application n 99

5.2.3. Hypothèses sur le réseau physique 99- Hypothèse sur les réseaux multi-protocoles 99

5.3. Modèle temporisé 1005.3.1. Fenêtres temporelles 100

- Définition des fenêtres temporelles d'un service 101- Exemple de règle de tir 101

5.4. Graphes associés au modèle 1015.4.1. Graphe global de dépendances des services réseaux 1025.4.2. Graphe global de dépendances à un instant donné 1045.4.3. Graphe de dépendances d'un service 1045.4.4. Graphe contracté 106

6. Du modèle théorique au modèleinformatique

6.1. Evaluation de la quantité d'informations manipulées 1116.1.1. Nombre d'éléments du modèle dans un cas réel 1126.1.2. Ordre de grandeur 113

6.2. Les services modélisés 1166.3. Principe de mise en œuvre pour la mémorisation des données 116

Administration des applicatifs réseau.:r F· 4

Références et Index Table des matières

6.3.1. Type de la base de donnée 1176.3.2. Schéma de la base de données des objets et des relations 117

• Représentation des objets 117· Représentation des relations entre objets 118· Schéma de la base de données 119· Représentation du graphe physique du réseau 120

6.4. Acquisition des données d'administration 1226.4.1. Principes d'acquisition 1226.4.2. Les informations pré·existantes sur le réseau 122

· Principe d'acquisition des données pré·existantes 122• Principe de mise à jour des données pré·existantes 123• Informations issues d'autres bases de configuration 123

6.4.3. Les données déclarées 124• Principe d'acquisition des données déclarées 124· Principe de mise à jour des données déclarées 126

6.5. Recherche des services réseaux et de leurs dépendances 1266.5.1. Déduction des services réseaux élémentaires 1266.5.2. Dénomination des services réseaux élémentaires et fonction de transition 1296.5.3. Construction du graphe global de dépendances 131

7. Résultats de la modélisation

7.1. Gestion de la configuration 1327.1.1. Connaissance des configurations 1327.1.2. Repérage des interdépendances cycliques 133

- Exemple d'interdépendance cyclique 133· Cycle dans les graphes de dépendances 134

7.2. Gestion des anomalies et des performances 1357.2.1. Fiabilité d'un service réseau 136

- Définition de la fiabilité d'un service 136- Calcul de la fiabilité d'un service 136- Estimation de la qualité d'un réseau 139

7.2.2. Impact d'un ordinateur 140_Définition de l'impact d'une machine 141- Définition de l'impact réduit d'une machine 141

7.2.3. Charge des machines 1437.2.4. Diagnostic de pannes 144

7.3. Gestion de la sécurité 1467.3.1. Sécurité d'une ressource 1467.3.2. Calcul de la sécurité d'une ressource 1477.3.3. Indication de "trou" de sécurité 148

7.4. Gestion des informations comptables 1487.4.1. Répartition des frais réels 149

· Principe de la répartition des frais 149• Une méthode de répartion en fonction des services offerts 150• Exemple de calcul de coût.. 151· Calcul des frais imputés à l'utilisateur 152

F· 5 Administratioli des applicatifs réseaux

Table des matières

Partie III.

Références et Index

Validation du modèle par implantation

8. Contexte de la maquette

8.1. Le modèle implanté 1598.1.1. Les concepts théoriques implantés 1598.1.2. Les types d'ordinateurs et de protocoles supportés 1608.1.3. Les services réseaux modélisés 1608.1.4. Les résultats implantés 161

8.2. Cadre de l'expérimentation 1618.2.1. L'infrastructure et la technologie du réseau de test 1618.2.2. Le parc des machines 1628.2.3. Les utilisateurs 1628.2.4. Les services fournis 1628.2.5. Les caractéristiques particulières du réseau Vivaldi 1638.2.6. Le choix de l'ordinateur d'accueil de la plate-forme d'administration 1648.2.7. Avantages et inconvénients du site de tes\.. 164

8.3. Les choix de l'implantation 1648.3.1. La base de données 1658.3.2. L'acquisition des données 166

- Méthodes pour l'acquisition des données pré-existantes 166- Méthodes pour l'acquisition des données déclarées 170

8.3.3. La génération des graphes et le calcul des résultats 1718.3.4. La plate-forme d'administration 172

- L'entité de gestion de la base de données BDadsar 174- L'entité fonctionnelle AD8AR 175

9. La maquette ADSAR : implantation,utilisation et évaluation

9.1. L'implantation de la maquette AD8AR 1789.1.1. Implantation et génération de la base de données BDadsar 178

- Tables de la base de données 178- Diagramme de la base de données de la maquette 180- Génération de la base de données par le prototype AD8AR 180

9.1.2. Implantation des modules de l'entité fonctionnelle AD8AR 181- Implantation du "moteur central" de AD8AR 181- Implantation du module d'acquisition des données 183- Problèmes d'implantation 185

9.2. Fonctionnaiités de la maquette AD8AR 1869.2.1. Lancement du prototype 1869.2.2. Génération et exploitation courante de la base BDadsar 187

- Régénération de la base 187- Exploitation courante de la base 187

Administratioll des applicatifs réseaw,: F.. 6

Références et Index Table des matières

• L'analyse des services réseaux 189• Recherche de tous les services réseaux 192

9.2.3. Acquisition des données 1939.3. Résultats d'exploitation et caractéristiques de leur obtention 194

9.3.1. Résultats des calculs de la fiabilité des services 194• Services d'impressions 194· Services d'importation de disques 195· Autres services 196

9.3.2. Résultat du calcul de la qualité de service globale 1979.3.3. Résultats de calculs d'impact.. 1979.3.4. Caractéristiques des calculs de résultats 198

• Caractéristiques d'occupation mémoire 199• Caractéristiques temporelles 199

9.4. Evaluation de la maquette et retour d'expérience 2009.4.1. Evaluation des choix techniques 200

· Méthode d'acquisition 200· Manipulation des graphes 201• Base de données 201• Interface utilisateur 202

9.4.2. Evaluation des résultats d'exploitation 202- Gestion de la configuration 202• Calcul de la fiabilité 203- Calcul de la qualité de service 203- Calcul de l'impact 204

Annexes

- Description des tables de la base de données BDadsar A-3- La table de description des ordinateurs A-3- La table de description des utilisateurs A-4• La table de localisation des ressources A-4• La table de description des ressources A-5- La table de description des programmes A-6- La table de localisation des programmes A-6• La table des relations entre programmes A·7- La table des droits d'exécution A-7

- Primitives et structures d'implantation des tableaux dynamiques et des graphes A-8- Les tableaux dynamiques: bibliothèque tbd A·8• Les graphes orientés valués: bibliothèque grph A-10

FR 7 Administration des applicatifs réseaux

Table des matières Références el Index

- Extrait du shell script d'acquisition d'informations A-15- Types de données du SGSD POSTGRES .A-17- Logiciels d'administration A-18- Références bibliographiques 8·2_ Liste des figures C-1- Liste des tableaux 0-1_ Glossaire des abréviations E.1- Table des matières F-1

Administratioll des applicatifs réseaux F~ 8