Misure su Reti di Calcolatori Costante Elisa Pennino Igino Polese Marina Pratola Roberto 393/000125 393/000129 393/000111 393/000130 Anno accademico 2007/2008 Docente Prof. Luca De Vito Sommario Introduzione SNMP MIB-II RMON Limitazioni di RMON Funzionalità Cattura e filtraggio Mapping della rete Gestione degli eventi Statistiche di rete Introduzione L’obiettivo è la realizzazione di una NETWORK MANAGEMENT STATION (NMS) per monitorare lo stato della rete e del traffico dati che la attraversa Le interazioni tra la NMS e gli host della rete avvengono mediante le operazioni definite dal protocollo SNMPv2 La strumentazione adoperata è costituita da una workstation con supporto per la JVM e da sei router Cisco di cui due 1751 e quattro 1721 SNMP (Simple Network Management Protocol) Appartiene alla suite di protocolli Internet definita dalla IETF (Internet Engineering Task Force) ed opera a livello 7 del modello ISO-OSI Utilizza generalmente il protocollo UDP L’architettura di riferimento è la seguente: Managed device UDP Port 161 SNMP Network Manager Request (Get, GetNext, Set, …) • Monitoraggio remoto dei nodi • Analisi delle informazioni raccolte • Presentazione delle informazioni Response Trap SNMP Agent • Riceve richieste • Raccoglie le informazioni richieste • Restituisce le informazioni • Genera trap per effettuare notifiche UDP Port 162 Management Information Base Management Information Base (MIB) Un Management Information Base (MIB) è un tipo di database (virtuale) che comprende una collezione di oggetti, usato per gestire le entità appartenenti ad una rete root Il formato dei MIB è definito come parte di SNMP ccitt (0) joint-iso-ccitt (3) iso (1) Structure Management Information (SMI) è una notazione org (3) che definisce come devono essere strutturate le informazioni internet (1) e la loro gerarchia per essere inserite nel database MIB experimental (3) directory (1) mgmt (2) Il MIB ha una struttura ad albero detta MIB-Tree: ad ogni nodo dell’albero viene associato un numero mib (1) ogni oggetto ha un identificatore univoco (OID) system (1) dato dalla sequenza dei valori numerici che compongono il percorso dalla radice all’oggetto stesso interfaces (2) RMON2 (17) ip (4) snmp (11) RMON (16) Remote MONitoring RMON (Remote MONitoring) è una particolare MIB che fornisce all’NMS statistiche a livello rete e livello applicazione sull’interna LAN o WAN. Esistono due versioni di RMON: RMON1 si focalizza sul livello 2 della pila OSI e fornisce statistiche aggregate in diversi modi. Inoltre fornisce la generazione di allarmi qualora si superano attraversano dei valori di soglia. E’ costituita da dieci gruppi tra cui si trovano alarm, statistics, event, history, hosts RMON2 (RMONv2), invece, si focalizza sugli strati alti del traffico e, in particolare, su quelli che si trovano sopra Monitorato da: Modello OSI il livello datalink , ponendo l’accento 7 Application Layer 6 sul traffico IP e su quello a livello Presentation Layer RMON 2 5 Session Layer applicazione 4 Transport Layer 3 Network Layer 2 Datalink Layer 1 Physical Layer RMON 1 Limitazioni di RMON Data la sua complessità, una completa implementazione di RMON richiede molte risorse; in particolare per la raccolta e la gestione delle informazioni sono necessarie elevate capacità computazionali e di storage La strumentazione di laboratorio adoperata per realizzare la rete da monitorare supporta solo una versione “lite” di RMON. Con tale termine si indica la disponibilità di soli 2 gruppi RMON (ALARM ed EVENTS). Tali limitazioni hanno influenzato sia la definizione che l’implementazione delle funzionalità offerte dal monitor realizzato. Funzionalità Mapping della rete Raccolta e presentazione delle informazioni sui nodi di una rete e sulle loro connessioni Cattura e filtraggio dei pacchetti Cattura del traffico di rete eventualmente indicando delle regole di filtraggio Statistiche sul traffico di rete Raccolta e presentazione di informazioni statistiche sul traffico di rete Gestione degli eventi Monitoraggio dello stato delle variabili del MIB, rispetto a valori di threshold. All’attraversamento di tali soglie l’host genera un evento che, catturato dal monitor, viene riportato all’utente Cattura e Filtraggio di Pacchetti Cattura e Filtraggio di Pacchetti: Passi Si parla di solito di sniffing dei pacchetti gli sniffer sono in grado di intercettare, analizzare e memorizzare tutto il traffico di dati che passa all'interno di una rete Si basa su JPCAP libreria che consente un accesso di basso livello alle interfacce di rete si poggia sulle librerie native WinPcap o Libpcap Limitazioni E’ possibile catturare solo i pacchetti scambiati all’interno si una LAN Cattura e Filtraggio di Pacchetti: Passi Passo 1 Ottenere la lista delle interfacce di rete Cattura e Filtraggio di Pacchetti: Passi Passo 1 Ottenere la lista delle interfacce di rete Passo 2 Selezionare una periferica di rete di cui ascoltare il traffico Cattura e Filtraggio di Pacchetti: Passi Passo 1 Ottenere la lista delle interfacce di rete Passo 2 Selezionare una periferica di rete di cui ascoltare il traffico Passo 3 Creare il filtro per selezionare il traffico da catturare Passo 4 Catturare ed elaborare i pacchetti Cattura e Filtraggio di Pacchetti: Pacchetti LISTA DEI PACCHETTI CATTURATI Cattura e Filtraggio di Pacchetti: Pacchetti LISTA DEI PACCHETTI CATTURATI STRUTTURA DEL PACCHETTO SELEZIONATO Cattura e Filtraggio di Pacchetti: Pacchetti LISTA DEI PACCHETTI CATTURATI STRUTTURA DEL PACCHETTO SELEZIONATO CONTENUTO DEL PACCHETTO SELEZIONATO Mapping della rete Obiettivo: individuare i nodi della rete utilizzando SNMP ottenere informazioni sulle interfacce di rete dei vari nodi ottenere informazioni sulle connessioni tra i nodi individuati. Soluzione: utilizzare MIB-II iso.org.dod.internet.mgmt.mib-2.interfaces iso.org.dod.internet.mgmt.mib-2.ip). utilizzare la tabella di routing. La tabella di routing è composta da un insieme di righe. Ciascuna riga definisce il next-hop, che corrisponde al router successivo, al quale verranno inviati i pacchetti. Algoritmo di mapping L’algoritmo analizza la tabella di routing di ogni nodo che riesce a raggiungere mediante interrogazioni SNMP. Ha termine quando non riesce a trovare più nuovi nodi all’interno della rete. E’ possibile che alcuni nodi, sebbene supportino il protocollo SNMP, non vengano individuati perché isolati da nodi che, viceversa, non supportano il protocollo. Risultati del Mapping (1) 1. L’utente accede alla funzionalità per il mapping della rete 2. L’utente inserisce l’indirizzo IP di un nodo da cui lanciare il discovery. La configurazione dei nodi in laboratorio prevedeva la presenza di 3 router CISCO, tutti di tipo SNMP. Il monitor è direttamente connesso ad uno di loro. Risultato del Mapping (2) 3. Il monitor mostra i nodi individuati con alcune informazioni di stato RMON: Alarm & Event RMON 1 Gruppo Statistics History Alarm Host Obiettivo Contiene le statistiche misurate balla sonda per Index ogni interfaccia monitorata su questa periferica. Interval Registra campioni statistici periodicamente da Variable una rete e li salva per un recupero. SampleType Periodicamente prende campioni statistici e li Value confronta con le soglie impostate per la StartupAlarm generazione di eventi. RisingThreshold Contiene statistiche associate ad ogni host FallingThreshold scoperto sulla rete. HostTopN Prepara le tabelle che descrivono i “Top host”. Matrix Memorizza e recupera le statistiche per le conversazioni tra insiemi di due indirizzi. Filters Packet Capture Status Event Entry Index un’equazione di filtraggio per la cattura di Description eventi. Type Abilita i pacchetti ad essere catturati dopo che Community Controlla la generazione e la notifica di eventi da questa interfaccia. Token Ring Owner Abilita I pacchetti ad essere comparati con hanno attraversato il canale. Events Alarm Entry Indica il supporto al Token Ring LastTimeSent Owner Status Rising Threshold Falling Threshold Intervallo di campionamento Il GRUPPO ALARM ogni qual volta un campionamento rileva che è stata superata una soglia genera un evento Il GRUPPO EVENT determina come gestire tale evento in base ai valori assunti dal campo Type: none snmpTrap Log logAndTrap Gestione Alarm Il tool offre il supporto alla creazione degli alarm consentendo di indicare: Variabile da monitorare Valori di soglia Tipo di campionamento Tipo di alarm Intervallo di campionamento E’ anche possibile rimuovere gli alarm che si sono registrati al fine di non ricevere ulteriori notifiche Statistiche Sfruttando le informazioni presenti nel MIB-Tree è stato possibile ricavare delle statistiche, tra cui: Throughput: stima del numero di pacchetti inviati (e ricevuti) da un nodo al secondo Rapporto tra numero PDU SNMP ricevuti (inviati) con errori dall’agente e il numero totale Rapporto tra PDU SNMP ricevuti dall’agente e quelli inviati Rapporto tra PDU SNMP con richieste di tipo Get ricevuti dall’agente e quelli inviati I nodi del MIB-Tree interrogati per realizzare questa funzionalità sono stati i seguenti: .1.3.6.1.2.1.2 .1.3.6.1.2.1.11 Accesso alla funzionalità Accesso alla funzionalità Indicare il nodo da monitorare, specificando un indirizzo IP Accesso alla funzionalità Indicare il nodo da monitorare, specificando un indirizzo IP Selezionare le statistiche che si desidera visualizzare Accesso alla funzionalità Indicare il nodo da monitorare, specificando un indirizzo IP Selezionare le statistiche che si desidera visualizzare Per ogni statistica è fornita una descrizione Accesso alla funzionalità