Gestione della rete SNMP Gestione della rete - SNMP
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
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
Scenario/2 Alcune possibili cause H2 H1 company network 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
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
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 UI Bibite Gestione della rete - SNMP
Esempio/2 Gestione remota di EB accessibili via rete Agente Manager EB Raccoglie informazioni sullo stato di una EB Puo’ permetterne la gestione Manager Agente Agente Agente EB EB EB Gestione della rete - SNMP
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
Approccio Agente Manager 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
Architettura generale Architettura centralizzata Entita’ controllate Agente Dati di gestione Agente Dati di gestione Agente Dati di gestione Protocollo di gestione Manager Gestione della rete - SNMP
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
Problemi - i dati Come definire i dati Codifica Accesso Dispositivi assai diversi tra loro Oggetti atomici, tabelle, strutture Dati locali/globali Dati statici/dinamici Codifica Accesso Denominazione Gestione della rete - SNMP
Componenti principali SNMP: Protocollo modello client/server Usato per accedere al MIB Di solito usa UDP MIB SNMP (o altro protocollo) Manager agent Trasporto Trasporto Rete Gestione della rete - SNMP
MIB (Management Information Base) MIB router Stato scheda 1 Stato scheda 2 ipInDelivers …….. Insieme dei dati gestiti dall’agente presente su un dispositivo Aspetti implementativi Dispositivi diversi tra loro Informazioni diverse Manager Gestione della rete - SNMP
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
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
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
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
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
Moduli MIB MIB per il protocollo IP ipMIB MODULE-IDENTITY ……… ipInDelivers OBJECT-TYPE ……….. xxxxx OBJECT-TYPE Un modulo raccoglie tutti gli oggetti che descrivono un determinato dispositivo -> modulo MIB Manager Gestione della rete - SNMP
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
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
Esempio/3 Coffee MODULE-IDENTITY LAST-UPDATED “9803231700Z” (YYMMDDHHmmZ -> 17.00 23/3/1998) ORGANIZATION ……… …………… Gestione della rete - SNMP
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
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
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
Assegnazione dei nomi/2 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 iso (1) 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
Assegnazione dei nomi/2 iso.org Oggetto potCapacity del modulo MIB per la macchina del caffe’ e’ univocamente identificata da: 1.3.6.1.2.1.10.132.2 oppure: iso.org.dod.internet.mgmt.mib.transmission.coffee.potCapacity dod (6) internet (1) mgmt (2) mib (1) transmission (10) coffe (132) potName (1) potCapacity (2) Gestione della rete - SNMP
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 Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454 Gestione della rete - SNMP
SMI per le tabelle Clausola SEQUENCE Clausola SEQUENCE OF 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
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
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
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
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 table." INDEX { ipAdEntIfIndex } ::= { ipAddrTable 1 } IpAddrEntry ::= SEQUENCE { ipAdEntAddr IpAddress, ……… Gestione della rete - SNMP
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
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
Tipi di PDU GetRequest, GetNextRequest, GetBulkRequest SetRequest 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 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
Tipi di PDU/cont. Response SNMPv2-Trap 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
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 Error index Nome Val Nome Val … Header della PDU Nomi/valori delle variabili MIB Gestione della rete - SNMP