Informática Numaboa - Linux
Administração de Largura de Banda no Linux II
Dom 22 Abr 2007 18:09 |
- Detalhes
- Categoria: Como fazer configurações
- Atualização: Terça, 21 Abril 2009 18:20
- Autor: vovó Vicki
- Acessos: 10404
Balde de Token Hierárquico
Martin Devera (
A HTB (Hierarchical Token Bucket - Balde de Token Hierárquico) funciona como a CBQ, mas não recorre a cálculos de tempo de ociosidade para modelar. Ao invés disto, é um Token Bucket Filter com classe - daí o nome. Possui apenas alguns parâmetros bem documentados no site do autor.
A configuração da HTB pode ir se tornando mais complexa sem maiores problemas. Contrariamente, a da CBQ é complexa por natureza, mesmo nos casos mais simples! HTB3 (cheque na página do autor para maiores detalhes sobre versões) agora faz parte do código fonte oficial do kernel (desde 2.4.20-pre1 e 2.5.31). Entretanto, pode ser possível que você precise de uma versão com patch para HTB3 do 'tc': o kernel HTB kernel partes do espaço do usuário precisam ser da mesma versão maior (major version) ou o 'tc' não funcionará com a HTB.
Se você já tem um kernel moderno ou se puder fazer um patch no seu kernel, não deixe de experimentar a HTB.
Exemplo de configuração
Funcionalmente, esta configuração é praticamente a mesma do exemplo dado na CBQ:
# tc qdisc add dev eth0 root handle 1: htb default 30 # tc class add dev eth0 parent 1: classid 1:1 htb rate 6mbit burst 15k # tc class add dev eth0 parent 1:1 classid 1:10 htb rate 5mbit burst 15k # tc class add dev eth0 parent 1:1 classid 1:20 htb rate 3mbit ceil 6mbit burst 15k # tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1kbit ceil 6mbit burst 15k
O autor recomenda SFQ para as seguintes classes:
# tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10 # tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10 # tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10
Adicione os filtros que dirigem o tráfego para as classes certas:
# U32="tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32" # $U32 match ip dport 80 0xffff flowid 1:10 # $U32 match ip sport 25 0xffff flowid 1:20
E isto é tudo. Nada e números misteriosos não explicados, nem de parâmetros não documentados.
A HTB, com certeza, parece maravilhosa - se 10: e 20: tiverem suas larguras de banda garantidas e ainda sobrar banda para dividir, elas fazem um empréstimo na razão 5:3, exatamente como você espera que seja feito.
O tráfego não classificado é roteado para 30:, com pouca largura de banda própria, mas que pode emprestar toda banda que estiver sobrando. Como foi escolhida a SFQ internamente, ganhamos a imparcialidade das divisões de graça... ou 'de grátis', como se ouve por aí