«

»

dez 05 2011

Imprimir Post

QoS – Enfileiramento – Parte 3

Olá pessoal,

  Conforme nosso último post, no qual foi mencionado sobre a marcação de pacotes dentro do cabeçalho IP ( ToS ), portanto hoje iremos trazer mais informações sobre QoS, mencionando sobre o método de filas que o equipamento utiliza para encaminhar seus pacotes.

  Quando foi explicado sobre a marcação de pacotes e propriamente mencionado sobre as categorias de filas, ou seja, todo esse trabalho exerce uma funcionalidade para que no momento de recebimento desse pacote os equipamentos ( roteadores/swiches ) possam interpretar essa marcação ( preferência ) do pacote, sobre determinadas características em um plano de hardware queueing e software queueing.

  Para um melhor entendimento segue um fluxograma de como funciona o tratamento de pacotes:

  Para o propósito de hardware queueing:

  • Esse é o tipo de enfileiramento conhecido como TxQ (fila de transmissão), no qual ele usa o hardware e SEMPRE usa o mecanismo FIFO (First In First Out) e apenas quando essa fila fica cheia o software queueing será acionado. Nesta categoria estamos referenciando-se ao Tx Ring/ TX queue, fazendo dessa forma o enfileiramento quando a fila está cheia, e por sua vez o IOS habilita “queue” nesta interface.

  Aqui podemos fazer uma analogia de como os pacotes chegam para uma determinada interface física de um equipamento. 😉

 

Quando tratamos do assunto de software queueing, teremos 6 categorias para classificar essas informações:

  • PQ – Priority Queue = Possui 4 filas FIFO, que são unidirecionais, e um pacote da fila em espera só entra em ação quando sua superior é esvaziada. Vantagens: Fornece prioridade restrita para um tráfego na classe. Desvantagem: pode sofrer de um fênomeno chamado: starvation (morte por insuficiência de alimentação).

  • CQ – Custom Queue = Possui 16 filas FIFO, que são unidirecionais, e um pacote da fila em espera só entra em ação quando sua superior é esvaziada.Vantagens: garante banda para aplicações menos críticas. Desvantagem: precisa criar uma política dentro da interface.

  • WFQ – Weighted Fair Queueing = Enfileiramento justo baseado em peso, ele atua de forma justa eliminando o fenômeno stavartion, ou seja, o primeiro da coluna de cada fila é expedido para o DEQUEUE e todos os pacotes da segunda coluna são expedidos e assim sucessivamente. Desvantagem: ideal para links até 2MBps, caso contrário muitos ciclos de CPU serão executados e não possui uma fila única de prioridade.

  • CBWFQ – Class-Based Weighted Fair Queue = Possui 64 filas FIFO, que são unidirecionais, e um pacote da fila em espera só entra em ação quando sua superior é esvaziada. Vantagem: recordista do número de classes, suporta até 64 para realizar controle de banda. Desvantagem: sem fila exclusiva de prioridade.

  • LLQ – Low Latency Queue = Conhecido por PQCBWFQ, devido a possuir uma fila PQ e um grupo em CBWFQ. Infelizmente isso é uma “sopa de letrinhas” 😀 Vantagens: ótimo para arquitetura AVVID da Cisco, excelente para aplicações real-time, garante banda e propicia a menor latência, não apenas para portas UDP/RTP mas qualquer outro tipo de porta. O seu único problema diz respeito a sua classificação não ser feita de modo automatizado, havendo a necessidade de configuração. Esse é o nosso método mais utilizado, porém se as classes não estiverem bem ajustadas conforme a realidade, podemos ter alguns problemas, que daí para frente teremos que realizar alguns troubleshootings!

  • IP RTP Priority = Conhecido por PQWFQ, por ser composto por uma fila PQ e o grupo de WFQ.Vantagens: ótimo para arquitetura AVVID da Cisco, garante banda e propicia a menor latência, não apenas para portas.

Abaixo segue uma tabela comparativa com as filas mais usuais que encontramos no nosso dia-a-dia:

  Por padrão o FIFO é habilitado nas interfaces com a bandwidth acima de 2mbps e também por padrão o WFQ é habilitado nas interfaces com a bandwidth abaixo de 2Mbps

  Baseado nessas informações temos mais um conceito que é obtido em nossas vídeo aulas, para qual tratamos de métodos para evitar o congestionamento. Na Cisco nós trabalhamos com três métodos, no qual chamamos de Tail DROP, WRED ( Weighted Randon Early Drop ) e CBWRED. Não vamos entrar muito em detalhes para não ficar extenso nosso post, mas podemos explicar rapidamente cada método:

  • Tail DROP = Descarte de pacotes baseado em hardware e software quando a fila está cheia, ou seja, novos pacotes que chegam na interface são dropados.

  • WRED = Característica do IOS utilizada para previnir que uma fila seja preenchida pela capacidade descartar o tráfego mais agressivamente quando a fila começa a se preencher. O descarte é feito baseado na prioridade de marcação, onde os pacotes de menor prioriodade terão maior chances de serem descartados. Dentro dessa características podemos chamar de ( minimum threshold, maximum threshold e mark probability denominator).


  • CBWRED = Mesma funcionalidade do WRED, porém podemos utilizar baseado por classe.

  Como demos uma prévia sobre o conceito segue os comandos que podemos utilizar para fazer esse tipo de configuração.

Router(config-if)# class-map c1 
Router(config-cmap)# match access-group 101
Router(config-if)# policy-map p1 
Router(config-pmap)# class c1
Router(config-pmap-c)# bandwidth 48
Router(config-pmap-c)# random-detect dscp-based
Router(config-pmap-c)# random-detect dscp 8 24 40
Router(config-if)# service-policy output p1

  Espero que vocês tenham gostado e aguardo comentários. 😛

Fonte:
Cisco Page – WRED
Cisco Page – Avoidance

Posts relacionados:


0
0

Link permanente para este artigo: https://ciscoredes.com.br/2011/12/05/qos-enfileiramento-parte-3/

2 comentários

  1. Muito bom cara, muito bem explicado.

    0

    0
  2. @Igor Assis Obrigado Igor. Mais post sobre QoS serão publicados.

    0

    0

Deixe uma resposta