View
219
Download
0
Category
Preview:
Citation preview
Corso di Laurea Specialistica in Ingegneria Informatica
Corso di Reti di Calcolatori II
La gestione delle reti ed il protocollo SNMP
Simon Pietro Romanospromano@unina.it
Nota di Copyright
Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori del Gruppo di Ricerca COMICS del Dipartimento di
Informatica e Sistemistica dell’Università di Napoli. Esse possono essere impiegate liberamente per fini didattici esclusivamente
Nota Nota didi copyright per le slide copyright per le slide COMICSCOMICS
essere impiegate liberamente per fini didattici esclusivamente senza fini di lucro, a meno di un esplicito consenso scritto degli
Autori. Nell’uso dovranno essere esplicitamente riportati la fonte e gli Autori. Gli Autori non sono responsabili per eventuali imprecisioni contenute in tali trasparenze né per eventuali
problemi, danni o malfunzionamenti derivanti dal loro uso o applicazione.
Autori: Roberto Canonico, Simon Pietro Romano, Giorgio Ventre
Nota per l’utilizzo:Abbiamo preparato queste slide con l’intenzione di renderle disponibili a tutti (professori, studenti, lettori). Sono in formato PowerPoint in modo
che voi possiate aggiungere e cancellare slide (compresa questa) o modificarne il contenuto in base alle vostre esigenze.
Come potete facilmente immaginare, da parte nostra abbiamo fatto un sacco di lavoro. In cambio, vi chiediamo solo di rispettare le seguenti
condizioni:
Nota Nota didi copyright per le slide copyright per le slide didi Kurose/RossKurose/Ross
condizioni:� se utilizzate queste slide (ad esempio, in aula) in una forma
sostanzialmente inalterata, fate riferimento alla fonte (dopo tutto, ci piacerebbe che la gente usasse il nostro libro!)
� se rendete disponibili queste slide in una forma sostanzialmente inalterata su un sito web, indicate che si tratta di un adattamento (o che sono identiche) delle nostre slide, e inserite la nota relativa al copyright.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2007J.F Kurose and K.W. Ross, All Rights Reserved
Reti di calcolatori e Internet: Un approccio top-down
4a edizione Jim Kurose, Keith Ross
Pearson Paravia Bruno Mondadori Spa©2008
“La gestione della rete include il funzionamento, l’integrazione
e il coordinamento di hardware, software e personale umano
per monitorare, verificare, sondare, configurare, analizzare,
Cos’è la gestione della rete?Cos’è la gestione della rete?
per monitorare, verificare, sondare, configurare, analizzare,
valutare e controllare le risorse della rete affinché soddisfino
le funzionalità in tempo reale e i requisiti di qualità del
servizio a un costo accettabile."
Approccio topApproccio top--down (1)down (1)
• Un Provider è innanzitutto una struttura organizzata con scopi di lucro…
• Il mestiere del Provider è di:• guadagnarsi nuovi clienti• soddisfare i clienti acquisiti• farsi pagare…• farsi pagare…
• Tutto ciò costituisce il suo Core Business• Il business viene realizzato dalle persone attraverso un insieme
di processi aziendali• Business processes
• Comportamenti• Comunicazioni• Procedure…
Approccio topApproccio top--down (2)down (2)
Customer Care€418.20
Billing
AssuranceService
Service Offerdefinition
ServiceConfiguration
ServiceMonitoring
Network planning and provisioningNetwork
Inventory
ServiceProvisioning
Approccio topApproccio top--down (3)down (3)
Approccio topApproccio top--down (4)down (4)
Aree funzionali di network management (ISO)• Configuration Management• Fault Management• Performance Management• Security Management• Accounting Management
Approccio topApproccio top--down (5)down (5)
• Mantenere alta la soddisfazione del cliente• Mantenere “alti” i livelli di servizio fornito• “Good enough” quality
• il cliente non deve risentire di eventuali problemi
• Le prestazioni fornite devono essere in linea con quanto concordatoconcordato
• Concetto di contratto tra cliente e fornitore:• Service Level Agreement (SLA)
• Compromesso tra livello di qualità e costi del processo per mantenerlo (trade-off)
• Finché il cliente non si accorge di un disservizio:• tutt’OK!
Approccio topApproccio top--down (6)down (6)
• Gestione reattiva:• si aspetta la telefonata del cliente per ottenere segnalazioni sullo stato di
salute della rete• tra l’inizio del disservizio e la risoluzione possono passare ore
• tempi di comunicazione esterna, interna, tempi di indagine, tempi di ripristino…
• Gestione proattiva:• Gestione proattiva:• si monitora lo stato di salute della rete in permanenza
• misure, ricezione “notifiche”…
• si individua la sorgente di eventuali problemi, e si attiva la necessaria procedura di risoluzione
• idealmente, tutto può avvenire anche prima che il cliente se ne accorga (o che lo segnali, se il ripristino è tempestivo)
Approccio topApproccio top--down (7)down (7)
• La gestione può avvenire• su base reclamo
• telefonata infuriata del cliente
• su base allarme• ricezione di indicazioni asincrone dagli apparati
• su base misure• su base misure• interrogazioni regolari degli apparati, calcolo di tendenze…
• In ogni caso, gestire vuol dire essenzialmente:• aspettare (in maniera più o meno attiva)• diagnosticare (appena avvenuta una segnalazione)• risolvere (appena fatta la diagnosi)
• Non sempre è richiesto l’intervento di un operatore...
Approccio bottomApproccio bottom--up (1)up (1)
• Quali sono gli elementi costitutivi di una rete?• doppino telefonico, cavi coassiali, fibre ottiche, antenne,
parabole, ponti radio, ponti ottici,…• ripetitori, hub, concentratori (MUX), BSS wireless, satelliti• bridge, router• firewall, gateway• firewall, gateway• centrali di collegamento, Point of Presence (PoP)• software, sistemi di controllo, end-point• workstation, file server, stampanti• mail server, web server, news server• …
Approccio bottomApproccio bottom--up (2)up (2)
Router (switch)
Interfacce di reteDa lì partono i cavi coassiali o otticiverso gli altri apparati
Interfaccia di controllo(porta seriale)
Dietro ad ogni interfaccia c’è una scheda elettronica (che può guastarsi)
Approccio bottomApproccio bottom--up (3)up (3)
• Controllo apparato attraverso segnali “out-of-band ”:• attraverso un’interfaccia dedicata (control interface, ad es.
linea seriale) • per collegarsi bisogna essere fisicamente accanto all’apparato
• attraverso una infrastruttura di controllo:• rete parallela di controllo degli apparati• rete parallela di controllo degli apparati
– bisogna ridondare le linee che accedono agli apparati, e creare una struttura gerarchica di controllo
• Controllo apparato attraverso segnali “in-band ”:• viene usata la stessa infrastruttura trasmissiva per il
controllo dell’apparato• in caso di non raggiungibilità per disservizio a livello
trasmissivo, si perde la visibilità sull’apparato per la diagnosi e la risoluzione
Approccio bottomApproccio bottom--up (4)up (4)
• La salute della rete è anche la salute di ognuno dei suoi componenti
• La gestione dell’apparato consiste nel modellare il suo stato di funzionamento, e nel monitoraggio di questo statomonitoraggio di questo stato
• Questa informazione va raccolta, aggregata o correlata, e sintetizzata per essere utile ad un operatore o un automa decisionale
Strumenti di gestioneStrumenti di gestione
• Strumenti rudimentali:• ping , per verificare la raggiungilibità di un indirizzo
• basato su ICMP, spesso filtrato dai router, ad es. in presenza di NAT
• traceroute , per verificare il percorso seguito da un • traceroute , per verificare il percorso seguito da un pacchetto IP per raggiungere un indirizzo
• telnet , per accedere ai router e verificare la configurazione e lo stato delle interfacce
• N.B.: router di marche diverse hanno comandi diversi
Cause:• eterogeneità apparati• numerosità apparati• complessità topologica
delle reti• criticità del
Esigenze:• separazione dei ruoli• modello dati uniforme• protocollo di gestione
standard• protocollo di
Necessità di un’architetturaNecessità di un’architettura
• criticità del mantenimento del servizio
• protocollo di comunicazione standard
• architettura di gestione flessibile e scalabile
• riduzione costi
Concetti principaliConcetti principali
• Managed entity/Managed object• Agent• Structure of Management Information (SMI)• Management protocol• Manager, Management Application
Managed Object (1)Managed Object (1)
• Una modellizzazione dell’oggetto gestito• Un’informazione di gestione relativa ad un
oggetto o una funzione• Esempi:
• data di avvio di un apparato• stato (up/down) di un’interfaccia• tabelle di routing di un router• quantità di fogli disponibili in una stampante...
Managed Object (2)Managed Object (2)
“A managed object is the abstractedview of a resource that presents itsproperties as seen by (and for the
purpose of) management”(ISO 7498-4)
• E’ una rappresentazione astratta di una risorsa reale
AgentAgent
• Un’entità software di gestione• non è l’entità gestita!
• Permette l’accesso all’informazione da gestire da parte delle applicazioni esterne
• Permette la modifica di certi parametri di • Permette la modifica di certi parametri di funzionamento
• Fornisce funzioni di:• Polling• Misure• Monitoraggio• Statistiche
MIB MIB -- SMISMI
• MIB: • Management Information Base
• SMI:• Structure of Management Information
• La MIB:• La MIB:• non è una base dati…• …è una specifica di interfaccia impiegabile per
accedere all’informazione gestita
• Rappresenta, in maniera strutturata, l’insieme delle informazioni• oggetti, tabelle, ecc.
ManagerManager
• Anche chiamato Management Station• Punto di raccolta e di elaborazione delle informazioni
ricavate dagli Agent degli apparati• Funzioni principali:
• gestione dei dati di topologia della rete (Inventory)• gestione dei dati di topologia della rete (Inventory)• raccolta e analisi dei dati di stato e di utilizzo (traffico)• strumenti di fault recovery (es: riconfigurazione)• presentazione grafica del dominio gestito con informazioni in
tempo reale sugli oggetti gestiti
Management ProtocolManagement Protocol
• Specifica le modalità di comunicazione remota tra l’Agent e il Manager:• struttura dei messaggi software scambiati• formato dei dati trasmessi
• problema:• problema:– grande diversità della rappresentazione dei dati!
• semantica dei messaggi scambiati• dinamica degli scambi• identificazione dell’informazione gestita
Architettura di gestione (1)Architettura di gestione (1)
• Tanti apparati eterogenei (ruoli, modelli…), ognuno con il proprio agent
• 1 o N manager per ogni tecnologia/rete• insieme omogeneo di ruoli
• Piattaforma di gestione integrata delle reti• Piattaforma di gestione integrata delle reti• Manager of Managers – ‘MoM’
Architettura di gestione (2)Architettura di gestione (2)
Il paradigma Manager-Agent
Manager
MIB MIB
Agent
MIB
Agent Agent
Architettura di gestione (3)Architettura di gestione (3)
Manager to Manager
Integrated Network Model
Manager ofManagers
Manager-Agent
Rete SDH Rete ATM Rete IP
Manager Manager Manager
Network Model Network
Model Network Model
Infrastrutture di gestioneInfrastrutture di gestione
agente dati
agente dati
oggetto della gestioneEntità digestione
dati
Protocollo
Definizioni:
I dispositivi da gestirecontengono gli
oggetti della gestionei cui dati sono raccolti in una
Entità di gestione
agente dati
agente dati
agente dati
oggetto della gestione
oggetto della gestione
oggetto della gestione
Protocollodi gestione della rete
i cui dati sono raccolti in unabase di dati di gestione (MIB)
Gestione degli standard InternetGestione degli standard Internet
OSI CMIP� Common Management
Information Protocol (CMIP)
� Progettato alla fine degli
SNMP: Simple Network Management Protocol
� radici di Internet (SGMP –Simple Gateway Management Protocol)
� inizialmente semplice� Progettato alla fine degli anni ottanta: lo standard che unificala gestione della rete
� Standardizzato troppo lentamente
� inizialmente semplice� utilizzato rapidamente� crescita: dimensione,
complessità� attualmente: SNMPv3� è lo standard de facto di
gestione della rete
�Base di dati di gestione (MIB):�raccolta di informazioni distribuite per la gestione
della rete
�Struttura delle informazioni di gestione (SMI):�linguaggio di specifica dei dati per gli oggetti MIB
PanoramicaPanoramica didi SNMP: 4 SNMP: 4 partiparti chiavechiave
�linguaggio di specifica dei dati per gli oggetti MIB
�Protocollo SNMP�scambio delle informazioni fra gli agenti di gestione
e invio dei comandi alle entità da gestire
�Funzionalità di sicurezza e amministrazione�caratteristiche innovative di SNMPv3
Scopo: sintassi, semantica chiara e ben definita della gestione dei dati
� Tipi di dati fondamentali: �semplici, tediosi
� OBJECT-TYPE�Tipo di dati, stato,
Tipi di datifondamentali
INTEGERInteger32
Unsigned32OCTET STRING
SMI: SMI: linguaggiolinguaggio didi specificaspecifica deidei datidati
�Tipo di dati, stato, semantica dell’oggettoda gestire
� MODULE-IDENTITY�raggruppamento di oggetti
affini in un modulo MIB
OCTET STRINGOBJECT IDENTIFIED
IPaddressCounter32Counter64Gauge32
Time TicksOpaque
Modulo MIB specificato tramite SMI MODULE-IDENTITY
(100 moduli MIB standard e molte altre specifiche private di moduli MIB)
MODULO
SNMP MIBSNMP MIB
OBJECT-TYPE:
OBJECT-TYPE:OBJECT-TYPE:
Oggetti specificati tramite SMICostrutto OBJECT-TYPE
MODULO
OBJECT-TYPE: ipInDelivers MODULE-IDENTITY: ipMIB
ipInDelivers OBJECT-TYPESYNTAX Counter32MAX-ACCESS read-onlySTATUS current
ipMIB MODULE-IDENTITYLAST-UPDATED “941101000Z”ORGANZATION “IETF SNMPv2
Working Group”CONTACT-INFO
SMI: esempio di oggetto e modulo MIBSMI: esempio di oggetto e modulo MIB
STATUS currentDESCRIPTION
“Il numero totale didatagrammi ricevuti e passati ai protocolli IP utente(compreso ICMP)”
::= { ip 9}
CONTACT-INFO“ Keith McCloghrie……”
DESCRIPTION“Modulo MIB per la gestione delleimplementazioni di IP e ICMP, escludendo la loro gestione deicammini IP”
REVISION “019331000Z”………::= {mib-2 48}
ID dell’oggetto Nome Tipo Descrizione
1.3.6.1.2.1.7.1 UDPInDatagrams Counter32 Numero di datagrammi UDPrecapitati
1.3.6.1.2.1.7.2 UDPNoPorts Counter32 Numero di datagrammi UDPricevuti per i quali non c’eranoapplicazioni alla porta didestinazione
1.3.6.1.2.1.7.3 UDPInErrors Counter32 Numero di datagrammi UDP
MIB: MIB: esempioesempio didi modulo UDPmodulo UDP
1.3.6.1.2.1.7.3 UDPInErrors Counter32 Numero di datagrammi UDPricevuti, ma non recapitati (permotivi diversi dal precedente)
1.3.6.1.2.1.7.4 UDPOutDatagrams Counter32 Numero di datagrammi UDPinviati dall’entità
1.3.6.1.2.1.7.5 UDPTable SEQUENCE Sequenza di oggetti UdpEntry,uno per ogni porta di applicazione, con l’indirizzo IPe il numero di portadell’applicazione
domanda: come chiamare un oggetto standard qualsiasi (protocollo, dato . . .) in una rete standard qualsiasi?
risposta: albero di identificazione degli oggetti ISO:
�denominazione gerarchica di tutti gli oggetti�ogni ramo ha un nome e un numero
DenominazioneDenominazione SNMPSNMP
�ogni ramo ha un nome e un numero
1.3.6.1.2.1.7.1ISO
Ente riconosciuto da ISO
US DoD
Internet
udpInDatagrams
UDP
MIB-2
management
Cfr. sito: http://www.alvestrand.no
Albero di identificazione degli oggetti OSI Albero di identificazione degli oggetti OSI
http://www.alvestrand.no/objectid/top.html
Due modalità per trasportare le informazioni MIB:
Entità digestione
Entità digestione
richiesta
ProtocolloProtocollo SNMPSNMP
agente dati
oggetto della gestione
risposta
agente dati
oggetto della gestione
messaggio trappola
richiesta
Modalità “richiesta-risposta” Modalità “messaggio trappola”
GetRequestGetNextRequestGetBulkRequest
Dal manager all’agente perrichiedere i valori di oggetti MIB(istanza, prossimo nella lista, blocco)
Tipo di messaggio Funzione
InformRequest Da manger a manager: fornisce un valore MIB
ProtocolloProtocollo SNMP: tipi SNMP: tipi didi messaggimessaggi
InformRequest Da manger a manager: fornisce un valore MIB
SetRequest Da manger a agent: imposta il valore MIB
Response Da agente a manager: valore, risposta alla richiesta
Trap Da agente a manager: informa il managerdi un evento inatteso
Il messaggio Il messaggio InformRequestInformRequest di SNMPv2di SNMPv2
Fonte: The TCP/IP Guide
Protocollo SNMP: formati dei messaggiProtocollo SNMP: formati dei messaggi
Struttura della PDUStruttura della PDU
Version Community SNMP PDU
SNMP Message
Name 1 Value 1 Name 2 Name nValue 2 Value n…. ….
Variable bindings
PDU Type Request ID Error Status Error Index Variable Bindings
SNMP PDU
Campi della PDU (1)Campi della PDU (1)
• Version : vale 1 per SNMPv1, 2 per SNMPv2, ecc..• Community : “password” di autenticazione in chiaro• PDU Type : non è un vero campo del messaggio, ma una
“meta-informazione” di tipo ASN.1 del messaggio• cfr slide seguenti…
• Request ID: ID univoco per ogni richiesta; permette di appaiare • Request ID: ID univoco per ogni richiesta; permette di appaiare le risposte (in caso di perdita di sequenza)
• Error Status : vale 0 nelle richieste, e nelle risposte fornisce un esito della richiesta:
noError (0) noSuchName (2) readOnly (4)tooBig (1) badValue (3) genErr (5)
Campi della PDU (2)Campi della PDU (2)
• Error Index :• vale 0 nelle richieste• nelle risposte, è non-nullo in caso di errore, e dà l’indice
della prima variabile che ha causato l’errore
• Variable Bindings (varbinds): lista di coppie nome/valorenome/valore• Nelle GetRequest e GetNextRequest il valore è nullo.
• è quindi possibile richiedere più variabili in contemporanea• viene eseguita la stessa operazione (get, get-next, set) su tutte le variabili• permette di limitare il numero di richieste da fare e gli scambi manager-agent• utilizzato molto per la scansione delle tabelle...
Struttura della TrapStruttura della Trap
Version Community SNMP PDU
SNMP Message
Name 1 Value 1 Name 2 Name nValue 2 Value n…. ….
Variable bindings
PDU Type EnterpriseAgent Addr.Generic-trap Variable Bindings
SNMP PDU
Specific-trap Timestamp
Campi della trapCampi della trap
• Enterprise : basato sulla variabile sysObjectID• permette di individuare il tipo di apparato/sottosistema originario
• Agent Address : indirizzo IP dell’agent generatore• Generic Trap : tipo di trap tra un insieme predefinito
coldStart (0) linkDown (2) authenticationFailure (4)warmStart (1) linkUp (3) egpNeighborLoss (6)warmStart (1) linkUp (3) egpNeighborLoss (6)enterpriseSpecific (6) [per le trap proprietarie – cfr campo successivo]
• Specific Trap : tipo di trap non standard• Timestamp : indica il momento in cui è stata inviata la trap• Variable bindings : come per le altre PDU
SNMP GetRequest (1)SNMP GetRequest (1)
Manager Agent
get MIBget
response
MIB
SNMP GetRequest (2)SNMP GetRequest (2)
• Permette di richiedere il valore di una o più variabili di MIB
• Possibili errori:• noSuchName: l’oggetto non esiste o non è una
foglia dell’alberofoglia dell’albero• tooBig: la risposta non sta nella PDU di risposta• genErr: errore generico, tutti gli altri casi
SNMP SetRequest (1)SNMP SetRequest (1)
Manager Agent
set MIBset
response
MIB
SNMP SetRequest (2)SNMP SetRequest (2)
• Per assegnare un valore a istanze di variabili già esistenti, o per comandare azioni
• Possibili errori:• noSuchName: l’oggetto non esiste o non è • noSuchName: l’oggetto non esiste o non è
una foglia dell’albero• badValue: valore fornito inadeguato per il tipo• tooBig: la risposta non sta nella PDU di
risposta• genErr: errore generico, tutti gli altri casi
SNMP GetNextRequest (1)SNMP GetNextRequest (1)
Manager Agent
get-next MIBget-next
response
MIB
SNMP GetNextRequest (2)SNMP GetNextRequest (2)
• Restituisce il nome e il valore della successivaistanza di variabile della MIB
• È usata per accedere alla struttura della MIB, e per navigare tabelle
• Possibili errori:
• noSuchName: la MIB è stata scandita interamente• tooBig: la risposta non sta nella PDU di risposta• genErr: errore generico, tutti gli altri casi
MIB di EsempioMIB di Esempio
Device (1)
Address (1) Info (2) ipRouteTable (3)
Name (1) Uptime (2)
130.89.16.2
Printer-1 23874383
ipRouteDest (1) ipRouteNextHop (2) ipRouteMetric1 (3)
10.0.0.99 89.1.1.42 5
99.0.0.3 3
89.1.1.42 5
9.1.2.3
10.0.0.51
Approfondimento getApprofondimento get--next (1)next (1)
• Un engine SNMP deve essere in grado di interpretare qualsiasi OID e stabilirne la posizione (ordine) rispetto agli OID implementati
• Lo stesso algoritmo si applica indipendentemente su tutte le variabili della stessa richiesta
• Esempio:• Esempio:• get-next(1, 1.1, 1.2, 1.2.2) ⇒
(1.1.0 → 130.89.16.2, 1.1.0 → 130.89.16.2, 1.2.1.0 → Printer-1, 1.2.2.0 → 23874383)
• A che serve la get-next? Come usarla (bene)?
Approfondimento getApprofondimento get--next (2)next (2)
• Per scandire una MIB intera:oid = 1
while true:
(oid, value) = getnext(oid)
print oid + “=“ + value;
• Il prossimo OID utilizzato nella get-next è quello • Il prossimo OID utilizzato nella get-next è quello ritornato dal comando get-next appena realizzato
• Un OID restituito dalla get-next è sempre un OID foglia; la get-next su quell’OID ci restituisce sempre la prossima foglia (nell’ordine lessicografico della MIB)
Approfondimento getApprofondimento get--next (3)next (3)
Device (1)
Address (1) Info (2) ipRouteTable (3)
SNMP “walk”
Name (1) Uptime (2) ipRouteDest (1) ipRouteNextHop (2) ipRouteMetric1 (3)
valore (0)
valore (0) valore (0)?
SNMP Trap (1)SNMP Trap (1)
Manager Agent
MIB
trap
MIB
SNMP Trap (2)SNMP Trap (2)
• Segnala un evento• La ricezione di una trap non è confermata
(unreliable)• Gli Agent possono essere configurati in modo
da:da:• non emettere traps• emettere traps solo verso manager specifici
Impatto dell’uso di UDPImpatto dell’uso di UDP
• UDP è connectionless e unreliable (non affidabile):• l’invio di un messaggio non significa la garanzia della sua
consegna• fatta una richiesta SNMP, la risposta arriva in maniera asincrona,
senza garanzia
• Vanno messi in piedi meccanismi di timeout e di retryper simulare una interazione affidabile (quello che fa TCP)per simulare una interazione affidabile (quello che fa TCP)
• Ciò rimane a carico dello strato SNMP (più leggero di TCP)
• Il fatto di rimanere su UDP dà robustezza al meccanismo• in particolare, in condizioni critiche, quali sono quelle di una
rete in situazione di “crisi”
Interazione SNMP: scenario 1Interazione SNMP: scenario 1
Manager Agent
richiesta
risposta
OK!
Interazione SNMP: scenario 2Interazione SNMP: scenario 2
Manager Agent
richiesta
risposta
OK!
Interazione SNMP: scenario 3Interazione SNMP: scenario 3
Manager Agent
richiesta
rispostaOK!
ignora...
Interazione SNMP: scenario 4Interazione SNMP: scenario 4
Manager Agent
richiesta
KO!
Interazione SNMP: parametriInterazione SNMP: parametri
• Timeout: tempo trascorso prima di ritentare• non deve essere troppo lungo, per consentire un
rinvio rapido in caso di non risposta, né troppo corto per evitare rinvii inutili (vedi scenario 3)
• Retry count: numero di tentativi prima di • Retry count: numero di tentativi prima di dichiarare fallita la connessione• non deve essere troppo basso, per dare un minimo
di affidabilità, né troppo alto, per non sovraccaricare la rete di richieste
Proxy ManagementProxy Management
MIBSNMP
Proxy Agent Oggetti gestitiManager
• “proxy” in inglese = nel nome di qualcuno• un proxy agent è un agent SNMP di cui la MIB non
rappresenta informazioni di gestione dell’apparato su cui gira
• traduce un protocollo proprietario in SNMP• aggrega le informazioni di basso livello in informazioni di
più alto livello
Meccanismi di monitoraggioMeccanismi di monitoraggio
• Un manager SNMP monitora lo stato degli apparati attraverso una interrogazione periodica di opportune variabili di stato (polling)
• Trade-off sulla scelta della periodicità e delle variabili interrogate (traffico generato in rete vs. qualità delle informazioni)informazioni)
• Le trap SNMP vengono in aiuto (in maniera unreliable) in quanto segnalano i casi eccezionali nel momento in cui accadono
• Trap-directed polling: il manager adegua la sua politica di polling su ricezione di trap (ad es. interrogazione completa + aumento frequenza di polling, ecc.)
• La gestione della sicurezza da parte del protocollo SNMPv1 è estremamente elementare. Approcci più adeguati sono definiti per le versioni successive: SNMPv2 e SNMPv3
• Il concetto fondamentale è quello di community, a cui sono associati dei diritti di accesso READ-ONLY o READ-WRITE
SNMPv1: SNMPv1: SicurezzaSicurezza (1)(1)
cui sono associati dei diritti di accesso READ-ONLY o READ-WRITE
• La gestione delle community non viene specificata dagli standard ed è quindi lasciata all’implementazione. Lo standard specifica solo che la community è una stringa che va trasmessa con il messaggio SNMP
• La community viaggia in chiaro sulla rete...
SNMPv1: Sicurezza (2)SNMPv1: Sicurezza (2)
Per limitare i rischi, alcune misure:• utilizzare password non banali, e cambiare spesso• configurare l’Agent ad inviare le trap di
authenticationFailure• configurare la rete (con filtri o firewalls) per • configurare la rete (con filtri o firewalls) per
impedire il traffico SNMP al di fuori dai percorsi Manager-Agent
Nella realtà, gli apparati forniscono anche meccanismi di ACL (Access Control List), dove vanno inseriti gli indirizzi dei manager di fiducia
� cifratura: messaggio SNMP criptato con DES� autenticazione: calcola, invia MIC(m,k): esegue
l’operazione hash (MIC) sul messaggio (m) con chiave segreta condivisa (k)
� protezione dagli attacchi di replica: usa i nonce
SNMPv3: sicurezza e amministrazioneSNMPv3: sicurezza e amministrazione
� protezione dagli attacchi di replica: usa i nonce� controllo dell’accesso
� L’entità SNMP conserva il database dei diritti e delle politiche di accesso per vari utenti
� Il database stesso è accessibile come oggetto gestito!
D: una copia perfetta dei dati da memoria a memoria può risolvere “il problema della comunicazione”?
R: non sempre!
struct { a atest.code test.code
Il problema della presentazioneIl problema della presentazione
problema: formati di dati e convenzioni di memorizzazione differenti
struct {char code;int x;} test;
test.x = 256;test.code=‘a’
a0000000100000011
a
0000001100000001
test.codetest.x
test.code
test.x
Formato dell’host 1 Formato dell’host 2
Un Un problemaproblema didi presentazionepresentazione nellanella vita vita realereale::
1. Il mittente impara il formato del destinatario. Il mittente traduce il formato in quello del destinatario. Il mittente trasmette.
– analogia con il mondo reale?– pro e contro?
2. Il mittente trasmette. Il destinatario impara il formato del mittente. Il destinatario traduce nel suo formato.
– analogia con il mondo reale?
PresentazionePresentazione: : soluzionisoluzioni possibilipossibili
– analogia con il mondo reale?– pro e contro?
3. Il mittente traduce in un formato indipendente dall’host e trasmette. Il destinatario traduce nel suo formato.
– analogia con il mondo reale?– pro e contro?
1. Tradurre il formato specifico di un host in un formato indipendente dall’host
2. Trasmettere i dati in un formato indipendente dall’host3. Tradurre il formato indipendente dall’host nel formato
dell’host remoto
PProblemaroblema delladella presentazionepresentazione
�Standard ISO X.680�Largamente utilizzato in Internet�Come mangiare le verdure; è bene conoscerlo!
�Tipi di dati definiti, costruttori di oggetti�come SMI
ASN.1: ASN.1: sintesisintesi delladella notazionenotazione sintatticasintattica 11
�come SMI�BER: Basic Encoding Rules (regole base per
la codifica)�specifica come trasmettere gli oggetti di dati
definiti secondo ASN.1�ogni oggetto trasmesso ha una codifica TLV
(Tipo, Lunghezza, Valore)
Idea: i dati trasmessi sono auto-identificati�T: Tipo di dati, uno dei tipi definiti da ASN.1�L: Lunghezza dei dati in byte�V: Valore dei dati, codificati secondo lo
standard ASN.1
Codifica TLVCodifica TLV
1234569
BooleanIntegerBitstringOctet stringNullObject IdentifierReal
Etichetta Tipo
Valore, 259Lunghezza, 2 byte
CodificaCodifica TLVTLV
Valore, 5 ottetti (caratteri)Lunghezza, 5 byte
Tipo = 4, octet string
Lunghezza, 2 byteTipo = 2, integer
Un esempio di MIB browserUn esempio di MIB browser
Dietro le quinte: ‘Dietro le quinte: ‘getget--requestrequest’ (1/2)’ (1/2)
Dietro le quinte: ‘Dietro le quinte: ‘getget--responseresponse’ (2/’ (2/22))
Recommended