FERRAMENTAS LINUX: O CAKE Networking está pronto para ser provado com o kernel Linux 4.19

quinta-feira, 12 de julho de 2018

O CAKE Networking está pronto para ser provado com o kernel Linux 4.19




Confira!!



Para aqueles que mantêm seu próprio roteador Linux caseiro, o kernel Linux 4.19 será bastante empolgante: o CAKE Qdisc foi mesclado no net-next, tornando-se um recurso para o próximo ciclo do kernel.

CAKE Qdisc é um recurso de rede que está há muito tempo em desenvolvimento (mais de 19 rodadas de revisão antes de ser aceito no net-next) e já está disponível como um recurso do OpenWRT. O CAKE Qdisc (exposto como o módulo sch_cake) visa "extrair a maior parte da largura de banda e latência dos links e roteadores ISP mais lentos". Entre suas características:
O CAKE é preenchido com:

* Um algoritmo híbrido Codel / Blue AQM, "Cobalt", vinculado a um sistema de enfileiramento derivado FQ_Codel, que se autoconfigura com base na largura de banda.
* Um novo modo "triple-isolate" (o padrão) que equilibra o FQ por host e por fluxo mesmo através do NAT.
* Um shaper baseado no déficit, que também pode ser usado em um modo ilimitado.
* 8 maneira de definir o hashing associativo para reduzir as colisões de fluxo a um mínimo.
* Uma interpretação razoável de várias compensações de latência / perda de diffserv.
* Suporte para zerar marcações diffserv para entrada e saída de tráfego.
* Suporte para interagir bem com o enquadramento do shaper do Docsis 3.0.
* Suporte extensivo para tipos de enquadramento DSL.
* Suporte para filtragem de ack.
* Extensa estatística para medição, perda, marcações ecn, variação de latência.

David Miller, mantenedor de redes, não está satisfeito com alguns aspectos do CAKE, mas ele decidiu mesclá-lo de qualquer maneira e agora está na net - a seguir à abertura da janela de mesclagem do Linux 4.19 em agosto.
Os Princípios do CAKE:
(ou, como ter seu bolo e comê-lo também)

Esta é uma combinação de várias técnicas de modelagem, AQM e FQ em um pacote fácil de usar:

- Um shaper de largura de banda geral, para afastar o gargalo equipamento CPE estúpido e MACs inchado. Isso opera no modo deficitário (como em sch_fq), eliminando a necessidade de qualquer tipo de parâmetro de burst (por exemplo, profundidade do token bucket). O suporte a rajadas é limitado ao necessário para superar a latência de planejamento.

- Uma fila de prioridade Diffserv-aware, dando mais prioridade a certas classes, até uma fração especificada de largura de banda. Acima desse limite de largura de banda, a prioridade é reduzida para evitar outras latas famintas.

- Cada estanho de prioridade tem um sistema de fila de fluxo separado, para isolar os fluxos de tráfego uns dos outros. Isso evita que uma explosão em um fluxo aumente o atraso para outro. Os fluxos são distribuídos para filas usando uma função hash associativa de conjunto.

- Cada fila é ativamente gerenciada pelo Cobalt, que é uma combinação dos algoritmos Codel e Blue AQM. Isso serve os fluxos de forma justa, e sinaliza o congestionamento antecipado via ECN (se disponível) e / ou gotas de pacotes, para manter a latência baixa. Os parâmetros do codel são ajustados automaticamente com base na configuração de largura de banda, conforme necessário em baixas larguras de banda.

Os parâmetros de configuração são mantidos deliberadamente simples para facilitar o uso. Tudo tem padrões normais. A generalidade completa da configuração não é * uma meta.

A fila de prioridade opera de acordo com um esquema de DRR ponderado, combinado com um rastreador de largura de banda que reutiliza a lógica do shaper para detectar qual lado do limite de compartilhamento de largura de banda o estanho está operando. Isso determina se um peso baseado em prioridade (alto) ou um peso baseado em largura de banda (baixo) é usado para aquele estanho no passe atual.

Este qdisc foi inspirado pelo código fq_codel de Eric Dumazet, que ele gentilmente nos concedeu permissão para alavancar.

O algoritmo de gerenciamento de fila do CAKE é curto para o "Common Applications Kept Enhanced" e com o kernel Linux 4.19 pode ser ativado através do switch NET_SCH_CAKE Kconfig.

Fonte

Até a próximma!!

Nenhum comentário:

Postar um comentário