sexta-feira, 2 de outubro de 2009

QOS - Parte III - Prevenção de congestionamento

Agora que já sabemos marcar o tráfego temos que estudar como funcionam as Queuing Tools, os conceitos são:

Classificação
- escolhe em que fila o pacote irá entrar.
Drop - Para descarte de pacotes quando a fila está cheia.
Scheduling - Determina qual fila será tratada primeiro.
Numero máximo de filas - Numero de clases que pode ser configurada.
Tamanho das filas - Numero de pacotes suportados.

Queuing Tools: CBWFQ e LLQ
Class-based Weighted Fair Queuing (CBWFQ) - Reserva uma determinada banda para cada classe comando bandwidth



Clique para ampliar o resumo










Low-Latency Queuing (LLQ)
- Adiciona ao CBWFQ o recurso de fila sem latência, ou seja, transmite o pacote sem entrar em fila alguma, é feito com o comando priority.











Weighted Random Early Detection - WRED

Essa ferramenta evita o tail drop quando uma fila enche, ele realiza o descarte de pacotes menos prioritários de modo a garantir espaço na fila para outros pacotes mais importantes

Podemos setar os thresholds e o o coeficiente mark probability denominator com os comandos:

random-detect precedence precedence min-threshold max-threshold [mark-probdenominator]
random-detect dscp dscpvalue min-threshold max-threshold [mark-probabilitydenominator]

Por default os valores estão configurados da seguinte maneira:





Modified Deficit Round-Robin

Feature de fila utilizado nos roteadores da série 1200 no lugar do LLQ e CBWFQ. Separa o tráfego em 7 filas e mais uma fila de prioridade. Pode trabalhar em dois modos:

-Strict priority mode
-Alternate mode

No modo Strict priority, a fila de prioridade é tratada sempre que tiver tráfego nela, oque pode gerar um consumo de todo o recurso apenas para essa fila, porém ela é tratada com prioridade.

No Alternate Mode a fila de prioridade é tratada em alternância com as demais, exemplo:
Se tivermos 5 filas (0, 1, 2, 3, 4) e uma prioritária (P) o tratamento seria da seguinte maneira: p, 0, P, 1, P, 2, P, 3, P, 4 e assim por diante. Não temos o consumo de todos os recursos pela fila prioritária, porem pode ocorrer jitter e latência.

Quantum value (QV) e Defict

O MDRR utiliza o conceito de Quantum Value (QV) para tratar as filas, imagine que o QV é um crédito de bytes a serem transmitidos.

como exemplo na figura ao lado: A primeira fila tem um QV de 1500, então, ela transmite o primeiro pacote de 1000 e ainda sobra um crédito de 500, porém quando ela envia o segundo pacote de 1000 ela fica devendo 500, então a próxima fila com um crédito de 3000 é iniciada e são transmitidos 3 pacotes, zerando os créditos. Na próxima passagem a fila um inicia com um crédito de apenas 1000, transmitindo apenas um pacote, passando para a próxima fila e assim por diante.
Esse método garante que o MDRR forneça exatamente a largura de banda reservada para cada fila. Podemos calcular a porcentagem de banda para cada fila assim:

QV da fila /Soma de todos QV.

Nenhum comentário: