Rede de inundação de transmissão ARP e alto uso de CPU

Espero que alguém aqui possa ter alguma visão sobre o assunto que enfrentamos. Atualmente, temos o Cisco TAC olhando o caso, mas eles estão lutando paira encontrair a causa raiz.

Embora o título mencione a transmissão ARP e o alto uso da CPU, não temos certeza se estão relacionados ou não estão relacionados nesta fase.

O problema original foi publicado na comunidade on-line do INE

Descairtamos a networking paira um único link sem configuration de redundância, pense nisso como uma topologia em estrela.

Fatos:

  • Usamos switches 3750x, 4 em uma stack. Versão 15.0 (1) SE3. O Cisco TAC não confirma problemas conhecidos paira erros de alta CPU ou ARP paira esta viewsão específica.
  • Nenhum hubs / switches não gerenciados conectados
  • Pilha de núcleo recairregado
  • Não temos uma rota padrão "Ip route 0.0.0.0 0.0.0.0 f1 / 0". Usando OSPF paira roteamento.
  • Vemos grandes packages de transmissão da VLAN 1, a VLAN 1 usada paira dispositivos de table. Usamos 192.168.0.0/20
  • Cisco TAC disse que não vêem nada de errado com o uso de / 20, outro, então teríamos um domínio de transmissão grande, mas ainda deviewíamos funcionair.
  • Wifi, gerenciamento, impressoras etc. estão todos em VLAN diferente
  • A tree de expansão foi viewificada por indivíduos Cisco TAC e CCNP / CCIE qualificados. Desligamos todos os links redundantes.
  • A configuration no núcleo foi viewificada no Cisco TAC.
  • Nós temos o timeout padrão do ARP na maioria dos switches.
  • Não implementamos Q & Q.
  • Não foram adicionados novos pairâmetros (pelo less, nenhum de nós)
  • Não é possível usair a inspeção dinâmica de airp em switches de borda porque estes são 2950
  • Usamos interfaces de show | Inc Line | broadcast paira descobrir onde o grande número de transmissão é proveniente, no entanto, o Cisco TAC e outros 2 engenheiros (CCNP e CCIE) confirmairam que este é um comportamento normal devido ao que está acontecendo na networking (como no grande número de flaps mac causando a transmissão maior). Verificamos que o STP estava funcionando corretamente nos switches de borda.

Sintomas na networking e comutadores:

  • Grande número de abas MAC
  • Alto uso de CPU paira ARP Processo de input
  • Grande número de packages ARP, aumentando rapidamente e visíveis
  • Wireshairks mostra que 100s de computadores estão inundando a networking com ARP Broadcast
  • Paira fins de teste, colocamos aproximadamente 80 máquinas de table diferentes vlan, no entanto, testamos isso e não fazemos diferença visível paira a input de alta CPU ou airp
  • Executa diferentes AV / malwaire / spywaire, mas nenhum vírus visível na networking.
  • sh mac tabela de endereços count, mostra-nos cerca de 750 endereços diferentes como esperado no vlan 1.
#sh processes cpu sorted | exc 0.00% CPU utilization for five seconds: 99%/12%; one minute: 99%; five minutes: 99% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 12 111438973 18587995 5995 44.47% 43.88% 43.96% 0 ARP Input 174 59541847 5198737 11453 22.39% 23.47% 23.62% 0 Hulc LED Process 221 7253246 6147816 1179 4.95% 4.25% 4.10% 0 IP Input 86 5459437 1100349 4961 1.59% 1.47% 1.54% 0 RedEairth Tx Mana 85 3448684 1453278 2373 1.27% 1.04% 1.07% 0 RedEairth I2C dri 
  • Ran show mac address-table em diferentes switches e núcleo próprio (no núcleo, por exemplo, conectado pela área de trabalho diretamente, minha área de trabalho), e podemos view o endereço de hairdwaire MAC diferente diferente sendo registrado na interface, mesmo que essa interface tenha apenas um computador conectado a este:
  Vlan Mac Address Type Ports ---- ----------- -------- ----- 1 001c.c06c.d620 DYNAMIC Gi1/1/3 1 001c.c06c.d694 DYNAMIC Gi1/1/3 1 001c.c06c.d6ac DYNAMIC Gi1/1/3 1 001c.c06c.d6e3 DYNAMIC Gi1/1/3 1 001c.c06c.d78c DYNAMIC Gi1/1/3 1 001c.c06c.d7fc DYNAMIC Gi1/1/3 
  • show platform tcam utilisation
  CAM Utilization for ASIC# 0 Max Used Masks/Values Masks/values Unicast mac addresses: 6364/6364 1165/1165 IPv4 IGMP groups + multicast routes: 1120/1120 1/1 IPv4 unicast directly-connected routes: 6144/6144 524/524 IPv4 unicast indirectly-connected routes: 2048/2048 77/77 IPv4 policy based routing aces: 452/452 12/12 IPv4 qos aces: 512/512 21/21 IPv4 security aces: 964/964 45/45 

Estamos agora em um estágio, onde exigiremos uma enorme quantidade de tempo de inatividade paira isolair cada área por vez, a less que qualquer outra pessoa tenha algumas idéias paira identificair a origem ou raiz desse problema estranho e bizairro.


Atualizair

Obrigado @MikePennington e @RickyBeam paira a resposta detalhada. Vou tentair e responder o que posso.

  • Como mencionado, 192.168.0.0/20 é uma bagunça herdada. No entanto, pretendemos dividir isso no futuro, mas, infelizmente, este problema ocorreu antes de podermos fazer isso. Pessoalmente, também concordo com a maioria, pelo qual o domínio da transmissão é muito grande.
  • Usair Arpwatch é definitivamente algo que podemos tentair, mas eu suspeito porque várias portas de access estão registrando o endereço MAC mesmo que não pertença a esta porta, a conclusão do airpwatch pode não ser útil.
  • Concordo completamente com não estair 100% seguro de encontrair todos os links redundantes e switches desconhecidos na networking, mas, como melhor da nossa descoberta, este é o caso até encontrair mais evidências.
  • A security da porta foi analisada, infelizmente, a administração decidiu não usair isso por vários motivos. A razão comum é que constantemente movemos computadores ao redor (ambiente da faculdade).
  • Utilizamos o portfast de spanning-tree em conjunto com o bpduguaird spanning-tree por padrão em todas as portas de access (máquinas de desktop).
  • Nós não usamos switchport não negociado no momento na porta de access, mas não estamos recebendo nenhum ataque de salto de Vlan saltando em vlans multitípicos.
  • Dairão uma notificação da tabela de endereço do Mac paira ir, e veja se podemos encontrair algum padrão.

"Uma vez que você está obtendo um grande número de abas MAC entre switchports, é difícil encontrair onde os infratores estão (suponha que você find dois ou três endereços mac que enviam muitos airps, mas os endereços mac da fonte continuam batendo entre as portas)".

  • Começamos nisso, escolhemos as abas MAC e continuamos nosso path através de todo o switch do núcleo paira a distribuição ao switch de access, mas o que encontramos foi mais uma vez, a interface da porta de access foi o endereço MAC múltiplo, portanto, as abas do mac; então de volta ao quadrado um.
  • O controle de tempestade é algo que consideramos, mas tememos que alguns dos packages legítimos sejam descairtados, causando mais problemas.
  • Vai triplicair a configuration do VMHost.
  • @ytti os endereços MAC inexplicáveis ​​estão por trás de muitas portas de access em vez de um indivíduo. Não encontrou nenhum loop nessas interfaces. Os endereços MAC também existem em outras interfaces, o que explicairia grande número de abas MAC
  • @RickyBeam, eu concordo com o porquê os hosts estão enviando tantos requests ARP; Este é um dos problemas desconcertantes. A ponte sem fio do Rouge é uma interessante que não pensei, pelo que sabemos, a networking sem fio está em VLAN diferente; mas o desonesto, obviamente, significa que pode ser no VLAN1.
  • @RickyBeam, eu realmente não desejo desconectair tudo, pois isso causairá grande quantidade de tempo de inatividade. No entanto, é aqui que pode estair indo apenas. Nós temos serveres Linux, mas não mais do que 3.
  • @RickyBeam, você pode explicair o sondagem do server DHCP "em uso"?

Nós (Cisco TAC, CCIEs, CCNP) globalmente constringmos que esta não é uma configuration de switch, mas um host / dispositivo está causando o problema.

5 Solutions collect form web for “Rede de inundação de transmissão ARP e alto uso de CPU”

ARP / Broadcast storm

  • Vemos grandes packages de transmissão da VLAN 1, a VLAN 1 usada paira dispositivos de table. Usamos 192.168.0.0/20 …
  • Wireshairks mostra que 100s de computadores estão inundando a networking com ARP Broadcast …

Seu process ARP Input é alto, o que significa que o switch está gastando muito tempo processando ARPs. Uma das causas muito comuns de inundações ARP é um loop entre seus switches. Se você tiview um loop, então você também pode obter as abas do mac que você mencionou acima. Outras causas possíveis de inundações ARP são:

  • Configurações erradas de endereço IP
  • Um ataque layer2, como spoofing airp

Primeiro, elimine a possibilidade de configurações errôneas ou um ataque layer2 mencionado acima. A maneira mais fácil de fazer isso é com airpwatch em uma máquina linux (mesmo se você tiview que usair um livecd em um laptop). Se você tiview uma configuration incorreta ou um ataque de camada 2, o airpwatch oferece mensagens assim no syslog, que list os endereços mac que estão lutando pelo mesmo endereço IP …
Oct 20 10:31:13 tsunami airpwatch: flip flop 192.0.2.53 00:de:ad:85:85:ca (00:de:ad:3:d8:8e)

Quando você vê "flip flops", você deve rastreair a fonte dos endereços da mac e descobrir por que eles estão lutando pelo mesmo IP.

  • Grande número de abas MAC
  • A tree de expansão foi viewificada por indivíduos Cisco TAC e CCNP / CCIE qualificados. Desligamos todos os links redundantes.

Falando como alguém que passou por isso mais vezes do que eu gostairia de restringr, não assuma que você encontrou todos os links redundantes … basta fazer o seu switchports se comportair o tempo todo.

Uma vez que você está recebendo um grande número de aletas mac entre switchports, é difícil encontrair onde os infratores estão (suponha que você find dois ou três endereços mac que enviam muitos airps, mas os endereços mac da fonte continuam a agitair entre as portas). Se você não está aplicando um limite difícil nos endereços mac por porta de borda, é muito difícil rastreair esses problemas sem desligair manualmente os cabos (o que você deseja evitair). Alternair loops causa um path inesperado na networking e você pode acabair com centenas de macs aprendidas intermitentemente com o que normalmente deviewia ser um switchport de desktop.

A maneira mais fácil de desacelerair o mac-move é com port-security . Em cada switchport de access no Vlan 1 conectado a um único PC (sem uma key a jusante), configure os seguintes commands de nível de interface em seus switches cisco …

 switchport mode access switchport access vlan 1 !! switchport nonegotiate disables some Vlan-hopping attacks via Vlan1 -> another Vlan switchport nonnegotiate !! If no IP Phones aire connected to your switches, then you could lower this !! Bewaire of people with VMWaire / hubs under their desk, because !! "maximum 3" could shutdown their ports if they have more than 3 macs switchport port-security maximum 3 switchport port-security violation shutdown switchport port-security aging time 5 switchport port-security aging type inactivity switchport port-security spanning-tree portfast !! Ensure you don't have hidden STP loops because someone secretly cross-connected a !! couple of desktop ports spanning-tree bpduguaird enable 

Na maioria dos casos de inundação de mac / ARP, aplicair esta configuration a todas as suas portas de switch de borda (especialmente qualquer um com o portfast) o levairá de volta a um estado sano, porque a configuration desligairá qualquer porta que exceda três endereços mac e desabilite secretamente porta de transferência de loop. Três macs por porta são um número que funciona bem no meu ambiente de trabalho, mas você pode elevá-lo paira 10 e provavelmente está bem. Depois de ter feito isso, qualquer camada de 2 loops está quebrada, as aletas mac rápidas cessairão, e isso torna o diagnóstico muito mais fácil.

Outro pair de commands globais que são úteis paira o rastreamento de portas associadas a uma tempestade de transmissão (mac-move) e inundações (limiair) …

 mac-address-table notification mac-move mac address-table notification threshold limit 90 interval 900 

Depois de terminair, opcionalmente, faça uma cleair mac address-table paira acelerair a cicatrização da tabela CAM completamente potencial.

  • Ran show mac address-table em diferentes switches e núcleo próprio (no núcleo, por exemplo, conectado pela área de trabalho diretamente, minha área de trabalho), e podemos view o endereço de hairdwaire MAC diferente diferente sendo registrado na interface, mesmo que essa interface tenha apenas um computador ligado a este …

Esta resposta completa pressupõe que o seu 3750 não tenha um erro que cause o problema (mas você disse que o wireshairk indicava PCs que estão inundando). O que você está nos mostrando é, obviamente, errado quando há apenas um computador conectado ao Gi1 / 1/3, a less que o PC tenha algo como o VMWaire.

Pensamentos diviewsos

Com base em uma conviewsa conviewsa que tínhamos, provavelmente não tenho que mencionair o óbvio, mas vou paira os futuros visitantes …

  • Colocair qualquer user no Vlan1 normalmente é uma má idéia (eu entendo que você pode ter herdado uma bagunça)
  • Independentemente do que TAC lhe diga, 192.168.0.0/20 é muito grande paira gerenciair em um único domínio comutado sem riscos de ataques de camada2. Quanto maior a sua máscaira de sub-networking, a maior exposition que você tem paira ataques de camada2, como ARP, é um protocolo não autenticado e um roteador deve pelo less ler um ARP válido dessa sub-networking.
  • O controle de tempestade nas portas da camada 2 também é uma boa idéia; No entanto, permitindo o controle de tempestade em uma situação como essa, levairá um bom tráfego com o tráfego ruim. Após a cicatrização da networking, aplique algumas políticas de controle de tempestade em suas portas de limite e uplinks.

Resolvido.

O problema é com o SCCM 2012 SP1, um service chamado: ConfigMrg Wake-Up Proxy . O 'recurso' não possui o SCMM 2012 RTM.

Dentro de 4 horas depois de ativair isso dentro da política, vimos gotas constantes no uso da CPU. No momento em que 4 horas terminairam, o uso de ARP foi de apenas 1-2%!

Em resumo, este service faz o spoofing do endereço MAC! Não posso acreditair em quantas havas causou.

Abaixo está um text completo da Microsoft Technet, pois sinto que é importante entender como isso se relaciona com o problema publicado.

Paira quem está interessado, abaixo estão os detalhes técnicos.

O Configuration Manager suporta duas tecnologias de networking de área local (LAN) paira despertair os computadores no modo suspenso quando você deseja instalair o softwaire necessário, como atualizações e aplicativos de softwaire: packages de ativação tradicionais e commands de ativação AMT.

Começando com o Configuration Manager SP1, você pode complementair o método tradicional do package de ativação usando as configurações do cliente do proxy de despertair. O proxy Wake-up usa um protocolo peer-to-peer e computadores eleitos paira viewificair se outros computadores na sub-networking estão astringdos e paira despertá-los, se necessário. Quando o site está configurado paira Wake On LAN e os clientes estão configurados paira o proxy de despertair, o process funciona da seguinte maneira:

  1. Computadores que tenham o cliente Configuration Manager SP1 instalado e que não estejam adormecidos na sub-networking viewifiquem se outros computadores na sub-networking estão astringdos. Eles fazem isso enviando-se um command de ping TCP / IP a cada 5 segundos.

  2. Se não houview resposta de outros computadores, eles são assumidos como dormindo. Os computadores que estão astringdos tornam-se computadores gerenciadores paira a sub-networking.

  3. Uma vez que é possível que um computador não responda devido a um motivo diferente do que está dormindo (por exemplo, está desligado, removido da networking ou a configuration do cliente de despertair do proxy não é mais aplicada), os computadores são enviou um package de despertair todos os dias às 2 da manhã, hora local. Os computadores que não respondem não serão mais adivinhados e não serão despertados pelo proxy de despertair.

Paira suportair o proxy de despertair, pelo less três computadores devem estair astringdos paira cada sub-networking. Paira conseguir isso, três computadores são escolhidos de forma não determinística paira serem computadores guairdiões paira a sub-networking. Isso significa que eles ficam astringdos, apesair de qualquer política de energia configurada paira dormir ou hibernate após um período de inatividade. Os computadores Guairdian honram o desligamento ou reinicia commands, por exemplo, como resultado de tairefas de manutenção. Se isso acontecer, os computadores guairdiões restantes despertairão outro computador na sub-networking paira que a sub-networking continue tendo três computadores guairdiões.

Os computadores do gerenciador pedem a mudança de networking paira redirect o tráfego de networking paira os computadores duros paira eles mesmos.

O redirecionamento é alcançado pelo computador gerenciador que transmite uma moldura Ethernet que usa o endereço MAC do computador dormindo como o endereço de origem. Isso faz com que o interruptor de networking se comporte como se o computador sono se movesse paira a mesma porta em que o computador gerenciador estava ligado. O computador gerenciador também envia packages ARP paira os computadores que dormem paira manter a input fresca no cache ARP. O computador gerenciador também responderá aos requests ARP em nome do computador dormindo e responderá com o endereço MAC do computador dormindo.

Durante este process, o mapeamento IP paira MAC paira o computador adormecido permanece o mesmo. O command Wake-up funciona informando a networking que um adaptador de networking diferente está usando a porta que foi registrada por outro adaptador de networking. No entanto, esse comportamento é conhecido como uma aba MAC e é incomum paira a operação de networking padrão. Algumas ferramentas de monitoramento de networking procuram esse comportamento e podem assumir que algo está errado. Conseqüentemente, essas ferramentas de monitoramento podem gerair alertas ou fechair portas quando você usa o proxy de despertair. Não use o proxy de despertair se suas ferramentas e services de monitoramento de networking não permitem as abas MAC.

  1. Quando um computador gerenciador vê uma nova solicitação de connection TCP paira um computador dormindo e a solicitação é paira uma porta na qual o computador dormindo estava ouvindo antes de dormir, o computador gerenciador envia um package de despertair paira o computador dormindo e, em seguida, pára de redirect o tráfego paira este computador.

  2. O computador dormindo recebe o package de despertador e astring. O computador remetente tenta novamente a connection e, desta vez, o computador está astringdo e pode responder.

Ref: http://technet.microsoft.com/en-us/librairy/dd8eb74e-3490-446e-b328-e67f3e85c779#BKMK_PlanToWakeClients

Obrigado por todos que postou aqui e ajudou com o process de solução de problemas, muito apreciado.

A viewdadeira questão é por que os hosts enviam tantos ARPs em primeiro lugair. Até que isso seja respondido, o (s) interruptor (s) continuairão a ter dificuldade em lidair com a tempestade de airp. O desajuste da máscaira de networking? Temporizadores airp baixo host? Um (ou mais) hosts que possuem uma rota de "interface"? Uma ponte sem fio viewmelha em algum lugair? "airp gratuito" ficou louco? Servidor DHCP "em uso" sondagem? Não soa como um problema com os switches, ou a camada 2; Você tem anfitriões fazendo coisas ruins.

O meu process de debugging seria desconectair tudo e observair de perto as coisas serem reatadas, uma porta por vez. (Eu sei que é milhas do ideal, mas em algum momento você tem que cortair suas perdas e tentair isolair fisicamente qualquer (s) fonte (s) possível (s)). Então eu trabalhairia paira entender por que as portas selecionadas estão gerando alguns airp's.

(Será que muitos desses hosts passairam a ser sistemas linux? O Linux teve um sistema de gerenciamento de cachê ARP muito d *** estúpido. O fato de que ele "re-viewificairá" uma input em meros minutos, está quebrado em meu livro . Ele tende a ser less um problema em pequenas networkings, mas a / 20 não é uma pequena networking.)

Isso pode ou não estair relacionado ao seu problema em questão, no entanto, pensei que pode ser algo que vale pelo less jogair lá fora:

Atualmente, temos alguns 3750x emstackdos em alguns de nossos sites remotos, principalmente executados em 15.0.2 (SE0 a 4, existem alguns erros de FRU com SE0 que eu estou migrando lentamente paira longe).

Durante uma atualização de rotina IOS, passando de 15.0.2 paira 15.2-1 (SE mais recente), percebemos um aumento de CPU bastante significativo, de uma média de cerca de 30% a 60% e superior durante os horários de pico. Eu revisei as configurações e os logs de mudanças do IOS e tenho trabalhado com o TAC da Cisco. De acordo com o TAC, eles pairecem estair no ponto em que eles acreditam que este é um erro do IOS 15.2-1.

À medida que continuamos a investigair o aumento da CPU, começamos a view enormes quantidades de tráfego ARP até o ponto em que nossas tabelas ARP se preencheram completamente e causairam instabilidade de networking. A muleta temporária paira isso era devolview manualmente nossos tempos limite de ARP longe do padrão (14400) paira 300 em nossos vlans de voz e dados.

Depois de reduzir nossos tempos limite de ARP, ficamos estáveis ​​por um período de cerca de um ou mais, quando retornamos ao IOS 15.0.2-SE4 e removemos nossos tempos limite de ARP não padrão. Nossa utilização da CPU volta a ~ 30% e nossos problemas de tabela ARP são inexistentes.

Um simples faily, mas talvez negligenciado; Seus clientes têm um gateway padrão válido, você não está fazendo um monte de proxy airps. Você poderia considerair negair a function ip proxy airp no seu 3750?

  • Por que os prendedores de metal (por exemplo, grampos) em torno de cabos ethernet prejudicam o performance da networking?
  • eth0 NIC Link is Down repete mensagem no log do kernel
  • Entendendo headers Ethernet, o que MTU eu preciso?
  • Onde são registrados erros de Ethernet?
  • O uso de VLANs em sua infra-estrutura de networking causa uma diminuição apreciável no performance?
  • Determine trocas entre dispositivos na LAN
  • Configuração de networking física paira pfsense w / CARP paira firewalls redundantes
  • 100BASE-FX WDM vs 100BASE-BX vs 100BASE-BX10 - Eles são todos iguais?