Infra - Linux

Bing: Medindo velocidade da conexão no Linux

O Bing é um software usado para medir a conexão de determinado link entre dois hosts. Escrito por Pierre Beyssac e licenciado pela GPL, este software é muito eficaz na hora de medir o peso de determinada conexão. Vejamos como instalar e utilizar no Linux.

por José Cleydson Ferreira da Silva



Conhecendo e instalando o Bing no Linux


         Para entender melhor a função do mesmo, imagine que em sua casa ou na empresa na qual você possa ser um colaborador, umas das ferramentas de comunicação ou de transporte de arquivos pesados é uma prática de prioridade 0.

         Empresas de publicidade e propaganda, que utilizam em grande escala o transporte de imagens com uma resolução de extremo tamanho, GIFs animados, arquivos de mp3 etc. Com crescente fluxo de sua rede as conexões de 100MB/s acabam não trabalhando com a mesma proporção e o que valerá é a capacidade de conexão de um ponto ao outro (Host_A <==> Host_B). Ficamos às vezes imaginando qual é o motivo de determinadas variações inexplicáveis em nossa rede na hora de uma transferência de determinado conteúdo.

         O Bing utiliza o protocolo ICMP naturalmente, emitindo um pacote ICMP com pedido de resposta e analisa a mudança resultante do RTT. Variando um pouco o RTT, o Bing faz medidas de cada múltiplo que está sendo medido.O envio de pacote pelo Bing só é possível por que ele utiliza o icmp_dev, onde o sistema de exploração não é o único permitido para fazer envio de pacote, naturalmente usaria sockets primários para essa finalidade, mas o Winsock não suporta os soquetes primários (no caso do Windows).

Instalando o Bing no Linux ou em derivados de Unix

O Bing é um programa bem conhecido no mundo open source e muitos administradores de redes o utilizam para seus fins. Um dos objetivos da comunidade de software livre em geral é facilitar a vida dos usuários para que os mesmos não passem parte de seu tempo compilando pacotes, por isso as distribuições de ponta já incluem um vasto "cardápio" de programas em seu mirror.

Com o Bing não é diferente. Ele está bem enraizado em vários mirrors. Para instalar o Bing mostraremos duas formas convencionais que já sabemos. A primeira compilando o pacotes e outra através do mirror padrão.

Para fazer o download do arquivo tar.gz entre na seguinte URL:

http://www.boutell.com/lsm/lsmbyid.cgi/002078vv

A forma de instalação é simples, entre no diretório em que foi feito o download e descompacte o arquivo e de os seguintes comandos:

$ make
# make install


Em meras oportunidades de instalar o Bing através dos mirrors, vale lembrar a distro que está usando no momento, seja ela derivada do Debian ou Red Hat.

# apt-get install bing (para os derivados do Debian)
# urpmi bing (para os derivados do Red Hat)

Após instalado, podemos agora ver algumas de suas utilidades e seu funcionamento. Em muitos casos não são usados todos os seus parâmetros, mas isso não significa que o Bing não seja poderoso. Existem casos que administradores de redes possuem um conjunto de ferramentas específicas para realizar sua tarefas diárias, onde se aplica-se o seguinte ditado popular: "cada caso, é um caso".


Medindo a conexão

Iniciando então o uso do software, experimente dar o seguinte comando para testar a velocidade de sua conexão:

bing ip_maquina_local ip_gateway

Exemplo:

# bing 192.168.0.168 192.168.0.1

Em seguida de Ctrl+c para que ele possa retornar a estatística, o qual na saída padrão exibirá todos os resultados de sua pesquisa. No final dos resultados será apresentando o valor, ou seja, o tamanho do link.

--- estimated link characteristics ---

host bandwidth ms

warning: rtt big 192.168.0.168 0.013ms < rtt small 192.168.0.168 0.015ms

192.168.0.1 21.787Mbps 0.121

Esse procedimento é o mais correto para medir a conexão, pois ela mede a conexão real entre dois hosts, ao contrário de alguns métodos que algumas pessoas usam. É possível também determinarmos o tamanho do pacote enviado dando o seguinte comando:

# bing -S 1000 192.168.0.168 192.168.0.1

Cuidado! Não aumente muito o tamanho do pacote porque isto pode provocar a fragmentação/remontagem do IP sobre a ligação para medir o *or* nas ligações intermediárias, ao qual acima as medidas tomadas. Se você permanece abaixo de 1400 bytes, você está seguro (exceto no SLIP lig onde você não deve ultrapassar 1000).

Com a opção -v podemos também verificar tamanho de bytes que são disparados para fazer o pedido de resposta, entendendo que ele joga dois valores para que possa se fazer a leitura precisa, disparando 72 bytes e 136 bytes.

Existem casos em que a medição não será precisa no caso de algumas conexões discadas, por exemplo devido a limitação do hardware.

Em casos de ligações saturadas o bing trabalha medindo rtts, onde na hora da medida haverá um atraso mínimo na hora de fazer a leitura do pacote. Conexões IP/X25 fazem a capsulagem em pacotes pequenos, por isso é muito difícil saber a capacidade "exata" porque o consumo geral pelo pacote do IP não são fixas e não variam com o tamanho de pacote. Entretanto um Bing inteligente poderia encontrar o tamanho encapsulating lentamente aumentando o tamanho de pacote e detectando etapas no RTT.

Sabendo as perdas do pacote em host 1 e em host 2, é possível computar a perda entre os mesmos.

O Bing tem o poder de calcular determinadas perdas, mas vale ressaltar que essas perdas são despresíveis, em relação ao resultado obtido na saída padrão. Está é uma das diversas ferramentas que o mundo de código aberto pode lhes apresentar.

Sobre o autor

José Cleydson Ferreira da Silva.

Técnico em Tecnologia da Informação formado pela Escola Técnica de Viçosa-MG (ETEV), Bacharelando em Sistemas de Informação - FDV Viçosa-MG, usuário do Linux por filosofia, acredito que os padrões abertos podem mudar os rumos do mercado de TI.

Contatos:

Web site:
www.cleysinho.blogspot.com
Web site:
www.gnu-lia.org
Email, gtalk: cleysinhonv@gmail.com
Twitter: @cleysinhonv
Outros artigos:
http://www.vivaolinux.com.br/artigos/userview.php?login=cleysinhonv

José Cleydson Ferreira da Silva

José Cleydson Ferreira da Silva - Técnico em Tecnologia da Informação formado pela Escola Técnica de Viçosa-MG (ETEV), Bacharelando em Sistemas de Informação - FDV Viçosa-MG, usuário do Linux por filosofia, acredito que os padrões abertos podem mudar os rumos do mercado de TI.