有时我需要模拟客户端和服务器之间的 WAN 环境。具体来说,从最重要到最不重要:
- 总带宽限制,
- 偶尔出现长时间(几十秒)延迟
- 抖动
最好是 WAN 模拟器可以充当代理 - 我将客户端指向 WAN 模拟器,然后 WAN 模拟器与服务器通信。我花了很多时间在 Google 上搜索可以执行此操作的东西,但发现很少。
当然,我知道我可以通过控制网络拓扑并在中间插入设备来实现各种解决方案,但 IT 控制着网络。我只是一名开发人员。
你们知道哪些免费或低成本的工具可以帮助模拟 WAN?
答案1
- VMware工作站模拟网络 - 189 美元
- Netlimiter 2 专业版降低网络速度 - 29.95 美元
- 特穆尔根特模拟数据包丢失(和延迟) - 免费!
答案2
如果您使用 Linux,则可以使用 tc - 流量控制程序。它应该是您发行版中的标准配置。例如,要设置上传最大速度(在本例中为每秒 100 kbit):
$ sudo tc qdisc add dev eth1 root tbf rate 100kbit latency 600ms burst 1540
设置最大下载速度(此例中为每秒 500 kbit):
$ sudo tc qdisc add dev eth0 root tbf rate 500kbit latency 600ms burst 1540
tc 能做的远不止这些。我现在找不到参考资料,但你可以用 tc 丢弃数据包等。要了解更多信息,你可以阅读交通管制指南。
或者你可以看看陣容- 下一代交通控制 - 它使用 tc 的低级版本,但使用更优雅的语言来指定您要执行的操作。我没有用过,但有一个tcng 操作指南和一个tcng 手册。
答案3
有一家公司叫顺罗专门做这方面业务的。我没有和他们打过交道,但他们已经存在一段时间了。
答案4
包装 tc 以提供随机不可靠的网络行为。