web-dev-qa-db-fra.com

Comment simuler un environnement à faible bande passante et à latence élevée?

J'ai besoin de simuler une connexion à un serveur à faible bande passante et à latence élevée pour émuler les conditions d'un VPN sur un site distant. La bande passante et la latence devraient être ajustables pour que je puisse découvrir la meilleure combinaison afin d’exécuter notre progiciel.

197
Nic

Pour macOS , il existe le conditionneur de liaison réseau qui simule une bande passante, une latence et une perte de paquets configurables. Il est contenu dans les Hardware IO Tools for XcodeScreenshot

78
Jon Colverson

C’est un excellent exemple de configuration d’une machine FreeBSD pour cela: prenez votre ancien ordinateur de bureau standard, ajoutez une carte réseau supplémentaire et construisez-vous.

La description est disponible sur le site http://www.freebsd.org/doc/fr/articles/filtering- bridgeers/article.html .

À l'étape 5 des instructions ci-dessus, vous activez un pare-feu. Pour simuler simplement une connexion IP différente, vous pouvez (par exemple) procéder comme suit:

Créez un fichier /etc/rc.firewall.56k contenant les éléments suivants:

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

Et changez /etc/rc.conf... remplacez la ligne

firewall_type="open"

avec

firewall_type="/etc/rc.firewall.56k"

redémarrez, et vous avez un pont de 56K!

Si vous travaillez à partir d'un Macintosh, ipfw est intégré à ce système d'exploitation par défaut. J'ai fait la même chose en acheminant le trafic réseau sur l'aéroport et via Ethernet, en le configurant de sorte que tout ce qui passe au-dessus de l'aéroport présente les mêmes caractéristiques que tout ce que j'essaie d'imiter. Vous pouvez appeler les commandes ipfw directement depuis le terminal et obtenir les mêmes effets.

36
heckj

Dans le passé, j’utilisais un pont utilisant la fonctionnalité Linux Netem (émulation de réseau). Il est hautement configurable et permet l'introduction de retards (le premier exemple concerne un réseau étendu), la perte de paquets, la corruption, etc.

EDIT: Il existe également une interface Web MasterShaper permettant de contrôler les paramètres.

Je remarque que Netem a très bien fonctionné pour mes applications, mais j'ai également fini par utiliser WANem plusieurs fois. L'ISO de démarrage fourni (et les images de l'appliance virtuelle) le rendaient très pratique.

26
Kris Kumler

Charles

Je suis tombé sur Charles l'application de proxy de débogage Web et j'ai eu beaucoup de succès à émuler la latence du réseau. Cela fonctionne sous Windows, Mac et Linux.

Charles on Mac

Accélérateur de bande passante/simulateur de bande passante

Charles peut être utilisé pour ajuster la bande passante et la latence de votre connexion Internet. Cela vous permet de simuler les conditions du modem à l'aide de votre connexion haut débit.

La bande passante peut être limitée à n'importe quel octet arbitraire par seconde. Cela permet de simuler n'importe quelle vitesse de connexion.

La latence peut également être définie sur un nombre arbitraire de millisecondes. Le délai de latence simule le temps de latence observé sur des connexions plus lentes, c'est-à-dire le délai entre l'envoi d'une requête et la réception de la requête à l'autre extrémité.

DummyNet

Vous pouvez également utiliser vmware pour exécuter BSD ou Linux et essayer cet article (DummyNet) ou celui-ci.

21
Eugene Yokota

J'ai trouvé ce petit programme soigné pour Windows appelé maladroit . C'est en quelque sorte un statut alpha, mais cela semble bien fonctionner pour moi, et c'est open source.

Edit: D'autres ont remarqué qu'il était impossible de limiter la bande passante avec maladroit, et c'est vrai. Vous pouvez uniquement ajouter de la latence et quelques autres erreurs liées au réseau. Cela aura pour effet de disqualifier cette réponse comme une réponse valide à la question, mais comme je l’utilisais bien lorsque je voulais simuler un mauvais réseau, je la laisserai ici tant qu’il aura> 0 voix ou équivalent.

16
Markus

Essayez WANem

WANem est un émulateur de réseau étendu, destiné à fournir une expérience réelle d’un réseau étendu/Internet, lors du développement/du test d’applications sur un environnement LAN.

13
epatel

Pour Windows, vous pouvez utiliser cette application: http://www.softperfect.com/products/connectionemulator/

Emulateur de connexion WAN pour Windows 2000, XP, 2003, Vista, Seven et 2008.

Peut-être le seul disponible pour Windows.

12
Andrew Lock

Je voudrais essayer d'utiliser netem sur Linux. Avec elle, vous pouvez simuler un délai supplémentaire, une corruption, une perte de paquets et une duplication. Cela fonctionne même sur le périphérique de bouclage.

7
Josh

J'utilise NetBalancer sur ma machine Windows.

http://seriousbit.com/netbalancer/

Mises à jour le 2017-04-21 : La dernière version gratuite de NetBalancer est la 9.2.7. Le programme a une date d'expiration codée en dur. Avant de démarrer le service NetBalancer, vous devez remonter l'horloge système avant le 2016-10-18. Voir cet article pour plus de détails.

5
Tony

Un autre programme côté client (Windows uniquement) est NetLimiter - http://www.netlimiter.com

5
kaliatech

J'ai trouvé celui-ci pour Windows avec Fiddler (solution gratuite) http://www.logic-worx.com/index.php/tools-and-apps/fiddler-connection-simulator/

4
hB0

J'imagine que tc pourrait faire le travail sur la plate-forme UNIX.

tc est utilisé pour configurer Traffic Control dans le noyau Linux
http://lartc.org/manpages/tc.txt

4
Sawan

Pour simuler une connexion à faible bande passante afin de tester des sites Web avec Google Chrome, vous pouvez accéder à l'onglet Réseau de Outils F12 et sélectionner un niveau de bande passante à simuler ou créer une bande passante personnalisée à simuler.

3
user1785960
2
Andrey Nikishaev

Il existe un produit de http://www.shunra.com appelé VE Desktop qui peut être utilisé pour simuler diverses conditions de réseau. Il vous permet de modifier les latences, la bande passante et la perte de paquets avec une interface utilisateur simple. Seul bémol, ce n'est pas gratuit. J'espère que cela t'aides.

1

Si vous êtes sur Linux, je trouve que le programme Traffic Control est d'une grande aide pour ce genre de choses.

1
smo

je pense avoir trouvé ce dont j'avais besoin. vous pouvez peut-être utiliser proxy charles ou slowy . J'espère que ça aide.

1
Moh Hasbi Assidiqi

Jetez un coup d’œil à l’émulateur de réseau NE-ONE qui vous permet de configurer la bande passante, la latence, la perte de paquets, la réorganisation des paquets, la duplication de paquets, la fragmentation de paquets, la congestion du réseau et bien d’autres dégradations afin de créer des conditions de réseau réelles dans le laboratoire. . Différentes dégradations peuvent être configurées pour les liaisons montante et descendante, de sorte que vous puissiez avoir une très bonne liaison montante, mais une expérience très mauvaise pour la liaison descendante, ce qui est très utile pour voir comment l'application gère TCP en file d'attente, car les accusations ne reviennent pas dans un environnement distant. de manière opportune et la latence globale augmente donc!

Il y a une vidéo de présentation ici http://www.youtube.com/watch?v=DwtqlE7LcrQ spécifiquement destinée aux développeurs de jeux, mais elle montre de quoi il s'agit. NE-ONE est configuré à l'aide d'un navigateur Web, il est donc très facile de s'y installer et de s'y installer. Inutile d'être un gourou du réseau :-)

Il existe une version matérielle - http://www.itrinegy.com/index.php/products/network-emulators/ne-one - ou vous pouvez télécharger une version de Virtual Appliance (logiciel) exécutée sous VMware ESXi Server. L'appliance virtuelle peut être téléchargée à partir de Solution Exchange de VMware - solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator

1
Peter White

Je recherche un outil facile à utiliser pour ce type de test depuis un certain temps maintenant. Je viens de découvrir cela l'autre jour: simulateur de délai résea

Si vous utilisez Windows, vous devriez le vérifier. C'était très facile à installer et à faire, et semble fonctionner vraiment bien. Il vous permet de définir la bande passante, la latence et la perte de paquets dans chaque direction. L’autre grand avantage est que vous pouvez définir des "conditions de correspondance de flux" afin que cela n’affecte que le trafic que vous souhaitez. Oh oui, et c'est gratuit.

1
Mark

LANforge ICE est un émulateur de résea qui met l’accent sur le routage virtuel, la gigue, la corruption et le délai. Les projets l'ont utilisé pour émuler une liaison par satellite, des connexions par câble et par modem, ainsi qu'une émulation wan à haute vitesse (10 Gbits). Vous pouvez utiliser une interface graphique Java pour créer vos réseaux virtuels et générer des rapports très détaillés sur les flux de trafic. Les produits LANforge fournissent également des fonctionnalités de génération de trafic: trame, ethernet, couche 3 et trafic avec état (NFS, http). Les dernières éditions de LANforge intègrent également des fonctionnalités de test WiFi sophistiquées.

0
memnoch_proxy

Vous pouvez essayer ceci: CovenantSQL/GNTE écrivez simplement YAML comme ceci:

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"

lancer ./generate scripts/your.yaml

0
auxten

Nous avons utilisé ce logiciel une fois dans une machine virtuelle pour effectuer des tests d’échelle de bande passante:

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

Ce n'est pas gratuit, mais il y a un essai de 30 jours.

0
Bob King