Pular para o conteúdo

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.
Daniel Bristot de Oliveira bristot
Hits: 23.808 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

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

   1. Introdução
   2. O netem
Nenhum artigo encontrado.

Exemplos práticos de tabelas de partições

Instalação do OpenJDK e Oracle JDK 11 no Ubuntu e Debian

Instalando e configurando o SSH

Apache 2.4 - A diretiva Options

Zenwalk Core: Para quem só quer o essencial

#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

Entre na sua conta para comentar.