——
我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost
目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全配置,提供全面的可视化算法观察能力。
欢迎大家使用
——
最近在做机器学习与网络相关的内容,偶然间看到了一篇清华大学2020年发布的机器学习与网络相关综述论文,抽时间阅读了一下,感觉有所收获与大家分享——When Machine Learning Meets Congestion Control: A Survey and Comparison。在展开说的之前老规矩先给大家粘上他们的摘要翻译:
机器学习(ML)已经在许多不同的应用程序中得到了显著的普及。它提供的高度灵活性、适应性和计算能力扩展了在包括网络运营和管理在内的多个领域中使用的传统方法。许多调查都探讨了ML在网络环境中的应用,如流量工程、性能优化和网络安全。许多ML方法侧重于聚类、分类、回归和强化学习(RL)。本研究的创新和贡献在于对基于学习的拥塞控制(CC)方法的详细总结和比较。与通常基于规则的传统CC算法相比,从历史经验中学习的能力是非常可取的。从文献中可以观察到,RL是基于学习的CC算法中的一个关键趋势。在本文中,我们探索了基于RL的CC算法的性能,并提出了当前基于RL的CC算法存在的问题。我们概述了与基于学习的CC算法相关的挑战和趋势。
随机、聚簇丢包模型相关的算法:
算法 | 场景 | 输入 | 输出 |
---|---|---|---|
决策树 [1] | Wireless networks | 单向延迟 + 包间延迟 | 链路丢包 \ 拥塞丢包 |
贝叶斯 [2] | Networks with Reordered events | 丢失数据的RTT | 重排序丢包 \ 拥塞丢包 |
Hidden Markov模型 [3] | Optica Burst Switching | 两次突发发送之间成功接收包数 | 竞争丢包 \ 拥塞丢包 |
DT\Bagging\Boosting 神经网络 [4] | Wireless networks | 队列延迟 + 到达时间差 + 包队列 | 无线网络丢包 \ 拥塞丢包 |
决策树\决策树集合\套袋\随机森林\额外树\多层\感知器\K-最近邻 [5] | Wireless networks | 单向延迟的最大值、最小值、标准差 + 包间间隔的最大值、最小值、标准差 | 无线丢包 \ 拥塞丢包 |
在上述的表格中,丢包相关的算法模型有一大半是为了检测无线网络丢包的,其中几篇论文对无线网络丢包的产生机制解释为:
针对上述描述的几个场景,我们可以这样理解:无线网络的数据包与无线信号强相关,而无线信号又与地域以及物理设备息息相关,因此整个无线传输过程伴随着很强的随机性以及聚簇性。正因为每次一丢就一大片一大片的,很多论文都会考虑使用包接收间隔来区分是否产生了排队,只要包接收间隔没有明显变化的丢包就会被归类于无线网络丢包。
多信道重排序丢包是由于不同路由之间链路的网络状态变化导致的。例如:当某些包从一个高延迟的路由转向一个低延迟的路由时,假设其他路由的延迟不变就会产生乱序的情况(但大概率在p2p的模式下发生比较明显)。这类情况也是随机而又聚簇的形式,假设这类路由出现明显的乱序也会出现和无线丢包类似的情况(这个在现代的流媒体传输中尤为重要,因为流媒体传输要保证绝对的时序性)。
光脉冲网络有一个很明显的特点,就是节点处的大量数据包短时间聚合。同时光信号与电信号之间的转换会在整个传输链路中不断出现。当数据聚集开始,超过光电转换信号,数据不会进行缓存而是直接被丢弃,由此形成了一个随机而又聚簇的丢包网络。
基于上述的几个模型特点,下图就是这些网络类型最常用的机器学习算法的控制图,基本是利用了对应网络的丢包特点来做明确的区分:
由于区别上述网络造成的丢包与普通网络拥塞丢包的方式比较明确,就是使用接包间隔来确定是否产生排队,因此仅仅使用 决策树 这种方式也能实现比较明显的区分,但是网络的随机性导致我们几乎无法完全确定我们所做出的决策100%正确,因此根据这种随机性,我们很自然的考虑到了使用 贝叶斯定理 来提高准确度。而使用 隐马尔科夫模型 来区分光切换网络是因为作者发现光切换的 故障间突发数(NBBF) 遵循高斯分布,通过其特征值的变化我们可以使用迭代算法、隐马尔可夫模型进行推算,从而实现拥塞丢包与OBS丢包的检测。
[1] I. El Khayat, P. Geurts, and G. Leduc, “Improving tcp in wireless net- works with an adaptive machine-learnt classifier of packet loss causes,” in International Conference on Research in Networking. Springer, 2005, pp. 549–560.
[2] N. Fonseca and M. Crovella, “Bayesian packet loss detection for TCP,” in INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies, 13-17 March 2005, Miami, FL, USA, 2005, pp. 1826–1837. [Online]. Available: https://doi.org/10.1109/INFCOM.2005.1498462
[3] A. Jayaraj, T. Venkatesh, and C. S. R. Murthy, “Loss classification in optical burst switching networks using machine learning techniques: improving the performance of TCP,” IEEE J. Sel. Areas Commun., vol. 26, no. 6-Supplement, pp. 45–54, 2008. [Online]. Available: https://doi.org/10.1109/JSACOCN.2008.033508
[4] “Enhancement of tcp over wired/wireless networks with packet loss classifiers inferred by supervised learning,” Wireless Networks, vol. 16, no. 2, pp. 273–290, 2010.
[5] P. Geurts, I. E. Khayat, and G. Leduc, “A machine learning approach to improve congestion control over wireless computer networks,” in Proceedings of the 4th IEEE International Conference on Data Mining (ICDM 2004), 1-4 November 2004, Brighton, UK, 2004, pp. 383–386. [Online]. Available: https://doi.org/10.1109/ICDM.2004.10063