Simulando links com o netem

Este artigo descreve o netem, uma disciplina de escalonamento de pacotes de rede do kernel do Linux que possibilita adicionar latência, jitter, delay, perda etc de pacotes a uma interface de rede para fins de testes e simulações.

[ Hits: 22.122 ]

Por: Daniel Bristot de Oliveira em 18/08/2009 | Blog: http://bristot.eti.br


Introdução



Uma das etapas do meu trabalho de conclusão de curso é simular um link de internet em um pc-gateway entre dois hosts, como na ilustração mais abaixo.

Neste ambiente serão executados simulações de tráfego VoIP e colhidas informações estatísticas para análise de desempenho das configurações de QoS em rede do PABX. Para isto irá-se utilizar um Linux configurado como roteador e nele simular um link de internet, adicionando latência, delay, jitter e traffic shapping ao tráfego roteado por ele.

O pc-gateway possui duas interfaces, eth0 e eth1, onde a interface eth0 está diretamente ligada a um desktop Linux, que irá executar o cliente da ferramenta de benchmark, e a interface eth1 está diretamente ligada ao PABX que irá executar o servidor da ferramenta de benchmark. Ambos, desktop e PABX, estão em sub-redes diferentes e possuem como roteador padrão o pc-gateway.
Linux: Simulando links com o netem
Para simular o link de internet irá-se configurar o netem, que é uma disciplina de escalonamento de pacotes no kernel do Linux que possibilita simular:
  • delay;
  • perda;
  • jitter;
  • corrupção de pacote;
  • duplicação de pacotes; e
  • reordenação de pacotes.

Antes de usar o netem

O netem provê a funcionalidade de emulação de tráfego de rede para testes de protocolos, com ele é possível simular delay, perda, duplicação de pacotes e reordenação de pacotes etc.

Para utilizar o netem é preciso habilitar o suporte no kernel do Linux e instalar utilitário tc do pacote iproute2.

Para adicionar suporte no kernel ao netem habilite as opções:
  • CONFIG_NET
  • CONFIG_NET_SCHED
  • CONFIG_NET_SCH_NETEM

Para habilitar no menuconfig:

Networking support --->
  Networking options  --->
    [*] QoS and/or fair queueing  --->
      <*>   Network emulator (NETEM)

O iproute2 faz parte da maioria das distribuições Linux, para instalá-lo no Fedora GNU/Linux execute o seguinte comando:

# yum -y install iproute2

    Próxima página

Páginas do artigo
   1. Introdução
   2. O netem
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando Gnome DropLine (Slackware 10.2+)

Criando facilmente um servidor APACHE2 + PHP5 (ou PHP4) + SNMP + MRTG

Controle de banda sem mistérios para servidores

Placa de rede wireless (RT61STA) com SuSE

Run0 - Elevação de privilégios com systemd

  
Comentários
[1] Comentário enviado por gustavoh84 em 18/08/2009 - 22:51h

Legal esse artigo, essa eu não conhecia, parabéns!

[2] Comentário enviado por acollucci em 19/08/2009 - 13:06h

E bem legal, mas ainda to digerindo...rs
parabens
att,
Anthny Collucci

[3] Comentário enviado por spolti em 20/08/2009 - 09:07h

Boa dica


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts