Solución 1:
Finalmente me conformé con configurar el ancho de banda/la latencia de salida en el servidor y luego hacer lo mismo en el cliente, logrando efectivamente el mismo resultado.
Estos son los comandos que ejecuté en el servidor y el cliente respectivamente para alcanzar mis objetivos:
Servidor:4 Mbit 50ms
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
Cliente:512 kbit 50ms
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
Solución 2:
Unos 80-90 kByte/s es lo que se puede esperar de
tc filter add ... police rate 1.0mbit ...
Usted pide que los datos entrantes se desechen cuando llegan a 1 mBit/s, eso es alrededor de 125 kByte/s. El servidor remoto caerá a un nivel considerablemente más bajo que eso (tal vez la mitad, no estoy seguro). Después de eso, todos los paquetes pasan, por lo que el extremo remoto aumenta lentamente la velocidad hasta que se alcanzan nuevamente los 125 kByte/s. Obtienes un promedio rendimiento considerablemente por debajo de 125 kByte/s, lo cual es típico de la conformación de ingreso.
Estoy un poco sorprendido de que la velocidad alcance los 2 MByte/s con el filtro de política de ingreso ya implementado. ¿Dónde midió:en el cliente descendente (programa) o en algún enrutador ascendente? ¿O tal vez inició la conexión por primera vez y solo después pateó el filtro de política de ingreso en su lugar?