Minha jornada até o CCIE RS — QoS 3

Giuliano Barros
TechRebels
Published in
7 min readAug 8, 2019
Para qual queue isso vai?!?

E aí galera, Como estão?

Olha nós aqui de novo, continuando nossa jornada de artigos onde compartilho centenas de páginas de anotações e informações acumuladas ao longo da minha carreira trabalhando com Routing and Switching. Como sempre, acredito que estas informações possam ajudar não somente a estudar para certificações, mas no dia-a-dia de outros network engineers que lidam com redes Cisco como eu.

Para quem não leu os artigos anteriores dessa jornada, seguem os links: “Switching”, “PPP”, “IP Routing”, “RIP”, “EIGRP”, “OSPF”, “BGP” e “Redistribuição”, “MPLS”, “DMVPN — Parte 1”, “DMVPN — Parte 2”, “DMVPN — Parte 3”, “DMVPN — Parte 4”, “IPv6”, “QoS — Parte 1” e “QoS — Parte 2”.

No artigo anterior exploramos os principais mecanismos de QoS. Hoje vamos explorar mecanismos de QoS em uma plataforma de Switches Catalyst!!! Então correr pegar seu café expresso e vamos começar.

Fique a vontade para comentar e entrar em contato comigo no LinkedIn. Não esqueça de dar “claps” aí do lado esquerdo do artigo e compartilhar nos seus grupos. E não se esqueça de seguir a mim e ao TechRebels clicando follow lá em cima :)

QoS em Switches Catalyst 3560

Neste artigo vou utilizar como referência a plataforma de Switches Catalyst 3560. A escolha não foi randômica, primeiro porque trabalhei com eles durante anos e configurei centenas deles (cen-te-nas); depois porque dissequei essas caixas nas horas livres durante os estudos pro CCIE RS v4.

Lembrando que QoS é uma solução extremamente dependente de hardware, os parâmetros de QoS mudam de caixa para caixa. Quantidade de queues, tamanho da queue, mecanismos disponíveis, etc… tudo é específico para o hardware. Portanto, iremos focar nos conceitos, mecanismos e formas de utilização de QoS em Switches.

Dito isso, vamos começar!

  • IOS dos Switches é otimizado para o hardware.
  • Por causa disso, ao comparar com HFQ (Hierarchical Queuing Framework) dos roteadores, os switches possuem muito menos features, funções simplificadas e mais difíceis de verificar.
  • Switches possuem processo Multi-Stage que permite classificar e enfileirar tráfego Inbound além de enfileirar tráfego Outbound.
  • O ponto mais importante ao implementar QoS nos switches é garantir que a classificação esteja correta visto que os pacotes serão encaminhados para os próximos neighbors já classificados.
  • Switches utilizam mecanismo interno de Label QoS para garantir que os valores corretos sejam transmitidos entre as interfaces.
  • QoS nos Catalyst é habilitado através de processo global. Sem o processo habilitado, os switches só realizam comutação best-effort sem nenhum QoS.
Original: https://blog.ine.com/2008/10/30/traffic-classification-in-the-35503560-switches
  1. Classifica tráfego utilizando configuração da interface (ex: trust boundary) ou Service Policy configurada (na interface ou VLAN).
  2. Compara a taxa de tráfego contra o Policer e aplica a ação/marcação definida (transmite, descarta e remarca valores QoS DSCP, IP Prec ou COS L2).
  3. Uma grande diferença entre roteadores e switches é a existência de mecanismo de Inbound Queueing que pode ser definido (roteadores só realizam Outbound Queueing enquanto switches podem utilizar Inbound e Outbound).
  4. Mapear tráfego para uma das 4 queues e aplicar outras features (ex: priorização, similar a LLQ).

Classificação

Ao habilitar QoS no Catalyst, o switch descarta toda marcação de pacotes que receber (realizadas por aplicações ou por outros neighbors).

Objetivo é criar uma Trust Boundary onde o switch honra ou reseta a marcação Inbound dependendo da topologia. Geralmente conexões com hosts são resetadas enquanto conexões com IP phones são trust.

Marking

Marcação é realizada através de Service Policy nas interfaces ou VLAN baseada na classificação definida por ACLs em conjunto com Class-maps.

OBS: Para pacotes não-IP, o CoS é automaticamente mapeado do DSCP.

Classificação baseada em VLAN

Basicamente um atalho, aplicando a policy na SVI da VLAN em questão e afetando todas as interfaces pertencentes a esta VLAN (evitando ter que configurar cada uma separadamente).

Auto QoS

É basicamente uma macro que habilita um template QoS. As configurações do Auto QoS podem ser alteradas depois de habilitado.

Ingress Policing

Policing no switch pode ser realizado de forma individual (na interface) ou como Aggregate.

Aggregate Policers são aplicados para múltiplas interfaces físicas ou múltiplas classes ao mesmo tempo (ex: múltiplos hosts compartilham a mesma BW ao mesmo tempo que a soma não ultrapassa o limite). Neste caso não há controle individual das interfaces (aí teria que usar policer individual).

Ingress Remarking

  • Remarcação é uma ação de Policing, geralmente exceed remarcando os pacotes quando o fluxo exceder o CIR.
  • Policing geralmente não altera o DSCP , mas pode ser realizado. A remarcação de DSCP no Catalyst é aplicada através de um QoS map (não é especificada dentro da Policy como nos roteadores).
  • O DSCP-map basicamente informa qual é a Egress Queue que será utilizada na interface output.

Egress Queueing

  • No Cataly 3560 há 4 queues por interface que utilizam mecanismo de queueing Shaped Round Robin (SRR).
  • O ponto mais importante é que o switch possui mapeamento DSCP/CoS que define quais tráfegos são encaminhados para qual queue, independente se a marcação foi honrada (trust) ou remarcada na entrada.
  • Utiliza um mecanismo de descarte baseado em peso chamado Weighted Tail Drop (WTD) (não é randômico como RED).

Shaped Round Robin

  • Modificação do Weighted Round Robin, permitindo definir a alocação da bandwidth (shaping) por queue individualmente baseado no peso.
  • Suporta shaping por queue (individual) ou por interface (total).
  • O shaping atrasa (normaliza) os pacotes nas queues com objetivo de atingir uma taxa determinada para fluxo/interface (obviamente uma taxa mais baixa que a serialização da TX-Ring).
  • Egress Queues podem ser Shared ou Shaped.
  • Shared queues compartilham a bandwidth disponível baseado no peso relativo de cada queue (disponível = não está reservada).
  • Shaped queues garantem a bandwidth baseado no peso absoluto configurado manualmente. As configurações de Shaping sobrescrevem as configurações de Sharing.
  • A bandwidth garantida pelo Shaping é subtraída do total disponível e as queues que não são shaping compartilham a BW restante.

Priority Queue no SRR

  • Pode ser habilitada somente na Queue 1.
  • Normalmente é configurada para voz e vídeo correspondendo ao DSCP EF (46). Portanto o mapeamento DSCP->queue por default mapeia DSCP 46 para Queue 1.
  • Priority Queue no 3560 não possui nenhum Policer (limite) e por isso pode resultar em starvation das outras queues. Por causa disso é geralmente utilizada somente para voz.

Mapping

Mapping de pacotes IPv4 e IPv6 se baseia no DSCP e de pacotes não-IP se baseia no CoS. O switch utiliza este mapeamento interno para encaminhar o tráfego entre as interfaces, mesmo que a interface não seja trunk (somente tag 802.1q possui CoS).

Classificação (config.)

Switch Catalyst não foi desenvolvido para QoS L3 e sim para QoS L2. Portanto, nessa hora é muito importante lembrar que a topologia L3 não é a mesma que L2, porque entre dispositivos L3 pode haver múltiplos L2 (switches).

ROUTER A <-> SW 1 <-> … <-> SW n <-> ROUTER B

Por default, uma vez que o QoS é habilitado no Catalyst, ele irá descartar qualquer marcação recebida. Esse comportamento pode ser corrigido de 2 formas:

  • Desabilitar o comportamento de forma global <no mls qos rewrite ip dscp>
  • — OBS: Rewrite precisa estar habilitado para utilizar QoS com policy-map na interface.
  • Habilitar <mls qos trust>. Esta solução necessita conhecer o caminho L2 do tráfego.

A marcação do pacote pode ser realizada praticamente em qualquer lugar no caminho entre origem e destino.

OBS: Cuidado ao desabilitar rewrite. Única utilidade seria para realizar QoS básico, sem nenhuma nova classificação ou marcação, onde o switch usará o mesmo DSCP que receber.

OBS: Marcações podem ser testadas aplicando ACL para o DSCP na inteface do roteador apenas para contagem:

  • <permit ip any any dscp AFXX>
  • <permit ip any any dscp default>
  • <clear access-list count>

Ingress Remarking (Config)

  • Ingress Policing pode realizar remarcação, geralmente utilizada para aplicar 2 níveis de serviço.
  • Se exceed action é “policed-dscp-transmit”, o switch usa o Global Police Mutation Map para qual DSCP deve ser alterado baseado no valor original.
  • Outro ponto importante é que precisa informar o DSCP que deseja manter para “conform” action (<set dscp>), do contrário reseta.

OBS: Ao habilitar QoS no Catalyst é necessário analisar todas as interfaces que o tráfego pode chegar. Se a topologia for alterada por algum motivo, a nova interface precisa ter a mesma policy aplicada.

A política de remarcação também pode ser aplicada na forma “vlan-based”, aplicando na interface vlan e informando todas as interfaces (ex: range 1–24) sobre o “qos vlan-based”. Todas as interfaces participando do STP dessa vlan serão afetadas (geralmente utilizar a VLAN entre os routers).

E com isso chegamos ao final da nossa mini-série sobre QoS :) O que achou desse artigo? Vai te ajudar no dia-a-dia? Fala pra gente nos comentários?

Se gostou do conteúdo, dê “clap” para o artigo aí do lado esquerdo e compartilhe nos seus grupos. Não se esqueça de seguir a mim e ao TechRebels clicando follow aí embaixo :)

Sobre o autor:

Giuliano Barros é Network Engineer & Founder da Control Plane — Network Services.

Graduado em Ciência da Computação, certificado CCIE RS e Cisco Champion pela Cisco Systems, trabalha há 15 anos como Network Engineer em projetos para grandes e médias empresas. linkedin.com/in/giulianobarros

--

--

Giuliano Barros
TechRebels

DevOps Network Engineer | CCIE RS #49619 | Cisco Champion | Blogger