Muitas vezes, quando trabalho um problema, peço às pessoas que me enviem um traço de rede. Um traço de rede muitas vezes aponta para a causa raiz do problema. No mínimo, ele reduz o espaço do problema a algo que seja administrável. Por exemplo, quando uma impressora de rede começou a imprimir lixo, passamos vários dias olhando para os TTPs; quando finalmente conseguimos um traço de rede, descobrimos que estávamos enviando um texto perfeitamente bom; o problema estava na impressora. Em um caso diferente, um problema de desempenho OSL entre módulos a vários milhares de quilômetros de distância parecia ser um problema de rede, mas um traço mostrava claramente que o problema estava no módulo servidor. Eu ainda estaria trabalhando nos dois problemas se não fosse pelo rastreamento da rede.
Como se obtém um rastreamento de rede? Há três possibilidades.
pacote_monitor
O comando VOS packet_monitor, com algumas limitações, permite monitorar tudo o que o módulo envia e recebe da rede. Veja http://community.stratus.com/blog/openvos/getting-most-out-packetmonitor e http://stratadoc.stratus.com/vos/17.0.1/r419-09/wwhelp/wwhimpl/js/html/wwhelp.htm?context=r419-09&file=ch9r419-09i.html para mais informações.
O comando packet_monitor tem várias limitações. Você não pode estar 100% certo de que um quadro que é relatado como enviado foi realmente enviado. Por exemplo, erros no adaptador podem impedir que o frame seja enviado. Além disso, os quadros recebidos com erros, como um erro CRC, não serão enviados para cima para que o packet_monitor possa vê-los. Como o packet_monitor não coloca o adaptador em modo promíscuo, somente os frames endereçados ao adaptador ou o endereço de transmissão serão passados para o upstream para ele. Um link pode estar 90% ocupado enquanto o packet_monitor reporta apenas 1 frame por segundo porque este é o único frame que é endereçado ao adaptador ou ao endereço de transmissão.
Em geral, monitores baseados em host, como o packet_monitor, são úteis apenas como um acréscimo a outras formas de rastreamento, ou quando nenhuma outra forma de rastreamento de rede estiver disponível.
Porta Mirroring aka SPAN (Switch Port for ANalysis) porta
Um espelho ou porta de vão é uma porta em um switch que reproduz todo o tráfego visto em uma ou mais portas (ou mesmo em uma VLAN) do switch. A porta espelho deve ser conectada a um aparelho de monitoramento de rede. Este dispositivo pode ser um dispositivo de propósito especial ou um PC rodando Linux ou Microsoft Windows com um monitor baseado em host como Wireshark(http://www.wireshark.org/) ou tcpdump. As portas-espelho são fáceis de configurar, exigindo apenas alguns poucos comandos no switch.
Infelizmente, há várias desvantagens importantes no uso de uma porta-espelho. Primeiro, a porta deve ser configurada corretamente. Portas configuradas incorretamente podem levar a quadros perdidos ou duplicados no traçado da rede. Segundo, os switches não irão replicar um frame com qualquer tipo de erro, portanto, estes frames não serão rastreados. Terceiro, um switch ocupado pode soltar frames em vez de replicá-los para a porta espelho. Quarto, uma porta espelho que esteja aceitando quadros de uma VLAN inteira, ou de várias portas de switch, ou mesmo apenas uma porta duplex completa, pode ficar sobrecarregada e assim deixar cair alguns quadros. Quinto, os erros introduzidos entre o switch e o host não podem ser vistos pela aplicação de monitoramento de rede conectada a uma porta de switch completamente diferente. Da mesma forma, os erros introduzidos entre a porta espelho e a aplicação da rede darão à aplicação da rede uma visão distorcida do que o host realmente recebe do switch.
Torneiras de rede
As torneiras são dispositivos passivos que se conectam entre o switch e o host; elas literalmente se conectam à rede. Como uma porta espelho, elas devem ser conectadas a um dispositivo de rede, mas têm menos desvantagens do que uma porta espelho.
Primeiro, normalmente não há configuração; basta conectá-la e ela funciona. Em segundo lugar, as torneiras mais avançadas dependem de energia apenas para replicar as estruturas para a porta de monitoramento. e têm fontes de alimentação duplas para garantir que a atividade de replicação seja confiável. Se sua alimentação falhar, estas torneiras continuarão a encaminhar quadros entre as portas da rede; apenas a replicação pára. Terceiro, uma torneira tem apenas 1 função, que é replicar e encaminhar os quadros para a aplicação do monitor de rede. É muito menos provável que uma torneira seja sobrecarregada por um alto volume de tráfego. Além disso, as torneiras agregadoras têm espaço de reserva para que possam encaminhar grandes volumes de tráfego em um link duplex completo sem deixar cair os quadros. É claro. uma alta taxa sustentada pode ainda sobrecarregar o buffer. A agregação de torneiras também permite combinar múltiplas entradas. Por exemplo, um dispositivo de duas portas permitirá monitorar tanto os adaptadores ativos quanto os de espera de um par de adaptadores duplex. Isto garante um monitoramento contínuo mesmo que haja uma falha do adaptador. Finalmente, ao conectar a torneira no adaptador host, você tem a melhor garantia possível de que a aplicação de monitoramento de rede verá todos os quadros deixando o adaptador host e todos os quadros chegando do switch para o adaptador host.
Uma desvantagem que muitas torneiras compartilham com uma porta-espelho é que elas deixarão cair quadros danificados. Como muitos aparelhos de monitoramento de rede, especialmente aqueles que são apenas PCs com hardware Ethernet de prateleira, também deixarão cair os quadros danificados, os fabricantes de torneiras não consideram isto uma falha crítica.
Para mais comentários sobre torneiras versus portas de interruptor dê uma olhada em http://www.lovemytool.com/blog/2007/08/span-ports-or-t.html ou http://taosecurity.blogspot.com/2009/01/why-network-taps.htm l ou digite "torneiras de rede e portas de vão" em seu mecanismo de busca favorito.
Desafios do monitoramento
O primeiro desafio é quando monitorar e por quanto tempo. Idealmente, as ligações críticas de rede em um sistema de produção devem ser monitoradas continuamente. Capturar um problema na primeira ocorrência, e ter um traço de rede em mãos, é muito mais rápido do que encontrar um problema, estabelecer um monitoramento e tentar duplicá-lo ou esperar que ele aconteça novamente. Os arquivos de rastreamento podem ser grandes; uma carga de 50% em um link gigabit produz aproximadamente 62,5 megabytes por segundo ou 3,75 gigabytes por minuto. Os arquivos de rastreamento não precisam ser mantidos por mais tempo do que seu pior tempo de resposta. Se você puder responder a um problema relatado em uma hora, então você só precisa manter uma hora de dados de rastreamento. Quanto mais dados de rastreamento você salvar, mais margem de manobra você terá para responder ou reconhecer que houve um problema que precisa ser investigado. Os discos grandes são bastante baratos, pelo menos em comparação com o custo de uma interrupção, então considere a compra de um ou mais discos de tamanho terabyte para manter os dados de rastreamento.
A manutenção deste nível de monitoramento pode ser difícil quando se utiliza um porto de vão. Em uma rede complexa, os administradores de rede são puxados em várias direções e a manutenção de uma porta de vão e monitoramento contínuo no caso de algo dar errado pode ser difícil.
Por outro lado, uma torneira de rede instalada ao lado do host é dedicada a esse host. Você pode adquirir um aparelho sofisticado de monitoramento de rede, ou pode começar usando um PC básico com um disco rígido de 1 terabyte rodando Linux ou Windows e executando o programa tshark (a interface não-GUI para wirehark). Esta configuração lhe dará 266 minutos de dados de rastreamento (assumindo uma taxa de dados de 500 mbps) e é perfeitamente adequada para a maioria das finalidades. Você pode comprar uma unidade de 1 terabyte por menos de 100 dólares se você fizer compras por aí.
A saúde da rede subjacente é vital para uma aplicação continuamente disponível. Faça um esforço para capturar um traço preciso da atividade da rede em uma base rotineira. Quando surgirem problemas, você será capaz de resolvê-los rapidamente sem esperar que eles voltem a ocorrer. Como um bônus, você também pode analisar os dados de rastreamento e aprender coisas sobre sua rede que estavam escondidas antes.