我有一个 1Gb 的网络,我需要通过将速率限制为 100MB 和 1Gb 来运行某些 TCP 性能测试。我的理解是可以使用分层令牌桶(htb)来实现这一点,如下所示
tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 1gbps ceil 1gbps
tc class add dev eth0 parent 1: classid 1:10 htb rate 100mbps ceil 100mbps
这应该创建两个根类 1:1 和 1:10,分别具有 1gb 和 100mb 带宽。如果我的理解有误,请纠正我。
接下来,如何在我的 tcp 应用程序中使用上述类?例如,当我运行我的应用程序时,它应该只使用 100 Mb,我是否需要在套接字选项中指定某些内容,以便应用程序发送的任何消息现在都属于 1:1 类,因此将速率限制为 100 Mb?