Molte volte, quando lavoro su un problema, chiedo alle persone di inviarmi una traccia di rete. Una traccia di rete spesso indica la causa principale del problema. Come minimo, riduce lo spazio del problema a qualcosa di gestibile. Ad esempio, quando una stampante di rete ha iniziato a stampare caratteri incomprensibili, abbiamo trascorso diversi giorni esaminando i TTP; quando finalmente abbiamo ottenuto una traccia di rete, abbiamo scoperto che stavamo inviando un testo perfettamente corretto; il problema era nella stampante. In un altro caso, un problema di prestazioni OSL tra moduli distanti diverse migliaia di chilometri sembrava essere un problema di rete, ma una traccia ha chiaramente dimostrato che il problema era nel modulo server. Se non fosse stato per la traccia di rete, starei ancora lavorando su entrambi i problemi.
Come si ottiene una traccia di rete? Ci sono tre possibilità.
monitoraggio_pacchetti
Il comando VOS packet_monitor, con alcune limitazioni, consente di monitorare tutto ciò che il modulo invia e riceve dalla rete. Per ulteriori informazioni, consultare stratus e stratusfile=ch9r419-09i.html per ulteriori informazioni.
Il comando packet_monitor presenta diverse limitazioni. Non è possibile essere certi al 100% che un frame segnalato come inviato sia stato effettivamente inviato. Ad esempio, errori sull'adattatore potrebbero impedire l'invio del frame. Inoltre, i frame ricevuti con errori, come un errore CRC, non verranno inviati a monte in modo che packet_monitor possa vederli. Poiché packet_monitor non pone l'adattatore in modalità promiscua, solo i frame indirizzati all'adattatore o all'indirizzo di broadcast verranno trasmessi a monte. Un collegamento può essere occupato al 90% mentre packet_monitor segnala solo 1 frame al secondo perché questo è l'unico frame indirizzato all'adattatore o all'indirizzo di broadcast.
In generale, i monitor basati su host, come packet_monitor, sono utili solo come integrazione ad altre forme di tracciamento o quando non sono disponibili altre forme di tracciamento di rete.
Port Mirroring, noto anche come SPAN (Switch Port for ANalysis) port
Una porta mirror o span è una porta su uno switch che replica tutto il traffico rilevato su una o più porte (o anche su una VLAN) dello switch. La porta mirror deve essere collegata a un dispositivo di monitoraggio della rete. Questo dispositivo può essere un apparecchio speciale o un PC con sistema operativo Linux o Microsoft Windows dotato di un monitor basato su host come Wireshark (http://www.wireshark.org/) o tcpdump. Le porte mirror sono facili da configurare, poiché richiedono solo l'inserimento di pochi comandi sullo switch.
Sfortunatamente, l'utilizzo di una porta mirror presenta diversi svantaggi importanti. Innanzitutto, la porta deve essere configurata correttamente. Porte configurate in modo errato possono causare la perdita o la duplicazione di frame nella traccia di rete. In secondo luogo, gli switch non replicano i frame che presentano errori di qualsiasi tipo, quindi questi frame non vengono tracciati. In terzo luogo, uno switch occupato può eliminare i frame invece di replicarli sulla porta mirror. In quarto luogo, una porta mirror che accetta frame da un'intera VLAN, da più porte dello switch o anche solo da una porta full duplex, può sovraccaricarsi e quindi perdere alcuni frame. In quinto luogo, gli errori introdotti tra lo switch e l'host non possono essere rilevati dall'applicazione di monitoraggio della rete collegata a una porta dello switch completamente diversa. Allo stesso modo, gli errori introdotti tra la porta mirror e l'applicazione di rete forniranno all'applicazione di rete una visione distorta di ciò che l'host riceve effettivamente dallo switch.
Network Tap
I tap sono dispositivi passivi che si collegano tra lo switch e l'host; essi si collegano letteralmente alla connessione di rete. Come una porta mirror, devono essere collegati a un dispositivo di rete, ma presentano meno svantaggi rispetto a una porta mirror.
In primo luogo, in genere non è necessaria alcuna configurazione: basta collegarlo e funziona. In secondo luogo, i tap più avanzati utilizzano l'alimentazione solo per replicare i frame alla porta di monitoraggio e dispongono di doppia alimentazione per garantire l'affidabilità dell'attività di replica. In caso di interruzione dell'alimentazione, questi tap continuano a inoltrare i frame tra le porte di rete; solo la replica si interrompe. In terzo luogo, un tap ha una sola funzione, ovvero replicare e inoltrare i frame all'applicazione di monitoraggio della rete. È molto meno probabile che un tap venga sovraccaricato da un volume elevato di traffico. Inoltre, i tap aggregati dispongono di uno spazio buffer che consente loro di inoltrare volumi elevati di traffico su un collegamento full duplex senza perdere frame. Naturalmente, un tasso elevato prolungato può comunque sovraccaricare il buffer. I tap aggregati consentono anche di combinare più ingressi. Ad esempio, un dispositivo a due porte consente di monitorare sia gli adattatori attivi che quelli in standby di una coppia di adattatori duplex. Ciò garantisce un monitoraggio continuo anche in caso di failover dell'adattatore. Infine, collegando il tap all'adattatore host si ha la massima garanzia che l'applicazione di monitoraggio della rete vedrà tutti i frame in uscita dall'adattatore host e tutti i frame in arrivo dallo switch all'adattatore host.
Uno svantaggio comune a molti tap con porta mirror è che eliminano i frame danneggiati. Poiché anche molti dispositivi di monitoraggio della rete, in particolare quelli che sono semplici PC con hardware Ethernet standard, eliminano i frame danneggiati, i produttori di tap non considerano questo aspetto un difetto critico.
Per ulteriori commenti sui tap rispetto alle porte switch, consultare http://www.lovemytool.com/blog/2007/08/span-ports-or-t.html o http://taosecurity.blogspot.com/2009/01/why-network-taps.htm l oppure digitare "network taps and span ports" nel motore di ricerca preferito.
Sfide di monitoraggio
La prima sfida consiste nel decidere quando monitorare e per quanto tempo. Idealmente, i collegamenti di rete critici in un sistema di produzione dovrebbero essere monitorati continuamente. Individuare un problema al suo primo verificarsi e avere a disposizione una traccia di rete è molto più veloce che incontrare un problema, impostare il monitoraggio e cercare di riprodurlo o aspettare che si ripresenti. I file di traccia possono essere di grandi dimensioni; un carico del 50% su un collegamento gigabit produce circa 62,5 megabyte al secondo o 3,75 gigabyte al minuto. I file di traccia non devono essere conservati per un periodo superiore al tempo di risposta nel caso peggiore. Se è possibile rispondere a un problema segnalato in un'ora, è sufficiente conservare un'ora di dati di traccia. Più dati di traccia si salvano, maggiore è il margine di manovra per rispondere o per riconoscere che c'è stato un problema che deve essere indagato. I dischi di grandi dimensioni sono abbastanza economici, almeno rispetto al costo di un'interruzione, quindi è opportuno considerare l'acquisto di uno o più dischi rigidi da un terabyte per conservare i dati di traccia.
Mantenere questo livello di monitoraggio può essere difficile quando si utilizza una porta span. In una rete complessa, gli amministratori di rete sono chiamati a occuparsi di molteplici aspetti e può essere difficile mantenere una porta span e un monitoraggio continuo nel caso in cui qualcosa vada storto.
D'altra parte, un tap di rete installato accanto all'host è dedicato a quell'host. È possibile acquistare un sofisticato dispositivo di monitoraggio della rete oppure iniziare utilizzando un PC di base con un disco rigido da 1 terabyte con sistema operativo Linux o Windows ed eseguendo il programma tshark (l'interfaccia non GUI di Wireshark). Questa configurazione fornirà 266 minuti di dati di tracciamento (ipotizzando una velocità di trasmissione dati di 500 Mbps) ed è perfettamente adeguata per la maggior parte degli scopi. È possibile acquistare un disco da 1 terabyte a meno di 100 dollari se si cerca bene.
La salute della rete sottostante è fondamentale per garantire la disponibilità continua delle applicazioni. Impegnatevi a registrare regolarmente tracce accurate dell'attività di rete. Quando si verificano dei problemi, sarete in grado di risolverli rapidamente senza dover attendere che si ripetano. Come bonus, potrete anche analizzare i dati delle tracce e scoprire aspetti della vostra rete che prima erano nascosti.pacchetti
