O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como solucionar problemas de quedas de saída nas plataformas da série Catalyst 9000.
Para solucionar problemas de Qualidade de Serviço (QoS - Quality of Service) nas plataformas da série Catalyst 9000, você deve entender:
As informações neste documento são baseadas nesta versão de hardware e software, mas a metodologia e a maioria dos comandos podem ser aplicadas a outros switches da série Catalyst 9000 em outro código:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Observação: consulte o guia de configuração apropriado para obter os comandos que são usados para habilitar esses recursos em outras plataformas Cisco.
Para obter uma explicação detalhada da QoS nas plataformas da série Catalyst 9000, que inclui configurações de QoS padrão, estrutura de fila e explicações de buffer, consulte o White Paper sobre QoS e Enfileiramento do Catalyst 9000. Consulte o guia de versão recomendado para garantir que você esteja usando o software recomendado mais recente para sua plataforma. Essas recomendações garantem o suporte ao seu software e ajudam a evitar bugs conhecidos em códigos mais antigos. Versões recomendadas para Catalyst
O conhecimento da alocação de buffer pode ajudá-lo a entender como o congestionamento do buffer resulta em quedas de saída. O congestionamento ocorre quando a interface de destino tem um número de pacotes que excede sua taxa de saída. Esses pacotes devem ser armazenados no buffer até que possam ser transmitidos. Considere que esses switches têm no máximo 36 MB de buffers por ASIC, que são compartilhados entre todas as portas no ASIC. Embora uma interface de saída possa esvaziar esse buffer na taxa de linha, qualquer cenário que faça com que os pacotes sejam armazenados em buffer em uma taxa maior pode causar congestionamento. O congestionamento pode ocorrer mesmo se a intermitência do tráfego durar apenas uma fração de segundo e pode causar latência no tráfego ou descartes de saída se o buffer for totalmente preenchido.
Observação: o contador de queda de saída exibido em show interface é apresentado em bytes por padrão. Na versão 16.9.3 e posterior, esses contadores são pacotes por padrão.
Como mostrado na Imagem 1, há dois tipos de congestionamento.
Imagem 1. Tipos de congestionamento
Os dois tipos de congestionamento mostrados na Imagem 1 são:
As intermitências de tráfego podem causar quedas de saída mesmo quando a taxa de saída da interface é significativamente menor que a capacidade máxima da interface. Por padrão, a média das taxas de saída no comando show interface é calculada em cinco minutos, o que não é adequado para capturar rajadas de curta duração. É melhor calculá-las como média em 30 segundos, embora mesmo nesse cenário uma intermitência de tráfego por milissegundos possa resultar em quedas de saída que não fazem com que a taxa média de 30 segundos aumente. Este documento pode ser usado para solucionar qualquer outro tipo de congestionamento que você vir no seu switch da série Catalyst 9000.
Há dois comandos usados para validar o congestionamento do buffer. O primeiro comando é show platform hardware fed switch ative qos queue config interface <interface>. Esse comando permite que você veja a alocação de buffer atual na porta, como mostrado na Imagem 2.
9300#show platform hardware fed switch active qos queue config interface gigabitEthernet 1/0/48
Asic:0 Core:0 DATA Port:47 GPN:48 LinkSpeed:0x1
AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 376 - 383
DrainFast:Disabled PortSoftStart:2 - 1800
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
----- -------- -------- -------- -------- ---------
0 1 6 200 7 800 19 475 0 0 3 2400
1 1 5 0 8 1200 19 712 8 300 3 2400
2 1 5 0 6 0 0 0 0 0 3 2400
3 1 5 0 6 0 0 0 0 0 3 2400
4 1 5 0 6 0 0 0 0 0 3 2400
5 1 5 0 6 0 0 0 0 0 3 2400
6 1 5 0 6 0 0 0 0 0 3 2400
7 1 5 0 6 0 0 0 0 0 3 2400
Imagem 2. Alocação de Buffer de Filas
Você deseja examinar especificamente a coluna Hardmax e Softmax, que mostra o número de buffers que as filas têm disponíveis. Para obter informações sobre o que são esses buffers e como são alocados por padrão, consulte o White Paper sobre QoS e Enfileiramento do Catalyst 9000.
O segundo comando é show platform hardware fed switch ative qos queue stats interface <interface>. Esse comando permite que você veja estatísticas por fila em uma interface, o que inclui quantos bytes foram enfileirados nos buffers e quantos bytes foram descartados devido à falta de buffers disponíveis.
9300#show platform hardware fed switch active qos queue stats interface Gig 1/0/1
DATA Port:0 Enqueue Counters
---------------------------------------------------------------------------------------------
Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer
(Count) (Bytes) (Bytes) (Bytes) (Bytes)
- ------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 384251797 0
1 0 0 0 488393930284 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
5 0 0 0 0 0
6 0 0 0 0 0
7 0 0 0 0 0
DATA Port:0 Drop Counters
-------------------------------------------------------------------------------------------------------------------------------
Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop
(Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes)
- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 0 0 0
1 0 0 192308101 0 0 0
2 0 0 0 0 0 0
3 0 0 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
7 0 0 0 0 0 0
Imagem 3. Estatísticas de Buffer da Fila com Quedas
Como mostrado na Imagem 3, a Fila 0 e a Fila 1 têm bytes enfileirados, mas é a Fila 1 que apresenta quedas na coluna Drop-TH2. Essas informações indicam que o tráfego da Fila 0 não foi afetado por esse congestionamento e que a causa do congestionamento é especificamente o tráfego da Fila 1.
Para aumentar o número de buffers que cada fila pode solicitar do pool compartilhado, aumente o limite SoftMax com a configuração qos queue-softmax-multiplier <100 - 1200>. O valor mais alto é 1200 e aumenta em um múltiplo de 12, a capacidade de uma fila de porta única para absorver microintermitências. Esse comando aumenta os limiares da fila de portas para que a fila de portas possa consumir unidades de buffer adicionais do pool compartilhado. Como mostrado na Imagem 4, a configuração e a alocação de buffer aumentada.
9300(config)#qos queue-softmax-multiplier 1200
9300#show platform hardware fed switch active qos queue config interface gigabitEthernet 1/0/48
Asic:0 Core:0 DATA Port:47 GPN:48 LinkSpeed:0x1
AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 376 - 383
DrainFast:Disabled PortSoftStart:3 - 14400
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
----- -------- -------- -------- -------- ---------
0 1 6 200 9 9600 2 600 0 0 1 15000
1 1 5 0 10 14400 2 900 1 450 1 15000
2 1 5 0 6 0 0 0 0 0 1 15000
3 1 5 0 6 0 0 0 0 0 1 15000
4 1 5 0 6 0 0 0 0 0 1 15000
5 1 5 0 6 0 0 0 0 0 1 15000
6 1 5 0 6 0 0 0 0 0 1 15000
7 1 5 0 6 0 0 0 0 0 1 15000
Imagem 4. Configuração de fila com multiplicador SoftMax de 1200
Essa é uma configuração comum usada como um método rápido para resolver quedas de saída. Na Imagem 4, essa configuração se aplica a todas as filas sem prioridade em todas as interfaces. A alocação de buffer em si pressupõe que as microintermitências não ocorram, em todas as portas, no switch ao mesmo tempo. Se microrajadas acontecerem em momentos aleatórios, o buffer compartilhado pode dedicar unidades de buffer adicionais para absorvê-las.
A modificação de buffer por fila pode ser aproveitada para cenários onde você não pode usar o multiplicador SoftMax, ou em cenários onde você tenta ajustar os buffers para se ajustar a um perfil de tráfego. Para modificar a alocação de buffer de fila, o switch em uma base por interface, você deve usar mapas de política. Na maioria das circunstâncias, você modifica o mapa de política atual de uma interface e altera os buffers em uma base por classe.
Neste exemplo, a interface GigabitEthernet1/0/48 sofreu quedas de saída. Como mostrado na imagem 5, o mapa de política de saída que é aplicado a essa interface.
policy-map MYPOL
class Voice
priority level 1 percent 20
class Video
priority level 2 percent 10
class Control
bandwidth percent 10
class Data
bandwidth percent 5
class class-default
Imagem 5. Exemplo de mapa de política
Esse mapa de política tem 5 mapas de classe, o que resulta em um total de 5 filas de saída na interface. Cada classe tem um número default de buffers alocados a ela com base em seu nível de prioridade.
A imagem 6 exibe as alocações de buffer atuais.
9300#show platform hardware fed switch active qos queue config interface gigabitEthernet 1/0/48
Asic:0 Core:0 DATA Port:47 GPN:48 LinkSpeed:0x1
AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 376 - 383
DrainFast:Disabled PortSoftStart:3 - 600
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
----- -------- -------- -------- -------- ---------
0 1 7 100 9 100 0 0 0 0 3 800
1 1 7 100 10 400 19 237 0 0 3 800
2 1 5 0 10 400 19 237 8 100 3 800
3 1 5 0 10 400 19 237 8 100 3 800
4 1 5 0 10 400 19 237 8 100 3 800
5 1 5 0 6 0 0 0 0 0 3 800
6 1 5 0 6 0 0 0 0 0 3 800
7 1 5 0 6 0 0 0 0 0 3 800
Imagem 6. Configuração de Buffer de Fila com a Política de Exemplo
Como essa interface experimentou descartes de saída, examine as estatísticas de enfileiramento da interface para ver onde está o congestionamento.
9300#show platform hardware fed switch active qos queue stats interface gigabitEthernet 1/0/48
DATA Port:0 Enqueue Counters
---------------------------------------------------------------------------------------------
Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer
(Count) (Bytes) (Bytes) (Bytes) (Bytes)
- ------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 489094 0
1 0 0 0 4846845 0
2 0 0 0 89498498 0
3 0 0 0 21297827045 0
4 0 0 0 74983184 0
5 0 0 0 0 0
6 0 0 0 0 0
7 0 0 0 0 0
DATA Port:0 Drop Counters
-------------------------------------------------------------------------------------------------------------------------------
Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop
(Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes)
- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
3 0 0 3854484 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
7 0 0 0 0 0 0
Imagem 7. Estatísticas de Buffer da Fila com Quedas com uma Política de Exemplo
A imagem 7 mostra que a Fila 3 tem mais tráfego enfileirado do que qualquer outra fila e também é a única que sofreu quedas de saída. Como o número da fila começa em 0, a Fila 3 é mapeada para o quarto mapa de classe, class Data.
Para aliviar os descartes nessa fila, aloque mais buffers para a Fila 3. Para alterar essa alocação de buffer, use a configuração de proporção de buffers de fila <0-100> no mapa de políticas. Se configurado em cada classe na política, ele deve somar 100. Se você configurar apenas uma única classe com esse comando, o sistema tentará subtrair uniformemente os buffers das outras filas.
Na Imagem 8, a classe Data foi configurada com a razão de fila-buffers 40.
policy-map MYPOL
class Voice
priority level 1 percent 20
class Video
priority level 2 percent 10
class Control
bandwidth percent 10
class Data
bandwidth percent 5
queue-buffers ratio 40
Imagem 8. Exemplo de mapa de política com buffers de fila modificados
Na Imagem 9, você pode ver que a classe Data agora tem 40% dos buffers de interface, 800 buffers no total.
9300#show platform hardware fed switch active qos queue config interface gigabitEthernet 1/0/48
Asic:0 Core:0 DATA Port:47 GPN:48 LinkSpeed:0x1
AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 376 - 383
DrainFast:Disabled PortSoftStart:3 - 1200
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
----- -------- -------- -------- -------- ---------
0 1 7 75 9 75 0 0 0 0 3 1600
1 1 7 75 10 300 19 178 0 0 3 1600
2 1 5 0 10 300 19 178 8 75 3 1600
3 1 5 0 7 800 19 475 8 200 3 1600
4 1 5 0 10 300 19 178 8 75 3 1600
5 1 5 0 6 0 0 0 0 0 3 1600
6 1 5 0 6 0 0 0 0 0 3 1600
7 1 5 0 6 0 0 0 0 0 3 1600
Imagem 9. Configuração de Buffer de Fila com a Política de Exemplo Atualizada
Isso também faz com que as outras filas tenham menos buffers Softmax. É importante fazer essas alterações de buffer em pequenos incrementos para garantir que as alterações não resultem em quedas de saída nas outras filas.
Com essa alteração feita, verifique o status da fila e veja se os descartes ainda são incrementados nessa ou em qualquer outra fila. Se os descartes continuarem, modifique a configuração de buffer de fila ainda mais até que os descartes de saída sejam resolvidos.
A QoS é principalmente um método para priorizar o tráfego e não é uma solução para cada cenário de queda de saída. Há alguns cenários em que uma modificação dos buffers de fila não é suficiente para resolver todos os descartes de saída. Nesses cenários, você pode gerenciar o congestionamento de várias outras maneiras:
Isso inclui métodos que aumentam a largura de banda de saída, como canais de porta ou Equal Cost Multipath (ECMP), mas também pode exigir configurações mais envolvidas, como engenharia de tráfego.
Embora um programador de fila não pare o congestionamento, ele protege seu tráfego importante contra o impacto do congestionamento
O Wireshark é uma ferramenta útil para identificar rajadas de tráfego que causam congestionamento e quedas de buffer. Se você ABRANGER uma interface na direção de saída enquanto ela sofre quedas, o Wireshark poderá criar um gráfico da taxa de saída para ver quando e qual tráfego disparou as quedas. Isso é especialmente útil ao identificar descartes de saída em cenários de baixo throughput.
Depois de abrir sua captura de SPAN com o Wireshark, selecione Statistics, depois I/O Graph, como demonstrado na Imagem 10.
Imagem 10. Selecione o gráfico de E/S
Uma vez selecionado, o Wireshark gera um gráfico do tráfego em bits por segundo. A imagem 11 mostra um gráfico de exemplo para uma interface enquanto ela apresentava quedas de saída.
Imagem 11. Bits do gráfico de E/S/milissegundo
O gráfico da Imagem 11 indica que a interface tinha um throughput máximo que mal excedia 80 Mbps. A exibição gráfica padrão não é suficientemente granular para identificar pequenas rajadas de tráfego que causam quedas de pacotes. É uma média da taxa de tráfego por segundo. Para entender como essa taxa poderia causar congestionamento no buffer, considere o throughput em uma escala de milissegundos.
Uma interface Gigabit pode encaminhar 1.000.000.000 bits por segundo. Uma vez convertido em milissegundos, isso equivale a 1.000.000 (ou 10^6) bits por milissegundo.
Quando a taxa de interface vai além da velocidade de encaminhamento da interface, os switches devem armazenar esses pacotes em buffer, o que resulta em quedas de congestionamento e saída.
O Wireshark permite que o usuário faça um gráfico da Taxa de E/S como bits por milissegundo. Para fazer isso, reduza o Intervalo de 1 s para 1 ms e clique em Redefinir para exibir o gráfico corretamente. Essa etapa é mostrada na Imagem 12.
Imagem 12. Reduza o intervalo para 1ms e redefina o gráfico
O gráfico atualizado exibe com mais precisão a taxa de E/S real da interface. Quando a taxa atinge ou excede 10^6 bits por milissegundo, o switch enfrenta congestionamento ou quedas de saída. A imagem 13 mostra o gráfico de E/S atualizado de uma interface que apresentou quedas de saída.
Imagem 13. Bits do gráfico de E/S/milissegundo
A imagem 13 mostra que há vários picos de tráfego que atendem ou excedem o limite de 10^6. O tráfego estaria sujeito a buffer e seria descartado se excedesse nosso tamanho de buffer de saída.
Observação: se o destino de SPAN estiver conectado por uma interface de 1 Gbps, a taxa de E/S no Wireshark não poderá exceder essa taxa de 10^6 bits por milissegundo, independentemente da taxa de interface de origem. A interface de destino de SPAN, em vez de armazenar em buffer ou descartar esses pacotes. É comum ver o patamar do gráfico de E/S nesse throughput máximo ou apresentar uma taxa média de tráfego que pareça ir mais alto.
Revisão | Data de publicação | Comentários |
---|---|---|
3.0 |
22-Aug-2023 |
Otimização de mecanismo de pesquisa (SEO), exigências de marca, isenção de responsabilidade legal, exigências de estilo e formatação atualizados. |
2.0 |
20-Jul-2022 |
Versão inicial |
1.0 |
10-Nov-2020 |
Versão inicial |