Quel (s) outil (s) puis-je utiliser pour simuler un WAN pour le trafic HTTP?

13

Parfois, j'ai besoin de simuler un environnement WAN entre mon client et mon serveur. Je veux dire, spécifiquement, du plus important au moins:

  • Limite totale de bande passante,
  • Longs retards occasionnels (plusieurs dizaines de secondes)
  • gigue

De préférence, le simulateur WAN pourrait agir comme un proxy - je pointe mon client vers le simulateur WAN et le simulateur WAN parle au serveur. J'ai passé beaucoup de temps à googler pour essayer de trouver quelque chose qui pourrait le faire, et j'en ai trouvé très très peu.

Bien sûr, je sais qu'il existe différentes solutions que je peux implémenter en contrôlant la topologie du réseau et en insérant des périphériques au milieu, mais l'informatique contrôle le réseau. Je suis juste développeur.

Quels outils gratuits ou à bas prix connaissez-vous qui peuvent aider à simuler un WAN?

Eddie
la source
Quel environnement utilisez-vous? Il y a différentes choses que vous pouvez faire avec la pile réseau si vous utilisez Linux ...
Hamish Downer

Réponses:

6

http://communities.vmware.com/blogs/Knorrhane/2008/01/23/how-to-simulate-wan-connections-in-your-own-test-lab-for-free

saschabeaumont
la source
Dans l'article, ils mentionnent que Tmurgent introduit également la latence pour les tests. C'est la clé. Nous avons trouvé difficile avec notre application interne que la bande passante n'était pas le principal problème, c'était la latence. Nous devons être très prudents avec la construction de nos objets sur le client car tous les appels SQL peuvent représenter des coûts réels dans un environnement WAN avec latence.
Aaron
7

Si vous utilisez Linux, vous pouvez utiliser tc - le programme de contrôle du trafic. Il devrait être standard dans votre distribution. Par exemple, pour définir la vitesse maximale de téléchargement (dans ce cas, 100 kbit par seconde):

$ sudo tc qdisc add dev eth1 root tbf rate 100kbit latency 600ms burst 1540   

pour définir la vitesse maximale de téléchargement (dans ce cas 500 kbit par seconde):

$ sudo tc qdisc add dev eth0 root tbf rate 500kbit latency 600ms burst 1540

tc peut faire bien plus que cela. Je ne trouve pas la référence pour le moment, mais vous pouvez supprimer des paquets, etc. avec tc. Pour en savoir plus, vous pouvez lire le guide du contrôle du trafic .

Alternativement, vous pouvez regarder dans tcng - Traffic Control Next Generation - cela utilise tc à un bas niveau, mais a un langage légèrement plus agréable pour spécifier ce que vous faites. Je ne l'ai pas utilisé, mais il y a un guide tcng et un manuel tcng .

Hamish Downer
la source
3

Il y a une entreprise appelée Shunra qui se spécialise dans ce genre de choses. Je n'ai aucune expérience avec eux mais ils existent depuis un certain temps.

Joel Spolsky
la source
2

DummyNet est un logiciel gratuit qui peut être utilisé pour simuler diverses conditions de réseau. Si vous avez une machine de rechange, installez FreeBSD et DummyNet, et mettez-la en ligne entre votre client et votre serveur. Vous pouvez ensuite modifier DummyNet pour varier la latence, la gigue et la perte que vous rencontrez.

EDIT: relisez simplement la question et réalisez que vous ne possédez pas votre réseau. Dans ce cas, configurez DummyNet sur une machine qui possède deux cartes réseau et transformez-le en un routeur qui a votre WAN d'entreprise d'un côté et votre poste de travail de l'autre. Assurez-vous de parler d'abord à votre service informatique pour vous assurer qu'il n'a aucun problème avec vous!

Murali Suriar
la source
2

lagfactory

Enveloppe tc pour fournir un comportement réseau aléatoire peu fiable.

Cawflands
la source
1

Je parie que vous pourriez créer un plugin Fiddler pour simuler quelque chose comme ça, mais je ne connais pas de solution prête à l'emploi.

jj33
la source