如何模拟低带宽,高延迟的环境?(How do I simulate a low bandwidth,

2019-06-18 14:32发布

我需要模拟低带宽,以模拟一个VPN的条件,在远程站点上高延迟连接到服务器。 带宽和延迟应该是tweakable,所以我可以为了运行我们的软件发现最好的组合。

Answer 1:

适用于MacOS,网络链接调理模拟配置的带宽,延迟和丢包。 它包含在硬件IO工具Xcode的 。



Answer 2:

有设置一台FreeBSD机器只是这做一个优秀的书面记录 - 把你的标准旧的台式机,在其他的网卡折腾,和建设。

该书面记录可在http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html 。

在上述说明5步,你启用防火墙。 对于刚刚模拟不同的IP连接,你可以(例如)执行以下操作:

创建一个文件/etc/rc.firewall.56k其中包含以下内容:

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

而改变/etc/rc.conf ...更换线

firewall_type="open"

firewall_type="/etc/rc.firewall.56k"

重新启动,并且你已经有了自己一个56K桥梁!

如果你碰巧从Macintosh工作,即OS已经ipfw的默认内置到它。 我已经通过路由上的网络流量的机场,并通过以太网,设置它使任何未来机场上空有什么作为我试图模仿相同的特性做同样的事情。 您可以直接从终端调用IPFW的命令,并得到同样的效果。



Answer 3:

在过去,我已经使用使用Linux的桥梁Netem (网络仿真)的功能。 它是高度可配置 - 允许引入延迟的(第一个例子为WAN),分组丢失,损坏等。

编辑:也有MasterShaper Web界面来控制设置。

我注意到,Netem工作得很好我的应用程序,但我也结束了使用WANem几次。 所提供的可引导ISO(和虚拟设备的图像),使得它非常方便。



Answer 4:

查尔斯

我碰上了查尔斯的网络调试代理应用程序,并曾在模拟网络延迟了巨大的成功。 它适用于Windows,Mac和Linux。

带宽油门/带宽模拟器

查尔斯可用来调整您的Internet连接的带宽和延迟。 这使您在使用高速连接模拟调制解调器的条件。

的带宽可以被节流以每秒任意字节。 这使得模拟的任何连接速度。

等待时间也可以被设置到毫秒级的任意号码。 的等待时间延迟模拟经历了较慢的连接的等待时间,也就是发出请求,并且在另一端被接收到的请求之间的延迟。

DUMMYNET

你也可以使用VMware来运行BSD或Linux,并尝试这篇文章(DUMMYNET)或本之一。



Answer 5:

我发现Windows中,这个整齐的小程序调用笨拙 。 它是在一种阿尔法状态,但它似乎对我很好地工作,而且它是开源的。

编辑:还有人注意到,你不能限制带宽与笨拙,这是事实。 只能添加延迟和其他几个网络有关的错误。 这将取消其参赛资格这个答案为有效回答的问题,但是因为我必须为它用好,当我想以模拟一个糟糕的网络,所以我会离开这里,只要它具有> 0票或相似。



Answer 6:

尝试WANem

WANem是一个广域网络仿真器,旨在提供一个广域网/互联网的实际经验,在通过局域网环境下的应用开发/测试。



Answer 7:

对于Windows,你可以使用这个应用程序: http://www.softperfect.com/products/connectionemulator/

WAN连接仿真器适用于Windows 2000,XP,2003,Vista中,七和2008年。

也许唯一一个可用于Windows。



Answer 8:

我会尝试使用netem在Linux上。 有了它,你可以模拟额外的延迟,腐败,数据包丢失和重复。 它甚至回环设备上。



Answer 9:

另一个客户端程序(仅适用于Windows),是NetLimiter - http://www.netlimiter.com



Answer 10:

我用我的NetBalancer Windows机器上。

http://seriousbit.com/netbalancer/

在2017年10月7日更新 :NetBalancer的最后一个免费版本是9.2.7。 该方案有一个硬编码的到期日期。 在你开始NetBalancer服务,需要2016年10月18日之前,回头系统时钟。 请参见本文的详细信息。



Answer 11:

发现使用招(免费解决方案)这一个用于Windows http://www.logic-worx.com/index.php/tools-and-apps/fiddler-connection-simulator/



Answer 12:

我想tc可以做基于UNIX平台的工作。

tc用于配置流量控制在Linux内核
http://lartc.org/manpages/tc.txt



Answer 13:

为了模拟测试网站低带宽连接使用谷歌浏览器,你可以去网络选项卡中的F12工具,然后选择带宽级别来模拟或者创建自定义的带宽来模拟。



Answer 14:

以下是有关这个好文章http://purefinity.blogspot.com/2009/01/simulating-network-delay-using-linux.html



Answer 15:

如果你是在Linux上,我找到了交通管制方案,对这样的事情有很大的帮助。



Answer 16:

有从产品http://www.shunra.com称为VE可用于模拟不同的网络条件桌面。 它可以让你来调整延迟,带宽和分组丢失一个简单的用户界面。 唯一需要注意的是,它不是免费的。 希望这可以帮助。



Answer 17:

我一直在寻找一个易于现在使用工具,这种类型的测试了一段时间。 我只是碰到这种附带的一天: 网络延迟模拟器

如果你正在运行的是Windows,你应该看看。 这是超级容易成立,并得到去,似乎工作得很好。 它可以让你在每个方向上定义带宽,延迟和丢包。 其他的真的好处是,你可以定义“流匹配条件”,因此它不仅影响你想让它的流量。 哦,是的,而且是免费的。



Answer 18:

我想我找到了我所需要的。 也许你可以使用查尔斯代理或slowy 。 希望能帮助到你。



Answer 19:

看看在NE-ONE网络仿真器,它允许您配置带宽,延迟,丢包,包重新排序,包复制,包碎片,网络拥塞和更多的障碍,这样就可以在实验室中创造真实世界的网络条件。 不同的损伤可向上和下行链路进行配置,以便你可以有一个很好的上行,但一个非常糟糕的下行体验,伟大的看到应用程序如何处理TCP排队,因为上述ACK不回来及时和整体延迟因此增加了!

这里有一个概述视频http://www.youtube.com/watch?v=DwtqlE7LcrQ专门针对游戏开发者,但它显示了它是什么。 NE-ONE使用Web浏览器,以便它真的很容易得到安装和配置配置 - 你并不需要成为一个网络大师:-)

有一个硬件版本- http://www.itrinegy.com/index.php/products/network-emulators/ne-one -或者你可以下载的VMware ESXi的服务器上运行的虚拟设备(软件)版本。 虚拟设备可以从VMware的解决方案交流下载 - solutionexchange.vmware.com/store/products/ne-one-flex-network-emulator



Answer 20:

我们用了一次内部虚拟机做一些带宽大规模的测试这个软件:

http://www.softinengines.com/index.php?section=download&langu=en

这不是免费的,但确实有30天的试用期。



Answer 21:

LANforge ICE是一个网络仿真器与虚拟路由,抖动,腐败和延迟的重视。 项目用它来模拟卫星链路,电缆和调制解调器连接,以及高速(的10Gbit)WAN仿真。 您可以使用Java GUI构建你的虚拟网络,并产生流量的非常详细的报告。 所述LANforge产品还提供流量生成功能:帧,以太网,层3和状态流量(NFS,HTTP)。 对于LANforge最近的版本有复杂的无线网络测试功能为好。



Answer 22:

你可以试试这个: CovenantSQL / GNTE只写YAML是这样的:

group:
  - 
    name: china
    nodes:
      - 
        ip: 10.250.1.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.1.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "100ms 10ms 30%"
    loss: "1% 10%"
  - 
    name: us
    nodes:
      - 
        ip: 10.250.2.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.2.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "1000ms 10ms 30%"
    loss: "1% 10%"

network:
  -
    groups:
      - china
      - us
    delay: "200ms 10ms 1%"
    corrupt: "0.2%"
    rate: "10mbit"

运行./generate scripts/your.yaml



文章来源: How do I simulate a low bandwidth, high latency environment?