
最近有些空闲时间给我NetHang 更新了几个新功能:
市面上的大多数弱网工具产生的 Jitter 默认配置都是允许乱序的,但是现网测试结果表明实际网络中发生的包乱序比例是极低的,仅仅在基站切换,卫星切换或者 Multipath 传输之类的瞬间有可能发生并且转瞬即逝,而长时间的、持续的乱序基本都是人为制造的。我们在讨论网络质量时所讨论的 Jitter 更贴切的描述应该是网络中的堆积突发( Accumulate & Burst ),因此在 NetHang 中使用的 带分布的堆积突发 来实现不允许乱序的 Jitter 。
同理,大家平时测试经常使用的随机丢包在分布上也与现网中的情况大相径庭。现网中传输层(及以下)的小丢包基本都会变成应用层的延迟和 Jitter (由于各种协议的丢包重传机制的原因),而能观测到的大丢包基本都是不同节点性能资源限制和队列控制的共同作用结果,从分布上来说都不是那么 “随机” 的,更多的呈现出一定的突发性和连续性。NetHang 中实现的 Loss Burst Low | Medium | High 分别对应的平均连续丢包数是 3 、10 和 50 。这在一定程度上能够使丢包更像真实世界中的情况,而要真正做好丢包和延迟需要结合带宽限制和队列控制一起来进化。
欢迎大家试用和提出建议