Este documento esclarece como um roteador calcula o tamanho do limite da fila quando os recursos de enfileiramento por VC estão ativados em uma interface de roteador ATM que suporta Classe de Serviço (CoS - Class of Service) de IP para ATM. A CLI de Qualidade de Serviço (QoS - Quality of Service) modular da Cisco (conhecida como MQC - Modular Quality of Service) é usada para configurar políticas de serviço que você aplica a uma interface lógica, seja esta uma interface principal, uma subinterface ou um circuito virtual. Essas políticas de serviço implementam alguma ação de QoS, desde política e modelagem até marcação e enfileiramento.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Não existem requisitos específicos para este documento.
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. All of the devices used in this document started with a cleared (default) configuration. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.
As interfaces do roteador Cisco com os recursos de enfileiramento por VC ativaram os pacotes de armazenamento para um ATM VC em um dos dois conjuntos de filas, dependendo do nível de congestionamento do VC:
Fila | Local | Métodos de enfileiramento | Políticas de serviço se aplicam | Comando para ajuste |
---|---|---|---|---|
Fila de hardware ou anel de transmissão | Adaptador de porta ou módulo de rede | somente FIFO | No | tx-ring-limit |
Fila da camada 3 | Sistema de processador de camada 3 ou buffers de interface | Nenhum | Yes | Varia com o método de enfileiramento: - vc-hold-limit - queue-limit |
O congestionamento é definido como o preenchimento do anel de transmissão (tx-ring-limit). Consulte Entendendo e ajustando o valor tx-ring-limit.
É importante entender quando o roteador usa as filas da camada 3, uma vez que as políticas de serviço se aplicam apenas aos pacotes armazenados nas filas da camada 3. O adaptador de porta ATM ou o módulo de rede e o sistema de processador de camada 3 colaboram da seguinte maneira:
A interface ATM transmite células em cada ATM Permanent Virtual Circuit (PVC) de acordo com a taxa de modelagem ATM.
A interface ATM mantém uma fila de hardware por VC ou anel de transmissão, onde armazena os pacotes esperando a transmissão para esse VC.
Quando a fila de hardware ou o anel de transmissão é preenchido, a interface ATM fornece uma pressão de retorno explícita para o sistema de processador da camada 3. A contrapressão por VC evita o excesso de consumo desnecessário de buffers por um único PVC ATM. Notifica o processador da camada 3 para parar de desenfileirar pacotes destinados do VC específico para o anel de transmissão da interface ATM porque a fila por VC atingiu um determinado nível de ocupação. O processador da camada 3 agora armazena os pacotes em excesso nas filas da camada 3. Durante esse período, o processador da camada 3 continua a encaminhar pacotes destinados a outros PVCs não congestionados.
Quando a interface ATM envia os pacotes no anel de transmissão e esvazia o anel, ela novamente tem buffers suficientes disponíveis para armazenar os pacotes. Ele libera a pressão traseira e o processador da camada 3 retira novos pacotes para a interface ATM.
Quando o número total de pacotes armazenados em buffer na interface ATM para todos os PVCs atinge um certo nível comparado ao espaço de buffer total disponível, a interface ATM fornece a pressão de retorno no nível agregado de todos os VCs. Essa contrapressão notifica o processador da camada 3 para parar de enviar quaisquer pacotes para a interface ATM.
O importante é que, com esse sistema de comunicação, a interface ATM reconhece que seu anel de transmissão está cheio para um VC específico e limita o recebimento de novos pacotes do sistema de processador da camada 3. Assim, quando o VC está congestionado, a decisão de descarte é movida de uma decisão aleatória de entrada/saída na fila FIFO (first in, first out, primeiro a entrar, primeiro a sair) do anel de transmissão para uma decisão diferenciada com base nas políticas de serviço de nível IP implementadas pelo processador de camada 3.
A fila da camada 3 sempre tem um limite de fila. Esse valor define o número de pacotes dentro da fila. Quando essa fila é preenchida, o roteador inicia uma política de descarte. Essa política pode ser queda traseira ou Detecção Antecipada Aleatória Ponderada (WRED - Weighted Random Early Detection). Em outras palavras, o limite da fila define quantos pacotes podem ser armazenados na fila da camada 3 antes que as quedas comecem a ocorrer.
O roteador atribui automaticamente um valor de limite de fila padrão. O valor calculado varia com o método de enfileiramento e com a plataforma. O importante é que o limite da fila precisa ser pequeno o suficiente para evitar a introdução de latência devido ao enfileiramento, mas grande o suficiente para evitar quedas e um impacto resultante nos fluxos baseados em TCP.
Em plataformas distribuídas, como a série Cisco 7500 e a FlexWAN, o valor padrão varia com o número de interfaces no sistema. Assim, as classes em um sistema com apenas duas interfaces podem receber mais buffers do que em um sistema com centenas de subinterfaces e VCs. O roteador fornece a cada classe um valor mínimo para garantir buffers suficientes para alimentar a interface na taxa de linha. Os limites da fila representam um limite de crédito para a interface. Em outras palavras, o roteador aloca os buffers entre interfaces, PVCs e classes em proporção à largura de banda dessas interfaces, PVCs e classes. Por padrão, os valores de limite de fila não substituem os buffers disponíveis.
As seções a seguir discutem os limites da fila com mais detalhes.
Em VCs ATM em plataformas não distribuídas, o enfileiramento por VC e as filas da camada 3 são ativados por padrão no suporte às versões do software Cisco IOS®. FIFO é o método de enfileiramento padrão aplicado às filas da camada 3 quando nenhum mecanismo de enfileiramento específico foi configurado. As filas da camada 3 usam FIFO por padrão, já que o algoritmo de enfileiramento padrão em uma interface ATM também é FIFO. Originalmente, essas filas suportavam um limite de fila de apenas 40. Isto pode ser visto na saída abaixo:
router#show queueing interface atm 2/0.10 Interface ATM2/0.10 VC 10/32 Queueing strategy: FIFO Output queue 0/40, 244 drops per VC
A partir da versão 12.1(5)T do software Cisco IOS, você pode ajustar o tamanho da fila FIFO por VC para um valor entre 5 e 1024 com o comando vc-hold-queue.
O comando queue-limit se aplica somente às classes configuradas com Class-Based, Weighted Fair Queuing (CBWFQ) usando o comando bandwidth. O comando queue-limit define o número de pacotes que as filas da camada 3 armazenarão antes que as quedas comecem a ocorrer. Em outras palavras, é a profundidade da fila da camada 3.
O valor limite de fila padrão varia com a plataforma.
Cisco 2600, 3600, 7200 Series Router e MC3810: O valor padrão é 64. O exemplo de saída a seguir foi capturado em um módulo de rede ATM na série 2600.
router#show queueing interface atm 2/0.10 Interface ATM2/0.10 VC 10/32 Queueing strategy: weighted fair Total output drops per VC: 1539 Output queue: 0/512/64/1539 (size/max total/threshold/drops) Conversations 0/37/128 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated)
Cisco série 7500 e FlexWAN: O valor padrão é calculado dando a cada classe sua participação proporcional dos buffers pai. A proporção é baseada na largura de banda alocada para a classe em comparação com a largura de banda do pai. Especificamente, o limite da fila é determinado pelo atraso máximo de 500 ms com um tamanho médio de pacote de 250 bytes. Por exemplo, uma classe com 1 MB de largura de banda recebe um limite de fila de 1000000 / (250 x 8 x 2) = 250. O importante é que ele também se baseia no seguinte:
A quantidade de SRAM ou memória de pacote disponível.
A quantidade de interfaces, já que a SRAM disponível deve ser dividida entre as interfaces.
interface ATM9/1/0.100 point-to-point ip address 1.1.1.1 255.255.255.0 pvc 1/100 ubr 1000 service-policy out pmap flexwan#show policy-map interface atm 9/1/0.100 ATM9/1/0.100: VC 1/100 service-policy output: pmap queue stats for all priority classes: queue size 0, queue limit 75 packets output 0, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0 class-map: e1 (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: ip dscp 10 Priority: kbps 300, burst bytes 7500, b/w exceed drops: 0 class-map: e2 (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: ip dscp 20 queue size 0, queue limit 75 packets output 0, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0 bandwidth: kbps 300, weight 42 class-map: class-default (match-any) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: any 0 packets, 0 bytes 5 minute rate 0 bps queue size 0, queue limit 33 packets output 2, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0
Observação: o Versatile Interface Processor (VIP) e o FlexWAN escolhem o valor-limite de fila padrão e o enviam para o processador principal (como o Route Switch Processor [RSP] na série 7500) com o primeiro conjunto de estatísticas de contagem de pacotes. Assim, até que o ATM VC transporte tráfego, um valor incorreto pode aparecer na saída de show policy-map interface.
O LLQ (Low Latency Queueing, Enfileiramento de baixa latência) implementa uma garantia de largura de banda mínima e máxima, configurada com o comando priority. O LLQ implementa um dispositivo que restringe o tráfego prioritário à sua largura de banda alocada durante o congestionamento para garantir que o tráfego não prioritário, como pacotes de roteamento e outros dados, não seja esgotado. Como a vigilância é usada para descartar pacotes e o limite da fila não está sendo imposto, o comando queue-limit não pode ser usado com o comando priority.
O WRED pode ser configurado como uma política de descarte opcional em pacotes nas filas da camada 3. Você pode configurar o WRED e um mecanismo de enfileiramento sofisticado, como CBWFQ ou LLQ (Low-latency queuing, enfileiramento de baixa latência).
No VIP e FlexWAN, os parâmetros WRED padrão são derivados diretamente do limite de fila padrão. Especificamente, o valor de limite máximo é definido como metade do limite de fila padrão e os valores de limite mínimo são reduzidos proporcionalmente.
Além disso, os valores de limite WRED padrão levam em conta os parâmetros de modelagem ATM associados ao VC. Para acomodar intermitências maiores que podem aparecer em taxas mais altas, quanto maior a taxa de modelagem de VC, maiores são os limiares mínimo e máximo padrão. Por exemplo, com um ATM de 10 kbps, os parâmetros WRED padrão aplicados ao VC em um roteador específico são mostrados abaixo:
nf-7505-1# show running-config interface ATM1/1/0.47 point-to-point atm pvc 47 0 47 aal5snap 10 10 1 random-detect wredgroup1 nf-7505-1# show queueing red VC 0/47 - random-detect group default: exponential weight 9 precedence min-threshold max-threshold mark-probability --------------------------------------------------------------- 0: 20 40 1/10 1: 22 40 1/10 2: 24 40 1/10 3: 26 40 1/10 4: 28 40 1/10 5: 30 40 1/10 6: 32 40 1/10 7: 34 40 1/10
Em comparação, aqui estão os parâmetros WRED padrão aplicados pelo mesmo roteador a um VC modelado a nove Mbps de taxa de célula sustentada (SCR) e 10 Mbps de taxa de célula de pico (PCR):
nf-7505-1#show running-config interface ATM1/1/0.49 point-to-point atm pvc 49 0 49 aal5snap 10000 9000 100 random-detect wredgroup3 nf-7505-1#show queueing red VC 0/49 - random-detect group default: exponential weight 9 precedence min-threshold max-threshold mark-probablity --------------------------------------------------------------- 0: 72 144 1/10 1: 81 144 1/10 2: 90 144 1/10 3: 99 144 1/10 4: 108 144 1/10 5: 117 144 1/10 6: 126 144 1/10 7: 135 144 1/10
O limite de fila define o número máximo de pacotes que as filas da camada 3 podem armazenar a qualquer momento. O limite máximo define a profundidade média máxima da fila. Ao alterar o limite da fila, certifique-se de que você também ajuste os limiares de WRED e que o limite de fila configurado seja maior que os limiares de WRED max.
Mesmo em um VC configurado com WRED, todos os pacotes que chegam a um VC quando o tamanho médio da fila está acima do limite da fila são descartados. Assim, na configuração a seguir, o limite de fila de 400 e o limite mínimo de 460 para o ponto de código de serviços diferenciados (DSCP) 32 implementam uma queda traseira em um tamanho de fila médio de 400 pacotes e efetivamente impedem que o WRED entre em vigor.
policy-map ppwe class voip priority 64 class bus bandwidth 168 random-detect dscp-based random-detect exponential-weighting-constant 10 random-detect dscp 8 11 66 1 random-detect dscp 32 460 550 1 queue-limit 400
Observação: consulte também Considerações sobre o Ajuste do WRED no Guia de Projeto da Fase 1 da Classe de Serviço IP para ATM ao ajustar os valores de limite padrão.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
15-Nov-2007 |
Versão inicial |