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.178 ]

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

Configurando JAVA no Firefox para acessar página de bancos

Bind9 em chroot no Debian Lenny

Modo texto no Ubuntu 10.10 definitivo rápido e prático!

Nagios - Configurando níveis de acesso e autenticação centralizada no Active Directory

Servidor de backup Bacula 7 + Webacula 5.5 no Debian Wheezy

  
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