O WFQ (Weighted fair queuing) foi implementado para links de velocidade mais baixa (como serial) para permitir um tratamento considerável a cada tipo de tráfego. Para realizar seu trabalho, o WFQ classifica o tráfego em diferentes fluxos com base nas informações associadas das camadas 3 e 4 (endereços IP, portas TCP, etc.). Não é necessário definir listas de acesso para que isso funcione. Com o WFQ, o tráfego de largura de banda baixa tem prioridade efetiva sobre o tráfego de largura de banda alta. O tráfego de largura de banda elevada compartilha a mídia de transmissão de forma proporcional para pesos atribuídos.
O WFQ tem as seguintes limitações:
Se o fluxo do tráfego aumentar significativamente, o WFQ não poderá ser ajustado, porque não é escalável.
O WFQ não está disponível em interfaces de alta velocidade, como ATM.
Um novo recurso, o CBWFQ (Enfileiramento Considerável Ponderado Baseado em Classe), foi desenvolvido para cuidar das limitações de WFQ. Diferentemente do WFQ, o CBWFQ permite definir classes de tráfego. Uma vez definidas as classes, os parâmetros podem ser aplicados. Esses parâmetros incluem largura de banda e limite de fila.
Ao usar CBWFQ, o peso especificado para uma classe se torna o peso de cada pacote que corresponde aos critérios de classe. Esse peso é derivado da largura de banda que você atribuiu para a classe. O WFQ é então aplicado a essas classes em vez de ser aplicado aos fluxos em si. As classes podem incluir vários fluxos.
Abaixo está um resumo da disponibilidade CBWFQ por VC nos roteadores 7200, 3600 e 2600:
7200: Cisco IOS® versões 12.0(5)T, 12.0(5)XE, 12.1(1), 12.1(1)T, 12.1(1)E e posteriores usando um PA-A3.
7200 com NSE: Cisco IOS versão 12.1(7)E e posterior.
7200 com NSE-1 Services Accelerator: Cisco IOS versão 12.2(4)B1.
2600/3600 com módulos NM-1A-T3/E3 suportam LLQ / CBWFQ no Cisco IOS versão 12.1(5)T e posterior.
2600/3600 com módulos de rede DS3/E3: Cisco IOS versão 12.1(2)T.
Observação: a funcionalidade de switching CEF (Cisco Express Forwarding) deve ser usada porque o CBWFQ monitora somente pacotes comutados por CEF.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas nas seguintes versões de hardware:
Roteadores Cisco 7200, 3600 e 2600 Series
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Nesta seção, você encontrará informações para configurar os recursos descritos neste documento.
Observação: para encontrar informações adicionais sobre os comandos usados neste documento, use a ferramenta Command Lookup Tool (somente clientes registrados).
Este documento utiliza a seguinte configuração de rede:
1/130 é o valor VPI/VCI atribuído em ambas as extremidades do PVC entre o 7200 e o Roteador A.
O gerador de tráfego é conectado à interface Fast-Ethernet 3/0.
O 7200 está executando o Cisco IOS versão 12.0(5)T.
O Roteador A é usado como um dispositivo coletor para os testes.
A configuração é executada em um 7200, mas é semelhante em um 2600/3600.
Abaixo está a configuração 7200 necessária para implementar o CBWFQ:
7200 |
---|
class-map ixia match input-interface FastEthernet3/0 class-map loopbacks match access-group 102 ! policy-map mypol class ixia bandwidth 40000 queue-limit 40 class loopbacks bandwidth 10000 class class-default fair-queue ! interface ATM2/0.130 point-to-point ip address 14.0.0.2 255.0.0.0 no ip directed-broadcast pvc 1/130 service-policy output mypol vbr-nrt 100000 75000 broadcast encapsulation aal5mux ip ! access-list 102 permit ip host 10.0.0.1 host 11.0.0.1 |
Abaixo estão alguns comentários sobre a configuração:
Os mapas de classes classificam e atribuem pesos ao tráfego. Parâmetros de classificação e mapas de classe são definidos no mesmo lugar. Nesse caso, uma classe é aplicada a todo o tráfego de entrada na Fast-Ethernet 3/0 (o tráfego do gerador de tráfego). A outra classe está relacionada ao tráfego entre os loopbacks (definidos no 7200 e no roteador A).
Depois de definir os parâmetros de classificação, você pode usar um mapa de política para aplicar os parâmetros de tráfego a esses fluxos classificados. Nesse caso, o fluxo do gerador de tráfego é "alocado" uma largura de banda de 40 Mbps e uma profundidade de fila de 40 pacotes. O tráfego entre loopbacks tem uma largura de banda de 10 Mbps.
A profundidade da fila é o número de pacotes que podem ser armazenados para uma classe específica antes que as quedas ocorram. O valor padrão é 64 (que também é a profundidade máxima da fila).
Depois que os parâmetros de tráfego tiverem sido definidos para cada classe, o CBWFQ será aplicado em uma base VC usando o seguinte comando: service-policy [input|output] policy-map-name.
O tráfego que não corresponde a um dos mapas de classe definidos receberá um mapa de classe padrão (padrão de classe) definido no mapa de política. Todo o tráfego não classificado será aplicado aos parâmetros definidos nessa classe padrão. Nesse caso, o Weighted Fair Queuing normal é configurado.
Para esta configuração de exemplo, o CBWFQ é aplicado em um VC, mas também pode ser usado em um pacote de PVC. Além disso, o CBWFQ pode ser associado ao Weighted Random Early Discard (WRED) como um mecanismo de descarte (quando o limite da fila é atingido).
Importante:
Antes de executar as tarefas de configuração nesta seção, você deve primeiro criar as classes que serão usadas para diferenciar o tráfego no VC e, em seguida, definir um mapa de política para incluí-las. Você pode configurar políticas de classe para quantas classes forem definidas no roteador — até o máximo de 64. No entanto, a quantidade total de largura de banda de VC alocada (para todas as classes incluídas em um mapa de política) não deve exceder 75 por cento da largura de banda disponível do VC.
Como o CBWFQ oferece uma garantia de largura de banda mínima, você só pode aplicar o CBWFQ a VCs com classes de serviço diferentes de UBR e UBR+.
Não é possível aplicar WFQ e CBWFQ por VC a VCs UBR e UBR+ porque ambas as classes de serviço são classes de melhor esforço que não garantem largura de banda mínima. Quando o CBWFQ é ativado para um VC, todas as classes configuradas como parte da política de serviço são instaladas no sistema de Enfileiramento Justo.
Se você aplicar uma política de serviço a um ATM VC e a política incluir um recurso que não esteja habilitado para o Parallel Express Forwarding (PXF), os pacotes serão direcionados para o próximo caminho de switching inferior. Execute o comando show pxf acc summ e procure um valor incrementado para ponts devido ao "recurso de saída".
router#show pxf acc sum Pkts Dropped RP Processed Ignored Total 242 328395045 0 10 second averages: PXF complex busy: 28% PXF read pipeline full: 0% PXF Statistic: Packets RP -> PXF: switch ip: 0 switch raw: 556612940 qos fastsend: 0 qos enqueue: 0 Total: 556612940 Packets PXF -> RP: qos pkts: 0 fast pkts: 228217649 drops: total 242 " no route : 242 punts: total 328395045 " not IP : 597 " IP options : 676 " CEF no adjacency : 186770 " CEF receive : 265306 " output feature : 327916956
Nos roteadores Cisco 7200 executando Cisco IOS versão 12.1(5)E, 12.1(5)T e posterior, podemos agrupar as classes de mapas para formar mapas de classes mais complicados. Além disso, podemos associar operações lógicas a parâmetros de mapa de classe (para determinar se o tráfego corresponde a uma classe).
Vejamos os seguintes mapas de classes para esclarecer este conceito:
Configuração CBWFQ avançada |
---|
class-map match-all ixia description traffic from Ixia match input-interface FastEthernet1/0 class-map match-all ftp1 description ftp traffic initiated by the traffic generator match class-map ixia match class-map ftp2 class-map match-all ftp2 match access-group 103 class-map match-any test match access-group 102 match input-interface Ethernet0/0 ! access-list 103 permit tcp any any eq ftp ! access-list 102 permit ip host 10.1.1.1 any |
A diferença entre a verificação de repetição de todos os dados e de qualquer dado é a seguinte:
match-all: um fluxo é associado a um mapa de classes se TODAS as condições associadas forem verificadas.
qualquer correspondência: um fluxo é associado a um mapa de classe se QUALQUER das condições associadas for verificada (não necessariamente todas as condições).
Podemos ver aqui que um mapa de classes pode incluir testes em relação a outros mapas de classes configurados. Nesse caso, um fluxo é associado ao ftp1 se ele corresponder a todas as condições definidas em class map ixia e class map ftp2.
Esta seção fornece informações que você pode usar para confirmar se sua configuração está funcionando adequadamente.
show policy-map interface atm x/y[.z] — Este comando permite que você veja as estatísticas por fila, como as quedas. Ele é útil para monitorar os resultados de uma política de serviço criada com a interface de linha de comando (CLI) (MQC) de Qualidade de Serviço (QoS - Quality of Service) modular da Cisco. Para obter informações mais detalhadas sobre como interpretar a saída desse comando, consulte Compreendendo os Contadores de Pacotes na Saída de show policy-map interface.
7200#show policy-map interface atm 2/0.130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
Observação: consulte as seguintes explicações sobre os dois tipos de quedas:
Discards: total de quedas desta fila.
Quedas na cauda: cai dessa fila somente quando outra fila tem um pacote de entrada com um número de sequência WFQ "menor" e o sistema WFQ atinge o número máximo de limite de fila de pacotes.
show policy-map interface atm x/y[.z] vc [vcd | vpi/vci] — Este comando fornece mais granularidade para VCs específicos.
7200#show policy-map interface atm 2/0.130 vc 1/130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
Você também pode usar outros comandos, como show class-map ou show policy-map class para obter informações mais detalhadas sobre as classes do mapa.
Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
12-Dec-2005 |
Versão inicial |