网络损伤工具大乱斗

图片

为了构建和建模实际网络,我们从实际网络中抽象出了一组参数,用以描述实际网络的损伤程度。被抽象为黑盒的网络链路:

图片

对网损工具的期望

从对实际网络的探测和抽象来看,我们期望网损工具有以下功能:

  • 带宽限制能力
  • 队列深度
  • 突发流量
  • 丢包能力
  • 丰富的丢包模型
  • 固定延迟能力
  • 堆积突发能力
  • 堆积速率和突发速率的控制
  • 高频高精度的仿真参数修改响应能力

从使用的便利性来看,期望网损工具有以下特性:

  • 良好的扩展性
  • 良好的可编程能力
  • 良好的交互体验

网损工具解决的问题

对于设置指定的网络损伤的参数,网损仪能够实现不同网络参数的准确模拟,能够在网络链路中添加定时定量的可靠网络损伤,能够提高网络状态的可控性和可复现能力。

网损工具的局限性

对于设置什么样的网络损伤,使用什么样的参数,网损仪本身并不会给出答案。由于网络本身的复杂性,真实网络仅对观测者提供有限的可见性,而目前整个行业对网络损伤的探测方法和结果并不完备,所以目前市面上不同的网损工具支持的损伤功能和提供的损伤模型不尽相同,也不尽准确。

几款使用过的网络损伤工具

硬件产品

  • S****

图片

这也是一款商业网络损伤仪,它将网络抽象为两个方向的链路分别添加指定损伤,可以通过 filter 将指定流量导入不通的链路中进行损伤,相比之下这种实现方式更加接近互联网的思维方式。

在试用这款设备的时候该款产品仍处在开发和高速迭代中,添加了不少对互联网行业更友好的特性,比如:更多丢包模型的支持,更多种类的 jitter 分布支持,Python 调用接口的开发等。

使用下来这款产品在 UI 交互和系统稳定性方面还有较大的提升空间。

软件产品

  • QNET – 项目地址

图片

这是腾讯 WeTest 开发的一款网络损伤工具,目前支持 iOS 和 Android 平台。该工具通过 VPN 的方法代理本机流量实现网络损伤的注入,更适合 Web 或普通类型 APP 开发的弱网测试需求,对于实时音视频这种流量较大的场景通过 VPN 代理的方式会导致明显的系统性能问题,使得仿真准确性下降。

该产品的特点是内置了不少弱网场景的模型,比如:电梯、高铁、地铁场站场景等,也会更新基于腾讯服务器探测到的实时延迟和 Jitter 作为仿真数据来源。

自动化方面 Andoid 平台支持 adb 方式的接口调用,iOS 平台目前还没有使用过。

  • Clumsy – 项目地址

图片 图片
<点击图片查看大图>

Dev for Dev专栏介绍

Dev for Dev(Developer for Developer)是声网Agora 与 RTC 开发者社区共同发起的开发者互动创新实践活动。透过工程师视角的技术分享、交流碰撞、项目共建等多种形式,汇聚开发者的力量,挖掘和传递最具价值的技术内容和项目,全面释放技术的创造力。

来源:声网

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月18日
下一篇 2022年1月18日

相关推荐