有时,我需要在客户端和服务器之间模拟WAN环境。我的意思是,具体来说,从最重要到最不重要:
- 总带宽限制,
- 偶尔的延迟(数十秒)
- 抖动
最好是,WAN模拟器可以充当代理-我将客户端指向WAN模拟器,然后WAN模拟器与服务器对话。我花了很多时间在Google上搜寻,试图找到可以做到这一点的东西,但发现却很少。
当然,我知道可以通过控制网络拓扑并在中间插入设备来实现各种解决方案,但是IT可以控制网络。我只是一个开发人员。
你们都知道哪些免费或低成本的工具可以帮助您模拟WAN?
有时,我需要在客户端和服务器之间模拟WAN环境。我的意思是,具体来说,从最重要到最不重要:
最好是,WAN模拟器可以充当代理-我将客户端指向WAN模拟器,然后WAN模拟器与服务器对话。我花了很多时间在Google上搜寻,试图找到可以做到这一点的东西,但发现却很少。
当然,我知道可以通过控制网络拓扑并在中间插入设备来实现各种解决方案,但是IT可以控制网络。我只是一个开发人员。
你们都知道哪些免费或低成本的工具可以帮助您模拟WAN?
Answers:
如果您使用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丢弃数据包等。要了解更多信息,您可以阅读交通管制指南。
另外,您可以研究tcng-下一代流量控制-它在较低的级别使用tc,但是语言稍微好一点,可以指定您要做什么。我没有使用过它,但是有tcng howto和tcng手册。
DummyNet是一款免费软件,可用于模拟各种网络状况。如果您有备用计算机,请安装FreeBSD和DummyNet,并将其内联在客户端和服务器之间。然后,您可以调整DummyNet,以改变您遇到的延迟,抖动和损失。
编辑:重新阅读问题并意识到您不拥有您的网络。在这种情况下,请在具有两个NIC的计算机上配置DummyNet,然后将其转换为在一侧具有公司WAN而在另一侧具有工作站的路由器。请务必先与您的IT部门联系,以确保他们这样做没有任何问题!