Existe-t-il un moyen de limiter la bande passante d'une carte réseau sous Linux ? J'aimerais pouvoir simuler une connexion arbitrairement lente.
Réponses
Trop de publicités?En netem module du noyau, contrôlé par iproute.
Vous devez compiler Netem avec le noyau :
Networking -->
Networking Options -->
QoS and/or fair queuing -->
Network emulator
Une fois le module netem chargé, le tc d'iproute vous permet des choses comme :
tc qdisc add dev tap0 root netem delay 50ms loss 50%
(50 % de perte de paquets, retard supplémentaire de 50 ms)
Côté client, c'est ça ?
ruissellement devrait faire ce que vous voulez. Si vous êtes sous Ubuntu (ou Debian, je pense), vous pouvez l'installer avec sudo apt-get install trickle
et ensuite l'exécuter. trickle -s -d 10 -u 10 firefox
(ou presque, je ne l'ai pas utilisé depuis un moment) ferait tourner firefox, en limitant sa vitesse de téléchargement et d'envoi à 10 kilobytes par seconde.
J'ai trouvé un moyen d'empêcher ma boîte de manger toute la bande passante disponible sur le réseau en utilisant un outil appelé 'wondershaper' dans ubuntu. J'espère qu'il existe dans d'autres destros linux aussi. Je peux limiter la bande passante que mon ordinateur domestique linux peut consommer en utilisant la commande suivante.
sudo wondershaper eth0 1000 200
Cela limite le téléchargement à 1000 kilobits et l'uplaod à 200 kilobits. Reportez-vous aux pages de manuel de wondershaper pour plus d'informations/options.
Le NIST réalise un simulateur de réseau appelé NistNet.
http://snad.ncsl.nist.gov/nistnet/ (le lien semble mort)
http://cs.ecs.baylor.edu/~donahoo/tools/nistnet/
NistNet vous permet de créer un routeur qui émule une liaison de communication de votre choix.
Pour le fonctionnement le plus simple, vous l'avez sur une boîte avec deux NIC entre deux réseaux.
Par exemple, j'avais une application qui devait fonctionner sur une liaison satellite.
Les données peuvent circuler sur un lien de 2 Mbps avec une latence importante. Le contrôle devait passer par un lien de 128kbps, avec la même latence.
NistNet a aidé à faire fonctionner le tout à 128kbps.
En utilisant NistNet, j'ai pu simuler non seulement la bande passante, mais aussi la latence, et il peut aussi laisser tomber des paquets pour vous, simulant un lien occupé ou peu fiable.
Si vous voulez simuler une connexion abitraire, ne vous contentez pas de limiter la bande passante, augmentez aussi la latence.
N'oubliez pas non plus de fragmenter les paquets. Vous pouvez définir de petites MTU sur le lien bidon.
L'ajout de la gigue des paquets vous permettra de savoir si vous pouvez faire face à des paquets hors d'ordre.
J'ai personnellement utilisé façonneur de merveilles dans le passé pour cela, bien qu'il ait été écrit pour un cas d'utilisation opposé - tirer le meilleur parti de votre connexion ADSL.
Je vais devoir essayer les autres produits mentionnés ici.
- Réponses précédentes
- Plus de réponses