Autor Original do texto:
Martin A. Brown
martin@linux-ip.net
http://linux-ip.net
Martin A. Brown
martin@linux-ip.net
http://linux-ip.net
3. Elementos Tradicionais de Controle de Tráfego
3.1 Modelagem (Shaping)
Shapers atrasam pacotes para ajustar a uma taxa desejada.
Shaping é o mecanismo pelo qual os pacotes são atrasados antes da transmissão em uma fila sainte para ajustar a uma taxa sainte desejada. Esse é um dos desejos mais comuns de usuários que buscam soluções de controle de largura de banda. O ato de atrasar um pacote como parte de uma solução de controle de tráfego torna todo mecanismo shaping em um mecanismo non-work-conserving, significando grosso modo que: “Trabalho é exigido a fim de atrasar pacotes”.
Inversamente, a um mecanismo de enfileiramento non-work-conserving que executa uma função shaping. Um mecanismo de enfileiramento work-conserving (veja PRIO) não seria capaz de atrasar um pacote.
Shapers tenta limitar ou racionalizar o tráfego para regular, mas que não excede a uma taxa configurada (freqüentemente medida em pacotes por segundo ou bits/bytes por segundo). Como um efeito colateral, shapers podem podar rajadas de tráfego de saída [4]. Um das vantagens de fazer shape da largura de banda é a capacidade de controlar a latência de pacotes. O mecanismo subjacente de fazer o shape de uma taxa é tipicamente um mecanismo token e bucket. Veja também Seção 2.7, “Tokens e buckets” para detalhes adicionais sobre fichas e baldes.
3.2 Escalonamento (Scheduling)
Schedulers (Escalonadores) organiza e/ou reorganiza pacotes para saída.
Scheduling (Escalonamento) é o mecanismo pelo qual os pacotes são organizados (ou reorganizados) entre a entrada e a saída de uma fila particular. Esmagadoramente o escalonador mais comum é o escalonador FIFO (primeiro a entrar, primeiro a sair). De uma perspectiva mais ampla, qualquer conjunto de mecanismos de controle de tráfego que atuam sobre uma fila sainte pode ser considerado como um escalonador, porque os pacotes são organizados para a saída.
Outros mecanismos genéricos de escalonamento tentam compensar as várias condições de rede. Um algoritmo de enfileiramento justo (veja SFQ) tenta evitar que qualquer cliente sozinho ou fluxo de se apossar do uso da rede. Um algoritmo cíclico (round-robin), veja também WRR, dá a cada fluxo ou cliente uma chance de desenfileirar pacotes. Outros algoritmos sofisticados de escalonamento tentam evitar que o backbone fique sobrecarregado (veja GRED) ou que refinam outros mecanismos de escalonamento (veja ESFQ).
3.3 Classificação (Classifying)
Os Classificadores classificam ou separam o tráfego em filas.
Classificação é o mecanismo pelo qual os pacotes são separados para diferentes tratamentos, possivelmente em diferentes filas saintes. Durante o processo de aceitação, roteamento e transmissão de um pacote, um dispositivo de rede pode classificar o pacote de inúmeras formas diferentes. A Classificação pode incluir marcação de pacote, que normalmente acontece nos limites de uma rede sob um único controle administrativo ou a classificação pode ocorrer em cada hop individualmente.
O modelo Linux (veja Seção 4.3, “filter”) permite que um pacote seja cascateado através de uma série de classificadores em uma estrutura de controle de tráfego e ser classificado em conjunção com os policers (veja também Seção 4.5, “policer”).
3.4 Policiamento (Policing)
Os Policers (guardas) medem e limitam o tráfego em uma fila particular.
O policiamento, como um elemento de controle de tráfego, é simplesmente um mecanismo pelo qual o tráfego pode ser limitado. Policiamento é mais freqüentemente usado nas bordas de rede para assegurar que um par não esteja consumindo mais do que a sua largura de banda alocada. Um guarda aceitará tráfego a certa taxa, e então executa uma ação sobre o tráfego que exceder a essa taxa. Uma solução particularmente cruel é descartar o tráfego, muito embora o tráfego possa ser re-classificado em vez de ser descartado.
Um guarda é uma questão yes/no a cerca da taxa na qual o tráfego está entrando em uma fila. Se o pacote está a ponto de entrar em uma fila uma dada taxa inferior, toma uma ação (permite o enfileiramento). Se o pacote está a ponto de entrar em uma fila a uma dada taxa superior, toma uma outra ação. Ainda que o guarda use um mecanismo token bucket internamente, ele não tenha a capacidade de atrasar um pacote como faz um mecanismo de shaping.
3.5 Descarte (Dropping)
Dropping descarta um pacote, fluxo ou classificação inteira.
Fazer Drop de um pacote é um mecanismo pelo qual um pacote é descartado.
3.6 Marcação (Marking)
Marking (Marcação) é um mecanismo pelo qual o pacote é alterado.
Obs.:
Isso não é fwmark. O alvo MARK do iptables e a --mark do ipchains são usados para modificar pacote metadados, não são propriamente pacotes.
Os mecanismos de marcação do Controle de Tráfego carimbam um selo DSCP no próprio pacote, que é então usado e respeitado pelos demais roteadores dentro de um domínio administrativo (normalmente para o DiffServ).
________________________________________
[4] Esse efeito podar não é sempre desejado, e conseqüentemente os parâmetros burst e cburst do HTB.
Nenhum comentário:
Postar um comentário