O Catalyst 4000 com Supervisor III (WS-X4014) ou Supervisor IV (WS-X4515) suporta recursos avançados de QoS (Qualidade de Serviço), incluindo classificação, vigilância, marcação, enfileiramento e programação. Este documento trata dos recursos de enfileiramento e programação, incluindo a forma do tráfego, compartilhamento e enfileiramento de estrita prioridade/latência baixa. O enfileiramento determina a forma como os pacotes são colocados em várias filas na interface de entrada e a programação determina a forma como (em momentos de congestionamento) se dá prioridade ao tráfego de alta prioridade em relação ao tráfego de baixa prioridade.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Os leitores deste documento devem estar cientes da seguinte informação:
A priorização de quadros de Camada 2 (L2) é baseada em um valor de Classe de Serviço (CoS - Class of Service), que está disponível no cabeçalho InterSwitch Link (ISL - InterSwitch Link) (três bits menos significativos no campo de usuário de 4 bits) e no cabeçalho 802.1Q (três bits mais significativos no campo de informações de controle de marca de 2 bytes).
A priorização de pacotes de camada 3 (L3) é baseada no valor de DSCP (Differentiated Services Code Point), que está disponível no byte de ToS (Tipo de serviço) no cabeçalho de IP (os seis bits mais significativos) ou no valor de precedência de IP do byte de ToS (os três bits mais significativos).
Consulte o manual de configuração de software para obter assistência de configuração adicional.
As informações neste documento estão baseadas nas seguintes versões de software em um Supervisor III (WS-X4014):
Software Cisco IOS® versão 12.1(8)EW
Observação: o Supervisor IV é suportado pela primeira vez no Cisco IOS Software Release 12.1(12c)EW. Os recursos descritos neste documento aplicam-se também ao Supervisor IV, a menos que explicitamente diferenciados de outra forma.
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.
O Catalyst 4000 Supervisor III e IV usam uma arquitetura de switching de memória compartilhada e podem fornecer recursos de enfileiramento e programação para as placas de linha existentes. Como o Supervisor fornece a arquitetura de switching sem bloqueio, não há filas de entrada. Os pacotes são encaminhados pelo painel traseiro para a porta de saída ou egressa. O lado de saída da interface fornece quatro filas de transmissão. O tamanho da fila está atualmente fixo em 240 pacotes para portas FastEthernet e 1920 pacotes para interfaces Gigabit Ethernet de não bloqueio. O não-bloqueio significa que as portas não estão com excesso de assinaturas na conexão com o painel traseiro. Uma lista de portas Gigabit Ethernet sem bloqueio é apresentada a seguir:
portas de uplink no Supervisor Engine III (WS-X4014) e IV (WS-X4515)
portas na placa WS-X4306-GB
duas portas 1000BASE-X na placa de linha WS-X4232-GB-RJ
duas primeiras portas na placa de linha WS-X4418-GB
duas portas 1000BASE-X na placa de linha WS-X4412-2GB-TX
O tamanho da fila de portas Gigabit Ethernet de bloqueio (com excesso de assinaturas) também é atualmente fixo em 240 pacotes. As portas de bloqueio estão listadas a seguir:
Portas T 10/100/1000 na placa de linha WS-X4412-2GB-TX
portas na placa de linha WS-4418-GB, exceto as duas primeiras portas
portas na placa de linha WS-X4424-GB-RJ45
portas na placa de linha WS-X4448-GB-LX.
portas na placa de linha WS-X448-GB-RJ45
Observação: o tamanho da fila é baseado no número de pacotes e não no tamanho dos pacotes. Atualmente, o Supervisor III não oferece suporte a nenhum mecanismo de prevenção de congestionamento, como a Detecção Antecipada Aleatória Ponderada (WRED - Weighted Random Early Detection) para as filas de transmissão.
Observação: o Supervisor IV suporta o recurso Ative Queue Management (AQM) no Cisco IOS versão 12.1(13)EW e posterior. AQM é uma técnica de prevenção de congestionamento que atua antes que ocorra sobrecarga do buffer. O AQM é obtido através da DBL (Dynamic Buffer Limiting, limitação dinâmica de buffer). O DBL rastreia o comprimento da fila para cada fluxo de tráfego no switch. Quando o comprimento da fila de um fluxo específico excede seu limite, o DBL descartará pacotes ou definirá os bits de Notificação de Congestionamento Explícito (ECN - Explicit Congestion Notification) nos cabeçalhos dos pacotes. Para obter mais informações sobre como configurar DBL, consulte Configuração de QoS.
Quando o QoS é desativado, os pacotes são confiáveis para o DSCP recebido nos pontos de entrada e colocados nas filas apropriadas. Essas filas usam o método round-robin.
Quando o QoS estiver habilitado, os pacotes são enfileirados com base no DSCP interno, que é derivado do CoS/DSCP de entrada, utilizando estados confiáveis de porta, ou da configuração padrão de CoS/DSCP na porta de entrada ou na marcação baseada em Lista de acesso (ACL)/Classe. A fila é selecionada com base no mapeamento global DSCP - tx-queue, que é totalmente configurável. O mapeamento pode ser exibido da seguinte maneira:
Switch#show qos maps dscp tx-queue DSCP-TxQueue Mapping Table (dscp = d1d2) d1 : d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------- 0 : 01 01 01 01 01 01 01 01 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 02 02 02 02 02 02 3 : 02 02 03 03 03 03 03 03 03 03 4 : 03 03 03 03 03 03 03 03 04 04 5 : 04 04 04 04 04 04 04 04 04 04 6 : 04 04 04 04
O mapeamento acima é o padrão. Se necessário, o mapeamento pode ser alterado emitindo o comando qos map dscp dscp-values para tx-queue queue-id. Por exemplo, para mapear um valor DSCP de 50 para tx-queue 2, a configuração a seguir é feita no modo de configuração global:
Switch(config)#qos map dscp 50 to tx-queue 2 !--- You can verify to make sure the changes have been made. Switch #show qos maps dscp tx-queue DSCP-TxQueue Mapping Table (dscp = d1d2) d1 : d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------- 0 : 01 01 01 01 01 01 01 01 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 02 02 02 02 02 02 3 : 02 02 03 03 03 03 03 03 03 03 4 : 03 03 03 03 03 03 03 03 04 04 5 : 02 04 04 04 04 04 04 04 04 04 6 : 04 04 04 04
Para mais informações sobre os passos de configuração para alterar o mapeamento, consulte o seguinte documento:
Devido à limitação do ASIC (Application-Specific Integrated Circuit Circuito Integrado Específico de Aplicativo) do switch, se a porta de entrada estiver definida como trust-cos, o CoS de transmissão será igual ao CoS do pacote de entrada ou ao CoS padrão (para pacotes não marcados) configurado na porta. Se uma política for configurada para definir o DSCP para o pacote emitindo o comando set ip dscp value para tais pacotes, eles serão usados como a origem do DSCP interno em vez do CoS padrão/ de pacote e serão enfileirados nas filas apropriadas. Se a porta não for confiável para CoS, o CoS de saída será baseado no valor do DSCP interno.
Se necessário, a fila de transmissão 3 pode ser configurada como fila de prioridade máxima, para que os pacotes nela enfileirados sejam agendados para serem transmitidos antes dos pacotes enfileirados nas outras filas, desde que não excedam o valor de compartilhamento configurado. Isso está explicado na seguinte seção.
O recurso de prioridade estrita está desabilitado por padrão. O mapeamento padrão enfileiraria pacotes com CoS 4 e 5 e DSCP 32 a 47 na fila de transmissão 3. O mapeamento de DSCP para tx-queue pode ser modificado conforme desejado para que os pacotes desejados sejam enfileirados na fila de alta prioridade.
Para não sobrecarregar os pacotes de baixa prioridade, essa fila precisa ser configurada principalmente para tráfego de baixo volume, mas de alta prioridade, como tráfego de voz, e não para tráfego TCP/IP de baixa prioridade em massa. Também é recomendável configurar a modelagem/compartilhamento para a fila de alta prioridade se for necessário impedir o esgotamento das outras filas de prioridade não-rígidas. Ao configurar a modelagem/compartilhamendo, os outros pacotes de baixa prioridade serão agendados, uma vez que o valor de molde/compartilhamento da fila estrita não foi atendido.
Switch#show run interface gigabitEthernet 1/1 interface GigabitEthernet1/1 no switchport ip address 10.1.1.1 255.255.255.0 tx-queue 3 priority high end
O Catalyst 4000 Supervisor III e IV suportam o comando bandwidth, que é um subcomando sob o comando tx-queue. Esse comando permite uma largura de banda mínima garantida para cada uma das quatro filas de transmissão. Este comando não deve ser confundido com o comando interface level bandwidth usado para fins de protocolo de roteamento. Isso, junto com o mapeamento da fila TX de DSCP, oferece o controle granular de quanta largura de banda é garantida para cada classe de tráfego enfileirado em cada uma das quatro filas. Geralmente, o tráfego de alta prioridade, como o tráfego de voz, é garantido como uma determinada quantidade mínima de tráfego durante períodos de congestionamento por meio do enfileiramento de prioridade estrita, com um compartilhamento configurado para a fila de transmissão 3. O compartilhamento da largura de banda do link só é suportado nas portas Gigabit Ethernet sem bloqueio. Este recurso atualmente não está disponível em portas de Ethernet Gigabits de bloqueio ou interfaces Fast Ethernet 10/100.
Quando o QoS é habilitado globalmente no Switch, todas as quatro filas, por padrão, são recebem uma largura de banda mínima de 250 Mbps em todas as portas. Pode ser necessário alterar as configurações padrão para ter certeza de que elas correspondam às configurações desejadas para o aplicativo ou para a rede em questão.
Switch#show run interface gigabitEthernet 1/1 interface GigabitEthernet1/1 no switchport ip address 10.1.1.1 255.255.255.0 tx-queue 1 bandwidth 500 mbps tx-queue 2 bandwidth 25 mbps tx-queue 3 bandwidth 50 mbps priority high tx-queue 4 bandwidth 200 mbps end Switch#show qos interface GigabitEthernet 1/1 QoS is enabled globally Port QoS is enabled Port Trust State: 'untrusted' Default DSCP: 0 Default CoS: 0 tx-Queue Bandwidth ShapeRate Priority QueueSize (bps) (BPS) (packets) 1 500000000 disabled N/A 1920 2 250000000 disabled N/A 1920 3 50000000 disabled high 1920 4 200000000 disabled N/A 1920
No momento, o switch não valida que a soma do compartilhamento de largura de banda por fila <= 1 Gbps. Por exemplo, se Q1 = 300 Mbps, Q2 = 200 Mbps, Q3= 100 Mbps e Q4 = 500 Mbps, estamos excedendo a largura de banda total disponível para essa interface em 1 Gbps. Para compreender como seria o comportamento do Switch neste cenário de excesso de assinaturas, precisamos entender como funciona a programação.
Quando a taxa de saída de uma fila de transmissão está abaixo dos valores configurados de compartilhamento e forma, ela é considerada uma fila de alta prioridade. Inicialmente, todas as filas serão de alta prioridade, já que a nenhuma delas recebeu sua parte, portanto, serão servidas em rodízio (observe que uma fila configurada como de alta prioridade sempre será servida primeiro se não estiver vazia até encontrar sua parte). Como algumas das filas atendem ao compartilhamento, se houver qualquer outra fila com prioridade alta, ela será atendida. Se não houver nenhuma fila de prioridade alta, todas as filas de prioridade baixa (que já encontraram seu compartilhamento) serão atendidas no estilo round-robin.
Com base na descrição da operação acima, em nosso cenário de exemplo, o Q1, Q2 e Q3 conseguirão suas partes, mas não o Q4 em momentos de congestionamento, pois a interface não pode alocar uma largura de banda acima da sua largura de banda física disponível. Deve-se tomar cuidado na escolha dos valores compartilhados de acordo com os requisitos do usuário/aplicativo.
O Catalyst 4000 Supervisor III e o IV suportam outros recursos de modelagem de tráfego além do recurso de vigilância. Os recursos de modelagem podem ser configurados por fila de transmissão no FastEthernet bem como no Gigabit Ethernet. A modelagem limite a largura de banda transmitida por fila por segundo ao valor máximo configurável de 16 Kbps a 1 Gbps (100 Mbps para a porta FastEthernet). A modelagem tem uma variação muito baixa do valor configurado, à medida que a decisão de transmitir um pacote de uma fila específica é tomada por pacote.
Switch#show run interface FastEthernet 5/9 interface FastEthernet5/9 no switchport no snmp trap link-status ip address 10.1.1.1 255.255.255.0 tx-queue 1 shape 50 mbps tx-queue 2 shape 35 mbps tx-queue 3 priority high shape 5 mbps tx-queue 4 shape 10 mbps Switch#show qos interface FastEthernet 5/9 QoS is enabled globally Port QoS is enabled Port Trust State: 'untrusted' Default DSCP: 0 Default CoS: 0 tx-Queue Bandwidth ShapeRate Priority QueueSize (BPS) (BPS) (packets) 1 N/A 50000000 N/A 240 2 N/A 35000000 N/A 240 3 N/A 5000000 high 240 4 N/A 10000000 N/A 240
Os pacotes são enfileirados com base no DSCP interno em uma das quatro filas descritas anteriormente. O DSCP interno pode ser derivado de DSCP de entrada, DSCP de porta de entrada ou marcação baseada em classe. O agendamento da fila de transmissão acontece da seguinte maneira. Se a modelagem estiver configurada, o pacote na fila de transmissão será verificado se está dentro do valor de forma máximo configurado. Se exceder o valor, será enfileirado e não será transmitido.
Se o pacote está qualificado, o recurso sharing/strict priority (prioridade de compartilhamento/estrita) é considerado. Primeiro, a preferência é concedida aos pacotes enfileirados com prioridade estrita, desde que estejam abaixo do parâmetro de modelagem configurado para a fila. Depois que a fila de prioridade estrita é atendida (ou seja, não há pacotes na fila de prioridade estrita ou ela atende ao compartilhamento), os pacotes enfileirados na fila de prioridade não estrita são atendidos em rodízio. Como há três filas desse tipo, o compartilhamento configurado para essas filas é novamente considerado. Por exemplo, se a fila de transmissão 1 não atendeu à sua participação, ela tem prioridade mais alta do que a fila de transmissão 2, que atendeu à sua participação. Quando esses pacotes enfileirados de prioridade mais alta são desenfileirados, os pacotes das filas que já encontraram seu compartilhamento são considerados.
Observação: a prioridade mais alta neste contexto não significa um melhor valor de precedência de DSCP, CoS ou IP. Baseia-se unicamente no fato de uma determinada fila ter ou não encontrado seu compartilhamento. Se a fila de prioridade não estrita específica não atendeu a sua participação, ela será considerada uma fila de prioridade mais alta entre a fila de prioridade não-estrita que atendeu a sua participação.