Solution 1 :
J'ai finalement décidé de simplement définir la bande passante/latence sortante sur le serveur, puis de faire la même chose sur le client, atteignant ainsi le même résultat.
Voici les commandes que j'ai exécutées respectivement sur le serveur et le client pour atteindre mes objectifs :
Serveur :4 Mbits 50 ms
tc qdisc add dev eth0 handle 1: root htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4Mbit
tc qdisc add dev eth0 parent 1:11 handle 10: netem delay 50ms
Client :512 kbits 50 ms
tc qdisc add dev vmnet1 handle 1: root htb default 11
tc class add dev vmnet1 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev vmnet1 parent 1:1 classid 1:11 htb rate 512kbit
tc qdisc add dev vmnet1 parent 1:11 handle 10: netem delay 50ms
Solution 2 :
Environ 80 à 90 Ko / s, c'est à peu près à quoi s'attendre
tc filter add ... police rate 1.0mbit ...
Vous demandez que les données entrantes soient jetées lorsqu'elles arrivent à 1 mBit/s, soit environ 125 kByte/s. Le serveur distant tombera alors considérablement plus bas que cela (peut-être la moitié, pas sûr). Après cela, tous les paquets arrivent, de sorte que l'extrémité distante accélère lentement jusqu'à ce que 125 Ko / s soient à nouveau atteints. Vous obtenez une moyenne débit considérablement inférieur à 125 Ko / s, ce qui est typique de la mise en forme d'entrée.
Je suis un peu surpris que la vitesse atteigne 2 Mo / s avec le filtre de politique d'entrée déjà en place. Où avez-vous mesuré - sur le client en aval (programme) ou sur un routeur en amont ? Ou peut-être avez-vous d'abord démarré la connexion et seulement après avoir désactivé le filtre de politique d'entrée ?