Post on 17-Feb-2019
transcript
Università degli Studi di Napoli Federico II
Facoltà di Scienze MM.FF.NN.
Corso di Laurea in Informatica
Tesi Sperimentale di Laurea Triennale
Un sistema per il monitoraggio di una rete wired
basato sul software Open Source Ntop
Relatori Candidato
Prof. Guido Russo Guido Alì
Dr. Ing. Catello Di Martino matricola 566/2266
Anno accademico 20010/2011
Guido Alì 566/2266 Pagina 2 di 98
Desidero ringraziare...
Il Prof. Guido Russo e l'Ing. Catello Di Martino per l'opportunità che mi hanno concesso di
svolgere il tirocinio nel Centro SCoPE e per il costante supporto umano e professionale fornitomi.
I miei colleghi del centro ScoPE con cui mi sono tante volte confrontato e ciò ci ha permesso di
evolvere insieme, imparando il lavorare in team.
I miei genitori per avermi supportato anche nei momenti più difficili...
I miei amici ed Enne per avermi sopportato...
Tutti i colleghi del corso di laurea, i ragazzi e le ragazze del Centro SCoPE, in particolare Marco
con il quale ho svolto un lavoro collaborativo durante il tirocinio, e Flavio nelle ultime settimane
( in bocca al lupo per l'imminente laurea ).
chi ha sempre creduto in me e continua a farlo ancora oggi...
Grazie a tutti !!!
Dedico questa laurea alla mia Little Kim.
Guido Alì 566/2266 Pagina 3 di 98
Indice generale
1. Introduzione ........................................................................................................................... 6
2. Cos'è il monitoraggio di una rete .......................................................................................... 11
3. Software di monitoraggio..................................................................................................... 12
3.1 Contesto e motivazione ..................................................................................................... 12
4. Strutturazione infrastruttura monitoraggio rete Unina ......................................................... 15
4.1 Tipologia della rete Unina .................................................................................................. 15
4.2 Sistema operativo di rete: IOS ........................................................................................... 22
4.3 Protocolli di routing .......................................................................................................... 25
4.3.1 Protocollo IS-IS .............................................................................................................. 25
4.3.2 Protocollo BGP .............................................................................................................. 28
4.3.3 Protocollo EIGRP ........................................................................................................... 29
4.4 Il CISCO 12410 ................................................................................................................ 31
4.5 Protocollo Netflow ............................................................................................................ 39
5. Software monitoraggio rete .................................................................................................. 43
5.1 Ntop .................................................................................................................................... 43
5.1.1 Packet Sniffer .................................................................................................................. 44
5.1.2 Packet Analyser ............................................................................................................... 45
5.1.3 Report Engine ................................................................................................................. 48
5.2 MRTG ................................................................................................................................ 50
5.2.1 Funzionamento ................................................................................................................ 50
5.2.2 Caratteristiche ................................................................................................................. 50
5.3 TCPDUMP ......................................................................................................................... 52
5.3.1 Usi comuni di tcpdump .................................................................................................. 52
5.3.2 Le opzioni ....................................................................................................................... 53
5.3.3 Esempi base..................................................................................................................... 54
5.3.4 Le espressioni .................................................................................................................. 57
5.3.5 Esempi di espressioni ...................................................................................................... 59
5.3.6 Espressioni combinate .................................................................................................... 62
5.3.7 Esempi di espressioni combinate .................................................................................... 63
5.3.8 Suggerimenti .................................................................................................................. 66
6. Guida all'installazione di Ntop ............................................................................................. 68
6.1 Primo metodo installazione pacchetti ................................................................................ 69
6.2 Secondo metodo installazione pacchetti ............................................................................ 70
6.3 Configurazione di Ntop ...................................................................................................... 77
7. Guida installazione della libreria PF_RING ........................................................................ 85
8. Glossario .............................................................................................................................. 93
9. Bibliografia e Sitografia ..................................................................................................... 105
Guido Alì 566/2266 Pagina 4 di 98
Indice delle illustrazioni
Figura 1: Schema di una rete con Ntop ...................................................................................... 6
Figura 2: Struttura logica della rete sul territorio ..................................................................... 15
Figura 3: Sedi di rilievo ........................................................................................................... 16
Figura 4: Collegamento tra POP ............................................................................................. 16
Figura 5: Scheda PRP .............................................................................................................. 32
Figura 6: sempi di schede LC .................................................................................................. 33
Figura 7: Struttura del pacchetto netflow ................................................................................. 40
Figura 8: Architettura di Ntop .................................................................................................. 43
Figura 9: Riga della tabella hash .............................................................................................. 46
Figura 10: apt-get install autoconf ........................................................................................... 67
Figura 11: Gestore di pacchetti ................................................................................................ 68
Figura 12: Installazione della libreria libpcap .......................................................................... 69
Figura 13: Installazione delle dipendenze librrd-dev ............................................................... 70
Figura 14: Scermata di conferma installazione pacchetti dipendenti ...................................... 71
Figura 15: Installazione di Selinux .......................................................................................... 72
Figura 16: Esecuzione del comando ./autogen.sh .................................................................... 73
Figura 17: Esecuzione dl comando sudo make install ............................................................. 74
Figura 18: Prima esecuzione di Ntop ....................................................................................... 75
Figura 19: Scermata di configurazione di Ntop ....................................................................... 76
Figura 20: Schermata iniziale di Ntop ..................................................................................... 77
Figura 21: Voce Plugins del menù a tendina ............................................................................ 77
Figura 22: Tabella dei Plugins installati ................................................................................... 78
Figura 23: Voce Plugins -> NetFlow del menù a tendina ........................................................ 78
Figura 24: Pulsante Add NetFlow Device................................................................................ 79
Figura 25: Configurazione del Plugin NetFlow - prima parte ................................................. 80
Figura 26: Configurazione del Plugin NetFlow - seconda parte .............................................. 81
Figura 27: Voce Admin -> Switch NIC del menù a tendina .................................................... 82
Figura 28: Voce Summary del menù a tendina ........................................................................ 82
Figura 29: Global Traffic Statistics .......................................................................................... 83
Figura 30: Global Protocol Distribution .................................................................................. 84
Figura 31: Global TCP/UDP Protocol Distribution ................................................................. 84
Figura 32: TCP/UDP Traffic Port Distribution: Last Minute View ......................................... 86
Figura 33: Rimozione di libpcap .............................................................................................. 90
Figura 34: Esecuzione di sudo make install ............................................................................. 92
Guido Alì 566/2266 Pagina 5 di 98
Indice delle tabelle
Tabella 1: Tipo di collegamento delle sedi dell'ateneo ............................................................ 21
Tabella 2: Punti rete attivi ........................................................................................................ 22
Tabella 3: Caratteristiche schede LC ....................................................................................... 36
Tabella 4: Caratteristiche ottiche .............................................................................................. 38
Tabella 5: Caratteristiche delle schede ottiche ......................................................................... 39
Tabella 6: Tipo di schede divise per porte ................................................................................ 40
Tabella 7: Caratteristiche ottiche .............................................................................................. 40
Tabella 8: Esempio manuale Ntop alla voce -p ........................................................................ 92
Guido Alì 566/2266 Pagina 6 di 98
Indice degli esempi
Esempio 1: tcpdump -D ........................................................................................................... 56
Esempio 2: tcpdump -nnxX -i eth0 -w tcpdumpfile -C 3 ....................................................... 57
Esempio 3: tcpdump -nnvvv -i eth0 host 192.168.1.9 ............................................................. 59
Esempio 4: tcpdump -vvv -i lo dst port http ............................................................................ 60
Esempio 5: tcpdump -nnwww -c 3 arp .................................................................................... 61
Esempio 6: tcpdump -nn icmp host 192.168.1.9...................................................................... 62
Esempio 7: tcpdump -c 10 ip host 10.0.2.15 and not 10.0.2.2 ................................................. 63
Esempio 8: tcpdump -c 3 -i eth0 port smtp or http or ftp-data or ftp ...................................... 64
Esempio 9: tcpdump -c 5 -nn -i eth0 'src net not 192.168.0.0/16 and not 10.0.0.0/8′ ............ 65
Esempio 10: tcpdump -nn -i eth0 src host 10.0.2.15 and 'dst port 21 or 80' ............................ 66
Guido Alì 566/2266 Pagina 7 di 98
1. Introduzione
Questa tesi tratta il monitoraggio delle reti wired tramite il software Open Source Ntop,
prima però motiveremo la scelta di tale applicativo confrontandolo con altri programmi per
il monitoraggio. In questo caso specifico il nostro compito è stato di monitorare il traffico
della rete UNINA dell'università di Napoli Federico II, tramite un hardware quale un GSR
(Gigabit Switch Routher) della Cisco, attraverso il quale passa tutto il traffico che va
all'esterno, il software Ntop e grazie al protocollo NetFlow della Cisco. Il GSR legge tutti i
pacchetti che transitano attraverso di lui e tramite il protocollo NetFlow invia i dati
riguardanti il tipo del pacchetto, la dimenzione e altre informazioni, al software Ntop, il
quale monitorizza il tutto.
Il lavoro effettuato è stato il continuo di un precedente tirocinante, Riccardo Caccavale, il
quale utilizzava un applicativo della stessa casa del GSR, omonimo del protocollo utilizzato,
chiamato NetFlow.
Nella prima parte del tirocinio è stata più lo studio dell'applicativo e di due script, il primo
per salvare i dati del monitoraggio su un database esterno MySql, il secondo per la stampa
dei dati su un grafico.
La soluzione che era stata trovata dal tirocinante precedente era di analizzare ogni dieci
Figura 1: Schema di una rete con Ntop
Guido Alì 566/2266 Pagina 8 di 98
minuti una lista di un campione di tutti i pacchetti passanti per il GSR e classificare il tipo di
pacchetto in base alla porta di rete utilizzata.
Il problema che non si riusciva a risolvere era che purtroppo molti tipi di servizi come ad
esempio il Voip o altri protocolli, non sono classificabili con specifiche porte di rete ma
cambiano in base al tipo di telefono Voip o in altri casi utilizzano un range di porte, quindi
sarebbe risultato ancora più macchinoso lo script.
Dopo che ci si è resi conto che tale programma era poco performante poiché poteva solo
ricevere informazioni riguardo le singole porte di rete, è cominciata una lunga fase di ricerca
di software gratuiti e non in grado di monitorare una rete così grande, che ricordiamo
comprende tutte le varie facoltà e sedi come monte Sant'Angelo, Fuorigrotta, il centro
storico e così via.
Durante la ricerca dell'applicativo da utilizzare, sono stati testati vari applicativi come
TCPDUMP, MRTG e altri, fino a trovare Ntop. La scelta alla fine è caduta su Ntop per
svariati motivi, in primo luogo poiché è un software openSource per Linux, è in grado di
interfacciarsi con il protocollo NetFlow e quindi non monitorizza le singole porte, perché
genera automaticamente grafici senza dover usare script esterni, è italiano, è interfacciabile
con MySql e tanti altri motivi.
Un'altra fase importante del tirocinio è stata l'installazione e la configurazione del software
in quanto, l'installazione ha richiesto un gran numero di librerie specifiche come Selinux e
altre; per quanto riguarda la configurazione per l'interfacciamento con il GSR è stato
necessario ottenere permessi specifici su un server su cui è stata installata una macchina
virtuale a cui è stato associato un indirizzo IP specifico.
La fase finale del tirocinio è stata la visualizzazione sul sito dell'università
wifed.scope.unina.it di alcuni grafici ottenuti tramite Ntop come il grafico del traffico HTTP,
il traffico Mail, quello Voip e altri. Il resto dei grafici sono accessibili solo tramite
identificazione tramite username e password.
Oltre ai grafici dei vari protocolli, sul sito è disponibile anche una mappa di tutti gli Host
collegati in quell'instante e altri grafici che visualizzano il carico della rete nell'ultima ora,
ultimo giorno e ultimo mese.
Guido Alì 566/2266 Pagina 9 di 98
Questo lavoro è solo all'inizio, in quanto utilizzando al meglio l'applicativo Ntop è possibile
identificare attacchi, monitorare le singole aree come i laboratori o le aule studio, scoprire
delle falle nella rete o addirittura sviluppare nuovi plugins.
Il progetto è stato realizzato interamente mediante le risorse umane e le attrezzature messe a
disposizione dal Data Center SCoPE e dal gruppo di reti del CSI.
Il monitoraggio del traffico sta diventando sempre più complesso a causa della varietà di tipi
di traffico e l'integrazione di reti diverse.
Anche se gli strumenti tradizionali come sniffer e sonde di rete sono ancora utili per la
misurazione del traffico, spesso sono limitate all'ambito di analisi dei pacchetti di rete e la
loro visualizzazione. Questo significa che gli operatori hanno bisogno di eseguire
manualmente le azioni specifiche quando accadono alcune condizioni di traffico anomalo
perché hanno molto un sostegno limitato di strumenti di monitoraggio.
La misurazione del traffico di rete è stata considerata un'attività necessaria fin dai primi
lavori svolti tramite la rete (networking). Gli amministratori hanno dovuto tenere traccia del
traffico di rete per diverse ragioni, tra cui l'individuazione delle strozzature della rete e le
estensioni della rete di pianificazione. Negli ultimi anni, questa attività è diventata sempre
più difficile per vari motivi:
• L'integrazione dei diversi mezzi di comunicazione di rete rende l'identificazione dei
problemi di comunicazione sempre più difficile, e richiede sniffer di rete e sonde in grado di
tenere il passo con la velocità della rete che aumenta.
• L'interconnessione delle reti esistenti autonome, basate su protocolli IP, e protocolli
non-IP come NetBEUI, AppleTalk e IPX, i quali si sono silenziosamente propagati in reti IP
esistenti, interferendo con i protocolli esistenti e le prestazioni della rete.
• Gli amministratori di rete necessitano di monitorare costantemente l'utilizzo di
protocolli che fanno largo uso della larghezza di banda di rete e quindi influenza
sensibilmente le prestazioni complessive della rete.
UNIX tradizionalmente fornisce strumenti per la verifica dei problemi di connettività di
base così come sniffer di rete come tcpdump o snoop. Questi strumenti sono molto potenti
per il monitoraggio della rete e problemi di connettività di protocollo, tuttavia, hanno
bisogno di strumenti di analisi offline come tcpshow e tcp-track per una migliore analisi e
Guido Alì 566/2266 Pagina 10 di 98
correlazione dei dati acquisiti nonché di individuare i flussi di rete.
Allo stesso modo, le sonde di rete come gli agenti di monitoraggio remoto (RMON), sono
molto potenti, ma purtroppo hanno bisogno di sofisticati SNMP (Simple Network
Management Protocol) manager in grado di configurare la rete in modo corretto, e
analizzare i dati raccolti. A causa di questa complessità e il costo di tali sonde, gli agenti
RMON sono fondamentalmente utilizzati unicamente da amministratori di rete di
infrastrutture di reti di grandi dimensioni. Altri strumenti per il monitoraggio di rete, come
NeTraMet, offrono linguaggi di programmazione avanzati di analisi dei flussi di rete e la
creazione di registri statistici per tipo di evento. Sebbene questi strumenti offrono grandi
vantaggi in termini di flessibilità e di configurazione utente nei confronti degli agenti
RMON, ancora non sono in grado di raccogliere dati sul traffico tramite un egente SNMP e
poi fornirli agli amministratori i quali a loro volta innescano azioni specifiche per aumentare
la fluibilità del traffico.
Su Internet ci sono diversi strumenti progettati per rilevare falle di sicurezza di rete e
potenziali attacchi in corso. Accanto alcune eccezioni come Network Flight Recorder (NFR),
questi strumenti sono in genere progettati per rilevare gli attacchi nei confronti di un singolo
host (generalmente quello in cui lo strumento è stato attivato) e non
fornire protezione alla rete e sottorete. Strumenti di misurazione del traffico di solito non
offrono il supporto per la sicurezza, né consentono azioni attive da adottare quando si
verifica un attacco, ma semplicemente avvisare gli amministratori quando un attacco già si è
verificato. Questo perché gli strumenti di misurazione e classificazione del traffico di rete in
base, si basano su alcune regole statiche specificate con le soglie definite. Queste soglie
spesso non sono in grado di esprimere modelli di traffico complessi (ad esempio, attacchi di
sicurezza) o sufficientemente flessibili per essere in grado di coprire una intera sottorete
senza dover definire la stessa regola per tutti gli host della sottorete.
Ntop è una applicazione web-based che monitorizza il traffico della rete. Inizialmente è
stato scritto dal Dott. Deri dell'università di Pisa per affrontare i problemi di prestazioni del
backbone di rete del campus, perché gli strumenti per il monitoraggio del traffico a sua
disposizione non sono stati soddisfacenti per i motivi sopra elencati. Il nome deriva dallo
strumento UNIX top, per il controllo dei processi della CPU, gli autori avevano bisogno di
un semplice strumento in grado di misurare il traffico di rete e trasmettere le informazioni
Guido Alì 566/2266 Pagina 11 di 98
sui pacchetti catturati. Ntop è poi evoluto in uno strumento più flessibile, estensibile e
potente grazie anche alle segnalazioni di problemi e suggerimenti della genteche su Internet
ha scaricato l'applicazione.
Guido Alì 566/2266 Pagina 12 di 98
La parola monitoraggio deriva da monitor e raggio, così come il radar controlla ciclicamente
un raggio d'azione.
Il monitoraggio delle reti in questi ultimi anni è divenuto sempre più importante, conoscere
ciò che si fa della propria rete è fondamentale per poter migliorare la propria produttività,
scoprire falle nella sicurezza e verificare che si faccia un uso consono delle ore di lavoro.
Nel caso della rete dell'università il monitoraggio serve a capire l'uso che gli studenti fanno
della infrastruttura messa a disposizione dalla Federico II, per poter migliorare il servizio,
potenziarlo e eventualmente filtrarlo per impedire abusi e illegalità.
Sapere ciò che l'utente vuole è fondamentale per lo sviluppo di applicazioni future, così
come per la gestione del traffico della rete e per evitare congestione del traffico. Di contro
c'è la controversia sul troppo controllo e la violazione della privacy, discorso che
ovviamente non può essere sorvolato quando si parla di controllo del traffico di una rete.
Guido Alì 566/2266 Pagina 13 di 98
Il lavoro di amministratore della rete sta diventando sempre più complesso a causa del
crescente numero di computer collegati in rete che lavorano con sistemi operativi diversi e
parlano con vari protocolli di rete. La maggior parte del monitoraggio della rete e degli
strumenti diagnostici, come ping e traceroute sono adatti solo per affrontare i problemi di
connettività semplice. Problemi di rete complessi spesso devono essere affrontati con
strumenti di gestione piuttosto costosi o sonde acquistabili solo da aziende di medie-grandi
dimensioni.
Ntop, è un'applicazione web-based open-source per monitorare l'utilizzo della rete che
consente agli utenti di tenere traccia delle attività di rete pertinenti, compreso l'utilizzo della
rete, le connessioni stabilite, il protocollo utilizzato per la connessione alla rete e la
classificazione del traffico. La portabilità di Ntop su varie piattaforme, il suo supporto di
molti mezzi di comunicazione di rete, la facilità d'uso e utilizzo della CPU leggero lo rende
adatto a chi vuole controllare la propria rete, senza dover adottare una piattaforma di
gestione sofisticata e costosa.
3.1 Contesto e motivazione
Strumenti popolari come ping e traceroute sono stati utilizzati per anni per il monitoraggio e
il debug di semplici problemi di connettività di rete. Anche se questi strumenti sono spesso
sufficienti per affrontare i problemi semplici, in realtà sono stati creati per monitorare le
attività di rete tra due host. Nei casi in cui il problema dell'indirizzamento della rete è
dovuto all'interazione di traffico originato da parte di più host padroni, questi strumenti
mostrano i loro limiti. Strumenti di network sniffer come tcpdump sono molto utili per
analizzare il traffico di rete, ma le applicazioni off-line sono spesso necessarie per correlare
i dati acquisiti e l'individuazione dei flussi di rete. Molti sniffer di rete commerciali sono
solitamente in grado di analizzare i dati durante l'acquisizione del traffico, ma questi
strumenti sono ancora molto primitivi, perché si concentrano principalmente sul pacchetto e
non le attività di rete globale. In altre parole, gli operatori sono in grado di conoscere
praticamente tutto ciò che riguarda il contenuto di un pacchetto di rete unico, ma è molto
difficile estrarre informazioni relative alla posizione di tutta la rete, quando si riscontra un
Guido Alì 566/2266 Pagina 14 di 98
problema di rete. Allo stesso modo, le sonde di rete come agenti RMON sono molto potenti,
ma purtroppo hanno bisogno di un sofisticato manager SNMP che sono in grado di
configurare in modo corretto, e analizzare le statistiche di rete raccolte. A causa di questa
complessità e il costo di tali sonde, gli agenti RMON sono fondamentalmente utilizzati
unicamente dai gestori di rete avanzate nelle grandi istituzioni.
Altri strumenti per il monitoraggio di rete come NeTraMet e NFR offrono linguaggi di
programmazione avanzati, di analisi dei flussi di rete e la creazione di registri statistici per
evento. Tuttavia questi strumenti sono stati progettati come demoni di rete aventi
impostazioni avanzate adatte per il monitoraggio di reti in un medio e lungo periodo di
tempo, ma in alcuni casi è necessario disporre di uno strumento molto più semplice in grado
di mostrare lo stato attuale della rete in formato leggibile sul terminale.
Anche se i sistemi operativi si sono evoluti rapidamente, le aziende di creazione software
non hanno prestato sufficiente attenzione alla gestione della rete. A causa di questo, le
ultime versioni dei sistemi operativi più diffusi offrono ancora servizi di ping e traceroute.
Questo perché spesso le aziende ritengono che se un problema di rete è dovuto alla
connettività di rete il ping e traceroute sono sufficienti, mentre se il problema è più
complicato è necessario un più costoso e complesso strumento di gestione della rete.
Nell'era di Internet, gli utenti della rete devono poter accedere agli strumenti di rete, tramite
interfacce semplici ma in grado di dare risposta a domande come:
• Perché le prestazioni di rete locale sono così povere?
• Chi utilizza la maggior parte della larghezza di banda disponibile?
• Quali sono gli host che attualmente stanno diminuendo le prestazioni del server
locale NFS?
• Qual è la percentuale di larghezza di banda effettivamente utilizzata del mio
computer?
• Quali sono gli utenti contattati e la quantità di traffico di rete prodotta da ciascuno dei
processi in esecuzione sul computer locale?
• Quali sono gli host che producono traffico multicast?
Ntop è stato scritto per dare una risposta positiva a tutte le domande di cui sopra. E 'stato
Guido Alì 566/2266 Pagina 15 di 98
inizialmente scritto dagli autori per affrontare i problemi di prestazioni del backbone di rete
del campus. Simile al top Unix, strumento che riporta i processi di utilizzo della CPU, gli
autori bisogno di un semplice strumento in grado di segnalare agli utenti della rete superiore
(da qui il termine Ntop) per identificare rapidamente gli host che sono state attualmente
utilizzando la maggior parte delle risorse di rete disponibili. Ntop è poi evoluto in uno
strumento più flessibile e potente come la gente su Internet scaricato e segnalato problemi e
suggerimenti. Nelle sezioni seguenti si riferiscono all'architettura, le soluzioni progettuali
adottate e le modalità interne di attuazione Ntop corrente.
Guido Alì 566/2266 Pagina 16 di 98
4. Strutturazione infrastruttura monitoraggio rete Unina
L'infrastruttura di rete monitorata dal software, proposto nella tesi in questione, comprende
la connessione di tutte le sedi dell’Università di rilievo presenti sul territorio. Questi
vengono identificati come punti di accesso metropolitani e, ad ognuno di essi, viene
associato un nodo di trasporto o PoP (Point of Presence). Tra questi punti di accesso ve ne è
presente uno, denominato GigaPoP, il quale funge da punto di interconnessione tra la rete
dei vari enti presenti sul territorio e la rete GARR.
L’architettura che andiamo ad analizzare rispecchia, con ogni probabilità per ragioni di
natura economica, un modello a più livelli di tipo “collapsed core”, in cui i nodi di trasporto
presenti nei POP si incaricano, a prescindere dalle normali funzioni, di effettuare la
distribuzione della connettività raccogliendo direttamente i collegamenti provenienti dai
nodi di accesso. Tale modello comporta quindi l’unificazione dei due livelli di core e
distribuzione le cui funzionalità vengono esplicitate dagli stessi nodi di commutazione o
GigaRouters.
Figura 2: Struttura logica della rete sul territorio
Guido Alì 566/2266 Pagina 17 di 98
Alla base di tutto vi è la ricerca di una soluzione architetturale che renda possibile lo
sviluppo di una anello metropolitano interamente cablato in fibra ottica, che attraversando la
città di Napoli, consente di collegare con opportune meccaniche le sedi che costituiscono i
Punti di Accesso o di fruizione del servizio, che generalmente corrispondono alle sedi
dell’università o agli enti di ricerca come già sopra riportato. In particolare, stabilendo
opportunamente la grandezza e il numero di fibre ottiche del cavo portante alla base
dell’Anello Metropolitano è possibile estrapolare, in prossimità dei diversi elementi da
collegare (PoP Metropolitani e Punti di Accesso), il numero di fibre utili per raggiungere tali
sedi. In altri termini, semplicemente collegandol’apparato attivo di rete previsto, da uno dei
Figura 3: Sedi di rilievo
Figura 4: Collegamento tra POP
Guido Alì 566/2266 Pagina 18 di 98
PoP, ad un connettore diverso è possibile cambiare la rotta che le informazioni seguono
attraversando la rete, senza intaccare la logica alla base della stessa.
Come evidenziato dalla figura, sono stati realizzati quattro punti principali di erogazione del
servizio, il cui scopo è quello di individuare i PoP fra loro completamente magliati. Focale
ai fini del funzionamento della rete risulta essere il POP di Monte S. Angelo, il quale ricopre
un ruolo esclusivo e privilegiato di centro della rete ospitando i collegamenti verso la rete
Internet (che lo rende oggetto principale del monitoraggio qui presentato) e i peering verso
le altre reti che partecipano all’iniziativa. Avvalendosi della magliatura completa, si è
ritenuto opportuno e vantaggioso realizzare un maggior numero di anelli logici,
precisamente 4, garantendo cosi ridondanza di collegamenti fra i PoP. Inoltre, con l'obiettivo
di accrescere la robustezza dell’intero sistema rispetto ad imprevisti e di renderlo già pronto
ad una gestione dinamica ed ottimizzata dei path (collegamenti logici con specifici requisiti
di banda, affidabilità e QoS) direttamente dagli apparati di trasporto/distribuzione, si è
pensato che fosse ragionevole duplicare tutti i collegamenti tra le diverse sedi. In particolare,
sono state effettuate due scelte che andiamo qui ad esplicitare:
• Duplicazione dei collegamenti tra i GigaPoP Metropolitani con diversificazione
completa del percorso fisico, effettuando sul singolo anello fisico molteplici anelli logici
coerentemente con lo schema riportato nella figura precedente;
• Duplicazione dei collegamenti tra i Punti di Accesso con maggiore criticità (colorati in blu
in figura) ed i relativi GigaPoP Metropolitani, anche qui con diversificazione completa del
percorso fisico.
La topologia realizzata consente intrinsecamente l'aumento della disponibilità alla rete,
minimizzando cosi, in maniera significativa, i tempi di fermo in una qualsivoglia situazione
di guasto della fibra ottica, anche al verificarsi di situazioni estreme come il troncamento
accidentale dell’intero cavo (come per esempio un'errata trivellazione) in un punto qualsiasi
dell’anello.
Dal punto di vista della banda trasmissiva i collegamenti di dorsale sono in grado di
garantire 2.4 Gigabit per secondo, mentre i collegamenti di accesso delle singole strutture di
secondo livello servite garantiscono 1 Gigabit per secondo. Inoltre tutti i collegamenti di
Guido Alì 566/2266 Pagina 19 di 98
dorsale sono affiancati da una seconda tratta di ridondanza su doppia via differenziata da 1
Gigabit per secondo a garanzia della massima affidabilità.
In tale contesto sono già operativi i nuovi servizi di trasporto basati sulla tecnologia MPLS
(traffic engineering, Reti Private Virtuali di livello 2 e 3, Qualità del servizio e garanzie di
banda per reti/applicazioni).
Nonostante un sensibile aumento delle prestazioni, nel particolare di capacità e robustezza,
nella nuova rete si riscontra una congrua diminuzione dei costi fissi di noleggio (un terzo
rispetto ai precedenti portanti gestiti da Telecom Italia). E' inoltre importante riferire che tale
infrastruttura rappresenta una delle più tecnologicamente avanzate fra le reti di altri atenei
ed enti di ricerca in Italia.
Si fa presente, inoltre, che la rete è in esercizio dalla fine di Novembre del 2003 e che da
tale data non si sono mai riscontrate interruzioni del servizio sulla struttura portante.
Scendendo nel dettaglio dei vari nodi, sappiamo che ne esiste una considerevole parte
soggetta a generiche criticità in termini di alimentazione elettrica e condizioni ambientali
del locale ospitante il nodo (per esempio insufficiente ventilazione, problemi di
condizionamento, agenti atmosferici vari, etc.).
Nel particolare le strutture (aggregate a livello di campus) servite in fibra ottica proprietaria
sono:
• Monte S. Angelo
• Policlinico – CEINGE
• Farmacia
• Comprensorio Centro Storico (Mezzocannone, Corso Umberto, Via Tari)
• Edificio Polifunzionale V. Marina
• Giurisprudenza p. di Massa
• Architettura Pal. Gravina (v. Monteoliveto)
• Architettura Forno vecchio (Spirito Santo)
• Architettura V. Tarsia
Guido Alì 566/2266 Pagina 20 di 98
• Lettere p. Massa
• Veterinaria
• Orto Botanico
• Sociologia
• Scienze della terra/Geologia (S. Marcellino)
• Via Partenope
• Politecnico Piazzale Tecchio
• Campus Via Claudio
• Palazzo Uffici ex ISVEIMER
Sono inoltre collegate alla rete di Ateneo attraverso collegamenti affittati da Telecom Italia
le seguenti sedi:
Sede Banda Tecnologia
Ingegneria Agnano 10Mbps In fibra ottic a
Biotecnologie Mostra Oltremare 2Mbps CDN/PDH
Via S. Aspreno 2Mbps Frame Relay
Via Carrozzieri 768Kbps ATM/ADSL
Via Sanfelice 768Kbps ATM/ADSL
Via Don Bosco 512Kbps ATM/ADSL
Via De Gasperi 512Kbps ATM/ADSL
Tabella 1: Tipo di collegamento delle sedi dell'ateneo
E’ importante evidenziare come, allo stato attuale delle cose, tre strutture ospedaliere di
grande autorevolezza presenti sul territorio stiano già utilizzando la rete per attività molto
importanti come la telemedicina, lo scambio di protocolli terapeutici, di referti ed immagini
Guido Alì 566/2266 Pagina 21 di 98
mediche etc.. Ciò, in aggiunta alle ordinarie attività di didattica e ricerca e di governo
(collegamenti delle strutture amministrative di facoltà e dipartimentali ai sistemi centrali, o
connessioni ai ministeri e alle regioni per la gestione di progetti finanziati etc.), caratterizza
fortemente l’infrastruttura come mission-critical, avendo bisogno di garanzie sempre più
forti di qualità e continuità del servizio.
Si elencano nel seguito alcuni dati dimensionali che riguardano unicamente la componente
direttamente gestita dal Servizio Reti nell’ambito Rete Ateneo/rete regionale della Ricerca,
con lo scopo di mettere in rilievo le caratteristiche in termini di strategia e criticità. Da tali
elementi è stata omessa tutta la componente di gestione relativa al polo GARR ospitato
dall’Ateneo.
Punti rete attivi (determinati attraverso l’analisi della distribuzione
circa ed occupazione dello spazio di indirizzamento)
Circa 35000
Numero Access points 630
Complessi/campus indipendenti collegati 43
Attestazioni dipartimentali e di facoltà Oltre 100
Apparecchiature di rete attive gestite Oltre 1000
Accessi dialup simultanei 150
Erogazione media settimanale di banda su Internet (determinata
sulla base delle statistiche di traffico raccolte da GARR
http://www.noc.garr.it)
90 Mbps
Numero di guasti gestiti dal NOC su base annua (determinati sulla
base delle statistiche del sistema di trouble ticketing)
(http://www.trouble.unina.it)
Circa 400
Tabella 2: Punti rete attivi
Alla luce di tali considerazioni si può facilmente notare che in termini di dimensioni della
Guido Alì 566/2266 Pagina 22 di 98
componente gestita la struttura in questione è il più grande fornitore di servizi di rete
presente nel sud Italia dopo Telecom Italia ed Enel/Wind.
Entrando nello specifico del lavoro svolto, l'apparecchio monitorato è il Cisco GSR 12410.
Di conseguenza è opportuno specificarne le caratteristiche, le funzionalità, ed i protocolli a
partire dal sistema operativo di rete da esso supportato.
Guido Alì 566/2266 Pagina 23 di 98
4.2 Sistema operativo di rete: IOS
IOS (Internetworking Operating System) è il sistema operativo utilizzato nella maggior
parte dei Router Cisco Systems (che costituiscono circa 80% della rete mondiale).
È un sistema operativo esclusivo per i dispositivi di rete (router e switch) molto semplice ed
efficiente nonostante lo scarso uso dell'interfaccia grafica nativa a causa di alte necessità di
sicurezza (il funzionamento è gestito quasi esclusivamente da riga di comando). Il sistema
offre una serie di comandi la cui disponibilità è legata ovviamente ai permessi posseduti
dall'operatore.
Nella modalità di configurazione globale è possibile modificare le impostazioni relative
all'intero sistema, mentre con la modalità d'interfaccia è possibile modificare
opportunamente un singolo apparato. E' comunque necessario evidenziare che, solitamente,
le configurazioni avvengono tramite CLI (Command Line Interface); un'interfaccia di tipo
testuale con diversi menù nidificati tra loro, in grado di fornire all'utente la possibilità di
predeterminare il comportamento del router in ogni sua componente. In alternativa alla
configurazione con linea di comando ci sono comunque tool grafici che permettono di,
eseguire grosso modo, le stesse operazioni, che saranno poi copiate via rete nel router.
Per garantire un certo grado di sicurezza e protezione il sistema operativo offre 16 diverse
tipologie di accesso con 16 diverse modalità di diritti, che variano tra 0 e 15.
A seconda delle varie tipologie di devices sul quale è installato il Sistema Operativo di rete,
esso può essere caricato direttamente nella memoria volatile presente nell'apparato stesso o
in alcuni dispositivi più datati sarà caricato da una memoria non volatile, decompresso e
pronto per essere utilizzato.
Dopo aver eseguito le operazioni appena descritte, gli IOS sono pronti per l'utilizzo e
mettono immediatamente a disposizione dell'utente le funzioni fondamentali di
instradamento e di commutazione.
E' rilevante evidenziare come attraverso IOS sia possibile conoscere e modificare tutte le
caratteristiche del router sul quale è installato, come ad esempio il settaggio del piano di
indirizzamento degli ip, il settaggio dei protocolli di routing all'aggiornamento del software.
Allo scopo di capire il funzionamento e l'utilizzo di IOS è importante conoscere, anche per
Guido Alì 566/2266 Pagina 24 di 98
sommi capi, le caratteristiche delle componenti interne di un router.
Un router è un apparato hardware il cui scopo risulta essere di supporto alla rete tramite lo
smistamento di pacchetti. Esso è fisicamente dotato di uno o più processori, di memorie
volatili e non, e di interfacce fisiche che permettono la connessione.
Vediamo ora nel particolare le memorie principali di un Routher Cisco:
• Memoria ROM: all'interno della quale è memorizzato tutto il codice necessario per la fase di
Bootstrap (avvio) del router , il codice per POST (Power-On Self Test) attraverso il quale vine
eseguita la diagnostica di tutto l'hardware presente ed infine un mini-IOS che viene utilizzato per
un'eventuale manutenzione in caso di problemi.
• Memoria RAM: in questa memoria vengono mantenute essenzialmente due tipologie di
informazioni: quelle relative alla tabelle di routing e quelle relative alla configurazione corrente
del router. Ovviamente ogni cambiamento di configurazione non salvata verrà persa al
riavvio dell'apparato.
• Memoria NVRAM: in questa memoria vengono mantenute tutte quelle informazioni
che dovranno essere caricate all'avviamento del dispositivo e le diverse configurazioni
presenti, soprattutto il Registro di Configurazione (Configuration Register) che permette tra
le altre cose di stabilire le modalità di avvio dell'apparato (che variano a seconda dei
permessi che ha l'utente che si è collegato).
• Memoria Flash: memoria di tipo EEPROM (Electrically Erasable Programmable
Read Only Memory). Questa memoria non viene cancellata allo spegnimento dell'apparato,
infatti in essa è memorizzata l'immagine del sistema operativo IOS.
Guido Alì 566/2266 Pagina 25 di 98
4.3 Protocolli di routing
I protocolli di routing (protocolli di instradamento) permettono ai vari elementi, che
compongono la rete, di scambiare informazioni tra di loro con l'obiettivo di costruire le
tabelle di routing che forniranno poi il percorso ottimale ad ogni pacchetto durante
l'operazione di instradamento. Essi sono una suite di protocolli appartenenti al livello 3
(Livello di Rete) della pila OSI.
Saranno qui di seguito trattati tre tra i principali protocolli di routing, ovvero IS-IS BGP e
EIGRP.
4.3.1 Protocollo IS-IS
Il protocollo IS-IS (Intermediate System Intermediate System) permette essenzialmente agli
Intermediate Systems, all'interno di un dominio di routing, di scambiarsi diverse tipologie di
informazioni, quali funzioni sullo stato della rete, degli apparati, o delle configurazioni, in
modo tale da facilitare le operazioni di instradamento.
Questo protocollo, appunto, è parte integrante di un insieme di standard internazionali
realizzati con lo scopo primario di facilitare l'interconnessione di sistemi aperti.
Il protocollo IS-IS progettato per lavorare in stretta congiunzione con le due normative ISO
(la 9542 e la 8473) è in grado di supportare grandi domini di routing suddivisi
gerarchicamente.
Prima di scendere nel dettaglio della gerarchia è doveroso fornire una definizione di
dominio.
I domini sono formati sostanzialmente da diverse combinazioni di molti tipi di rete, per
esempio Point To Point Link, Multipoints Link, reti Broadcast (Ethernet). I domini di
grande dimensioni saranno suddivisi amministrativamente in aree e ognuna di queste sarà
ben definita e riseduta da uno o più IS (Intermediate System).
La divisione gerarchia è strutturata su due livelli:
• Livello1: che si riferisce all'instradamento dei pacchetti all'interno di un area.
• Livello2: che si riferisce all'instradamento dei pacchetti tra aree differenti o
Guido Alì 566/2266 Pagina 26 di 98
anche al di fuori del dominio di appartenenza (considerando dominio come un Autonomous
System).
Andiamo qui a riportare anche le definizioni di IS di livello1, IS di livello 2 ed ES che sono
parti integranti nella gestione del sottosistema gerarchico del protocollo ISIS:
• ES (End System): Questo è un sistema in grado sia di ricevere che di spedire i
pacchetti NUDP (Network Protocol Data Unit) a tutti gli altri sistemi, ma di pacchetti
NUDP non ne può inoltrare essendo connesso ad un solo IS.
• IS1 (INTERMEDIATE SYSTEM LIVELLO 1): Questo sistema è in grado, a
differenza di quello precedentemente descritto, di ricevere, spedire ed inoltrare i pacchetti
NUDP. Inoltre è in grado, qualora un pacchetto NUDP facesse parte della sua area, di
instradare direttamente lo stesso. Diversamente passerà il pacchetto al router di livello 2 più
vicino.
• IS2 (INTERMEDIATE SYSTEM LIVELLO 2): Questo sistema ha le stesse
caratteristiche di un intermediate system di livello 1, ma in aggiunta possiede la capacità di
instradare i pacchetti NUDP verso destinazioni al di fuori della propria area e anche del
dominio di routing.
L'organizzazione del protocollo IS-IS è composta da due diverse batterie di funzioni ovvero:
• Subnetwork indipendent functions: Sono delle funzioni indipendenti dal settore usato;
il loro compito principale è quello di fornire una trasmissione full duplex delle NUDP tra
Neighbour System (sistemi vicini) e a loro volta sono suddivisi in:
• Routing: Questa funzione ha il compito di determinare i paths delle NUDP e
allo stesso tempo gestisce dinamicamente le caratteristiche in caso di link non
più attivo o non più raggiungibile per cui il routing provvede a trovare un path
alternativo.
• Congestion control: Questa funzione ha come compito quello di gestire tutte le
risorse utilizzate da ogni IS.
• Subnetwork dependent functions: Queste funzioni, a differenza delle precedenti, sono
strettamente legate al settore che si sta utilizzando ed hanno come scopo principale quello di
mascherare le caratteristiche della sottorete.
Guido Alì 566/2266 Pagina 27 di 98
Inoltre queste funzioni si occupano di:
• Determinare la neighbour system (il sistema vicino) e l'indirizzo.
• SNPA (indirizzo di porta).
• Inizializzare i Data Link.
• Cancellare e stabilire dinamicamente tutti i link.
Osserviamo infine le principali tipologie metriche di routing del protocollo ISIS:
• Default Metrics: questa metrica è supportata da tutti gli IS appartenenti al dominio
per cui ogni circuito sarà identificato da un intero positivo, il quale, per convenzione, sarà
inversamente proporzionale alla capacità del circuito di gestire il traffico (troughput).
• Delay Metrics: È una metrica opzionale, dove l'intero eventualmente assegnato
rappresenta in maniera direttamente proporzionale il valore del ritardo di attraversamento
del circuito in questione.
• Expense Metrics: metrica di tipo opzionale, l'intero eventualmente assegnato al
circuito nella fattispecie rappresenta in maniera direttamente proporzionale il costo
monetario dell'attraversamento.
• Errors Metrics: Anch'essa metrica di tipo opzionale, il valore assegnatogli, qualora ci
fosse, rappresenterebbe la possibilità di errori residui su quel circuito.
Più grande sarà il valore, maggiore sarà la possibilità di errori non scoperti.
Quando è assegnato, questo valore è sempre diverso da zero.
4.3.2 Protocollo BGP
Il protocollo BGP (Border Gateway Protocol) si occupa nel particolare di gestire il
collegamento tra routers appartenenti ad AS (Autonumus System) distinti (chiamato in
questo caso exterior BGP). In generale però può anche essere utilizzato per
l'interconnessione di rotuers appartenenti al medesimo AS (nel qual caso viene chiamato
interior BGP) o tra routers connessi tra di loro da un ulteriore AS.
Guido Alì 566/2266 Pagina 28 di 98
Tale protocollo fa parte del livello applicazione della pila ISO/OSI ed è solitamente usato in
internet per la configurazione delle relazioni di peering tra ISP (Internet Service Provider). Il
suo funzionamento si basa sulla gestione di una tabella di reti ip (o prefissi), in grado di
fornire informazioni sulla raggiungibilità o meno delle diverse interconnessioni tra più AS.
Si tratta di un protocollo di routing che non usa metriche espressamente tecniche, ma si basa
sul routing a indicazione di percorso (path vector). Le decisioni di instradamento vengono
prese sulla base di politiche e/o localmente dalle singole reti su cui opera. Così come in ogni
altro protocollo ci sono diverse release, e l'ultima versione del protocollo BGP è BGP-4
definita nella specifica RFC 4271 oramai è l'unica usata su internet, a differenza di tutte le
altre che vengono considerate obsolete. Il funzionamento del protocollo BGP, a differenza
degli altri, è basato sullo scambio di pacchetti tramite TCP. L'inizializzazione della rete
consiste nello stabilire le coppie di sistemi adiacenti (detti anche peer), che vengono definite
tramite la configurazione manuale di una sessione TCP dei vari routers. Lo speaker (il nodo
che inizia la sessione) invia ad intervalli regolari dei messaggi di keepalive, in modo da
certificare il funzionamento della connessione.
Per ogni router appartenente ad ogni AS interessato dal protocollo BGP, è necessario che la
configurazione rispetti la topologia a maglia completamente connessa.
Conseguentemente ogni router deve essere paritario nei confronti degli altri (o anche peer).
La conseguenza è che il sistema risultante diventa molto poco scalabile, nello specifico, con
complessità quadratica rispetto al numero di routers.
Le soluzioni alla scarsa scalabilità sono sostanzialmente due:
• Route reflectors: routers che fungono da centro di smistamento interno ad ogni
dominio, in modo da configurare i restanti routers come paritari solo all'interno dell'AS
d'appartenenza.
• Confederazioni: ovvero divisione di ogni dominio in diversi sottodomini meglio
gestibili, per cui ogni router risulterà avere due numeri AS. Questa tipologia di risoluzione
viene preferita nelle reti di grosse dimensioni (come nello specifico della rete UNINA
appunto).
Guido Alì 566/2266 Pagina 29 di 98
4.3.3 Protocollo EIGRP
La sigla EIGRP sta per Enhanced Interior Gateway Protocol. Esso risulta essere una logica
evoluzione del IGRP, ed è proprietario dall'azienda statunitense CISCO. Il motivo
dell'implementazione di tale protocollo è dettato dalla necessità di migliorare l'efficienza ed
ampliare le sue funzionalità anche nei confronti di interconnessioni più vaste, pur restando
slegato dal suo predecessore (sono frequenti i casi di convivenza tra EIGRP ed IGRP).
Il suo funzionamento, come spesso accade nel mondo dell'informatica, si basa sull'uso
ibrido di due logiche contrapposte quali link state e distance vector.
Visioniamo nel particolare le sue caratteristiche:
• Non effettua periodicamente degli updates, ma appena vi è un cambiamento della rete
invia a tutti gli altri router le routing tabele.
• Realizza le neighbour table (tabella dei vicini) contenenti tutte le informazioni dei
nodi vicini quali indirizzi ed interfacce dei router adiacenti.
• Genera una tabella della topologia della rete (topology table) nella quale saranno
memorizzate tutte le informazioni ottenute dai router adiacenti.
• Trasmette, ovviamente qualora ve ne sia necessità, parti rilevanti della tabella
(evitando esplicitamente di inviarla tutta).
• Gli aggiornamenti di eventuali cambiamenti dello stato della rete non vengono
trasmessi a tutti i router dell'intera rete, ma solo a quelli interessati a tale cambiamento.
• La routing tabele contiene anche informazioni sulla subnet mask, esse possono essere
identificate da due stati:
• Passive: dove identificano lo stato normale di funzionamento.
• Active: qualora stia avvenendo (o sia avvenuto) un cambiamento nella
topologia della rete e l'attività di routing si trovi in fase di aggiornamento del
percorso.
Guido Alì 566/2266 Pagina 30 di 98
4.4 Il CISCO 12410
La serie 12000 della Cisco comprende routers intelligenti aventi una capacità che oscilla tra
i 2.5 ed i 10 Gbps per slot, consentendo così soluzioni ad alte prestazioni per reti IP e
Multiprotocol Label Switching (MPLS). La capacità di inoltro dei pacchetti arriva, nel
complesso, fino a 1.28 terabit per secondo, con prestazioni wire-speed, dove ogni porta può
funzionare al massimo delle proprie possibilità simultaneamente alle altre.
Il sistema operativo associato ai devices in questione è il Cisco IOS, ovvero un software
proprietario della casa statunitense utilizzato di default negli apparati ad alte prestazioni.
Questi routers si basano su di una architettura pienamente distribuita con switch fabric del
tipo crossbar, ad alte prestazioni. La combinazione di uno scheduler centralizzato e di una
tecnologia unica detta virtual output queuing (VOQ) ha lo scopo di massimizzare l’uso della
larghezza di banda della switch fabric, di minimizzare i tempi di latenza e di fornire
prestazioni senza blocchi.
Il router usa la più recente tecnologia ASIC ad alte prestazioni e application-specific per
realizzare l’inoltro dei pacchetti alla massima velocità su ogni porta, mantenendo comunque
uno stretto controllo sui parametri di jitter e di latenza, come necessario per applicazioni
real-time. Inoltre, esso offre un esteso set di caratteristiche per il quality-of-service (QoS),
per i protocolli IP ed MPLS, ai fini di una differenziazione del traffico secondo service-level
agreements (SLAs) prefissati individualmente per i vari servizi ed utenti.
All'interno di tali apparati possono essere alloggiati schede (“LC”, Line Cards) sia del tipo
fisso che modulare, in uno chassis a 10 slot, 10-Gbps-per-slot, che occupa 1/2- rack (cioè
circa 20 pollici di altezza).
Il cuore del router è il Performance Router Processor (PRP, mostrato in figura 2) che è
responsabile delle seguenti funzioni:
• Esecuzione del protocollo di routing, a tutti i livelli.
• Esecuzione del protocollo di comunicazione con altri router.
• Creazione e distribuzione delle informazioni di instradamento a tutte le schede LC.
• Upload del software OS a tutte le schede LC all’accensione del router.
• Fornitura di porte seriali ed Ethernet out-of-band, cioè dedicate, per la configurazione
Guido Alì 566/2266 Pagina 31 di 98
e la gestione.
• Monitoraggio e gestione dell’alimentazione elettrica e della temperatura dello chassis
e di tutte le componenti, e delle schede LC.
Altre schede LC (alcune di esse mostrate nella figura 3), che è possibile trovare all'interno
dei Cisco 12000, sono le schede “packet over SONET/SDH” (POS), che implementano la
gestione dei pacchetti IP e Multiprotocol Label Switching (MPLS).
Queste schede possono essere “standard” oppure del tipo “IP Services Engine” (ISE), nel
qual caso forniscono anche servizi aggiuntivi come classificazione dei pacchetti, congestion
avoidance, e low-latency queuing (LLQ).
Le caratteristiche principali sono qui riassunte:
Caratteristica Descrizione
Prestazioni • Line-throughput rate per l'inoltro IP e MPLS di commutazione
• Prestazioni sostenute nel sistema a pieno carico
Figura 5: Scheda PRP
Figura 6: sempi di schede LC
Guido Alì 566/2266 Pagina 32 di 98
• No performance drops as quality-of-service (QoS) or accounting
features are
enabled
Affidabilità e
disponibilità
•Inserimento Online e Rimozione (OIR) è consentito l'inserimento e la
rimozione
delle schede di linea senza influire sul traffico
•Tempo medio tra i guasti (Mean time between failure :MTBF) più di
80000 ore
Gestione •Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti
IP e MPLS
• Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti
IP e MPLS e di bit ToS (type-of-service)
• Conteggio dei pacchetti per le funzioni Modified Deficit Round
Robin (MDRR) e Weighted Random Early Detection (WRED)
functions
• Conteggio di Byte e pacchetti per rappresentare committed-access-
rate (CAR)
•Conteggio sugli ingressi di porta per i prefissi IP e Cisco Express
Forwarding adjacencies
Statistica e
Accounting
•Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti
IP e MPLS
• Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti
IP e MPLS e di bit ToS (type-of-service)
• Conteggio dei pacchetti per le funzioni Modified Deficit Round
Robin (MDRR) e Weighted Random Early Detection (WRED)
functions
• Conteggio di Byte e pacchetti per rappresentare committed-access-
rate (CAR)
•Conteggio sugli ingressi di porta per i prefissi IP e Cisco Express
Forwarding adjacencies
Funzioni
SONET/SDH
• Conta errori per B1, B2, e B3
• Avvisi di attraversamento della soglia(TCAs), blocco percorso di
errore (FEBE) per B1, B2, e B3, con soglia impostabile
• Perdita di segnale (LOS), Perdita di frame(LOF), Allarme del
segnale sulle
linee (LAIS), Allarma sul percorso del segnale (PAIS), perdita di
puntatori
(LOP), indicatore remoto di corsia difettosa (LRDI), indicatore
difettoso di percorso remoto (PRDI), segnale di guasto (SF), segnale
danneggiato (SD), indica la linea di errore a distanza (line FEBE),
• Performance di monitoraggio: Conteggio di errori per B1, B2, e B3;
TCAs; e FEBE per B1, B2, e B3 con soglia che può essere
reimpostata
• Sincronizzazione
• Locale (interna) o Loop temporizzato (rcuperato dalla rete)
Guido Alì 566/2266 Pagina 33 di 98
• Attività di monitoraggio
• Diagnostica locale e linea loopbac
• Mappatura precaricata
• 1 + X43 self-synchronous asincrono
Tabella 3: Caratteristiche schede LC
Per quanto riguarda le interfacce ottiche, le schede LC del Cisco GSR 12000 hanno 4 porte,
che possono ospitare transceiver (ricetrasmettitore) del tipo Small Form-Factor Pluggable
(SFP). I transceiver possono essere:
• 1000BASE-SX-850-nanometer (nm) serial, multimode fiber per trasmissioni fino a
550 metri
• 1000BASE-LH-1310-nm serial, single-mode fiber per trasmissioni fino a 10 km
• 1000BASE-ZX-1550-nm serial, single-mode fiber per trasmissioni fino a 70 km
Le caratteristiche ottiche sono nella tabella che segue:
Line
Card
Tx Power Rx Power Po
(dB)
DSRma
x
* ps/nm
T a r g e
t
D i s t a
n c e
(km)**
Rx
Wave -
lengt
h (nm)
Tx
Wave -
length
(nm)
Fiber
Type
Ptmax
(dBm)
Ptmin
(dBm)
Prmax
(dBm)
Prmin
(dBm)
OC-192
OC-192
SR - 1
-1 -6 -1 -11 1 6.6 2 1260-
1600
1290 -
1330
G . 6 5
2
OC-192
IR
2 -1 -1 -14 2 800 40 1260-
1600
1530 -
1565
G . 6 5
2
OC-192
LR
7 4 -9 -22 2 1600 80 1260-
1600
1530 -
1565
G . 6 5
2
OC-48
OC –
48/POS-
SR-xx e
OC –
48/SRP-
SR-SC
-3 -10 -3 -18 1 12 2 1260-
1600
1266 -
1360
G . 6 5
2
OC –
48/POS-
1150-xx
e
OC –
3 -2 -9 -28 2 1600 80 1260-
1600
1500-
1580
G.65
2
G.65
4***
Guido Alì 566/2266 Pagina 34 di 98
48/SRP-
LR-SC
POM-
OC48-
SR-
LC
-3 -10 -3 -18 1 12 2 1260-
1600
1266-
1360
G.65
2
POM-
OC48-
IR1-LC
0 -5 0 -18 1 - 15 1260-
1600
1266-
1360
G.65
2
POM-
OC48-
LR2-LC
3 -2 -9 -28 2 1600 80 1260-
1600
1500-
1580
G.65
2
OC-12
OC-
12/POS-
MM
e
OC-
12/SRP-
MM
-14 -20 -14 -23 - - - - - -
OC-
12/POS-
SM e
OC-
12/SRP-
SM
-8 -15 -8 -28 1 46 (74) 15 1260-
1600
1293-
1334
G.65
2
OC-3
OC-3
POS-
MM
-14 -20 -14 -23 1 - - - - -
OC-3
POS-
SM
-8 -15 -8 -28 1 96 15 1260-
1600
1261-
1360
G.65
2
OC-3
POS-LR
0 -5 -10 -34 1 246 40 1260-
1600
1263-
1360
G.65
2
Tabella 4: Caratteristiche ottiche
Infine, i routers Cisco GSR 12000 possono ospitare varie schede del tipo gigabit Ethernet.
Queste sono degli switch a loro volta, operanti al livello 2 o 3, con estensioni per il quality
of service (QoS), per il mantenimento di SLA prefissati, per il filtraggio dei pacchetti, per il
Reverse Path Forwarding (RPF); per la limitazione di banda, per le
VLAN e molte altre.
Le caratteristiche delle schede al gigabit sono:
Caratteristica Descrizione
Prestazioni • Line-rate throughput per l'inoltro e la commutazione di IP e MPLS
Guido Alì 566/2266 Pagina 35 di 98
• Layer 3 dedicato, motore di trasmissione che fornisce line-rate throughput
per l'intera dimensione del frame Ethernet.
• Prestazioni sostenute a pieno
• Prestazion sostenute per tutte le categorie del prefisso IP
Affidabilità
e disponibilità
Inserimento e rimozione on line (OIR), che consente l'inserimento e la
rimozione delle schede di linea e dei moduli SPF senza inficare sul traffico.
Gestione • Cisco IOS® Software command-line interface (CLI)
• Cisco 12000 Manager per la gestione e la configurazione delle prestazioni e
degli errori
• Simple Network Management Protocol (SNMP)
Protocolli • (Layer 3) protocolli di routing: Border Gateway Protocol Versione 4
(BGPv4), Open Shortest Path First (OSPF), Intermediate System-to-Intermediate
System (IS-IS), Enhanced Interior Gateway Routing Protocol(EIGRP), Routing
Information Protocol (RIP), Distributed Forwarding Information Base (FIB) IP
switching, Cisco Discovery Protocol, Internet Control Message Protocol (ICMP),
Routing with Resource Reservation (RRR), e altri
• La trasmissione Multicast avviene con l'ausilio di: Protocol Independent
Multicast-dense mode (PIM-DM); PIM-sparse mode (PIM-SM); Internet Group
Management Protocol Versions 1 and 1 (IGMPv1/v2); Cisco Group Management
Protocol (GMP); Multiprotocol Border Gateway Protocol
(MBGP); Multicast Source Discovery Protocol (MSDP); e altri
• Sostegno globale di MPLS
• Ignegneria del traffico utilizzando RRR
IP e MPLS
Traffic
Engineering
(MPLS TE)
• Bilanciamento del carico di IP e MPLS
• Mappatura MPLS, VPN , e Ethernet over MPLS (EoMPLS)
Statistiche
e Accounting
• Conteggio di Byte e pacchetti per l'ingresso di porta per I pacchetti IP e MPLS
• Conteggio dei pacchetti Modified Deficit Round Robin (MDRR) e Weighted
Random Early Detection (WRED)
• NetFlow campione (v5 and v8)
Sicurezza • 15,000 xACLs nell'ingresso sulla porta e per VLAN;
• 1024 ACLs sulla base della porta di uscita
QoS • 8 code per porta, WRED e MDRR per porta e coda
• Tasso di limitazione sull'ingresso e sull'uscita
• Traffic shaping sull'uscita
Ethernet • 802.1q VLAN supportata, 1024 VLANs,e jumbo frames
• accaunting di origini e desinazione per MAC e VLAN
IPv6 • il router fornisce edge senza compromettere le prestazioni.
Tabella 5: Caratteristiche delle schede ottiche
Schede (Line Card) Forwarding Densità delle porte
4-Port GE ISE Line Card EngineEngine 3 (ISE) • Cisco 12404: 12 ports
• Cisco 12006 and 12406: 20 ports
• Cisco 12010, 12410, and 12810: 36 ports
• Cisco 12016, 12416, and 12816: 60 ports
3-Port Modular GE Line Card Engine 4+ • Cisco 12404: 30 ports
Guido Alì 566/2266 Pagina 36 di 98
• Cisco 12406: 50 ports
• Cisco 12410 and 12810: 80 ports
• Cisco 12416 and 12816: 150 ports
1-Port 10-GE Line Card Engine 4+ • Cisco 12404: 3 ports
• Cisco 12406: 5 ports
• Cisco 12410 and 12810: 8 ports
• Cisco 12416 and 12816: 15 ports
Tabella 6: Tipo di schede divise per porte
Le caratteristiche ottiche sono nella tabella che segue:
Line
Cards
Tx Power Rx Power Connect
or Type
Target
Distance
Wave-
Lenght
(nm)
Fiber
Type
Core
Size
PTmax
(dBm)
PTmin
(dBm)
PRmax
(dBm)
PRmin
(dBm)
1000
BASE-SX
-4 -9.5 0 -17 LC-
Duplex
550 m 850 Multimo
de fiber
(MMF)
50.0
micro
ns
1000
BASE-LH
-3 -9.5 -3 -19 LC 10 km 1300 Single-
mode
fiber
(SMF)
9/10
microns
1000
BASE-ZX
5 0 -3 -23 LC 70 km 1550 SMF 9/10
microns
1x10GE-
LR-SC
0.5 -8.2 0.5 -14.4 SC 10 km 1260-
1355
SMF 9/10
microns
1x10GE-
ER-SC
4 -4.7 -1 -15.8 SC 40 km 1530-
1565
SMF 9/10
microns
Tabella 7: Caratteristiche ottiche
4.5 Protocollo Netflow
Come specificato dalle tabelle precedenti la serie 12000 della CISCO implementa il
protocollo netflow, che sarà alla base del lavoro descritto in questa tesi.
Guido Alì 566/2266 Pagina 37 di 98
Netflow è un protocollo la cui funzione è quella di fornire dati statistici relativi ai devices
della rete.
Netflow identifica i flussi di pacchetti per ogni IP entrante o uscente. Esso non involve alcun
protocollo di connessione, rispetto a routers o ad altri dvices della rete. Netflow non richiede
nessun cambiamento esterno rispetto ai pacchetti o ad altri devices. In sostanza il protocollo
netflow è completamente trasparente rispetto alla rete preesistente sulla quale viene
utilizzato sia in ambito software che hardware.
Netflow è supportato dal traffico IP sia esso semplice o incapsulato al di la della tipologia di
interfaccia.
C'è da dire però che tale protocollo non supporta emulazioni ATM LAN (LANE), inter-
switch link (ISL), LAN virtuali (VLAN), o interfacce frame relay dove più di un input
access control è usato sull'interfaccia.
Entrando nello specifico del suo funzionamento, i routers aventi tale protocollo sono
abilitati alla generazione di records, che vengono esportati da esso tramite pacchetti UDP e
raccolti da un collettore netflow.
Lo scopo del collettore è quello di aggregare i records ricevuti dalle varie fonti e girarli ad
un analizzatore netflow.
L'analizzatore è una applicazione che esegue all'atto pratico il monitoraggio delle
Figura 7: Struttura del pacchetto netflow
Guido Alì 566/2266 Pagina 38 di 98
performance della rete, del traffico, dell'accounting, etc.
I record vengono salvati momentaneamente all'interno di una memoria cache in attesa di
essere poi aggregati in un file di testo.
Guido Alì 566/2266 Pagina 39 di 98
5. Software monitoraggio rete
5.1 Ntop
Ntop acronimo di Netowork Top, dove Top è il famoso comando Unix per il monitoraggio
delle applicazioni in esecuzione sulla propria macchina, è un software open source per il
monitoraggio della rete. Grazie alla sua interfaccia web based è semplice da utilizzare,
permette di ottimizzare la rete, di rilevare violazioni della sicurezza, di creare una mappa
globale degli host collegati in un certo instante, di monitorare tutto il traffico Voip e grazie
ai suoi plugins può gestire protocolli come:
• cPacket
• ICMPWatch
• RRD
• NetFlow
• Sflow
Il plugin su cui ci siamo soffermati è NetFlow, questo perchè lo scopo del tirocinio non è il
monitoraggio della rete locale, ma della intera rete dell'università Federico II, questo è
possibile solo grazie all'interfacciamento tra il GSR della Cicso, attraverso il quale passa
tutto il traffico della rete Unina, e Ntop, e per interfacciarsi utilizzano appunto il plugin
NetFlow, attraverso il quale è possibile recuperare informazioni su un campione di pacchetti,
riguardo il protocollo utilizzato (per es. FTP, HTTP, DNS...) l'indirizzo sorgente e
destinazione e altre informazioni per definire quel pacchetto che tipo di servizio sta
eseguendo.
Obiettivi di progettazione principali Ntop sono:
• portabilità tra piattaforme Unix e non-Unix (ad esempio Win32);
• un'applicazione efficace e semplice con poco utilizzo di risorse (sia di memoria che
di CPU);
• requisiti minimi, ma in grado di sfruttare le caratteristiche della piattaforma, se
presenti (ad esempio i kernel thread);
Guido Alì 566/2266 Pagina 40 di 98
• capacità di presentare i dati sia su un terminale che su un browser web;
• l'analisi della rete deve essere ricca di contenuti e di facile lettura.
L'architettura Ntop è mostrata nella figura seguente:
Report Engine
Packet Analyser
Packet Sniffer
Figura 8: Architettura di Ntop
Il packet sniffer raccoglie i pacchetti di rete che sono poi passati al Packet Analizer per
l'elaborazione. Ogni volta che le informazioni di traffico devono essere visualizzate, il
Report Engine traduce le informazioni richieste in modo appropriato.
Il Packet Sniffer è il componente Ntop che potenzialmente ha più problemi di portabilità
degli altri. Infatti, a differenza di altre strutture come il Report, non c'è una libreria portabile
per la cattura dei pacchetti. Sotto Unix la libreria libpcap fornisce una interfaccia unificata
portatile per la cattura dei pacchetti, mentre gli altri sistemi operativi forniscono un metodo
proprietario per la cattura dei pacchetti. Grazie alla buona progettazione di libpcap e alla sua
interfaccia portabile, gli autori hanno deciso di usarlo come interfaccia di acquisizione
unificata, avvolta da una piattaforma specifica di librerie per la cattura dei pacchetti (per
esempio NDIS su Win32). Questo ha il vantaggio che il codice Ntop è unico considerando
che il codice specifico della piattaforma è limitato solo a un file.
Il Packet Sniffer supporta diversi tipi di interfaccia di rete compreso PPP, Ethernet e Token
Ring, esso permette ai pacchetti catturati per essere filtrati prima di essere processati dal
analizzatore. Il filtraggio dei pacchetti è basato sul filtro BPF che fa parte della struttura
libpcap. I filtri sono specificati usando espressioni semplici come quelle accettate da
tcpdump.
Guido Alì 566/2266 Pagina 41 di 98
Le librerie di cattura dei pacchetti hanno piccoli buffer interni che impediscono alle
applicazioni di essere in grado di gestire i picchi di traffico. Per superare questo problema
quindi ridurre la perdita di pacchetti, viene creato in Ntop un buffer parallelo per i pacchetti
catturati. Questo permette all'analizzatore di pacchetti per essere disaccoppiato dallo sniffer
di pacchetti e di non perdere i pacchetti a causa di picchi di traffico. Vale la pena ricordare
che Ntop è grado di operare su reti commutate (ad esempio una rete Ethernet che fa uso di
switch ), nonché con le reti tradizionali. Questo perché i moderni switch consentono al
traffico di rete globale (o LAN virtuali) di essere speculare a una porta dello switch
specificata. Ntop può essere attivato su un host che è collegato a una porta.
L'analizzatore di pacchetti processa un pacchetto alla volta. Le intestazioni dei pacchetti
sono analizzate secondo l'interfaccia di rete utilizzata. Questo perché le intestazioni sono
diverse a seconda della interfaccia di rete (ad esempio l'intestazione Token Ring è diversa da
quella Ethernet). Le informazioni sugli Hosts sono memorizzate in una tabella grande hash,
la cui chiave è un indirizzo hardware (MAC) di 48 bit, che garantisce la sua unicità e
permette a diversi protocolli di rete, diversi dal protocollo IP per essere manipolati (es.
indirizzi TCP / IP sono privi di significato in reti non IP). Ogni voce contiene diversi
contatori che tengono traccia dei dati inviati e ricevuti dal proprietario, ordinati secondo i
protocolli di rete supportati. Per ogni pacchetto, la voce all'interno della tabella hash,
corrispondente al pacchetto di origine e di destinazione, viene recuperata o creata se non
ancora presente. Poiché non è possibile prevedere il numero di host differenti di cui i
pacchetti verranno trattati da Ntop, sarebbe quasi impossibile avere una tabella hash
abbastanza grande per accogliere tutti gli host possibili; quindi quando è necessario (ad
esempio periodicamente) Ntop taglia la tabella degli host, al fine di evitare l'esaurimento di
tutta la memoria disponibile e la creazione di tabelle enormi che diminuirebbero le
prestazioni generali. Vengono tagliate le voci corrispondenti a host che non hanno inviato /
ricevuto dati per un lungo periodo di tempo. Ciò garantisce che l'utilizzo della memoria di
Ntop non cresce indefinitamente e che il tempo di elaborazione dei pacchetti non aumenta
linearmente con il numero di host attivi. Se il pacchetto ricevuto è un pacchetto non-IP, i
contatori di protocollo d'ingresso sono aggiornati e il pacchetto scartato. Invece se il
Guido Alì 566/2266 Pagina 42 di 98
pacchetto ricevuto è un pacchetto IP, viene eseguita una ulteriore elaborazione.
La memorizzazione nella tabella cache viene eseguita in due fasi:
• La Cache di primo livello è semi-persistente e basato su dbm;
• La Cache di secondo livello viene implementata utilizzando un database SQL.
La cache locale semi-persistente di Ntop contiene informazioni circa, come avviene la
risoluzione dell'indirizzo IP (mappatura numerico / simbolico indirizzo IP) e qual'è il
sistema operativo dell'host remoto (calcolato utilizzando il tool Queso). Durante eventi di
rete (ad esempio, le sessioni TCP), i dati sulle prestazioni e altre informazioni pertinenti
vengono memorizzate all'interno di un database. Il salvataggio avviene periodicamente o
ogni volta che il Garbage Collector vuole eliminare alcuni dati. Ntop colloquia con il
database per mezzo di un'applicazione client. Tale dialogo tra Ntop e il database avviene via
UDP e comunica con il database tramite ODBC (Open DataBase Connectivity protocol).
Ogni volta che qualche informazione di rete deve essere memorizzata nel database, Ntop
invia al client uno o più pacchetti UDP contenente istruzioni SQL valide. Il client
attualmente è implementato in modo tale da poter utilizzare sia Perl che Java, esso riceve i
pacchetti e esegue l'istruzione sul database locale tramite Perl DBI (DataBase Interface) o
Java JDBC (Java DataBase Connectivity) a seconda del linguaggio di implementazione.
Questa architettura consente di disaccoppiare Ntop da un database specifico, ed è in grado di
comunicare con database remoti (ad esempio, il database principale della società) mentre ha
un client molto semplice e leggero.
La figura riportata di seguito illustra le voci di una riga della tabella Hash di un host che
contiene un contatore per ciascuno dei protocolli IP specificato dall'utente.
Protocol Traffic Counters
IP Traffic Counters
TCP/UDP Connections Stats
Active TCP Connections List
Peers List
Figura 9: Riga della tabella hash
Guido Alì 566/2266 Pagina 43 di 98
Per ogni pacchetto IP, il protocollo contatore appropriato viene aggiornato. Se il pacchetto è
un frammento IP, Ntop recupera le informazioni come porte di origine e di destinazione dal
frammento della tabella hash. Ogni volta che il primo frammento del pacchetto viene
incontrato, il frammento di informazioni viene memorizzato nella tabella hash utilizzando le
pacchetto fragmentId come chiave di lettura della tabella hash. Il frammento di
informazioni viene rimosso non appena l'ultimo frammento è stato ricevuto, perché può
succedere che alcuni pacchetti (compresi i frammenti) vanno persi, per questo motivo il
frammento della tabella hash viene periodicamente analizzato e le informazioni datate
vengono eliminate. La voce host contiene anche una lista (inizialmente vuota) di
connessioni attive dell'host TCP. Ntop mantiene lo stato di ogni connessione TCP
analizzando le flag IP; quindi se il pacchetto ricevuto è un pacchetto TCP, allora l'elenco
delle connessioni host TCP viene aggiornato.
I contatori del traffico host possono essere proficuamente utilizzati per analizzare il traffico
di rete, ma in alcuni casi potrebbe essere necessario studiare traffico specifico che scorre
attraverso alcuni host specificati; Ntop permette algi utenti di specificare i flussi di rete. Un
flusso di rete è un flusso di pacchetti che corrisponde a un specificata regola dall'utente. Le
regole sono specificate utilizzando espressioni BPF. Simile ai flussi NeTraMet, i flussi di
rete Ntop possono essere usati per specificare il traffico di particolare interesse. Per esempio,
un flusso di rete semplice potrebbe essere il "traffico totale del traffico NFS tra host A, B e
C", mentre un flusso più complesso è il "totale numero di connessioni TCP respinto dal host
D". I flussi di rete possono essere molto utili per il debugging di problemi di rete, la raccolta
di dati statistici o di monitoraggio degli accessi sospetti ad alcune specificate risorse di rete.
La versione attuale di Ntop può essere avviata in due modi:
• modalità interattiva: Ntop viene eseguito in un terminale a caratteri e gli utenti
possono interagire utilizzando i tasti della tastiera.
• Web-mode: Ntop viene avviato come un server HTTP e consente agli utenti remoti di
analizzare le statistiche di traffico per mezzo di un browser web.
Ntop è stato progettato per essere indipendente dal tipo di report del traffico utilizzato.
Indipendenza tra i modi in cui vengono creati i report modo è molto importante al fine di
garantire l'evoluzione delle applicazioni; infatti se un nuovo linguaggio di mark-up, come
Guido Alì 566/2266 Pagina 44 di 98
XML deve essere eseguito, solo il Report Engine deve essere ampliato mentre il resto
dell'applicazione rimane invariato. Vale la pena notare che i rapporti personalizzati e le
statistiche possono anche essere generati utilizzando i dati memorizzati dal Ntop nel
database SQL.
Guido Alì 566/2266 Pagina 45 di 98
5.2 MRTG
Multi Router Traffic Grapher (MRTG) è un software libero disponibile con licenza GPL
per il monitoraggio e la misurazione del carico di collegamenti di rete. Permette a un
utilizzatore di visualizzare il traffico di rete nel tempo in forma grafica. Inizialmente
sviluppato da Tobias Oetiker e Dave Randt specificatamente per il traffico dei router, è stato
esteso al punto di essere in grado di mostrare grafici e statiche per quasi tutto.
MTRG è scritto in Perl e funziona su Windows, Linux, Unix, Mac OS e Netware
5.2.1 Funzionamento
MTRG fa uso del protocollo SNMP per inviare due identificatori di oggetto (OID) a un
dispositivo. Questo, che deve essere in grado di capire le richieste SNMP, dispone di una
MIB (Management Infomation Base) in cui cercare gli identificatori specificati. Dopo aver
raccolto le informazioni, risponde restituendo i dati grezzi incapsulati nel protocollo SNMP.
MTRG raccoglie questi dati in un log sul client, insieme ad altri dati raccolti in precedenza
per il dispositivo. Il software, quindi, crea un documento HTML contenente una lista di
grafici coi dettagli del traffico per il dispositivo d'interesse.
Altrimenti, MTRG può essere configurato in modo che esegua uno script o un comando e
ne interpreti quanto invia in uscita come dei valori contatore. Il sito internet di MTRG mette
a disposizione una vasta libreria di script che permettono di controllare statistiche di
database, regole di un firewall, la velocità di rotazione delle ventole di un processore, o
potenzialmente un qualunque valore intero.
• misura due valori (I per ingresso, O per uscita) per dispositivo
• ottiene i dati o attraverso un agente SNMP, o come uscita di una linea di comando
• tipicamente raccoglie dati ogni cinque minuti (è configurabile per farlo con frequenza
inferiore)
• crea una pagina HTML per dispositivo, ognuna con quattro grafici (immagini GIF o
Guido Alì 566/2266 Pagina 46 di 98
PNG)
• i risultati sono mostrati con il tempo in ascissa e la risoluzione può essere il giorno, la
settimana, il mese o l'anno, con l'ingresso visualizzato come un'area verde e l'uscita come
una linea blu
• l'asse delle ordinate è messo automaticamente in scala in modo da mostrare quanti
più dettagli possibile
• aggiunge alla pagina HTML il calcolo del massimo, della media, e il valore corrente
per ingresso e uscita
• è in grado di inviare notifiche via e-mail se dei dispositivi presentano valori al di
sopra di una certa soglia
Guido Alì 566/2266 Pagina 47 di 98
5.3 TCPDUMP
Tcpdump è un tool comune per il debug delle reti di computer che funziona da riga di
comando. Consente all'utente di intercettare pacchetti e trasmissioni ad esempio nel
protocollo TCP/IP condotti attraverso una rete al quale il computer è collegato. Fu
originariamente scritto da Van Jacobson, Craig Leres e Steven McCanne, che lavoravano, in
quel periodo, al Lawrence Berkeley Laboratory Network Research Group (Gruppo di
Ricerca per le reti del Laboratorio Lawrence di Berkeley).
Tcpdump gira su molte piattaforme Unix-like: Linux, Solaris, BSD, Mac OS X, HP-UX e
AIX fra gli altri. In questi sistemi, tcpdump è sviluppato sulla base delle librerie per la
cattura di pacchetti libpcap.
Su Windows può essere usato WinDump, un port di tcpdump per Windows.
Su Unix e molti altri sistemi operativi, un utente deve avere i privilegi di superutente per
usare tcpdump a causa del suo utilizzo della modalità promiscua (sebbene possa essere
configurato per non utilizzare l'interfaccia di cattura in questo modo attraverso il flag -p da
riga di comando), ma anche a causa del fatto che vari schemi per la cattura dei pacchetti di
rete (raw socket, periferiche speciali, etc.) richiedono privilegi di root.
L'utente può opzionalmente applicare un qualsiasi numero di filtri bpf-based per rendere
l'output più leggibile in reti con un alto volume di traffico.
tcpdump viene comunemente utilizzato:
• per il debugging di applicazioni scritte che utilizzano la rete per le comunicazioni;
• per il debugging della configurazione di rete in sé, determinando se tutti gli instradamenti
necessari avvengono correttamente o meno, consentendo all'utente di isolare successivamente la
sorgente del problema per intercettare e visualizzare le comunicazioni di un altro utente o computer.
Alcuni protocolli, come telnet e HTTP, trasmettono informazioni non cifrate attraverso la
rete. Un utente con controllo di un router o gateway attraverso il quale passa il traffico non
cifrato di altri computer può usare tcpdump per vedere i login ID, le password, gli URL e i
contenuti dei siti web che sono stati visitati, o qualsiasi altra informazione.
Guido Alì 566/2266 Pagina 48 di 98
Le opzioni più importanti in tcpdump sono l'opzione -i e -n. La prima permette a tcpdump di
scegliere su quale interfaccia si deve mettere in ascolto. La seconda opzione preferita è -n,
che chiede che non si convertano gli indirizzi (cioè, indirizzi di host, numeri di porta, ecc),
questo perché permette di risparmiare tempo e velocizza di molto l'esecuzione del
programma, infatti nella maggior parte dei casi in cui ci sono problemi di rete la risoluzione
al problema la si trova con gli indirizzi IP e non con i nomi.
Ecco la lista completa delle opzioni più comuni utilizzate:
-D stampa la lista delle interfacce di rete disponibili sul sistema e sul quale tcpdump
può bloccare i pacchetti. Questo può essere utile su sistemi che non hanno un
comando per ottenere un elenco (ad esempio i sistemi Windows)
-i Lista di interfacce. Se non viene specificato, le ricerche di tcpdump avvengono
sulla lista delle interfacce di sistema partendo dal numero di interfaccia più basso, in
base alla configurazione delle interfacce (ad esclusione di loopback).
-vvv Permette di aumentare la quantità di informazioni per ogni pacchetto catturato.
-c Esci dopo aver ricevuto i pacchetti richiesti ed averli salvati sul DBMS.
-C Specifica le dimensioni del file dump che deve raggiungere prima che venga
archiviato e creato un nuovo file con una nuova estensione numerica incrementata di
uno rispetto alla precedente. Le unità di file_size sono milioni di byte (1.000.000 byte
e non 1.048.576 byte).
-F file Viene utilizzata per inserire un filtro contenuto nel file. Un'ulteriore
espressione data sulla linea di comando viene ignorata.
-S Numeri di sequenza di stampa assoluta.
-p Impedisce che l'interfaccia sia in modalità promiscua.
-r Leggi i pacchetti da file (che è stato creato con l'opzione -w). L'input standard
viene utilizzato se il file è ''-''.
-t Non stampare un timestamp su ogni linea di dump.
Guido Alì 566/2266 Pagina 49 di 98
-X Durante l'analisi e la stampa, oltre alla stampa le intestazioni di ogni pacchetto,
stampare i dati di ciascun pacchetto in esadecimale ed ASCII. Questo è molto utile
per l'analisi di nuovi protocolli.
-XX Durante l'analisi e la stampa, oltre alla stampa delle intestazioni di ogni
pacchetto, stampare i dati di ogni pacchetto, compreso il suo livello link di
intestazione, in esadecimale ed ASCII.
-E Stampa l'header di livello link su ogni linea di dump.
Lista delle interfacce supportate che possono essere usate da tcpdump:
tcpdump -D
Cattura tutto il
traffico proveniente
dall'interfaccia eth0, lo scrive in un file chiamato tcpdumpfile, setta la dimenzione di ogni
file a circa 3M e senza applicare la conversione degli indirizzi IP/ nome delle porte:
tcpdump -nnxX -i eth0 -w tcpdumpfile -C 3
Esempio 1: tcpdump -D
Guido Alì 566/2266 Pagina 50 di 98
La ricerca
nella rete è
come la
ricerca nel
mare, è
necessario sapere esattamente che cosa cercare. Tcpdump può davvero raccogliere una
quantità enorme di traffico per cui è necessario guidare tcpdump sul traffico interessato e
questo può essere fatto con l'espressione.
L'espressione è costituita da uno o più primitive. Le primitive sono generalmente costituite
da un id (nome o numero) preceduto da uno o più qualificazioni. Ci sono tre diversi tipi di
qualificazione:
• Type, i tipi possibili sono host, net, port e portrange. Ad esempio, 'foo host', '128,3 net', 'port
20', 'portrange 6.000-6.008'. Se non viene definito il qualificatore di tipo, viene assunto di default
host.
• Dir, le possibili direzioni sono src, dst, src o dst e src e dst. Ad esempio, 'src foo', 'dst net
128,3', 'src o dst port ftp-dati'. Se non viene definito un qualificatore dir, viene assunto di default
src o dst.
• Proto, i protocolli possibili sono: ether, FDDI, tr, WLAN, ip, ip6, ARP, RARP, DECnet, TCP
e UDP. Ad esempio, 'ether src foo' 'arp 128,3 net', 'port TCP 21', 'udp portrange 7.000-7.009'. Se non
viene definito un qualificatore proto, vengono analizzati tutti i protocolli.
Utilizzare host ip-address/hostname se l'origine o destinazione del pacchetto è Ipv4/v6, in
quel caso ip-address/hostname può anche può essere usato con dst host e src host.
Esempio 2: tcpdump -nnxX -i eth0 -w tcpdumpfile -C 3
Guido Alì 566/2266 Pagina 51 di 98
Utilizzare numero di porta / porta-nome se la porta di origine o destinazione del pacchetto è
il numero / nome-porta, in quel caso può anche essere utilizzato con dst port e src port.
Utilizzare portrange number1-number2 se la porta di origine o destinazione del pacchetto è
tra number1 e number2 inoltre può essere utilizzato con dst portrange e src portrange.
Utilizzare ether host Mac se l'origine o destinazione è Ethernet o MAC Address, in tal caso
è anche possibile utilizzare src ether e dst ether
Utilizzare ether se la trasmissione del pacchetto avviene in broadcast Ethernet.
Utilizzare gateway IP-address se il pacchetto ha usato l'indirizzo IP come gateway.
Utilizzare net IP-address se l'indirizzo sorgente o destinazione del pacchetto è Ipv4/v6,
inoltre può essere utilizzato con src net e dst net.
Utilizzare ip broadcast se il pacchetto è un pacchetto inviato in broadcast IPv4.
Utilizzare vlan vlan_id se il pacchetto è un pacchetto VLAN IEEE 802.1Q. Se viene
specificato vlan_id, il pacchetto viene selezionato solo se ha specificato il vlan_id.
Utilizzare mpls label_num se il pacchetto è un pacchetto MPLS. Se viene specificato
label_num, il pacchetto viene selezionato solo se ha specificato il label_num.
Utilizzare VPI / VCI number se il pacchetto è un pacchetto ATM.
Visualizza tutti i ipacchetti che arrivano oppure che partono dall'indirizzo 192.168.1.9:
tcpdump -nnvvv -i eth0 host 192.168.1.9
Guido Alì 566/2266 Pagina 52 di 98
Cattura tutto il
traffico destinato
alla porta http e
proveniente dalla interfaccia loopback:
tcpdump -
vvv - i lo dst port
http
Cattura tutti i
pachhetti di itpo ARP
(Address Resolution
Protocol):
tcpdump
- nnwww -
c 3 arp
Cattura tutto il
traffico ICMP
destinato o
Esempio 3: tcpdump -nnvvv -i eth0 host 192.168.1.9
Esempio 4: tcpdump -vvv -i lo dst port http
Esempio 5: tcpdump -nnwww -c 3 arp
Guido Alì 566/2266 Pagina 53 di 98
proveniente dall'host 192.168.1.9:
tcpdump -nn icmp host 192.168.1.9
Tcpdump è in grado
di
comprendere gli operatori booleani AND, NOT e OR. Questo raggruppamento di operatori
booleani tra le espressioni è in grado di creare qualsiasi regola, l'unica limitazione è la
vostra immaginazione.
Gli operatori booleani definiscono le relazioni tra le espressioni o gruppi di espressioni. Il
rapporto può essere vero o falso e dipende dalle espressioni scelte, ne lcaso in cui il rapporto
sia vero, allora Tcpdump catturerà i pacchetti scelti, nel caso in cui il rapporto sia falso,
Tcpdump non catturerà alcun pacchetto.
AND (and == & &) Restituisce come risultato vero se e solo se entrambe le espressioni
sono vere, in tutti gli altri casi restituirà falso.
NOT (not == !) Inverte il risultato dell'espressione, se l'espressione era vera, risulterà falsa,
in caso contrario risulterà vera.
OR (or == | |) Restituisce come risultato falso se e solo se entrambe le espressioni sono false,
in tutti gli altri casi restituirà vero.
Esempio 6: tcpdump -nn icmp host 192.168.1.9
Guido Alì 566/2266 Pagina 54 di 98
Cattura tutti i pacchetti inviati all'host 10.0.2.15 e altri, eccetto l'host 10.0.2.2:
tcpdump -c 10 ip host 10.0.2.15 and not 10.0.2.2
Cattura tutti i
pacchetti connessi con Mail, Web e servizi FTP:
tcpdump -c 3 -i eth0 port smtp or http or ftp-data or ftp
Esempio 7: tcpdump -c 10 ip host 10.0.2.15 and not 10.0.2.2
Guido Alì 566/2266 Pagina 55 di 98
Cattura solo il
traffico
proveniente da internet:
tcpdump -c 5 -nn -i eth0 'src net not 192.168.0.0/16 and not 10.0.0.0/8′
Cattura tutto il
traffico ftp e
http:
tcpdump -nn -i eth0 src host 10.0.2.15 and 'dst port 21 or 80'
Esempio 8: tcpdump -c 3 -i eth0 port smtp or http or ftp-data or ftp
Esempio 9: tcpdump -c 5 -nn -i eth0 'src net not 192.168.0.0/16 and not
10.0.0.0/8′
Guido Alì 566/2266 Pagina 56 di 98
Controllare che si stia specificando la corretta interfaccia di rete con l'opzione -i, che vi
consiglio di usare sempre in modo esplicito. Se si hanno problemi di DNS, tcpdump
potrebbe rinunciare a ricercare i nomi DNS per gli indirizzi IP, provare le opzioni -f oppure
-n per disabilitare questa funzione. Se si continua a non vedere nulla, controllare
l'interfaccia del kernel, Tcpdump potrebbe essere mal configurato per il sistema.
Alla fine della sua ricerca, tcpdump informerà se e quanti pacchetti sono stati catturati dal
kernel. Se questo diventa un problema, è probabile che il vostro host non può tenere il passo
con il traffico di rete e decodificarlo allo stesso tempo. Provate ad usare l'opzione -w per
aggirare la decodifica e scrivere i pacchetti elaborati in un file, per poi tornare più tardi e
decodificare i file con l'opzione -r. Si può anche provare a utilizzare -s per ridurre le
dimensioni dello snapshot di cattura.
Esempio 10: tcpdump -nn -i eth0 src host 10.0.2.15 and 'dst port 21 or 80'
Guido Alì 566/2266 Pagina 57 di 98
6. Guida all'installazione di Ntop
Questa guida è riferita alla versione 4.03 di Ntop, sulla distribuzione Linux Ubuntu 10.10.
Prima di poter procedere con l'installazione è necessario installare una serie di dipendenze
di cui necessita Ntop per poter funzionare correttamente. Le dipendenze sono dei pacchetti
che devono essere scaricati ed installati. L'installazione dei pacchetti può essere effettuata in
due modi, tramite il terminale con il comando apt-get install, oppure tramite il software
“Gestione Pacchetti” di Ubuntu.
Per utenti poco esperti nell'uso del comando apt-get install, consiglio il secondo metodo, in
quanto la versione dei pacchetti da installare e quindi i nomi dei pacchetti, possono variare.
Guido Alì 566/2266 Pagina 58 di 98
6.1 Primo metodo installazione pacchetti
Per quanto riguarda il primo metodo, l'uso del comando apt-get install, bisogna installare
tutti i pacchetti riportati di seguito; nella figura seguente è riportato un esempio
dell'installazione del primo pacchetto, autoconf.
Come si può notare dall'immagine, l'installazione del pacchetto Autoconf, installa
automaticamente anche automake e libtool; se così non fosse, installare manualmente ogni
pacchetto.
Figura 10: apt-get install autoconf
Guido Alì 566/2266 Pagina 59 di 98
6.2 Secondo metodo installazione pacchetti
Il secondo metodo di installazione dei pacchetti richiede l'uso del gestore pacchetti,
componente preinstallato di Ubuntu situato in Sistema->Amministrazione->Gestore
Pacchetti.
Nella figura seguente è riportato il Gestore pacchetti quando viene selezionata la voce Stato
Per installare i pacchetti, scrivere nella casella di testo di “Ricerca Veloce”, uno delle voci
della tabella 1 e dalla lista risultante dalla ricerca, scegliere la voce più simile al nome
cercato con il simbolo , eventualmente con un numero che indica la versione e la sigla
finale -dev.
Nella figura seguente è riportato l'esempio di installazione del pacchetto libpcap della
versione 0.8 di tipo dev:
Figura 11: Gestore di pacchetti
Guido Alì 566/2266 Pagina 60 di 98
Una volta trovato il pacchetto giusto, premere il pulsante destro e cliccare su Installa; a volte
verrà chiesto di installare altri pacchetti, dipendenti dal pacchetto selezionato, quindi
comparirà una schermata come quella seguente per l'installazione di librrd-dev
Figura 12: Installazione della libreria libpcap
Guido Alì 566/2266 Pagina 61 di 98
A questo punto sulla riga del pacchetto selezionato alla voce “S” comparirà , ora non
rimane altro che premere il pulsante Applica e comparirà la schermata seguente
Figura 13: Installazione delle dipendenze librrd-dev
Guido Alì 566/2266 Pagina 62 di 98
dove bisogna premere Applica per fare in modo che il Gestore pacchetti provveda a
scaricare ed installare il pacchetto nel modo corretto.
Pacchetti da installare:
• libtool
• automake
• autoconf
• libpcap0.8-dev
• libgdbm-dev
• zlib1g-dev
• librrd-dev
• python3-all-dev
Figura 14: Scermata di conferma installazione pacchetti dipendenti
Guido Alì 566/2266 Pagina 63 di 98
• libgeoip-dev
• selinux-policy-dev
• selinux
Con l'installazione di selinux verrà visualizzata la seguente schermata
cliccare su Avanti e attendere che venga completata l'installazione dei pacchetti, dopodiché
riavviare il sistema.
Una volta installati tutti i pacchetti aprire il terminale, spostarsi nella cartella di Ntop,
scaricata da sito www.Ntop.org, eseguire i seguenti comandi:
• sudo ./autogen.sh
Figura 15: Installazione di Selinux
Guido Alì 566/2266 Pagina 64 di 98
• sudo make
aprire un altro terminale, spostarsi sul percorso /usr/local/var/ ed eseguire il seguente
comando:
• sudo chmod -R 777 Ntop/
in questo modo verrannno dati i permessi alla cartella di Ntop per la creazione e esecuzione
dei database per le statistiche.
Chiudere il secondo terminale aperto e torniamo al primo i seguenti comandi:
• sudo make install
Figura 16: Esecuzione del comando ./autogen.sh
Guido Alì 566/2266 Pagina 65 di 98
• sudo make install-selinux-policy
A questo punto, una volta riavviato il sistema, l'installazione di Ntop è conclusa.
Figura 17: Esecuzione dl comando sudo make install
Guido Alì 566/2266 Pagina 66 di 98
6.3 Configurazione di Ntop
Prima di avviare Ntop, è necessario impostare una password per l'amministratore aprendo il
terminale e digitando il comando:
• Ntop –set-admin-password=Password-di-admin
Avviare Ntop col comando:
• sudo Ntop -d
Di default Ntop utilizza la porta 3000, nel caso la si voglia cambiare agiungere l'opzione -w
col numero della porta che si desidera utilizzare per Ntop.
Se il percorso di installazione di Ntop è stato cambiato utilizzare l'opzione -P con il percorso
attuale della cartella di Ntop.
usando l'opzione -d viene creato anche il demone, in modo tale che anche ai successivi
riavvii, Ntop verrà automaticamente eseguito.
Aprire un browser Web e spostarsi all'indirizzo:
Figura 18: Prima esecuzione di Ntop
Guido Alì 566/2266 Pagina 67 di 98
• localhost:3000
Alla prima esecuzione vi verrà chiesto di inserire i dati da amministratore, cioè come nome
utente admin e come password quella scelta in precedenza, così che comparirà la schermata
seguente di configurazione di Ntop:
A questo punto è necessario configurare Ntop per ricevere i dati di tipo NetFlow provenienti
dal GSR.
Per fare ciò dobbiamo aprire un broswer e andare all'indirizzo localhost:3000, se ci
troviamo sulla macchina su cui è installato Ntop ed è stata impostata come porta quella di
defoult, cioè la 3000; altrimenti se lavorate in remoto utilizzare l'indirizzo 143.225.93.200.
Figura 19: Scermata di configurazione di Ntop
Guido Alì 566/2266 Pagina 68 di 98
Dal menù a tendina in alto a sinistra andare alla voce Plugins e cliccare su
All.
Figura 20: Schermata iniziale di Ntop
Figura 21: Voce Plugins del menù a tendina
Guido Alì 566/2266 Pagina 69 di 98
All'interno della tabella Aviable Plugins, ci sta l'elenco dei plugins installati, nel nostro caso
dobbiamo alla terza riga, quella del plugin NetFlow, sull'ultima colonna della tabella
controllare che ci sia scritto “Yes” come da figura, altrimenti se c'è scritto “No”, cliccare in
modo tale da cambiare il valore in “Yes”.
A questo punto andare nuovamente sul menù a tendina in alto a sinistra, spostare il mouse
sulla voce Plugins, poi sulla voce NetFlow ed infine cliccare sulla voce View/Configure.
Figura 22: Tabella dei Plugins installati
Guido Alì 566/2266 Pagina 70 di 98
Cliccare sul
pulsante “Add
NetFlow Device”
La figura seguente
riporta la pagina di
configurazione del Plugins di NetFlow. Analizziamo di seguito le varie voci della tabella:
• NetFlow Device riguarda il nome che vogliamo dare al Device che catturerà i dati dal
GSR dell'università; nel nostro caso abbiamo scelto come nome NetFlow-Unina, dopodichè
cliccare su “Set Interface Name”;
• Local Collector UDP Port indica il numero di porta da aprire e verso cui saranno
inviati i dati di tipo NetFlow, è necessario impostare la porta 9996, altrimenti non
riceveremo dati, dopodichè cliccare su “Set Port”;
• Virtual NetFlow Interface Network Address indica l'indirizzo IP a cui verranno
inviati i dati, inserire l'indirizzo 143.225.93.200/255.255.255.0 e cliccare sul pulsante “Set
Interface Address”
• Flow Aggregation indica se si vuole usare una aggregazione come può essere per
numero di porta, per tipo di protocollo o altro, nel nostro caso dobbiamo scegliere Nome
(No Aggregation) e cliccare sul pulsante “Set Aggregation Policy”;
Figura 23: Voce Plugins -> NetFlow del menù a tendina
Figura 24: Pulsante Add NetFlow Device
Guido Alì 566/2266 Pagina 71 di 98
• D
um
p
Int
erv
al
ind
ica
l'int
erv
allo
di
tem
po misurato in secondi, allorquando verrà aggiornato il file di dump di questo plugin, nel
nostro caso scegliere un intervallo di 600 secondi, ossia ogni 10 minuti, e cliccare sul
pulsante “Set Dump Interval”;
• Dump File Path indica il percorso relativo del file di dump con il nome di tale file,
nel nostro caso inserire come nome netflow-Unina-dump e cliccare sul pulsante “Set Dump
File Path”;
• Debug indica la possibilità di controllare la cattura del flusso dei dati, selezionare la
voce On e cliccare su “Set Debug”.
Figura 25: Configurazione del Plugin NetFlow - prima parte
Guido Alì 566/2266 Pagina 72 di 98
Una volta completata la configurazione del plugin, è necessario disabilitare e poi abilitare il
Plugin NetFlow, per far si che parta in modo corretto la cattura del flusso dei dati; per fare
ciò andare sul menù in alto a sinistra, alla voce Plugins e cliccare su All (Figura 20),
all'interno della tabella Aviable Plugins sulla riga di NetFlow, cliccare su Yes (Figura 21) in
modo tale che diventi No e poi su No per farlo diventare nuovamente Yes; da questo
momento se non ci sono stati errori dovrebbe partire la cattura dei dati di NetFlow.
Per
visualizzare i grafici dei vari protocolli, del flusso dati catturato da NetFlow, è necessario
andare sul menù a tendina in alto a sinistra, alla voce Admin, spostarsi su Switch NIC e
dopodiché cliccare su NetFlow-Unina.
Figura 26: Configurazione del Plugin NetFlow - seconda parte
Figura 27: Voce Admin -> Switch NIC del menù a tendina
Guido Alì 566/2266 Pagina 73 di 98
Per visualizzare i risultati della cattura del traffico NetFlow, andare sul menù in alto a
sinistra alla voce Summary cliccare su Traffic.
Comparirà la seguente
schermata che indica
le interfacce
di rete installate
(Network
Interface(s) ), nel nostro caso abbiamo “Eth0” e “NetFlow-Unina”:
• Eth0 è l'interfaccia standard che permette di monitorare la rete locale della macchina
su cui è installato Ntop;
• NetFlow-Unina è l'interfaccia del protocollo NetFlow che riceve i dati del
monitoraggio dal GSR Unina.
Sempre all'interno della schermata seguente è indicato quale interfaccia si sta monitorando
in questo momento, verificare che sia riportato NetFlow-Unina e non Eth0, altrimenti starete
solo monitorando la vostra rete locale.
Figura 28: Voce Summary del menù a tendina
Guido Alì 566/2266 Pagina 74 di 98
Scendendo lungo la pagina troviamo un'altra tabella riportata nella figura seguente,
chiamata Global Protocol Distribution; tradotta in italiano è la distribuzione globale dei
protocolli, ossia la suddivisione dei principali protocolli IP come il TCP, UDP, ICMP e altri.
Come si può notare dalla figura la maggior parte dei pacchetti che viaggiano sulla rete
utilizzano il protocollo TCP.
Scendendo ancora nella pagina troviamo la tabella più importante, la “Global TCP/UDP
Figura 29: Global Traffic Statistics
Figura 30: Global Protocol Distribution
Guido Alì 566/2266 Pagina 75 di 98
Protocol Distribution”, come possiamo vedere dalla figura seguente:
I protocolli che Ntop monitorizza sono :
• FTP;
• HTTP;
• DNS;
• Nbios/CIFS;
• Mail;
• SNMP;
• NFS/AFS;
• VoIP;
• X11;
• SSH;
• Gnutella;
• Kazaa;
• eDonkey;
Figura 31: Global TCP/UDP Protocol Distribution
Guido Alì 566/2266 Pagina 76 di 98
• Bitorrent;
• Messenger.
Oltre a questi protocolli Ntop mostra un grafico a torta chiamato “Accumulated View”, che
raffronta le percentuali dei vari protocolli, ed un grafico chiamato “Historical View” che
mostra su un unico grafico tutti i protocolli dando ad ogni uno di loro un diverso colore.
In fondo alla pagina del mostra il traffico generale, dell'intefaccia di rete scelta, mostra una
tabella chiamata “TCP/UDP Traffic Port Distribution: Last Minute View”, che riporta il
traffico nell'ultimo minuto diviso per porte di rete, ordinato per numero di byte totali, inviati
e ricevuti, riportato nella figura seguente:
È possibile monitorare un determinato protocollo diverso da quelli nell'elenco precedente,
utilizzando l'opzione -p all'avvio dei Ntop, in questo modo non verranno monitorati i
protocolli di default ma solo il o i protocolli scelti, in alternativa è possibile creare una
protocol list, un file in cui vengono inseriti tutti i protocolli che vogliono essere monitorati.
É da notare che usando l'opzione -p non verrà più monitorato il protocollo VoIP.
Di seguit è riportata la pagina del manuale di Ntop riguardante l'opzione -p:
-p | --protocols
Figura 32: TCP/UDP Traffic Port Distribution: Last Minute View
Guido Alì 566/2266 Pagina 77 di 98
This parameter is used to specify the TCP/UDP protocols that ntop will monitor. The format is <label>=<protocol list>
[,<label>=<protocol list>], where label is used to symbolically identify the <protocol list>. The format of <protocol list> is
<protocol>[|<protocol>], where <protocol> is either a valid protocol specified inside the /etc/services file or a numeric port
range (e.g. 80, or 6000-6500).
A simple example is --protocols="HTTP=http|www|https|3128,FTP=ftp|ftp-data", which reduces the protocols displayed on
the "IP" pages to three:
Host Domain Data HTTP FTP Other IP
ns2.attbi.com <flag> 954 63.9% 0 0 954
64.124.83.112.akamai.com <flag> 240 16.1% 240 0 0
64.124.83.99.akamai.com <flag> 240 16.1% 240 0 0
toolbarqueries.google.com <flag> 60 4.0% 60 0 0
Tabella 8: Esempio manuale Ntop alla voce -p
If the <protocol list> is very long you may store it in a file (for instance protocol.list). To do so, specify the file name instead
of the <protocol list> on the command line. e.g. ntop -p protocol.list
If the -p parameter is omitted the following default value is used:
FTP=ftp|ftp-data
HTTP=http|www|https|3128 3128 is Squid, the HTTP cache
DNS=name|domain
Telnet=telnet|login
NBios-IP=netbios-ns|netbios-dgm|netbios-ssn
Mail=pop-2|pop-3|pop3|kpop|smtp|imap|imap2
DHCP-BOOTP=67-68
SNMP=snmp|snmp-trap
NNTP=nntp
NFS=mount|pcnfs|bwnfs|nfsd|nfsd-status
X11=6000-6010
SSH=22
Peer-to-Peer Protocols
----------------------
Gnutella=6346|6347|6348
Kazaa=1214
WinMX=6699|7730
DirectConnect=0 Dummy port as this is a pure P2P protocol
Guido Alì 566/2266 Pagina 78 di 98
eDonkey=4661-4665
Messenger=1863|5000|5001|5190-5193
NOTE: To resolve protocol names to port numbers, they must be specified in the system file used to list tcp/udp protocols and
ports, which is typically /etc/services file. You will have to match the names in that file, exactly. Missing or unspecified (non-
standard) ports must be specified by number, such as 3128 in our examples above.
If you have a file named /etc/protocols, don't get confused by it, as that's the Ethernet protocol numbers, which are not what
you're looking for.
Guido Alì 566/2266 Pagina 79 di 98
7. Guida installazione della libreria PF_RING
La libreria PF_RING per poter funzionare correttamente richiede l'utilizzo di drivers
modificati per poter catturare informazioni dalla rete(sniffing), quindi per poter utilizzare
PF_RING è necessario avere una scheda di rete di cui ci siano i drivers modificati.
Per verificare che la propria scheda di rete sia compatibile con PF_RING e quindi necesario
scariacare il pacchetto Ethtool, o utilizzando il comando da terminale:
• sudo apt-get install ethtool
oppure tramite il gestore acchetti, cercare nella ricerca veloce ethtool e installarlo.
Una volta installato il pacchetto ethtool, aprire il terminale e digitare il comando:
• ethtool -i eth0
verrà visualizzata una schermata simile alla seguente:
driver: e1000e
version: 1.0.2-k2
firmware-version: 0.4-3
bus-info: 0000:00:19.0
A questo punto, scaricare dal sito www.Ntop.org la versione aggiornata di PF_RING,
scompattare il file scaricato e andare nella cartella drivers per verificare che il driver della
propria scheda di rete sia nell'elenco dei driver supportati.
Una volta verificato che la propria scheda di rete si compatibile con la libreria PF_RING, si
può procedere con l'installazione; come prima cosa procedere con la rimozione del
pacchetto libpcap, o utilizzando il terminale con il comando:
• apt-get remove libpcap
oppure tramite il Gestore Pacchetti, cercando il pacchetto libpcap tramite la casella di testo
di ricerca veloce e una volta trovato, selezionarlo col destro e cliccare su Rimuovi, come
nella schermata seguente:
Guido Alì 566/2266 Pagina 80 di 98
Una volta rimosso il pacchetto libpcap si può procedere con l'installazione dei seguenti
pacchetti:
• subversion
• flex
• vision
Come è già stato descritto nel capitolo precedente per procedere con l'installazione di questi
tre pacchetti si può procedere in due modi, o tramite il terminale con il comando:
• apt-get install nome_pacchetto
oppure tramite il Gestore Pacchetti ricercando uno alla volta i pacchetti, selezionandoli e
tramite il comando Applica installarli sulla macchina.
Una volta installati tutti i pacchetti necessari a PF_RING, è necessario rimuovere i driver
attuali della scheda di rete, con il comando da terminale:
• sudo rmmod nome_driver
dove il nome_driver è quello visualizzato col comando ethtool -i eth0 alla voce driver.
A questo punto spostare il terminale nella directory PF_RING/kernel/ che è stata
precedentemente scaricata e scompattata, creare il codice sorgente con il comando:
Figura 33: Rimozione di libpcap
Guido Alì 566/2266 Pagina 81 di 98
• sudo make
nel caso in cui venga visualizzato un messaggio di errore sul file bounds.c, utilizzare il
comando:
• sudo -s make
Una volta creato il codice sorgente, installarlo col il comando:
• sudo make install
Spostarsi nella directory PF_RING/userland/lib e anche in questa cartella è necessario
creare e installare il codice sorgente con i comandi:
• sudo make
• sudo make install
Ora dobbiamo installare la libreria pcap contenuta in PF_RING, per fare ciò spostarsi nella
directory userland/libpcap-1.0.0-ring e eseguirei seguenti comandi:
• ./configure
• make
• sudo make install
Guido Alì 566/2266 Pagina 82 di 98
Ora è necessario installare i driver modificati della propria scheda di rete spostandosi nella
cartella:
• PF_RING/drivers/produttore_scheda/modello/src
Se per esempio si ha una Intel e1000e 1.0.15 ci si sposterà nella cartella:
• PF_RING/drivers/intel/e1000e-1.0.15/src
Creare il codice sorgente e installarlo con i comandi:
• make
• sudo make install
Una volta installati i driver corretti, è necessario attivare PF_RING, se non è già attivo.
Come prima cosa bisogna vedere che versione del kernel è installata sulla macchina con il
comando:
• uname -r
Figura 34: Esecuzione di sudo make install
Guido Alì 566/2266 Pagina 83 di 98
Spostarsi nella directory /lib/modules//kernel/net/pf_ring e digitare il comando:
• ismod pf_ring
per verificare l'attivazione o meno di PF_RING. Se è attivo allora occorre disattivarlo con il
comando:
• rmmod pf_ring
Una volta che è disabilitato, usare il comando:
• sudo insmod pf_ring.ko transparent_mode=1
per abilitare PF_RING.
Non rimane altro che abilitare anche i nuovi driver della scheda di rete e l'installazione sarà
completa.
Spostarsi nella directory /lib/modules//kernel/drivers/net/nome_driver ed eseguire il
comando:
• sudo insmod nome_driver.ko
e il gioco è fatto.
Guido Alì 566/2266 Pagina 84 di 98
8. Conclusioni
Il lavoro svolto presso il Centro SCoPE mi ha permesso, da un lato di rafforzare le
conoscenze sulla programmazione di base, in particolare l'utilizzo del sistema operativo
Linux Ubuntu, dei comandi di shell, del DBMS MySql e dei protocolli di rete, molto
richiesti nel mondo del lavoro, dall'altro di acquisire concetti nuovi e allo stesso tempo
stimolanti, come il monitoraggio di sistemi di rete, l'utilizzo di un tool che permette la
creazione e la gestione di macchine virtuali e la gestione degli indirizzi pubblici.
La scelta del sistema di monitoraggio di rete, l'installazione e la configurazione dello stesso,
mi ha dato fonti di riflessione e di studio, sulle caratteristiche dei sistemi operativi utilizzati,
maturando in me, voglia di affrontare e approfondire i problemi legati alla struttura interna
dei vari sistemi operativi.
La ricerca del pacchetto software, oltre all'installazione e alla configurazione, utilizzatissima
per le aziende piccole o grandi che vogliono monitorare la propria rete, con
l'implementazione del pacchetto NetFlow, utilizzato dalla maggior parte dei router Cisco,
marca professionale nel campo delle infrastrutture di reti, mi consentirà di lavorare anche
con grandi società.
La scelta del software Ntop è stata solo l'inizio, c'è ancora molto da fare e da migliorare,
considerando tutte le possibili configurazioni che si possono migliorare, l'applicazione di
filtri e aumentare il lavoro di monitoraggio con la gestione della sicurezza della rete
rilevando e bloccando attacchi in atto, o ancora di prevenire la congestione del traffico.
Oltre ad Ntop è fondamentale l'applicazione nProbe, un NetFlowCollector che
permetterebbe il monitoraggio dei singoli edifici o sedi dell'università.
Dal punto di vista tecnico, il lavoro fatto, mi ha permesso di studiare in modo trasversale i
problemi legati al monitoraggio di sistemi di rete, applicati su macchine virtuali, un'ottima
soluzione per testing di applicazioni e servizi di varie tipologie.
Inoltre, poiché parte del lavoro svolto, è stato affrontato in collaborazione con altri colleghi,
questo mi ha permesso di maturare ulteriori esperienze e conoscenze nel campo informatico
e non solo.
La voglia di apprendere nuovi concetti e di acquisire una maggiore padronanza con gli
Guido Alì 566/2266 Pagina 85 di 98
strumenti adoperati durante tutto l'iter dello stage, ha rafforzato la mia formazione in campo
informatico , prerogativa fondamentale, che mi ha consentito di portare avanti e sviluppare
serenamente questo lavoro di Tesi.
Guido Alì 566/2266 Pagina 86 di 98
9. Glossario
Access Point È un dispositivo che permettere ad un computer con una scheda
wireless di connettersi alla rete. Esso a sua volta è collegato alla rete
cablata tramite un cavo ethernet o ad un altro Access Point tramite la
wireless stessa, in questo caso l'Access Point è anche detto bridge,
perchè utilizzato come ponte radio.
Amministratore di rete È colui che gestisce la rete, assegna gli IP, controlla il traffico,
assegna le password della eventuale rete Wireless e DataBase remoti.
AppleTalk È un protocollo di comunicazione della Macintosh, si occupa della
comunicazione del computer con stampanti remote e altri dispositivi
collegati non direttamente al PC ma tramite la rete. Ormai però i Mac
ormai utilizzano il protocollo TCP/IP.
Applicazione web-
based
È una applicazione la cui interfaccia con l'utente avviene tramite un
broswer web e che è quindi accessibile tramite la rete in remoto; ciò
vuol dire che possiamo per esempio controllare l'applicazione in
esecuzione su una macchina server da un qualsiasi PC che abbia
accesso alla rete del serverconoscendo l'indirizzo del server e tramite
un broswer web.
ARP È l'acronimo di Address Resolution Protocol, ossia è un protocollo di
rete appartenente ai protocolli IP che gestisce la mappatura tra
indirizzo IP e indirizzo MAC.
ASCII È l'acronimo di American Standard Code for Information
Interchange, un sistema di codifica dei caratteri a 7 bit, poi portato a 8
bit, accettato come codifica dei icaratteri standard internazionale
dall'ISO (International Sandard Organization).
ATM È l'acronimo di Asynchronous Transfer Mode, un protocollo di rete
per il trasferimento dei dati sulla rete, diversamente dalle reti basate
sulla suite di protocolli IP, esso non trasferisce pacchetti di
dimenzione variabile ma delle celle, di lunghezza fissa. Ha una
velocità molto maggiore rispetto alle reti IP ma ha un costo maggiore.
Backbone È una linea di interconnessione che permette di collegare parti lontane
Guido Alì 566/2266 Pagina 87 di 98
di reti, ad esempio diversi edifici o diverse sedi dell'università.
Bootstrap È la fase iniziale di avvio della macchina e quindi di tutti i servizi, in
cui non c'è interazione con l'utente.
Browser Web È una applicazione che permette di visualizzare pagine web e la
navigazione tra tali pagine nel Wrold Wide Web. Un Broswer web è
in grado di visualizzare pagine scritte in formato HTML, PHP, Java,
XML e così via.
Client È solitamente una macchina che ha bisogno di dati presenti su un'altra
macchina chiamata server, quest'ultima in genere fornisce servizi
come DataBase, security Storage o altri come stampanti e così via di
cui necessita il client.
Congestion avoidance È un servizio fornito da alcuni dispositivi di gestione del traffico sulla
rete, essi prevengono la congestione della rete monitorando le porte e
distribuendo il traffico nel modo più omogeneo sia possibile.
CPU È l'acronimo di Central Processing unit, l'unita cuore del computer, la
quale elabora tutte le informazioni al livello elementare di bit 0, 1.
DBMS È l'acronimo di DataBase Management System, come dice il nome
stesso è il sistema di gestione dei DataBase, che si occupa
dell'aggiornamento dei dati, le interrogazioni al DataBase, la gestione
degli accessi di diversi uteni e così via.
Debug È una particolare attività che si fa per l'individuazione di un errore
(bug) all'interno di una applicazione, in genere avviene eseguendo il
codice sorgente dell'applicazione un rigo alla volta, seguendo
l'evolversi dei dati in memoria e controllando l'interazione con
l'utente.
DECnet È una suite di protocolli internet antenata della architettura peer to
peer.
Device È un dispositivo, può generalmente intendere dispositivi come Access
Point, stampanti o altri.
DNS È l'acronimo di Domain Name System, cioè il sistema di risoluzione
dei nomi sulla rete, in altre parole è il sistema che traduce l'indirizzo
Guido Alì 566/2266 Pagina 88 di 98
internet che noi cerchiamo, nell'indirizzo IP corrispondente e
viceversa.
Ethernet È un sistema di di trasmissione dati in una rete locale ed è anche il
nome della suite di protocolli che gestiscono tale sistema. Il cavo di
collegamento di tale rete ha anche esso lo stesso nome ed è
riconoscibile per il tipico terminale RJ-45.
FDDI È l'acronimo di Fiber Distribuiter Data Interface, un particolare tipo
di rete ad anello di tipo Token Ring, costituita da cavi di fibre ottiche.
Firewall È un dispositivo passivo di filtraggio dei dati della rete. In italiano si
traduce come muro taglia fuoco o muro ignifugo; questo perché viene
in generale posto sulla topologia della rete al limite tra la rete locale,
in cui gli utenti sono stabiliti e liberi di comunicare tra loro, e la rete
esterna, come ad esempio internet. Il Firewall ha il compito di
proteggere le macchine della rete locale da attacchi esterni.
FTP È l'acronimo di File Tranfer Protocol, un protocollo fondamentale per
lo scambio dei dati all'interno della rete IP, gestisce il trasferimento
dei file tra due macchine collegate in rete.
Garbage Collector È un sistema di gestione della memoria, la traduzione è raccolta dei
rifiuti. Il Garbage Collector annota le porzioni di memoria allocate da
programmi attivi, che nel momento in cui vengono terminati rende
l'aria di memoria a loro allocata, libera di poter essere utilizzata da
altri programmi.
Gigabit È l'unità di misura della trasmissione dei dati sulla rete, rappresenta la
trasmissione di 1 miliardo di bit al secondo.
GSR È l'acronimo di Gigabit Switch Router, un router per la connessione
alla rete come ad esempio internet con uno switch per la connessione
contemporanea di una serie di dispositivi e quindi la creazione di una
rete locale, con la caratteristica di avere una connessione molto
veloce, fino ai Gigabit.
Host È un terminale collegato alla rete, può essere un PC, un palmare o
altro e può essere di tipo Client o Server.
Guido Alì 566/2266 Pagina 89 di 98
HTTP È l'acronimo di HyperText Transfer Protocol, il protocollo più famoso
per la gestione dell'ipertesto, esso premette di visualizzare le pagine
web su un broswer web e di navigare tra le pagine.
ICMP È l'acronimo di Internet Control Message Protocol, un protocollo
appartenente alla suite di protocolli IP; esso si occupa di gestire le
informazioni riguardanti i malfunzionamenti, all'interno della rete.
IP È l'acronimo di Internet Protocol, è la suite di protocolli per la
interconnessione di reti eterogenee; ciò vuol dire che questo
protocollo è stato creato per connettere dei dispositivi ad una rete, sia
dispositivi di tipo diverso che reti di tipo diverso come può essere la
rete Ethernet e la ATM.
IPX È l'acronimo di Internetwork Packet eXchange, un protocollo per lo
scambio dei pacchetti sulla rete Netware di Novell.
IS È l'acronimo di Intermediate System, un protocollo di routing per
l'instradamento tra dispositivi anche diversi connessi alla rete.
Java È un linguaggio di programmazione orientato agli oggetti. Grazie alla
Java Virtual Machine, una macchina virtuale sulla macchina fisica su
cui lavoriamo, è possibile programmare in modo indipendente dalla
piattaforma utilizzata.
JDBC È l'acronimo di Java DataBase Connectivity, un modulo di Java che
permette la connessione di un database al proprio programma.
Kernel È il nucleo del sistema operativo, che permette ai vari applicativi in
esecuzione sul sistema, di essere elaborati dalla CPU e gestisce i
tempi macchina, cioè i turni tra i vari programmi per essere eseguiti.
LAN È l'acronimo di Local Area Network, cioè una rete di tipo locale in
cui i dispositivi connessi possono solo scambiare informazioni tra
loro.
Libreria libpcap È una libreria creata per TCPDUMP per la cattura dei pacchetti dalla
rete.
Linea di dump È un rigo del file di dump. Il file di dump è un file che contiene il
riepilogo delle azioni fatte da un database o un programma.
Guido Alì 566/2266 Pagina 90 di 98
Linguaggio di mark-up È un linguaggio che contiene un insieme di marcatori standardizzati
come ad esempio l'XML.
Linux È un sistema operativo open source, in cui il codice sorgente non è
codificato e quindi modificabile da chiunque. Linux comprende al suo
interno generalmente il sistema testuale Unix.
LLQ È l'acronimo di Low Latency Queuing, è un protocollo della Cisco
per il controllo pila di accodamento dei pacchetti che devono essere
inviati sulla rete, che permette ad esempio a pacchetti di tipo VoIP di
passare per primi per evitare quei fastidiosi problemi di ritardo della
voce.
Loopback È un'interfaccia fittizia per permettere ad un programma in
esecuzione localmente di accedere a risorse come database che anche
se locali sono predisposti solo per connessioni remote.
MAC address È l'acronimo di Media Access Control address, l'indirizzo che
identifica univocamente una scheda di rete tra tutte le altre al mondo e
quindi identifica una macchina all'interno di una rete.
Mac OS È l'acronimo di MAC Operating System, il sistema operativo chiuso
della Apple per macchine Macintosh.
Memoria cache È una memoria volatile che si trova all'interno dei Personal
Computer, più piccola della memoria RAM ma molto più più veloce;
è usata dal processore per conservare risultati parziali di operazioni in
esecuzione.
MIB È l'acronimo di Management Infomation Base, un database per la
gestione dei dispositivi della rete.
Mission-critical È un'informazione relativa ad una attrezzatura o dispositivo critica per
il funzionamento del progetto, generalmente riguardanti la sicurezza
dei dati.
MPLS È l'acronimo di Multi Protocol Label Switching, un protocollo di
routing che permette ai pacchetti di essere trasmessi sulla rete
attraverso un percorso predefinito da etichette(label). In altre parole
contiene al suo interno una tabella di routing che specifica per quali
Guido Alì 566/2266 Pagina 91 di 98
nodi deve passare il pacchetto.
Multicast È un metodo di invio di pacchetti, in questo particolare caso un
pacchetto viene inviato contemporaneamente ad un gruppo di
destinatari. Multicast riferito ad un indirizzo, significa che l'indirizzo
è del gruppo.
MySql È un DBMS, un sistema di gestione dei database; esso è diviso da un
lato server, il quale contiene i dati, un lato client che effettua le
interrogazioni. Nei casi in cui sia il client che il server si trovano su
macchine distinte, per connettersi il client al server, ha bisogno di
sapere l'indirizzo del server e si deve loggare, in caso contrario
utilizza l'interfaccia loopback, ma sempre ha bisogno di loggarsi;
quindi è necessario chiedere all'amministratore di rete un account sul
server.
NetBEUI È un protocollo di trasporto dei dati sulla rete che contiene in se il
protocollo NetBios, per la programmazione remota del bios.
NFR È l'acronimo di Network Flight Recorder, un'applicazione capace di
catturare i pacchetti dalla rete e salvarli all'interno di un database per
la successiva consultazione.
NFS È l'acronimo di Network File System, un particolare protocollo che
permette alle macchine connesse alla rete, di utilizzare dischi remoti
come se fossero locali.
NOC È l'acronimo di Network Operations Center, un centro che controlla
tutto le operazioni sulla rete ed è responsabile dell'instradamento per
evitare congestioni del traffico e monitorizza tutti i dispositivi.
Nodo della rete È un punto della rete in cui si uniscono più diramazioni.
NUDP È l'acronimo di Network Protocol Data Unit, un protocollo di
intestazione dei dati; esso viene inviato per controllare lla correttezza
della trasmissione avvenuta.
NVRAM È l'acronimo di Not Volatile Random Access Memory, cioè un
memoria di tipo RAM ma non volatile, ossia non viene perso il
contenuto della memoria allo spegnimento della macchina.
Guido Alì 566/2266 Pagina 92 di 98
ODBC È l'acronimo di Open DataBase Connectivity, una interfaccia che
permette l'indipendenza dal sistema di gestione del database, in altre
parole l'ODMC permette ai programmi di nterfacciarsi con diversi
database utilizzando gli stessi comandi.
Operatore booleano Gli operatori booleani sono principalmente tre, AND, OR e NOT; essi
permettono di unire due espressioni o negarne una a seconda
dell'operatore usato.
Pacchetto È parte di un dato trasmesso sulla rete; quando inviamo un dato sulla
rete, esso viene diviso in tanti pacchetti, ognuno dei quali contiene
parte dell'informazione, un numero progressivo che indica che parte
del dato esso contiene e altre informazioni come il destinatario, codici
per il controllo della correttezza e altri dati.
Perl È l'acronimo di Practical Extraction and Report Language, un
linguaggio di programmazione ereditato del C, dagli script Bash e da
Awk.
Ping È un comando di Unix che invia una serie di pacchetti ICMP ad un
destinatario specificato per controllare lo stato e la velocità di
trasmissione.
Plugins È un
PoP Point of Presence nodo di trasporto
PPP È l'acronimo di Point to Point Protocol, un protocollo per la
connessione di due nodi distinti della rete.
RAM È l'acronimo di Random Access Memory,, più veloce dei dischi rigidi,
di dimenzione minore e non permanente, cioè allo spegnimento della
macchina perde tutti i dati contenuti. È un via di mezzo tra l'hard disk
e la memoria cache.
RARP È l'acronimo di Reverse Address Resolution Protocol, un protocollo
di rete che ha lo scopo di risalire all'indirizzo IP, conoscendo
l'indirizzo fisico(MAC). RARP è anche il nome del pacchetto inviato
in broadcast, per la richiesta del proprio indirizzo IP, così come è il
nome del server che risponde a tale richiesta.
Guido Alì 566/2266 Pagina 93 di 98
Report É una stampa dei dati proveniente da un database, filtrata secondo le
necessità, con interrogazioni sql.
Rete GARR È la rete informatica per la ricerca, l'acronimo di GARR è Gruppo
Armonizzante Rete di Ricerca, una rete che è stata creata per
collegare le varie università italiane e estere.
RMON È l'acronimo di Remote network MONinoting, un protocollo creato
per il monitoraggio delle reti. Gli agenti RMON sono generamente
contenuti all'interno dei router come in molti della Cisco.
ROM È l'acronimo di Read Only Memory, ossia una memoria di sola
lettura, essa è situata sulla scheda madre e contiene il firmware, ossia
ciò che permette la trasformazione dei comandi software in segnali
hardware.
Router È un dispositivo fondamentale all'interno di una rete. In inglese viene
tradotto come instradatore, questo perché ha il compito di instradare i
pacchetti sulla rete. Contiene al suo interno una tabella chiamata
Tabella di routing, la quale contiene tutti gli indirizzi dei vari host
collegati alla rete, con gli indirizzi dei nodi attraverso i quali passare
per raggiungerli; in altre parole una mappa di come raggiungere tutti
gli host della rete.
Snapshot È lo stato del sistema in un certo istante di tempo, come se fosse una
fotografia dello stato attuale del sistema e della memoria.
Sniffer È un'applicazione capace di catturare in modo passivo i pacchetti che
attraversano la rete, per poi conservarli all'interno di un database. Lo
scopo dello sniffer può essere, sia di analisi delle prestazioni della
rete, sia attività illegali come la cattura delle password.
SNMP È l'acronimo di Simple Network Management Protocol, un protocollo
di rete per la gestione e la supervisione degli apparati collegati alla
rete.
Software Open Source È un software come dice il nome avente il codice sorgente aperto;
cioè il codice che forma il software in questione non è codificato e
quindi illeggibile dall'utente, ma anzi è leggibile e modificabile a
Guido Alì 566/2266 Pagina 94 di 98
piacimento. Un esempio può essere il sistema operativo Linux,
l'applicativo studiato Ntop o tantissimi altri.
Sottorete È una suddivisione di una rete in senso logico ma non fisico. La
suddivisione della rete in sub-gruppi si chiama subnetting, esso viene
fatto per divisioni gerarchiche o per divisioni di stanze o altro ancora.
SQL È l'acronimo di Struttred Query Lenguage, un linguaggio per
l'interrogazione dei database accettato da tutti i DBMS. Le
interrogazioni vengono chiamate Query, sono dei costrutti per
l'inserimento, cancellazione, aggiornamento o selezione di dati.
Superutente È un particolare utente di sistemi come Unix che ha tutti i privilegi di
eseguire, modificare o cancellare. Tale utente prende anche il nome di
Root.
Switch È un dispositivo di rete che permette la connessione di più computer,
attraverso cavi Ethernet, per la creazione di una rete locale cablata. A
differenza dell'Hub, il quale non fa nient'altro che inviare il
messaggio proveniente da un PC a tutti gli altri, lo Switch invia il
messaggio solo al vero destinatario, in quanto esso contiene una
tabella contenente per ogni porta Ethernet l'indirizzo MAC della
macchina connessa.
Tabella hash È una tabella contenente tutta una serie di informazioni riguardanti un
Host nel caso del Packet Analyser di Ntop, in cui in ogni riga della
tabella contiene tutta una serie di informazioni tra cui l'indirizzo
MAC dell'Host, usato come chiave di ricerca. Oltre all'indirizzo MAC
una riga contiene informazioni circa il numero di host a cui è
collegato, il tipo di protocollo utilizzato per la connessione, la lista
delle connessioni aperte in orso, l'indirizzo IP assegnato e così via.
TCP È l'acronimo di Trasmission Control Protocol, un protocollo di rete
generalmente abbinato al protocollo IP, diversamente dall'UDP, è un
protocollo sicuro in quanto crea un canale di comunicazione tra i due
host e garantisce l'integrità dei dati, con lo svantaggio di una
maggiore lentezza di trasmissione e ricezione ma col vantaggio di
una maggiore sicurezza dei dati.
Guido Alì 566/2266 Pagina 95 di 98
Telnet È un protocollo di rete utilizzato per la reazione di una sessione di
Login remoto tra un client e un server su internet; è anche il nome del
programma per effettuare il Login remoto e generalmente utilizza la
porta 23 sul server.
Terminale È un dispositivo della rete di tipo client, in quanto è una macchina
poco performante che non contiene database ne dispositivi importanti,
ma può solo effettuare richieste verso altri dispositivi o macchine, le
quali contengono tutte le informazioni che gli servono.
Timestamp È l'insieme di una data ed un orario che identificano un certo istante
di tempo.
Token Ring È una rete di computer ad anello chiuso, in cui c'è un buffer comune
che collega tutti i PC. La determinazione di chi deve trasmettere sul
buffer viene fatta in base a quale macchina possiede in quel momento
un particolare messaggio detto Token; in altre parole visto che il
buffer è uno solo e quindi più messaggi contemporaneamente
andrebbero in collisione, le macchine si passano un gettone (Token)
che permette loro di poter trasmettere, mentre tutti gli altri stanno in
ascolto e leggono il messaggio solo se è destinato a loro, altrimenti lo
ignorano.
Tool È un'applicazione o un insieme di applicazioni che aggiunte ad un
altro programma aggiungono un determinato compito.
Traceroute È un'applicazione capace di ricavare il percorso che fa un pacchetto
per arrivare ad un destinatario, ovvero gli indirizzi IP di tutti i router,
switch e dispositivi che attraversa per arrivare a destinazione.
UDP È l'acronimo di User Datagram Protocol, un protocollo di rete usato
nella maggior parte dei casi in combinazione col protocollo IP. Nel
protocollo UDP, non c'è garanzia di trasmissione corretta dei dati, in
quanto non è garantito che i pacchetti arrivino nello stesso ordine in
cui sono stati mandati, che ci siano errori o perdita dei pacchetti.
Nonostante ciò l'UDP è utilizzato in molte comunicazioni poiché
ormai la perdita dei messaggi si è ridotta talmente tanto che può
essere considerata nulla, mentre si ha il grosso vantaggio della
Guido Alì 566/2266 Pagina 96 di 98
maggiore velocità di trasmissione dei dati. Un esempio d'uso di
questo protocollo è nello streaming, in quanto è più importante la
ricezione immediata dei dati video e audio anche se con qualche
perdita di pixel video e frammento di audio.
Unix È un sistema operativo del tipo a riga di comando, ormai integrato
nella maggior parte dei sistemi Linux, in grado di gestire più
programmi alla volta e più utenti.
Update È l'aggiornamento di una applicazione, del sistema, dell'antivirus o
altro.
VLAN È l'acronimo di Virtual Local Area Network, una rete locale virtuale,
in quanto la rete in realtà è più grande in più sottoreti.
VOIP È l'acronimo di Voice Over IP, un protocollo di rete che permette di
effettuare una conversazione telefonica utilizzando una rete di tipo IP.
Win32 Indica la versione a 32 bit delle Windows API, cioè un insieme di
librerie dette DLL per il corretto funzionamento del sistema operativo
Windows.
Wireless Dall'inglese senza fili, si intende la comunicazione tramite onde radio
a bassa potenza, per estenzione i dispositivi Wireless sono quei
dispositivi che non fanno uso di cavi ma di onde radio per
comunicare, un esempio può essere un Router Wireless, il quale non
usa cavi Ethernet per connettere le macchine alla rete ma usa onde
radio.
XML È l'acronimo di eXtensible Markup Lenguage, è un linguaggio di
programmazione estendibile e formato da marcatori. A differenza
dell'HTML, dove i tag sono definiti e limitati, nell'XML i tag li
definisce l'utente e quindi può essere usato per creare nuovi linguaggi
o per comunicare con DBMS distinti.
Guido Alì 566/2266 Pagina 97 di 98
10. Bibliografia e Sitografia
Machtelt Garrels – Bash – Garrels BVBA
Greant Zack, Newman Chris – MySQL – Pearson
Peterson Larry, Davie Bruce – Computer Networks – Morgan Kaufmann
Yohannes Ramlie – Ntop - Network TOP – Aiko Pars
Parrino Maurzio – Voice Over IP – Apogeo
Luca Deri, Stefano Suin – Ntop: Ping end Traceroute – DSOM
NTOP http://www.ntop.org
TCPDUMP http://www.tcpdump.org
MYSQL http://www.myqsl.com
MRTG http://oss.oetiker.ch/mrtg/
Porte IANA http://www.iana.org
CISCO http://www.cisco.com
Netflow Collection Engine http://www.cisco.com/en/US/products/sw/netmgtsw/ps1964/
index.html
JOOMLA http://www.joomla.it
RRD Tools http://oss.oetiker.ch/rrdtool/
Cacti http://www.cacti.net
CVS http://it.wikipedia.org/wiki/Concurrent_Versions_System
RedHat http://www.redhat.com/
Ubuntu http://www.ubuntu.com
Wmware http://www.wmware.com
HTML http://www.html.it/
Crontab http://www.crontab.org
Fusion Chart http://www.fusionchart.com
Apache http://www.apache.org/
Guido Alì 566/2266 Pagina 98 di 98
SELinux http://selinuxproject.org
Libpcap http://www.pluto.it/files/ildp/lfs/blfs/6.0/general/libpcap.html