Gestione della rete
SNMP
Gestione della rete - SNMP
1
Gestione della rete
Tipologia dei problemi affrontati
Caratteristiche generali della gestione della
rete
Protocolli di gestione
Gestione della rete - SNMP
Standard per le informazioni gestite - MIB
SMI e codifica dei nomi ASN.1
Gestione della rete - SNMP
2
Scenario
R
H2
H1
company
network
H2 non riesce a scaricare dati da H1 a velocita’
superiore a 100 Kbit/s
H1 ed H2 sono connessi da una LAN a 100
Mbit/s
Cosa sta succedendo?
Gestione della rete - SNMP
3
Scenario/2
R
H2
company
network
H1
Alcune possibili cause
Uno dei link traa H1 e H2 e’ caduto e si sta usando il
collegamento wireless
Il router R e’ congestionato
………..
Gestione della rete - SNMP
4
Obiettivi della gestione di rete
Configurazione
Necessita’ di raccogliere informazioni e intervenire
su stato dispositivi e Sw
Contabilita’
Necessita’ di raccogliere informazioni su traffico,
connessioni ecc.
Controllo delle prestazioni
Guasti
Sicurezza
Gestione della rete - SNMP
5
Esempio
Erogatrice di bibite (EB)
La gestione coinvolge diversi aspetti
Come gestire migliaia di EB dislocate su scala
geografica?
Gestione
guasti
Gestione
denaro
EB
Alimentazione
Bibite
UI
Gestione della rete - SNMP
6
Esempio/2
Gestione remota di EB accessibili
via rete
Agente
Raccoglie informazioni sullo stato di
una EB
Puo’ permetterne la gestione
Agente
EB
Agente
EB
Manager
Agente
EB
Gestione della rete - SNMP
7
Altri esempi
Controllo elementi di rete
Controllo remoto di host
Controllo del traffico
Allocazione di risorse
Individuazione di attacchi
Verifica di SLA (Service Level Agreement)
Sicurezza
Gestione della rete - SNMP
8
Approccio
Agente
Elemento attivo (Sw) presente su ogni dispositivo da
controllare
E’ in sostanza un server
Raccoglie informazioni di stato sul dispositivo
Offre un’interfaccia per agire in modalita’ remota sul dispositivo
Manager
Raccoglie informazioni/agisce sul dispositivo
Accede al dispositivo attraverso l’agente
Agisce da client verso l’agente di gestione
Protocollo tipo client/server tra manager e agente
Gestione della rete - SNMP
9
Architettura generale
Architettura centralizzata
Entita’ controllate
Dati di gestione
Agente
Dati di gestione
Dati di gestione
Agente
Agente
Protocollo di gestione
Manager
Gestione della rete - SNMP
10
Problemi - stratificazione
A quale livello agisce il protocollo
Livello applicativo
• Indipendenza dalla tecnologia
Protocollo di trasporto usato
UDP - semplice, inaffidabile
TCP - complesso, affidabile
Gestione della rete - SNMP
11
Problemi - i dati
Come definire i dati
Dispositivi assai diversi tra loro
Oggetti atomici, tabelle, strutture
Dati locali/globali
Dati statici/dinamici
Codifica
Accesso
Denominazione
Gestione della rete - SNMP
12
Componenti principali
SNMP: Protocollo modello
client/server
Usato per accedere al MIB
Di solito usa UDP
Manager
SNMP
(o altro protocollo)
Trasporto
MIB
agent
Trasporto
Rete
Gestione della rete - SNMP
13
MIB (Management Information
Base)
Insieme dei dati gestiti
dall’agente presente su un
dispositivo
Aspetti implementativi
MIB router
-Stato scheda 1
-Stato scheda 2
-ipInDelivers
……..
Dispositivi diversi tra loro
Informazioni diverse
Manager
Gestione della rete - SNMP
14
Aspetti da considerare
Come descrivere un MIB
Sintassi
Indipendenza dal protocollo per scambiare le
informazioni
Quali informazioni controllare
Es. no. pacchetti IP consegnati con successo
Capacita’ di intervento
Possibilita’ per il manager di modificare in modo
remoto il funzionamento dei dispositivi
Gestione della rete - SNMP
15
Descrizione di MIB
SMI (Structure of Management Information)
Linguaggio per la descrizione delle informazioni di gestione
presenti su una entita’ di rete (NE) controllata (es. stampante o
router)
Aspetti principali
Tipi di dati elementari
Costrutti
• OBJECT-TYPE
– Descrive un oggetto astratto di una NE controllata
» Es. contatore dei pacchetti uscenti da scheda di rete
• MODULE-IDENTITY
– Permette di raggruppare oggetti
» Es. l’insieme degli oggetti astratti che descrivono una
scheda di rete e il suo stato
• Oggetti composti e tabelle
• Regole per assegnare i nomi a oggetti semplici e composti
Gestione della rete - SNMP
16
SMI/tipi di dato elementari
11 tipi elementari
INTEGER
OCTET STRING
Ipaddress
Counter32
……..
Il costrutto OBJECT-TYPE e’ usato per
definire il tipo, lo stato e il significato di un tipo
di oggetto controllato
Gestione della rete - SNMP
17
SMI/costrutto OBJECT-TYPE
ipInDelivers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
“The total number of input datagrams
successfully delivered to IP user-protocols.”
::= { ip 9 }
4 clausole
SYNTAX: tipo elementare associato all’oggetto
MAC-ACCESS: specificatore di accesso
STATUS: definizione e’ ancora valida o no?
DESCRIPTION: descrizione leggibile dell’oggetto
ipInDelivers e’ una variabile di tipo Counter32 accessibile soltanto in
lettura. La definizione dell’oggetto e’ valida
Gestione della rete - SNMP
18
SMI/costrutto MODULE-IDENTITY
Permette di raggruppare oggetti correlati in un
modulo
Esempio: tutti gli oggetti che descrivono il
funzionamento e lo stato di una scheda di rete
Contiene
Definizioni OBJECT-TYPE degli oggetti facenti parte
del modulo
Clausole che permettono di descrivere il documento
e identificarne i responsabili
• Es. contatto, organizzazione responsabile ecc.
Gestione della rete - SNMP
19
Moduli MIB
MIB per il protocollo IP
Un modulo raccoglie tutti gli
oggetti che descrivono un
determinato dispositivo ->
modulo MIB
ipMIB MODULE-IDENTITY
………
ipInDelivers OBJECT-TYPE
………..
xxxxx OBJECT-TYPE
………..
Manager
Gestione della rete - SNMP
20
Esempio/RFC 2325
MIB che descrive una macchina per il caffe’
automatica
Ad esempio una macchina erogatrice di caffe’
accessibile in modalita’ remota
Definizioni formali in altre RFC
RFC 1442: SMI
RFC 1213: MIB II
• Regole per la definizione dei moduli MIB
Gestione della rete - SNMP
21
Esempio/2
COFFEE-POT-MIB-DEFINITIONS::= BEGIN
IMPORTS MODULE-IDENTITY, OBJECT-TYPE,
NOTIFICATION-TYPE,
TimeStamp, TimeInterval,
Counter32, Integer32
FROM SNMPv2-SMI
……………….
Gestione della rete - SNMP
22
Esempio/3
Coffee MODULE-IDENTITY
LAST-UPDATED “9803231700Z”
(YYMMDDHHmmZ -> 17.00 23/3/1998)
ORGANIZATION ………
……………
Gestione della rete - SNMP
23
Esempio/4
potName OBJECT-TYPE
SYNTAX DisplayString(SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor description of the pot under
management"
::= { coffee 1 }
Gestione della rete - SNMP
24
Esempio/5
potCapacity OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The number of units of
beverage supported by this device
(regardless of its current state) ."
::= { coffee 2 }
Gestione della rete - SNMP
25
Assegnazione dei nomi
Qualunque produttore puo’ creare i propri moduli MIB
per i dispositivi che produce
Come evitare ambiguita’?
Stessi nomi assegnati a oggetti di moduli MIB diversi
A quale oggetto di quale modulo MIB fa riferimento un certo
identificatore?
Esempio:
Come facciamo a sapere che l’identificatore potCapacity si
riferisce all’oggetto omonimo del modulo Coffee che
implementa il modulo MIB visto precedentemente?
Gestione della rete - SNMP
26
Assegnazione dei nomi/2
iso (1)
Assegnazione dei nomi
segue standard ISO ASN.1
(Abstract Syntax Notation
1)
Nomi assegnati in modo
gerarchico
Un nome e’ identificato dal
percorso per raggiungerlo a
partire dalla radice
Esempio: 1.3.6.1.2.1.10.132
identifica il MIB per la
macchina erogatrice di caffe’
Stringa alfanumerica
equivalente
ITU-T (2)
ISO/ITU-T (3)
org (3)
dod (6)
internet (1)
mgmt (2)
mib (1)
transmission (10)
coffe (132)
Gestione della rete - SNMP
27
Assegnazione dei nomi/2
1.3 o
iso.org
Oggetto potCapacity del
modulo MIB per la
macchina del caffe’ e’
univocamente identificata
da:
dod (6)
internet (1)
mgmt (2)
1.3.6.1.2.1.10.132.2
oppure:
mib (1)
transmission (10)
iso.org.dod.internet.mgmt.
mib.transmission.coffee.po
tCapacity
coffe (132)
potName (1)
potCapacity (2)
Gestione della rete - SNMP
28
Tabelle
Servono a rappresentare dati in forma di array
di record
Esempio: tabelle di routing
Possono essere viste come sequenze di record di
5 campi
Destination
Gateway
-------------------- -------------------- ----127.0.0.1
127.0.0.1
192.168.2.
192.168.2.5
193.55.114.
193.55.114.6
192.168.3.
192.168.3.5
224.0.0.0
193.55.114.6
default
193.55.114.129
Flags Ref Use
----- ------ --UH
0 26492
U
2 13
U
3 58503
U
2 25
U
3 0
UG
0 143454
Interface
lo0
fa0
le0
qaa0
le0
Gestione della rete - SNMP
29
SMI per le tabelle
Clausola SEQUENCE
Permette di definire strutture
Si elencano nome e tipo di ciascun campo
Clausola SEQUENCE OF
Permette di specificare un array di oggetti
SEQUENCE, specificando l’indice dell’array
Gestione della rete - SNMP
30
Esempio: ipAddrTable
Elenco degli indirizzi IP di un’ interfaccia
Passo 1: definire la struttura della tabella
IpAddrTable OBJETC-TYPE
SYNTAX SEQUENCE OF IpAddrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
“An IP address table.”
::= { ip 1 }
Gestione della rete - SNMP
31
Struttura dei record
Si specificano soltanto i campi e i loro tipi
Serve un’ulteriore dichiarazione per
specificare il campo indice, lo stato e
l’accesso
IpAddrEntry ::= SEQUENCE {
ipAdEntAddr
IpAddress,
ipAdEntIfIndex
INTEGER,
ipAdEntNetMask
IpAddress,
ipAdEntBcastAddr
IpAddress,
ipAdEntReasmMaxSize
INTEGER {0..65535}
}
Gestione della rete - SNMP
32
Definizione dell’ indice
Attenzione alle minuscole !!
ipAddrEntry OBJECT-TYPE
SYNTAX
IpAddrEntry
MAX-ACCESS not-accessible
STATUS
current
DESCRIPTION
"An entry (conceptual row) in the address
table."
INDEX { ipAdEntIfIndex }
::= { ipAddrTable 1 }
La clausola INDEX specifica un campo di
IpAddrEntry da usare come indice dell’array
Gestione della rete - SNMP
33
Alla fine (entry nel MIB)
IpAddrTable OBJETC-TYPE
SYNTAX SEQUENCE OF IpAddrEntry
……
ipAddrEntry OBJECT-TYPE
SYNTAX
IpAddrEntry
MAX-ACCESS not-accessible
STATUS
current
DESCRIPTION
"An entry (conceptual row) in the address
INDEX { ipAdEntIfIndex }
::= { ipAddrTable 1 }
table."
IpAddrEntry ::= SEQUENCE {
ipAdEntAddr
IpAddress,
………
Gestione della rete - SNMP
34
Protocollo SNMP
Protocollo per il trasferimento e la
manipolazione dei dati dei MIB
Diverse versioni
Attuale: SNMPv3
Protocollo a scambio di messaggi
Richiesta/modifica di variabili MIB
• gestore -> agente
Tra manager
Da agente MIB a manager
• Risposta a messaggi di richiesta/modifica
• Trap - eventi eccezionali
Gestione della rete - SNMP
35
Formato dei messaggi SNMP
4 parti
msgVersion: versione del protocollo
Header: mapping richieste/risposte, flag ecc.
SecParams: parametri per cifratura e autenticazione
Dati: il messaggio
• Detto anche PDU (Protocol Data Unit)
msgVersion
Header
SecParams
Messaggio (PDU)
Gestione della rete - SNMP
36
Tipi di PDU
GetRequest, GetNextRequest, GetBulkRequest
Gestore -> agente
Richiesta dei valori di uno o piu’ oggetti MIB
• Es.: valore del campo IpAddress di un record IpAddrEntry dell’oggetto
ipAddrTable
Differenze: granularita’ delle richieste
• Es.: GetNextRequest permette di scorrere i record di una tabella
SetRequest
Gestore -> agente
Richiede di impostare il valore di uno o piu’ oggetti MIB sul dispositivo
controllato
• Es.: disconnettere un’interfaccia malfunzionante
InformRequest
Gestore -> gestore
Serve a un gestore per informare un gestore remoto circa i valori di
uno o piu’ oggetti MIB di un’entita’ controllata
Gestione della rete - SNMP
37
Tipi di PDU/cont.
Response
Agente -> gestore o gestore -> gestore
Generata in risposta alle precedenti
SNMPv2-Trap
Agente -> gestore
Serve per notificare al gestore eventi eccezionali
• Es.: malfunzionamento di una scheda di rete
Gestione della rete - SNMP
38
Es.: formato PDU GetRequest
ID
Serve ad associare richiesta e risposta
Error status/error index
Interi di 1 byte
• 0 se una richiesta
• Nella risposta, il loro valore identifica la causa dell’errore
Tipo
ID
Error status
Header della PDU
Error index
Nome
Val
Nome
Val
…
Nomi/valori delle variabili MIB
Gestione della rete - SNMP
39