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