Thursday, December 13, 2012

O temido "Broadcast Storm"

Não existe nada mais tenebroso em uma rede local que um "broadcast storm" (na tradução literal, tempestade de difusões). Quem já presenciou um pode perceber que toda a rede para de funcionar, os servidores ficam extremamente lentos e não há nenhuma pista de onde o problema está sendo originado. O que fazer para evitar este pesadelo?
Broadcasts são muito comuns na rede. São mensagens enviadas ao endereço de acesso FF-FF-FF-FF-FF-FF.  Estas mensagens são replicadas em todas as portas de todos os switches que estão dentro de uma mesma rede ou dentro de uma mesma VLAN.

O que causa?

Um Broadcast storm ocorre quando uma mensagem gera uma resposta que gera uma nova mensagem em um efeito de bola de neve.
A principal causa do Broadcast Storms são "loops" na rede. Locais onde um switch é ligado a outro por mais de um cabo. O protocolo Spanning-Tree deveria evitar este problema, mas se estiver desabilitado ou com problema, o storm pode aparecer.
Alguns vírus podem causar um "storm" também (de menores proporções). Os vírus começam a buscar novas máquinas para infectar enviando um pacote de "arp" (address resolution protocol)  para todas as máquinas dentro da faixa de endereços. Se o endereçamento de rede é classe B, isto significa 65535 broadcasts a cada tentativa. 
Algums impressoras tem drivers que fazem o mesmo na busca de um impressora. Um antigo driver da HP Laserjet 3 causava este problema quando os drivers estavam instalados nas máquinas e a impressora era removida. Todos os usuários iniciavam uma procura pela impressora fazendo broadcasts pela rede. Com uma rede de 500 nós com acesso à esta impressora, significava 500 estações fazendo broadcast ao mesmo tempo.

Como detectar?

Use um analisador de protocolo e filtre apenas os broadcasts. Se sua rede esta experimentando mais de 500 broadcasts por segundo, certamente você está enfrentando o problema. Broadcasts acima de 100 por segundo já são indesejáveis. Em um storm com loop, muitas vezes você vai ver dezenas de milhares de broadcasts por segundo (rede no chão).  

Como se previnir?

Switches camada 3 permitem a segmentação de rede em várias VLANs. Os Broadcasts não atravessam as VLANs permitindo que o problema fique contido.
A maioria dos swicthes hoje possui controle para Broadcast Storm que evita que a rede fique congestionada limitando o número de broadcasts simultâneos. No entanto, como esta solução bloqueia também broadcasts legítimos, alguns problemas intermitentes podem ocorrer.
O uso correto do protocolo Spanning-Tree pode evitar os problemas de Loops. Cuidado, pois muitos switches tem implementações com bugs deste protocolo.

4 comments:

Anonymous said...

muito bom!

Paulo Vitor said...

Muito bom. Tirou minhas duvidas!

Anonymous said...

Excelente explicação!!

Unknown said...

Otimo!! PArabens