Skip to main content
QUICK REVIEW

[论文解读] MopEye: Opportunistic Monitoring of Per-app Mobile Network Performance

Daoyuan Wu, Rocky K. C. Chang|arXiv (Cornell University)|Mar 22, 2017
Green IT and Sustainability参考文献 25被引用 15
一句话总结

MopEye 是一款 Android 应用程序,利用 VpnService API 实现机会性、用户透明的 per-app 网络性能监控,测量每个应用在活动流量期间的往返时间(RTT)。其测量精度高达 1ms 以内(与 tcpdump 相当),且开销极低,在为期十个月的时间内,通过 2,351 台设备和 6,266 个应用实现了大规模众包的现实世界应用和 DNS 性能测量。

ABSTRACT

Crowdsourcing mobile user's network performance has become an effective way of understanding and improving mobile network performance and user quality-of-experience. However, the current measurement method is still based on the landline measurement paradigm in which a measurement app measures the path to fixed (measurement or web) servers. In this work, we introduce a new paradigm of measuring per-app mobile network performance. We design and implement MopEye, an Android app to measure network round-trip delay for each app whenever there is app traffic. This opportunistic measurement can be conducted automatically without users intervention. Therefore, it can facilitate a large-scale and long-term crowdsourcing of mobile network performance. In the course of implementing MopEye, we have overcome a suite of challenges to make the continuous latency monitoring lightweight and accurate. We have deployed MopEye to Google Play for an IRB-approved crowdsourcing study in a period of ten months, which obtains over five million measurements from 6,266 Android apps on 2,351 smartphones. The analysis reveals a number of new findings on the per-app network performance and mobile DNS performance.

研究动机与目标

  • 通过从传统的以服务器为中心的探测方式转向 per-app 性能监控,填补移动网络测量中的空白。
  • 克服在未 root 的 Android 设备上实现轻量级、高精度且保护隐私的网络测量所面临的挑战。
  • 在无需用户干预的情况下,实现大规模、长期的 per-app 网络性能数据众包收集。
  • 利用真实世界测量数据诊断特定应用和特定 ISP 的网络性能问题。
  • 为应用开发者和 ISP 提供可扩展、保护隐私的解决方案,以优化网络体验质量。

提出的方法

  • 利用 Android 的 VpnService API 创建本地虚拟网络接口,拦截所有出站应用流量,且无需 root 权限。
  • 执行被动数据包捕获,并通过标准 socket 调用将数据包中继至远程服务器,利用 SYN-SYN/ACK 时序实现 RTT 测量。
  • 构建自定义用户空间 TCP/IP 栈,高效处理数据包中继,避免依赖原始套接字或远程 VPN 服务器。
  • 采用优化技术缓解性能下降问题,包括解决延迟的 VPN 读取和 protect() 延迟问题。
  • 通过 detect() 套接字调用识别技术,将每个 RTT 测量映射到其对应的应用上下文。
  • 通过 Google Play 部署应用,并获得 IRB 批准,以实现长期、大规模的真实世界网络测量众包。

实验结果

研究问题

  • RQ1如何在无需用户干预的情况下,以高精度和高效率在真实世界条件下测量 per-app 移动网络性能?
  • RQ2使用 Android 的 VpnService API 进行持续、机会性网络监控时,性能与精度之间存在怎样的权衡?
  • RQ3真实用户在不同移动网络和 ISP 下实际体验到的 per-app 和 DNS 网络性能特征是什么?
  • RQ4与传统工具 tcpdump 相比,MopEye 的测量方法在精度和系统开销方面表现如何?
  • RQ5从大规模、per-app 网络测量中,可以得出关于不同 ISP 和应用类型之间网络质量差异的哪些洞察?

主要发现

  • MopEye 在为期十个月的时间内,从 6,266 个 Android 应用和 2,351 台智能手机中收集了超过 525 万个 RTT 测量数据,建立了首个大规模 per-app 测量数据集。
  • 与 tcpdump 相比,MopEye 的平均 RTT 测量误差在 1ms 以内,证明了其高测量精度。
  • Singtel 的 DNS 性能显著优于其他 ISP,其 14.7% 的 DNS RTT 低于 10ms,归因于其全国范围的 4G+ 部署。
  • Cricket 和 U.S. Cellular 的 DNS 性能表现明显较差,最小 RTT 约为 43ms,表明仍在使用 4G 之前的或非 LTE 网络。
  • 约 64% 的 Cricket DNS RTT 和 45% 的 U.S. Cellular DNS RTT 源自非 LTE 网络,证实其网络基础设施存在不足。
  • 案例研究揭示了 WhatsApp 的性能问题,并揭示了美国主要 ISP 和国际 ISP 之间的网络质量差异,凸显了 per-app 监测在诊断中的价值。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。