UniTO/anno2/Sem2/GR/GR-Capitolo-1-Appunti.txt
2024-10-29 09:11:05 +01:00

767 lines
No EOL
41 KiB
Text
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Appunti delle lezioni di
Gestione di Sistemi e Reti
2006-2007
Franco Sirovich
© Franco Sirovich 1
1. Che cosa è un sistema di gestione?
1.1. Quando serve un sistema di gestione?
La cosa inizialmente più difficile da afferrare è il ruolo e lo scopo di un sistema di gestione, in
quanto è un componente di un sistema informatico con il quale, nella esperienza comune di
utilizzatori del sistema, non si viene a contatto. È un componente che viene usato dal personale che si
occupa del corretto funzionamento del sistema, e non dagli utilizzatori finali del sistema. Questa
distinzione fra "utilizzatori" va tenuta ben presente quando si parla di gestione: occorre non
confondere gli utilizzatori del sistema gestito con gli utilizzatori del sistema di gestione.
I sistemi informatici vengono costruiti e messi in campo per rispondere alle esigenze dei loro
utilizzatori. Per essere utili, oltre ad avere funzionalità ben concepite ed essere ben realizzati, devono
"funzionare": un bel sistema che fa cose meravigliose quando funziona ma che è spesso (e soprattutto
quando se ne ha bisogno) malfunzionante ("down"), non risponde alle esigenze degli utilizzatori. Ciò
che è difficile credere, se non si ha esperienza, è che un sistema informatico deve essere gestito se si
vuole che continui a funzionare come da sue specifiche: pare incredibile che lasciato a se stesso
rapidamente diventi inutilizzabile. Per questa ragione si sviluppano sistemi di gestione.
Un Sistema di Gestione deve permettere di
monitorare in maniera automatica tutto il sistema informatico,
analizzare il guasto,
aiutare a individuare la probabile causa,
attivare operazioni automatiche di riparazione o di richiesta di intervento umano.
Il Sistema di Gestione non elimina la necessità di personale di gestione, ma permette una gestione
più efficace e possibilmente proattiva, cioè che anticipa i problemi ed evita che essi si verifichino.
Una gestione reattiva invece permette soltanto di reagire ad un problema quando questo si verifica.
Chiaramente abbiamo bisogno sia di una gestione proattiva, che di una gestione reattiva perché una
gestione proattiva non può evitare completamente che si verifichino problemi o guasti. I sistemi
1 Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Non commerciale-Non opere derivate
2.5 Italia. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-nc-nd/2.5/it/ o
spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
1 di 17
informatici devono essere gestiti, e per questo si sviluppano sistemi di gestione.
GSR è un corso sulla gestione di sistemi distribuiti, cioè sistemi costituiti da macchine ed
applicazioni connesse in rete. Quando si deve gestire un sistema distribuito di deve anche gestire la
rete che interconnette le macchine. Gli aspetti di comunicazione diventano quindi quelli più
importanti, e quanto più numerosi sono i componenti di un sistema tanto più numerose sono le fonti
di malfunzionamento. Quindi la gestione dei sistemi distribuiti è molto più complessa, ma anche più
necessaria, della gestione di un sistema informatico che non utilizza sistemi di comunicazioni ed è
quindi costituito da componenti che eseguono tutti su un unico sistema di calcolo.
GSR espone la tematica della gestione partendo dal punto di vista del sistema di comunicazione.
Internet ha sviluppato una architettura di gestione (basata su opportuni standard detti, nella
terminologia di Internet, RFC o Request For Comments) che si applica sia agli apparati di rete che
alle macchine ed alle applicazioni. Questa architettura è nota con il termine SNMP: Simple Network
Management Protocol, che letteralmente è il nome del protocollo applicativo usato in questa
architettura; un esempio della figura retorica sineddoche, che consiste nell'usare la parte per indicare
il tutto.
Internet non è stata la prima ad affrontare il problema della gestione. Ovviamente esistono
standard e architetture proprietarie sviluppate dai costruttori che sono interessati a vendere ai clienti
il sistema gestione assieme al sistema informatico da gestire. Le architetture proprietarie sono
sostanzialmente simili a quelli di Internet: conoscere SNMP permette rapidamente di impadronirsi
degli strumenti e delle metodologie di architetture proprietarie. Ma esiste anche una seconda
architettura di gestione aperta e vendor independent, come SNMP, che è stata definita dall'ISO
(International Standard Organisation) nell'ambito della serie di protocolli chiamata OSI (Open
System Interconnect) e viene spesso indicata con il termine OSIMIS (OSI Management Information
System). OSIMIS è stata definita a partire dalle esigenze delle grandi reti di telecomunicazioni,
ancora in uso nelle reti pubbliche geografiche basate su tecnologia SDH (Synchronous Data
Hierarchy), ATM (Asynchronous Transfer Mode) e altre. OSIMIS è molto più complesso di SNMP,
ma SNMP deve molte sue idee a OSI Management e quindi costituisce una buona introduzione a
OSIMIS, che vi tornerà utile se doveste lavorare con OSIMIS.
Perché servono degli standard per gestire i sistemi informatici? Perché se tutti i componenti del
sistema informatico implementano la stessa architettura di gestione, anche se sono realizzati da
diversi produttori, quindi aderiscono ad uno standard aperto e indipendente dal fornitore il cliente
può gestire diversi componenti con la stessa infrastruttura di gestione (vedremo che cosa è) ed è
libero di acquistare i componenti del suo sistema da fornitori diversi, scegliendo l'offerta di volta in
volta più conveniente. Le architetture proprietarie invece vincolano il cliente ad acquistare sempre e
solo componenti dallo stesso fornitore perché gli altri fornitori sono messi in condizione di non avere
le informazioni necessarie per gestire i propri componenti con l'architettura di gestione di un altro
fornitore. Nel caso di sistemi distribuiti il numero e il tipo dei componenti del sistema è molto alto e
quindi l'effetto "prigione" di una architettura proprietaria è ancora maggiore.
Storia di SNMP
SNMP (Simple Network Management Protocol, detto anche SNMPv1) fu definito inizialmente
negli ultimi anni '80, avendo in mente, come dice il nome, uno standard estremamente semplice ed
economico da implementare. L'aspetto economicità e semplicità è particolarmente rilevante per i
sistemi di gestione, perché gli strumenti di gestione sono facilmente considerati un un "sovrappeso",
che si vorrebbe evitare di pagare (almeno, fino al primo grave malfunzionamento del sistema
gestito!).
RMON (Remote Network Monitoring), costruito su SNMP, fu rilasciato nel 1991 e rivisto
(RMON2) nel 1995. RMON permette, come dice il nome, di monitorare (cioè tenere sotto controllo)
da remoto intere reti LAN, piuttosto che ciascuno dei componenti di rete; definisce quindi algoritmi e
database per gestione di LAN.
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
2 di 17
La semplicità di SNMP ne favorì un grande successo commerciale, sia tra i costruttori che
soprattutto fra gli utilizzatori, che ne apprezzarono l'aspetto "aperto" e "multivendor". Ma assieme al
successo commerciale risultarono ben presto evidenti le troppe limitazioni dell'impostazione di
SNMPv1.
Fu quindi preparata una seconda versione dello standard chiamata SNMPv2, che fu standardizzata
nel 1993 e rivisto nel 1995. Questa seconda versione è caratterizzata da
Maggiore efficienza nell'uso della infrastruttura di rete
Maggiori funzionalità rispetto a SNMPv1
Ma anche SNMPv2 soffre di pesanti limitazioni funzionali e ciò portò alla definizione di SNMPv3
che fu standardizzato nel 1998, e che costituisce un progresso estremamente significativi rispetto a
SNMPv2:
Fornisce un quadro complessivo per le presenti e future versioni di SNMP
Aggiunge funzionalità di sicurezza a SNMP
Inevitabilmente SNMPv3 risulta molto più complesso e costoso di SNMPv1 e di SNMPv2 e
quindi ha avuto un successo commerciale molto inferiore.
Cercheremo di realizzare esercitazioni, che faranno uso di un sistema di gestione installato nel
Laboratorio e di uso molto comune nelle aziende: HP Open View. Le esercitazioni non saranno
fiscalizzate (anche questo anno): non devono essere "superate" per poter fare lesame. L'esperienza
con il corso di GSR per la laurea triennale ha mostrato che frequentare assiduamente le esercitazioni
e comprendere bene tutto quello che vi viene presentato nelle esercitazione è molto utile per passare
l'esame senza fare una fatica eccessiva. Se avremo tempo e "risorse umane" offriremo le esercitazioni
anche quest'anno.
Lo scopo delle esercitazioni è
Fornire strumenti di comprensione
Fornire strumenti di validazione dello studio fatto e della comprensione raggiunta
Alla fine del Corso vorremmo che lo Studente fosse capace di
Configurare un semplice agente di gestione
Analizzare, progettare e realizzare piattaforme di gestione utilizzanti SNMP
Compiere una valutazione dello stato di un sistema distribuito basandosi sugli elementi
raccolti dal sistema di gestione.
La maturità e la profondità con cui questi obiettivi sono raggiungibili da uno studente della laurea
magistrale è ovviamente molto maggiore di quella raggiungibile da uno studente della laurea
triennale.
Ma quali sono, con maggior precisione, le funzionalità che deve offrire un sistema di gestione? È
importante definirle perché uno standard di gestione deve essere funzionale a raggiungere questi
obiettivi.
1.2. Requisiti di un Sistema di Gestione
I requisiti di un sistema di gestione sono stati definiti con chiarezza dall'ISO in ambito OSI,
definendo le seguenti aree funzionali che un Sistema di Gestione dovrebbe rendere disponibili:
Fault Management
Accounting Management
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
3 di 17
Configuration Management
Performance Management
Security Management
Queste aree di intervento sono state riconosciute generalmente valide in quanto "discendono" dai
requisiti degli utenti (amministratori) riguardo ad un sistema di gestione; alcune di queste aree
devono essere supportata da un protocollo applicativo di gestione (quale SNMP), altre da
applicazioni di gestione che vengono sviluppate al di sopra del (utilizzando il) protocollo di gestione.
Quindi il protocollo di gestione deve permettere di costruire applicazioni di gestione, ma non deve
necessariamente realizzare completamente queste funzioni al suo interno.
Notate che anche se il protocollo di gestione è una applicazione in termini di architettura Internet,
non risolve necessariamente tutti i problemi di gestione: deve invece costituire una base su cui
costruire applicazioni di gestione che rispondano alle esigenze degli amministratori del sistema.
Internet ha ripreso queste aree funzionali, ma la sua architettura di gestione non risponde in modo
ugualmente soddisfacente a tutte.
Analizziamo le aree funzionali perché ci permettono di capire i requisiti di utente che un Sistema
di Gestione dovrebbe soddisfare. Riprendiamo il tema della chiara definizione di utente del sistema di
gestione. La prima risposta è che lUtente è il Gestore del Sistema, che chiameremo genericamente
"amministratore", anche se in molte realtà aziendali l'amministratore ricopre un rango più elevato,
rispetto ai generici "sistemisti". Ma il Gestore del Sistema in realtà risponde alle richieste e alle
proteste degli utilizzatori del Sistema che viene gestito, almeno se è un buon gestore e se l'azienda per
cui lavora ha davvero come obiettivo la soddisfazione dei Clienti!
1.2.1. Fault Management
I guasti vanno ovviamente gestiti: cosa vuol dire? Quando si ha un guasto, occorre nel più breve
tempo possibile:
Determinare esattamente dove si è verificato
Isolare il resto della rete/sistema dal guasto in modo che possa continuare a funzionare
Riconfigurare la rete/sistema in modo da minimizzare limpatto del componente guasto (è il
cosiddetto workaround)
Riparare o rimpiazzare il componente e riportare la rete/sistema al suo stato iniziale normale
Gli utenti finali si aspettano una soluzione immediata o comunque veloce, e si aspettano che le
prestazioni e le funzionalità del sistema gestito siano il più possibili all'altezza del sistema senza il
guasto. Quindi quello che occorre minimizzare è il tempo di mancanza di servizio, o di servizio
ridotto, che costituisce il fattore determinante della Qualità del Servizio (Quality of Service, QOS).
Naturalmente, questa è la misura di una variabile "stocastica", non si presenta in ogni caso con lo
stesso valore; occorre quindi minimizzare in primo luogo la media annuale del tempo di mancanza di
servizio o di servizio ridotto, e in secondo luogo minimizzare la varianza nell'annodi questa misura o
il tempo massimo nell'anno di mancanza di servizio.
La individuazione e la diagnosi del guasto devono essere il più veloci possibile, perché concorrono
a formare il tempo di mancanza di servizio. Un buon Sistema di Gestione minimizza questi tempi,
automatizzando il più possibile queste attività.
È importante capire fino dall'inizio che gli utenti finali possono solo segnalare che qualcosa non
funziona perché il sistema non fornisce il servizio atteso; una segnalazione da parte degli utenti finali
del sistema informatico è già un fallimento del sistema informatico. Le statistiche sul comportamento
degli utenti indicano che solo una piccola percentuale degli utenti segnala il malfunzionamento ai
fornitori del servizio: la maggior parte degli utenti semplicemente prende provvedimenti senza
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
4 di 17
protestare, ma questi "provvedimenti" non sono mai in favore del fornitore del servizio! Quindi
basarsi sugli utenti finali per la segnalazione dei guasti è la peggior pratica che si possa adottare.
Un Sistema di Gestione invece può e deve tenere sotto controllo tutti i componenti del sistema e
accorgersi da solo del loro malfunzionamento, prima che (e senza che) gli utenti finali segnalino il
problema. Per questo una gestione proattiva è molto migliore di una gestione reattiva. Ovviamente, la
riparazione del guasto deve essere effettuata dal personale di gestione, che però se non viene
avvertito non può intervenire. Quindi tutti i meccanismi di segnalazione dei problemi al personale di
gestione, ad es. tramite messaggi SMS, sono parte integrante del Fault Management.
Eseguire Fault Management richiede inevitabilmente interagire con il sistema gestito per
raccogliere dati sul suo funzionamento per verificare il suo corretto funzionamento. Questa
interazione con il sistema gestito non deve abbassare significativamente la prestazione del sistema.
1.2.2. Accounting Management
Per accounting si intende in generale contabilizzazione dei costi o delluso delle risorse del
sistema. Anche se il sistema gestito non fornisce servizio a Clienti esterni allAzienda (come invece
succede nelle aziende che vendono il servizio) luso delle risorse del sistema deve (spesso) essere
contabilizzato ed addebitato agli utilizzatori, perché
Un utente o un gruppo di utenti può abusare delle risorse messe a disposizione e condivise
Gli utenti possono fare un uso inefficiente delle risorse del sistema
Sempre più spesso l'uso delle risorse del sistema viene addebitato agli utenti interni del sistema
gestito perché questa pratica permette di capire come e dove vengono usate le risorse. Se il gestore
del sistema conosce il livello e il modo di utilizzo delle risorse è in migliori condizioni per pianificare
la crescita del sistema, che è l'attività indispensabile per una gestione proattiva del sistema.
Il gestore del sistema deve essere in grado
Di definire il tipo di informazioni di accounting che il sistema di gestione deve raccogliere nei
vari punti del sistema
Lintervallo di tempo per la raccolta delle informazioni, e linvio ai livelli più alti di gestione
dellinformazione
Gli algoritmi usati per calcolare la contabilizzazione
La frequenza e il formato dei report di accounting
Solo una parte molto limitata di queste funzionalità può essere fornita direttamente dal protocollo
applicativo di gestione: questo è una delle aree in cui è necessaria la maggiore "customizzazione", o
personalizzazione, della gestione di una sistema informatico, anche perché i dati raccolti devono
essere forniti al sistema di contabilizzazione usato all'interno dell'azienda, che è ben lungi da essere
"standard".
1.2.3. Configuration and Name Management
I sistemi moderni sono composti di componenti e sottosistemi logici che possono/devono essere
configurati per effettuare una grande varietà di funzioni in una grandissima varietà di modi. Una volta
deciso il modo di utilizzo del componente, il Sistema di Gestione deve aiutare il gestore a scegliere il
software appropriato e il set dei valori delle variabili di configurazione che sono appropriati per il
software usato e per le funzioni desiderate.
L'area del Configuration Management riguarda anche linizializzazione e lo shutdown di una rete,
o di un sistema, o di un suo componente. Spesso è richiesto che operazioni sui componenti siano
compiute automaticamente, ad es. shutdown o startup di una scheda di interfaccia di rete.
Configuration Management deve permettere una facile riconfigurazione della rete, o la
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
5 di 17
configurazione della rete secondo modelli predefiniti e archiviati. Infatti, spesso è necessario tenere
in archivio diverse configurazioni della rete o dei componenti e poter facilmente passare da una
configurazione ad un'altra per rispondere a necessità che si verificano con una certa regolarità.
Un esempio di configurazione? Assegnare lindirizzo IP ad una interfaccia, impostare il nome di
dominio di una macchina, ecc.
1.2.4. Performance Management
La gestione delle prestazioni è unarea estremamente importante oggi, in quanto lefficacia delle
applicazioni spesso si basa sulle prestazioni di componenti del sistema che hanno un ruolo critico nel
determinare le prestazioni complessive. Questa area può essere scomposta in monitoring e control.
Nella gestione delle prestazioni, occorre essere in grado di rispondere a domande quali:
Quale è il livello di utilizzo della capacità del componente?
Cè traffico/carico eccessivo?
A che livello è il throughput del componente? È ridotto a livelli eccessivi?
Ci sono colli di bottiglia nel sistema?
A che livello è il tempo di risposta del sistema o di un suo componente?
Lanalisi delle prestazioni, e soprattutto la previsione dellandamento delle stesse, è impossibile se
non si dispone di un modello del sistema, anche se semplificato. La previsione si basa inevitabilmente
sulla raccolta di statistiche sui dati di prestazione del sistema e dei suoi componenti, che devono
essere raccolte con regolarità, e archiviate in un opportuno database.
1.2.5. Security Management
Riguarda la gestione di meccanismi di protezione e di controllo degli accessi, quali la generazione,
distribuzione e memorizzazione di
Chiavi di cifratura
Password
Informazione di controllo degli accessi
La gestione della sicurezza richiede in primo luogo di monitorare e controllare laccesso alle reti e
ai sistemi. È quindi essenziale tenere sotto controllo ed analizzare i log di accesso e dei tentativi di
violazione della sicurezza. Un tentativo fallito di accesso al sistema gestito può essere solo causato
dalla digitazione errata delle credenziali di accesso, ma una serie ripetuta e frequenta di tentativi di
accesso falliti è sicuramente segno di un tentativo di accesso fraudolento. È essenziale essere in grado
di rilevare i tentativi di accesso fraudolento per mettere in atto misure di protezioni specifiche contro
l'attaccante.
1.3. L'architettura di un sistema di gestione
L'architettura di un sistema di gestione è descritta (da Stallings) nella prossima figura. La figura è
complessa perché dobbiamo/vogliamo raffigurare non solo i componenti di gestione ma anche quelli
gestiti; inoltre, si ha come sempre la necessità di rappresentare sia gli aspetti "hardware" del sistema
(quante e quali macchine ci sono) ma anche i componenti software che eseguono sulle varie
macchine. Stallings usa il termine Network Management System (NMS) per indicare l'intero sistema
che effettua la gestione, e ovviamente il NMS è costituito da due componenti:
Una applicazione, con una interfaccia grafica potente, che permette di eseguire tutti i tipi di
compiti di gestione del sistema che sono necessari e che viene chiamata Network
Management Application (NMA)
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
6 di 17
Un insieme di entità che gestiscono i dispositivi, che sono quasi sempre incorporate nei
dispositivi stessi; e che sono chiamate Network Management Entity (NME).
Al di là dei termini, si riconoscono i due tipi di componenti che abbiamo introdotto nel paragrafo
precedente, e cioè Manager e Agent. Ricordiamo che NMA e NME sono "applicazioni" per quanto
riguardo il protocollo di trasporto. La NMA è talmente complessa che sicuramente esegue come una
applicazione del sistema operativo ospite. La NME può in certi casi essere parte del sistema operativo
se deve interagire molto "a basso livello" con le risorse che deve gestire.
La figura permette di fare un certo numero di considerazioni interessanti. Ve diamo che nel
sistema c'è una workstation che è un oggetto gestito, evidentemente perché il suo corretto
funzionamento è considerato importante. Ma la macchina su cui esegue la NMA stessa non è degna
di essere gestita anche lei? Non è di notevole importanza? Se tale macchina non funziona il sistema
di gestione non funziona; quindi anche la macchina che Stallings chiama Network Control Host
(NCH) e che ospita una NMA deve essere gestita. Ma per essere gestita deve avere un componente
NME che permette alla NMA di gestire la stessa macchina su cui esegue. Naturalmente la gestione
avverrà tramite protocollo applicativo, che non ha problemi a funzionare trasparentemente fra
applicazioni che eseguono sulla stessa macchina
Questa figura evidenzia elementi che la figura di Mauro non evidenzia (attenzione alle didascalie
nella figura!), ma non evidenzia il ruolo server/client dei componenti, internet-wise, cioè secondo la
architettura internet di applicazioni distribuite.
• Si noti che in un server, lapplicazione sotto gestione è un importante oggetto da gestire: la NME
(Agent) deve permettere di gestire la applicazione, non solo lhardware o il SO della macchina.
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
7 di 17
Un NMS aggiunge qualcosa al sistema da gestire; almeno una NMA (Manager), e le NME
(Agent). Spesso le NME sono già contenute nei dispositivi da gestire e al massimo si devono
"configurare". Quindi la gestione di un sistema "costa" qualcosa e introduce componenti
addizionali a quelli del sistema gestito.
Un NMS deve permettere di avere una vista completa di tutto il sistema sottoposto a gestione, in
una architettura unificante, nella quale ogni componente del sistema (applicazione, workstation,
server, router, switch, bridge, link, etc.) è mostrato, etichettato, indicato con il suo indirizzo, etc.
1.3.1. Attività della NME e della NMA
I componenti del sistema di gestione hanno diversi compiti. Finora abbiamo parlato assai più dei
compiti della NMA, ma le NME sono essenziali perché la NMA offra i servizi desiderati agli
amministratori del sistema gestito. Ogni NME (Agent) svolge i seguenti compiti
Raccoglie e mantiene informazioni sulle attività del dispositivo (applicazione, host, elemento
di rete,...) che gestisce;
Immagazzina queste informazioni localmente, in genere con certi limiti sulla quantità di
informazioni che mantiene;
Risponde a comandi da parte della NMA, che gli chiedono di:
Trasmettere le informazione raccolte;
Modificare un parametro della configurazione del dispositivo;
Fornire informazioni di stato, ad es. valori di configurazione del dispositivo o stato di suoi
componenti;
Generare traffico artificiale per fare dei test;
Invia in modo autonomo alla NMA messaggi di avviso (trap) quando è necessario
La logica applicativa della gestione è implementata nella NMA, che quindi diventa un componente
estremamente critico del sistema gestione, per cui non ci può essere un solo host su cui esegue la
NMA (Manager), perché se tale host ha un guasto il sistema è fuori controllo
Il Network Management Center (NMC) consiste quindi di almeno due Network Control Host
(NCH). NMA e NME comunicano usando un protocollo di gestione. Dato che NMA e NME si
basano sul sistema operativo della macchina ospite e sul software di comunicazione, i venditori di
sistemi operativi spesso offrono NMS che sono proprietari, cioè progettati per essere usati solo sul
software del venditore. Recentemente sono emersi sistemi di gestione standardizzati per poter essere
usati su apparecchiature di venditori diversi
1.3.2. Architettura di una NMA
Come ci si può aspettare la NMA in se stessa ha una architettura complessa. I componenti possono
essere classificati nei seguenti tipi:
Software per la presentazione dei dati allutente
Network management software
Software di comunicazione e di data base
Una NMA è tipicamente usata in modo interattivo dagli amministratori del sistema e quindi deve
avere del software per l'interazione con gli amministratori. Questi aspetti grafici possono anche essere
molto sofisticati per esempio per mostrare grafici dell'andamento nel tempo di variabili importanti
quali il tempo di risposta del sistema, l'occupazione delle risorse, ecc. La gestione di un sistema
richiede l'esecuzione di elaborazioni specifiche come pure la esecuzione di attività programmate dagli
amministratori; quindi una buona NMA deve fornire un ampio corredo di software specifico per la
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
8 di 17
gestione di sistemi. Infine, i dati relativi ai dispositivi gestiti devono essere reperiti tramite le NME
(usando uno stack di comunicazione) ma anche salvati in un database per archiviazione storica a per
poter pianificare la crescita di potenza del sistema gestito (capacity planning). La prossima figura
tenta di illustrare la architettura interna di una NMA.
La figura ci permette di notare alcuni aspetti importanti di una applicazione di gestione.
1.3.3. Sistema unificato di interazione con l'utente
Una NMA è costituita da numerosi componenti (come vedremo), molti dei quali devono interagire
con l'utilizzatore della NMA; è importante che lo stile di interazione con l'utente sia uniforme sia
nella grafica che nella impostazione dei dialoghi e dei menu tramite i quali si accede alle funzioni dei
singoli componenti. Per questa ragione la figura rappresenta la NMA come racchiusa all'interno di
una Unified user interface che costituisce il "canale di comunicazione" fra utente e NMA.
1.3.4. Presentazione della informazione di gestione
Anche questo è un componente che conviene unificare perché componenti diversi producono gli
stessi tipi di informazione di gestione da mostrare all'utente. Le elaborazioni necessarie per
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
9 di 17
"costruire" i dati da mostrare all'utente devono essere unificate, sia per risparmiare sviluppo di codice
sia per dare uniformità alla interfaccia utente, che deve presentare sempre nello stesso modo dati
della stessa natura.
In questo strato di Presentation of network management information vengono anche implementate
le modalità di dialogo con l'utente che devono essere condotte in modo unificato e coerente. La
uniformità della interfaccia utente nei vari componenti del sistema ha come ulteriori benefici effetto
la riduzione della necessità di formazione del personale e la riduzione degli errori operativi.
La presentazione delle informazioni digestione presenta una addizionale difficoltà nel progetto
della modalità di interazione con l'utente. Poiché le informazioni di gestione sono estremamente
numerose e di grandi dimensioni, vi è il pericolo che il gestore sia inondato di informazione, e perda
di vista le cose importanti nella sua situazione. Occorre quindi fornire strumenti per organizzare,
riassumere e semplificare questa enorme quantità di informazione, con elevate possibilità di
personalizzazione.
1.3.5. Network Management Software
Il software di gestione vero e proprio può avere complessità molto variabile da NMS a NMS, ma
sempre più comunemente è molto complesso perché deve rispondere a requisiti molti diversi e
sofisticati. Nella figura è rappresentato il caso di un software di gestione complesso e ricco di
funzionalità.
1.3.5.1. Applicazioni di gestione
Nel riquadro più interno della figura vengono evidenziate un certo numero di Network
Management Application che sono i componenti che realizzano la logica applicativa della NMA. Le
NMA sono ambienti applicativi estremamente complessi, che vengono sviluppati nell'arco di lunghi
periodi, aggiungendo moduli o programmi che svolgono funzioni specifiche, che devono essere
richiamabili dall'utente in modo unificato.
L'automazione di compiti di gestione tramite applicazioni specifiche sviluppate dagli
amministratori del sistema dovrebbe essere disponibile agli amministratori alla stessa stregua di
applicazioni native della NMA.
1.3.5.2. Application Element
Le applicazioni che forniscono servizi direttamente fruibili dagli amministratori fanno uso di
componenti, chiamati Application Element, il cui ri-uso favorisce la riduzione di costo e la
robustezza (mancanza di errori) dell'intera NMA.
Gli application element costituiscono anche uno strumento di astrazione rispetto ai servizi di più
basso livello su cui è costruito l'ambiente della NMA.
1.3.5.3. Servizio di trasporto di dati di management
Lo strato sottostante viene indicato con questo termine perché questo è in fondo il suo compito:
mettere la NMA in comunicazione con le informazioni di gestione che le sono necessarie. Queste
informazioni possono provenire da varie fonti e per questo è necessario un livello di astrazione. A
questo livello possono anche essere realizzate modalità di accesso ai dati che non sono offerte dai
servizi sottostanti ma che possono essere implementate mediante le funzioni da essi offerti: ad es.
operazioni di aggregazione di dati.
Quali possono essere le fonti di informazioni di gestione?
1.3.5.4. Stack di protocolli di comunicazione
Il sistema gestito è ovviamente la forma primaria e più immediata di informazioni di gestione. Gli
NME mantengono, almeno in parte, la informazione di gestione relativa ai dispositivi che gestiscono
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
10 di 17
e quindi la NMA deve certamente poter interagire con il sistema gestito mediante un opportuno stack
di protocolli di comunicazione.
Molto spesso una NMA deve essere sviluppata in modo da poter essere usata con diverse
architetture di gestione, proprietarie o standard, e quindi con diversi stack di protocolli di
comunicazione; inoltre, deve spesso essere disponibile su diversi sistemi operativi e diverse
architetture hardware. Per questa ragione lo stack di protocolli di comunicazione non può essere
interfacciato direttamente agli strati superiori della NMA ed è necessario uno strato di astrazione e di
unificazione dei vari servizi offerti nei vari ambienti in cui la NMA dovrà eseguire, che verrà poi
linkato alle librerie corrette.
1.3.5.5. Modulo di accesso alla MIB (Management Information Base)
La figura evidenzia che questo modulo permette l'accesso ad un database che contiene
informazione di gestione: la Management Information Base. Questo è tipicamente ospitato da un data
base relazionale commerciale oppure open source, a seconda della politica commerciale del fornitore
della NMA.
Le applicazioni di gestione devono operare su dati che descrivono i dispositivi in un certo istante,
ma devono anche archiviare i dati raccolti storicizzandoli, perché interessa il loro andamento nel
tempo. Sui dati storici possono essere effettuate statistiche e analisi di tendenza.
I dati istantanei che riguardano i dispositivi di gestione si ottengono usando lo stack di
comunicazione e contattando le NME, ma la base storica dei dati rilevanti deve essere costruita dalla
NMA contattando periodicamente le NME e memorizzando i dati ottenuti in un data base.
Il modulo ben separato di accesso a database è necessario perché la NMA deve poter essere
venduta pronta per usare database diversi di costruttori diversi, perché una azienda tipicamente ha già
scelto un data base e non vuole acquistare un diverso data base solo per poter fare la gestione del
sistema informatico. I diversi produttori di data base spesso introducono piccole differenze nelle
interfacce di accesso al loro data base per guadagnare vantaggi competitivi rispetto ai concorrenti.
Anche i driver di database "standard" come ODBC presentano spesso sottili differenze da un
database ad un altro.
L'architettura di una NMA mette quindi in rilievo l'importanza di questa base di dati di
informazioni di gestione. Le applicazioni devono poter lavorare con facilità e in modo trasparente sia
sui dati storici che sui dati raccolti in un dato istante dai dispositivi. Per questa ragione il servizio di
trasporto dei dati di management si appoggia da un lato sul DB, e dallaltro sullo stack di
comunicazione: per nascondere agli strati superiori il modo con cui i dati sono ottenuti. I dati
istantanei sono ottenuti contattando l'Agent sul dispositivo, mentre i dati riferiti ad un istante nel
passato sono ottenuti dallo storico sul database. Gli Agent sui dispositivi quindi realizzano al loro
interno la parte istantanea (corrente) della MIB, che il Manager può prelevare mediante il servizio di
trasporto dei dati di management.
1.4. La Management Information Base (MIB)
Come si può apprezzare, il termine MIB viene quindi usato in modo ambiguo per riferirsi a volte
ai dati di gestione memorizzati sul database, e altre volte per riferirsi ai dati di gestione che
concettualmente sono immagazzinati all'interno degli Agent (delle NME), e si dice che "la MIB è
dentro agli Agent". Il protocollo di management offre operazioni di raccolta dei dati della MIB
mantenuta nel dispositivo (come illustrato nella parte bassa della figura precedente).
Dentro alla MIB, i dati devono obbedire ad un particolare schema dei dati, come in tutti i data
base. Lo schema dei dati all'interno del database può essere liberamente definito dai progettisti della
NMA, al fine di ottenere le migliori funzionalità e prestazioni. Invece i dati all'interno degli Agent è
bene che siano standardizzati, in modo che dispositivi della stessa natura siano gestibili nello stesso
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
11 di 17
modo usando lo stesso codice e la stessa logica. Se due dispositivi della stessa natura, ad es. due host,
sono descritti da dati di gestione che hanno uno schema diverso, la NMA deve sviluppare due moduli
diversi per gestire questi due dispositivi anche se sono in realtà "la stessa cosa". Questo è un
problema tipico per ogni applicazione che usa un database: lo schema dei dati deve essere
"conosciuto" dall'applicazione perché essa funzioni come l'hanno progettata gli sviluppatori.
Può non essere sempre facile decidere se due dispositivi sono della stessa natura, ma nella
maggior parte dei casi è facile capire che sono diversi: non ci sono dubbi che un acquario di pesci
(supponendo che volessimo gestirlo perché il suo corretto funzionamento è essenziale per mantenere
alto il morale dei lavoratori e quindi avere successo sul mercato) non può essere gestito usando le
stese informazioni che invece permettono di gestire un router, che necessita a sua volta di
informazioni diverse da quelle necessarie per gestire un database management system. Questa
dipendenza della NMA dallo schema dei dati di gestione spiega anche la proliferazione delle
applicazioni di gestione: quando ho necessità di implementare logiche di gestione sofisticate, è
inevitabile che si debba scrivere codice che è specifico per i dati che specificamente descrivono il
dispositivo. Per mettere in un grafico l'andamento di una misura posso anche non sapere che cosa
significa la misura (ad es., la temperatura dell'acqua dell'acquario, il numero di pacchetti al secondo
in ingresso ad una interfaccia, il numero di transazioni al secondo eseguite dal DBMS) ma se voglio
che la mia NMA esegua azioni e controlli più sofisticati ci sarà il momento in cui la gestione di un
acquario diverge da quella di un router.
Quindi è importante è definire lo schema dei dati istantanei resi disponibili dalle NME (Agent) in
modo che dispositivi della stessa natura, anche se prodotti da costruttori diversi offrano gli stessi dati
con lo stesso significato: cioè offrano lo stesso modello. Invece i costruttori hanno interessi diversi,
soprattutto quando offrono dispositivi complessi che richiedono una opportuna gestione: in questo
caso sono interessati a sviluppare essi stessi un buon sistema di gestione che aumenti il valore dei
loro dispositivi e che però non possa essere usato per gestire dispositivi simili dei concorrenti, che ne
trarrebbero vantaggio senza avere fatto gli investimenti. Inoltre, se la gestione dei componenti del
sistema informatico è proprietaria, il Cliente avrà difficoltà a cambiare fornitore e passare ad un
fornitore concorrente. Quindi i costruttori sono interessati a sviluppare architetture di gestione
proprietarie, anche nel modello dei dati di gestione. L'interesse degli utenti è invece quello che ci
siano buoni standard di gestione aperti e vendor-independent, e che i costruttori adottino questi
standard aperti per i loro dispositivi. Per questa ragione Internet ha sviluppato la "sua" architettura di
gestione aperta, e questa architettura include la definizione dei modelli, cioè del loro schema dei dati,
dei dispositivi più diffusi (non a caso non ha ancora sviluppato lo schema dei dati di gestione degli
acquari per pesci).
Come per tutti gli schemi di DB, deve essere usato un formalismo opportuno per definire lo
schema dei dati; nei database questo formalismo si indica spesso con il termine Data Definition
Language. Se vogliamo definire degli schemi di dati di gestione standard per dispositivi di diversa
natura, occorre che anche il formalismo per esprimere questi schemi e la modalità con cui verranno
definiti siano standardizzati. Il linguaggio e le modalità da adottare per esprimere lo schema delle
MIB dei dispositivi è definito in Internet da uno standard (RFC) chiamato Structure of Management
Information (SMI).
Il protocollo di management offre operazioni di raccolta dei dati della MIB mantenuta nel
dispositivo (vedere la figura precedente). Si può pensare di realizzare un NMS che sia capace di
gestire dispositivi di costruttori diversi solo se le MIB di dispositivi dello stesso tipo sono uguali; e
non potranno essere uguali se la SMI usata per definire la MIB è già essa stessa diversa.
1.5. Gestione "Distribuita"
La concezione del sistema di gestione come basato su un unico NMS centralizzato non è
soddisfacente. Infatti i gestori del sistema devono poter lavorare in sedi diverse, o su LAN diverse
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
12 di 17
della stessa sede, e comunque su macchine diverse. Non è accettabile che gli amministratori debbano
recarsi nella sala macchine dove è situato il server che ospita il NMS e d'altra parte i Management
Server devono essere replicati per ragioni di affidabilità e di continuità del servizio.
Gli amministratori accedono alle applicazioni che costituiscono il NMS tramite terminale remoto
grafico. Le applicazioni di gestione accedono agli Agent sui dispositivi direttamente via protocollo di
gestione, o tramite Element Manager che fanno da mediatori rispetto ai dispositivi. Lo scenario è
quindi assai complesso, come illustrato nella prossima figura.
Gli Element Manager sono componenti che possono essere necessarie per varie ragioni. Una
ragione è che i dispositivi da gestire sia gestiti tramite una architettura di gestione proprietaria diversa
da SNMP; in tal caso gli Element Manager funzionano da gateway applicativi o proxy. Ma gli
Element Manager possono essere necessari quando i dispositivi non possono ospitare una architettura
Internet di gestione a causa della limitazione delle risorse di calcolo: in tal caso gli Element Manager
sono degli Agent che interagiscono con le risorse da gestire mediante interfacce ad hoc, che possono
richiedere o meno dei protocolli di comunicazione.
Abbiamo quindi uno schema di interazione come illustrato nella prossima figura:
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
13 di 17
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
14 di 17
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
15 di 17
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
16 di 17
L'NMA contatta il proxy agent (o proxy manager, nel gergo di Stallings), che traduce la richiesta
del manager in una forma appropriata per il componente di interesse. Le risposte provenienti dal
sistema interessato vengono a loro volta tradotte nello standard di gestione del manager e inviate al
manager. Viene spesso adottato uno schema a RPC (Remote Procedure Call) per la realizzazione di
queste architetture sistemistiche.
02/09/2007:17:05
GSR2006-07-Capitolo-1-Appunti
17 di 17