Traffic control - realizando um simples estudo didático
Introdução
Mais uma vez venho por meio do blog exemplificar o uso do controle de tráfego com tc, nesse post possui um diferencial que se baseá em video tentando deixar de uma forma explicativa através de comentários
Nesse ambiente utilizamos apenas dois hosts
Figura 1.0 - Descrição da topologia utilizada na video aula. |
Pronto, analisando essa topologia iremos aplicar nosso QOS, lembrando que realizaremos um teste de banda analisando o quanto esta chegando em nosso host desktop:
Utilizando o speedtest.net e no teste bateu:
Download: 40M
Upload: 30M
Para garantia em uma outra hora foi realizado outro teste com download analisando a taxa de transferência:
A taxa de transferência alcançado foi de 250 KByte, unidade utilizada pelo "tc" pode ser passada tanto em byte como em bit, mas a unidade utilizada em rede é sem bit/s utilizaremos esse em nosso laboratório.
Configuração
Realizaremos uma delimitação da banda para o host que terá garantia de 2Mbit, mas não só o host que se afetado e sim toda a rede está ligado a ele.
Nesse outro vídeo a todo o procedimento de implementação, aplicando controle tanto do download como do upload.
Todo o conteúdo do vídeo terá sua documentação abaixo descrita o vídeo não possui áudio apenas uma música de fundo, mas seu conteúdo e os testes são de suma importância:
Nessa imagem explica como está a topologia:
Figura 1.1 - Topologia de classe ( classefull ) |
Quando for criar a disciplina de fila ( qdisc ) não é obrigatório definir uma classe padrão.
Documentação dos passos seguidos
Criação das disciplina de fila ( qdisc ) e definição da classe padrão:# tc qdisc add dev eth0 root handle 1:0 htb default 10
Visualizando a qdisc:
# tc qdisc show
Por padrão a disciplina de fila já é utilizada por todas as interfaces, mas o algoritmo utilizado é o FIFO ( primeiro a entrar primeiro a sair ) esse algoritmo é nada mais que um enfileiramento de pacotes
Criação da classe:
# tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1000mbit
Criação da classe filha que irá ser a padrão onde que todos entrarão nessa regra:
# tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit prio 0
Pessoal vale a pena salientar que estipulamos 2mbit, mas a caso onde delimitamos recurso e esse recurso nem sempre é totalmente utilizados.
O parâmentro "ceil" estipula o máximo utilizado, quando adicionado esse valor o "rate" já irá valer como o minimo, nesse exemplo:
# tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit ceil 2500kbit
Os usuários da rede tem uma banda garantida de 2mbit enquanto que podem alcançar até 2,5mbit.
Conclusão
Com esse vídeo fica mais fácil de entender o funcionamento do QOS dentro de uma rede simples, logo em breve irei mostra a utilização de vários algoritmo suportado e entender todo o conceito de classes, como classfull e classless deixando nosso QOS de maneira híbrida.
Bibliografia
Linux Controle de Redes -- André Stato
Comentários
Postar um comentário