题目:Flow monitoring in Software-Defined Networks: Finding the accuracy/performance tradeoffs 软件定义网络中的流量监控:寻找准确性/性能权衡
发表时间:2018年
来源:Computer Networks (Elsevier)
摘要
在基于OpenFlow的软件定义网络中,获得与NetFlow / IPFIX提供的流量级测量比较困难,因为它需要在流表中为每个流安装一个条目。由于流表中的条目数量有限且很小,因此该方法不能很好地扩展。使用生成流量的应用程序标记流量将极大地丰富这些报告,因为它将为网络性能和安全性等提供非常有价值的信息。
这篇文章提供了一个可扩展的流量监控解决方案,与当前现成的OpenFlow交换机完全兼容。测量结果在交换机中维护,并异步发送到SDN控制器。此外,使用DPI和机器学习技术的组合对流进行分类,特别关注Web和加密流量的识别。为了可扩展性,根据交换机中可用的OpenFlow功能设计了两种不同的流量采样方法。
该方案在OpenDaylight中实施了我们的监控解决方案,并在Open vSwitch的测试平台中对其进行了评估,还使用了许多DPI和ML工具来找到准确性和性能之间的最佳折衷。我们使用实际流量的实验结果表明,测量和分类系统是准确的,并且显着降低了部署它们的成本。
针对什么问题?
- 执行细粒度流量监控时,SDN的可扩展性问题
- 使用OpenFlow实现流量监控的最直接方法是在交换机表中维护每个流的条目。通过这种方式,监控网络中的所有流量会产生很大的限制,因为现在OpenFlow交换机由于其有限的硬件资源(即TCAM条目数和处理能力)而不支持大量流条目
- 测量报告中的流通常使用基于端口的分类技术进行标记(例如,通过协议)。然而,这些技术变得越来越过时,因为它们不适合当前的场景。如今,越来越频繁地找到共享相同端口的非常多样化的应用程序(例如,基于web的应用程序)或使用非众所周知的端口来避免被检测到(例如,P2P应用程序)。
- 基于深度包检测(DPI)的技术分析数据包的有效载荷以识别流量。
- 基于机器学习(ML)的其他解决方案无法准确识别通过相同协议(例如HTTP)生成流量的应用程序(例如Gmail和YouTube)。这些方面PDI远胜ML分类器。
解决方案
- 使用OpenFlow实现流量采样并执行流级别流量分类,特别强调Web和加密流量的识别。
- 对于每个采样流,我们在交换机中维护一个流条目,记录持续时间以及数据包和字节数。
- 在交换机中初始安装一些规则,这些规则将自动操作以随机区分要采样的流量。
- 系统直接在交换机中维护统计数据,并在流量出现时检索它们。
- 根据准确性和成本之间的权衡,将特定的DPI或ML技术应用于不同类型的流量。使用HTTP标头中的信息和加密(SSL / TLS)连接的证书来揭示隐藏在Web和加密流量背后的应用程序。将DNS流量作为补充信息源进行处理,以发现与不同流相关联的域名。
贡献有哪些?
- 为OpenFlow提供了一个流量监控系统,提供了类似于NetFlow / IPFIX的报告,并且富含标识生成每个流的应用程序的标签。 为了减少控制器的开销和交换机中所需的条目数,提出了两种可在当前OpenFlow交换机中实现的流量采样方法。 对于流量分类,我们有效地结合了一些DPI和机器学习技术,特别关注Web和加密流量的识别。 我们在OpenDay-light中实现了我们的系统,并在具有实际流量的测试平台中评估了其准确性和开销。
机器学习在这里起的作用
- 流量分类