Como faço para simular um ambiente de baixa largura de banda, alta latência?

Tenho de simular uma ligação de baixa largura de banda e alta latência a um servidor para imitar as condições de um VPN num local remoto. A largura de banda e latência devem ser ajustáveis para que eu possa descobrir a melhor combinação, a fim de executar o nosso pacote de software.

Author: JohnFx, 2008-09-25

22 answers

Para macOS , existe o condicionador de ligação de rede {[5] } que simula largura de banda configurável, latência e perda de pacotes. Ele está contido nas Ferramentas IO do Hardware para Xcode . Screenshot

 77
Author: Jon Colverson, 2016-11-02 01:34:26

Há um excelente writeup de configurar uma máquina FreeBSD para fazer apenas isso-pegue o seu ambiente de trabalho antigo padrão, jogue em um NIC adicional, e construir.

O writeup está disponível em http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html.

No Passo 5 das instruções acima, está a activar uma firewall. Para apenas simular uma ligação IP diferente, você poderia (por exemplo) fazer o seguinte:

Crie um ficheiro /etc/rc.firewall.56k que contenha o seguinte:

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

E mudar /etc/rc.conf... substituir a linha

firewall_type="open"

Com

firewall_type="/etc/rc.firewall.56k"
Reinicie, e tem uma ponte 56K!

Se por acaso estiver a trabalhar a partir de um Macintosh, o SO tem o ipfw incorporado por omissão. Eu fiz a mesma coisa ao encaminhar o tráfego de rede sobre o aeroporto e através da ethernet, configurando-o para que qualquer coisa que venha para o aeroporto tenha as mesmas características que o que eu estou tentando imitar. Pode invocar o ipfw comandos diretamente do terminal e obter os mesmos efeitos.

 35
Author: heckj, 2011-02-09 12:34:16

No passado, usei uma ponte usando a funcionalidade Linux Netem (emulação de rede). É altamente configurável -- permitindo a introdução de atrasos (o primeiro exemplo é para um WAN), perda de pacotes, corrupção, etc.

Editar: existe também a interface Web para controlar a configuração.

Estou a notar que o Netem funcionou muito bem para as minhas aplicações, mas também acabei por usar Wanem várias vezes. A ISO inicializável fornecida (e imagens de aparelhos virtuais) tornou-o bastante útil.

 26
Author: Kris Kumler, 2015-01-24 04:16:18

Charles

Deparei-me com Charles a aplicação 'proxy' de depuração da web e tive grande sucesso em emular a latência da rede. Ele funciona no Windows, Mac e Linux.

Charles on Mac

Acelerador de largura de banda / simulador de largura de banda

O Charles pode ser usado para ajustar a largura de banda e latência da sua ligação à Internet. Isto permite-lhe simular as condições do modem usando a sua ligação de alta velocidade.

A largura de banda pode ser reduzida para quaisquer bytes arbitrários por segundo. Isto permite que qualquer velocidade de conexão seja simulada.

A latência também pode ser definida para qualquer número arbitrário de milisegundos. O atraso de latência simula a latência vivida em conexões mais lentas, ou seja, o atraso entre fazer um pedido e o pedido que está sendo recebido na outra extremidade.

DummyNet

Também pode usar o vmware para executar o BSD ou o Linux e tentar Este artigo (DummyNet) ou Este.

 20
Author: Eugene Yokota, 2013-11-13 16:55:58

Tenta WANem

A WANem é um emulador de rede de grande área, destinado a proporcionar uma experiência real de uma rede/Internet de grande área, durante o desenvolvimento de aplicações / testes em um ambiente LAN.

 13
Author: epatel, 2008-09-24 22:38:19

Eu encontrei este pequeno programa arrumado desajeitado . Está em estado alfa, mas parece funcionar bem para mim, e é de código aberto.

Editar: outros notaram que você não pode limitar a largura de banda com desajeitado, e isso é verdade. Você só pode adicionar latência e alguns outros erros relacionados à rede. Isto irá desqualificar esta resposta como uma resposta válida para a pergunta, no entanto, uma vez que eu tinha bom uso para ele quando eu queria simular uma rede ruim para que eu vou deixá-lo aqui como desde que tenha > 0 votos ou semelhante.

 13
Author: Markus, 2016-02-26 07:48:43

Para O Windows pode usar esta aplicação: http://www.softperfect.com/products/connectionemulator/

Emulador de ligação WAN para Windows 2000, XP, 2003, Vista, Seven e 2008.

Talvez o único disponível para o Windows.
 12
Author: Andrew Lock, 2010-09-25 07:37:42

Eu tentaria usar netem no linux. Com ele você pode simular atraso adicional, corrupção, perda de pacotes e duplicação. Até funciona no dispositivo de loopback.

 7
Author: Josh, 2009-10-01 19:52:07

Outro programa do lado do cliente( apenas Windows), é o NetLimiter - http://www.netlimiter.com

 5
Author: kaliatech, 2010-10-22 11:38:46
Uso NetBalancer na minha máquina de janelas.

Http://seriousbit.com/netbalancer/

Atualizações em 2017-10-07: a última versão livre do NetBalancer é 9.2.7. O programa tem uma data de validade codificada. Antes de iniciar o serviço NetBalancer, você precisa voltar o relógio do sistema antes de 2016-10-18. Ver Este artigo para mais pormenores.

 5
Author: Tony, 2017-10-08 06:22:21

Encontrei este para o Windows usando o Fiddler (solução livre) http://www.logic-worx.com/index.php/tools-and-apps/fiddler-connection-simulator/

 4
Author: hB0, 2012-07-03 14:27:42

Acho que {[[0]} poderia fazer o trabalho na plataforma baseada no UNIX.

tc é usado para configurar o controlo de tráfego no kernel Linux
http://lartc.org/manpages/tc.txt

 4
Author: Sawan, 2016-05-22 11:18:57

Para simular uma ligação de baixa largura de banda para testar os sítios web que utilizam o Google Chrome, pode ir à página de rede em ferramentas F12 e seleccionar um nível de largura de banda para simular ou criar uma largura de banda personalizada para simular.

 3
Author: user1785960, 2016-06-09 10:18:34
Aqui está um bom artigo sobre isto. http://purefinity.blogspot.com/2009/01/simulating-network-delay-using-linux.html
 2
Author: Andrey Nikishaev, 2012-04-05 10:50:13

Se você está no linux, eu acho que o controlo de tráfego é uma grande ajuda para este tipo de coisas.

 1
Author: smo, 2009-10-01 19:58:21

Existe um produto de http://www.shunra.com chamado Desktop VE, que pode ser usado para simular condições de rede variáveis. Ele permite ajustar latências, largura de banda e packetloss com uma UI simples. O único senão é que não é de graça. Espero que isto ajude.

 1
Author: Shreedhar Kotekar, 2010-10-07 14:17:46

Ando à procura de uma ferramenta fácil de usar para este tipo de testes há algum tempo. Acabei de me deparar com isto no outro dia.

Se estás a correr janelas, devias verificar. Foi super fácil de configurar e começar, e parece funcionar muito bem. Ele permite que você defina largura de banda, latência e perda de pacotes em cada direção. A outra coisa realmente boa é que você pode definir "condições de fluxo de correspondência" de modo que só afeta o o trânsito é o que tu queres. Sim, e é grátis.
 1
Author: Mark, 2011-05-20 16:44:05
Acho que encontrei o que precisava. talvez você possa usarcharles proxy ouslowy . espero que ajude.
 1
Author: Moh Hasbi Assidiqi, 2013-03-31 23:09:18

Dê uma olhada no emulador de rede NE-ONE que lhe permite configurar a largura de banda, Latência, Perda de pacotes, reordenamento de pacotes, duplicação de pacotes, fragmentação de pacotes, congestionamento da rede e muitas outras deficiências para que você possa criar condições de rede do mundo real no laboratório. Diferentes incapacidades podem ser configuradas para o up e downlink para que você possa ter um uplink realmente bom, mas uma experiência downlink realmente ruim, ótimo para ver como o aplicativo lida com a fila TCP porque os acks não volte em tempo oportuno e a latência global, portanto, aumenta!

Há aqui um vídeo geral http://www.youtube.com/watch?v=DwtqlE7LcrQ {[5] } especificamente dirigida a desenvolvedores de jogos, mas mostra do que se trata. O NE-ONE está configurado usando um navegador web para que seja realmente fácil de ser instalado e configurado - você não precisa ser um guru de rede: -)

Há uma versão de hardware. http://www.itrinegy.com/index.php/products/network-emulators/ne-one - ou você pode baixar uma versão Virtual Appliance (software) que funciona sob VMware ESXi Server. O aparelho Virtual pode ser descarregado da VMware Solution Exchange - solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator
 1
Author: Peter White, 2016-03-18 12:27:09
Usámos este software uma vez dentro de uma máquina Virtual para testar uma escala de largura de banda.

Http://www.softinengines.com/index.php?section=download&langu=en

Não é de graça, mas tem um julgamento de 30 dias.
 0
Author: Bob King, 2008-09-24 22:41:51

Podes tentar isto: CovenantSQL/GNTE escreve o YAML assim:

group:
  - 
    name: china
    nodes:
      - 
        ip: 10.250.1.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.1.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "100ms 10ms 30%"
    loss: "1% 10%"
  - 
    name: us
    nodes:
      - 
        ip: 10.250.2.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.2.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "1000ms 10ms 30%"
    loss: "1% 10%"

network:
  -
    groups:
      - china
      - us
    delay: "200ms 10ms 1%"
    corrupt: "0.2%"
    rate: "10mbit"

Corre../generate scripts/your.yaml

 0
Author: auxten, 2018-08-04 10:23:26