概要

  • 在sdn下,控制平面基于网络测量的的数据控制网络,而细粒度的管理得益于细粒度的测量数据。针对sdn环境下的细粒度测量(识别具体应用程序),可以实现对细粒度的流量管控。
  • 设计了识别系统SBAR,对数据流进行测量,识别出具体应用程序并得到它们的网络数据。针对流分类,SBAR以应用程序协议为参照,使用了机器学习的算法。 针对web和加密流量,使用深度包检测检测包的负载以识别应用程序。同时SBAR利用了OpenFlow提供的测量数据识别应用,交换机利用南向接口向控制器传输数据。最后使用GUI对得到的数据进行整合处理得到全网测量数据。经过验证,SBAR检测的准确率可以达到90%以上(由于使用DPI和ML可能有较大的资源开销和时延)。

Background

  • In the Software-Defined Networking (SDN) paradigm, it is essential to perform comprehensive traffic monitoring in order to provide the control plane with an accurate view of the network state.
  • This enables to perform such an effective fine-grained network management
    with different purposes (e.g., traffic engineering, security).

Related Work

  • NetFlow/IPFIX:There are a plenty of tools based on Netflow that harness the flow-level measurement.
  • Flows are often labeled (e.g., by protocol)
    using port-based classification techniques which is gradually obsoleted beacause it is quite common to find very diverse applications operating over
    the same application protocols(无法从端口号分辨出具体的应用程序)
  • QoE:the QoE perceived by end-users significantly depends on the type of application and the QoS level provided by the network (e.g., bandwidth, delay).(QoE感知取决于应用程序类型以及QoS级别)
  • Deep Packet Inspection (DPI)
    typically achieves very accurate traffic classification by inspecting the packet payloads. However, applying DPI over all the packets traversing a network is often too resource consuming (根据负载分类,资源开销过大)
  • Machine Learning (ML) classifiers were proposed with the aim of alleviating the
    processing burden.Use **features* up to the transport layer to classify the traffic, useless when applied to distinguish among different applications generating traffic over the same protocol(根据特征分类,无法从相同协议分辨出不同程序)

Solution

  • We present SBAR, a monitoring system compliant with OpenFlow that provides flow-level measurement
  • Classify the traffic at two different levels:In the Software-Defined Networking (SDN) paradigm, it is essential to perform comprehensive traffic monitoring in order to provide the control plane with an accurate view of the network state. This
    enables to perform such an effective fine-grained network management with different purposes (e.g., traffic engineering, security).
  • (i) every monitored flow is classified by application protocol,
  • (ii) for web and encrypted traffic, we apply specific DPI techniques to identify the applications (端口号相同要通过负载分辨出具体的应用程序)
    generating each flow

  • Reduce the processing overhead in the controller(s) and the memory consumption in switches to maintain the measurements

Implement

Openflow

  • Leverage the particularities of OpenFlow networks to efficiently implement a combination of techniques based on ML and DPI to accurately classify the traffic in the controller.
  • Leverage the support of OpenFlow to maintain the flow measurements (# of
    packets and bytes, and duration) in the flow tables of the switches
  • OpenFlow provides an interface that permits to report the measurements to the controller(s) when some predefined timeouts (idle and hard) expire
  • Make use of ultiple tables of OpenFlow
    to decouple the operation of this module from other modules executing
    different network tasks (e.g., forwarding) in the controller.

Others

  • Flow sampling using only native features of OpenFlow, which enables to address
    common scalability issues in OpenFlow-based networks.
  1. Per-flow classification by application protocols (e.g., SMTP, SSH) using a ML model
  2. For web and encrypted flows, it applies specific DPI techniques [1, 2] to identify the applications (e.g., Netflix, Facebook) generating traffic.
  • 通过给控制器指定规则,只提取前几个HTTP等协议的包头信息,然后根据某种算法推断出对应的应用程序,节省了开销
  • GUI用于处理SBAR得到的flow-level reports infer high-level traffic
    statistics

Advantages

the classification accuracy acheives 90% or higher.

Disadvantages

Because of the DPI and ML, the resource overhead and latency probably are high(I guess)

Reading SBAR SDN flow-Based monitoring and Application Recognition的更多相关文章

  1. 精读 SBAR SDN flow-Based monitoring and Application Recognition

    目录 架构 测量模块 分类模块 具体实现 实验:最后接入巴塞罗那的校园网流量测试: SBAR: SDN flow-Based monitoring and Application Recognitio ...

  2. Risk Adaptive Information Flow Based Access Control

    Systems and methods are provided to manage risk associated with access to information within a given ...

  3. Paper-[acmi 2015]Image based Static Facial Expression Recognition with Multiple Deep Network Learning

    [acmi 2015]Image based Static Facial Expression Recognition with Multiple Deep Network Learning ABST ...

  4. [Flow] Declare types for application

    In Flow, you can make global declarion about types. Run: flow init It will generate .flowconfig file ...

  5. Paper reading: High-Fidelity Pose and Expression Normalization for Face Recognition in the Wild(HPEN)

    1. Introduction 人脸识别受到各种因素影响,其中最重要的两个影响是 pose 和 expression, 这两个因素会对 intra-person 变化产生极大的影响, 有时候甚至会超过 ...

  6. 3.3 Execution Flow of a DDD Based Application 基于DDD的应用程序执行流程

    3.3 Execution Flow of a DDD Based Application 基于DDD的应用程序执行流程 The figure below shows a typical reques ...

  7. Monitoring and Tuning the Linux Networking Stack: Receiving Data

    http://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/ ...

  8. Intel® Threading Building Blocks (Intel® TBB) Developer Guide 中文 Parallelizing Data Flow and Dependence Graphs并行化data flow和依赖图

    https://www.threadingbuildingblocks.org/docs/help/index.htm Parallelizing Data Flow and Dependency G ...

  9. [Windows Azure] Adding Sign-On to Your Web Application Using Windows Azure AD

    Adding Sign-On to Your Web Application Using Windows Azure AD 14 out of 19 rated this helpful - Rate ...

随机推荐

  1. JAVA_吸血鬼数字 多种方法实现

    package test4; import java.util.Arrays; /** * 从TIJ中第4章的练习10看到“吸血鬼数字”,以下几种方法实现以及执行时间对比 * 找出四位数的所有吸血鬼数 ...

  2. 判断是手机端还是电脑端 isMobile()

    1.在PublicController控制器中写好判断手机端方法. <?php namespace Home\Controller; use Think\Controller; class Pu ...

  3. hashlib 文件校验,MD5动态加盐返回加密后字符

    hashlib 文件校验 # for循环校验 import hashlib def check_md5(file): ret = hashlib.md5() with open(file, mode= ...

  4. float失效的情况

    前言:在最近的笔试中,两次碰到类似的问题,什么情况下float会失效?我目前知道的有2种: 1)display:none: 2)position:absolute.fixed. (1)display: ...

  5. C#关于Clone()方法的介绍

    日常啪啪啪代码的时候,常常遇到浅复制与深复制的问题,下面就自己经验写写,有问题请留言! 例如我有一个简单的类: class People { public int _age; public strin ...

  6. 从零开始——Java异常处理机制

    在编程的时候,总是出现需要throws的情况,然后需要在SQLException和Exception中进行选择,看着名字,总有一种错觉,认为SQLException是Exception的一个子类,因此 ...

  7. C#多个线程同时执行一个任务示例

    注意:如果电脑是单核单线程的,这么做是没有意义的. 这里直接贴一下主要代码 using System; using System.Collections.Generic; using System.T ...

  8. Oracle案例08——xx.xx.xx.xx,表空间 SYSAUX 使用率>95%%

    本实例主要针对Oracle表空间饱满问题处理方法做个步骤分享.  一.告警信息 收到zabbix告警信息,表空间 SYSAUX 使用率>95%%,系统表空间sysaux使用率超过了95%. 二. ...

  9. QT5连接Mysql

    摘要 在Qt 5中已经提供了对MySQL数据库的默认支持,要想使用该数据库,需要先进行数据库的安装, 这里我们介绍下在Windows系统中MySQL数据库的安装和简单使用.   Qt如何利用Mysql ...

  10. ASP.NET Core 编码、web编码、网页编码 System.Text.Encodings.Web

    System.Text.Encodings.Web 空间包含表示 Web 编码器的基类.表示 HTML.JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符.字符范围或码位的筛 ...