来源:IEEE SYSTEMS JOURNAL

发表时间:2018

类型:综述

主要内容:概述了SDN监控的发展,并从收集信息、预处理、传送信息、分析、和描述五个阶段进行解读,并比较了传统网络和SDN网络的不同。最后还讨论了几个设计概念,研究方向和开放性问题。

相关工作:

A.基本概念
  • Collection:三个考虑因素:方法(主被动)、目标和频率。
  • Preprocessing:原始数据被聚合并转换为某种统计格式,有助于逐项列出和跟踪测量结果。
  • Transmission:有助于逐项列出和跟踪测量结果(SNMP、Syslog)。
  • analysis:统计信息并标识特定事件,分析结果为流量工程和故障管理应用程序提供网络状态信息。
  • Presentation:导出分析结果(MRTG、RRDtool、Cacti ),提供可视化流量图。
B.传统网络和SDN监控的区别
  • Collection:SDN控制器可以根据全局视图,决定测量哪个设备及轮询时间。
  • Preprocessing:两者相似。
  • Transmission:OpenFlow的OFPMT METER ,用于从OpenFlow设备获取仪表数据。
  • analysis:针对传统网络状态开发的大多数分析方法也适应于SDN。
  • Presentation:现有的可视化工具可以轻松地与SDN系统集成。此外,SDN可以提供交互式界面以支持应用程序级别的演示。通过北向API获取数据,可以立即可视化网络行为和异常
C.讨论结果
  • 分布式网络设备的延迟和不一致通常会导致不恰当的测量结果
  • 一些具有创新性的网络使得在操作网络时的环境变得更加复杂,传统的监测方法可能无法跟上这种环境中网络行为。
  • 由于SDN将转发设备的逻辑与数据平面分开,因此它具有额外的通信要求且增加了控制通信的延迟时间。

SDN监控的发展

A.收集方法(query schedule and time period adaptation)
  • Narayana提出一种使用查询语言来启用自适应策略以减少SDN监视开销的方法。
  • MicroTE 指示服务器通过其接口跟踪网络流量,但每个机架只有一个服务器用于汇总主机到主机的流量。
  • Mahout专注于通过观察终端主机中的套接字缓冲区作为流量测量的代理来检测网络中的大象流。
B.预处理方法

SDN中的预处理阶段仍负责收集和预先检查收集的数据。大多数开发都侧重于提高收集性能和组织测量代理。 这些方法共分为四组:

Flow Header Inspection:

使用不同的分组字段(例如,源/目的地IP地址和端口号)来指定流统计

  • Hamad提出了一种通过OpenFlow协议获取流量统计的机制,并分析了查询频率对网络负载和信息准确性的影响。由于有限的带宽和TCAM条目,流表头检查的可扩展性在实践中受到限制。
Hashing:
  • OpenSketch
programing
  • ProgME通过组织收集的数据来创建测量体系结构
  • flowset
  • Moshref等人提出了一种名为Max-Cover HHH的算法来寻找网络拓扑中的关键节点
  • Frenetic和Pyretic提供用于监视特定流量的功能
  • NetAssay可捕获具有特定特征的流量
Traffic Matrix:
  • OpenTM
  • DCM
  • iSTAMP在资源和准确性之间提供了良好的分配,但它忽略了流聚合约束。
C.传输方法

将数据平面统计数据从设备发送到控制器。传统网络中使用的一些方法与SDN环境兼容,所以将传输方法分为混合方法和SDN方法。

  1. SDN-Original Methods:

控制器轮询和交换机推送是OpenFlow提供的两种方法,用于从交换机收集流量统计信息。控制器轮询意味着控制器以轮询速率向交换机发送Stats_Request消息,并且交换机使用Stats_Reply消息发回计数器信息。大多数解决方案使用控制器轮询方法,包括OpenTM和OpenNetMon;

由于控制器轮询会产生大量通信开销,已有解决方案:

  • PayLess 提供了一种用于轮询的自适应调度算法;
  • FlowCover轮询决策是通过轮询方案优化器来完成的;
  • FlowSense 由于其非实时特性,无法估算瞬时利用率;
  1. Hybrid Methods:(基于数据包和基于流)
  • Planck
  • Shirali-Shahreza和Ganjali
  • OpenSample
D.分析

在SDN环境中,分析功能通常集成到控制器中或放置在应用程序平面上。通常将反馈发送到SDN控制器以进行适配。分析阶段有四个常见功能:流量统计,异常检测,故障管理和流量工程。

Traffic Statistics:
  • OpenNetMon 使用OpenFlow交换机保存的计数器来计算吞吐量和数据包丢失,适用于由一个SDN控制器控制的单域网络。
Anomaly Detection:
  • Mehdi等人提出了几种不同的异常检测算法来分析连接状态,实现速率限制,阻止可疑数据包,并对异常进行分类。
  • OpenWatch
  • OpenSAFE
Fault Management(故障检测和故障恢复):
Traffic Engineering:
  • Baatdaat使用SDN概念提供符合NetFPGA开关的基于硬件的链路测量模块。
  • TinyFlow 设计记录下游端口并选择一个不同的出口端口,以便在字节数超过某个阈值时将大象流分解为鼠流。
E.Presentation Developments
Topology GUI:
  • 在拓扑发现过程中,SDN控制器通过利用链路层发现协议(LLDP)来检测当前网络拓扑。
Real-Time Presentation:
  • sFlow-RT分析引擎旨在为SDN网络提供实时可见性。
  • Rehman等人开发了一个sFlow监控引擎,并使用sFlow-RT在OF @ TEIN测试平台上实现流量可视化。
Management Interface:
  • Isolani等人开发了一个交互式界面,可以直观地显示网络拓扑,以及下载和上传流量速率。 可以设置控制器轮询间隔和空闲超时配置,并观察相应的流量速率变化。使用编程组合来实现功能灵活性是SDN的当前趋势。
F.总结
  • Bakalov 提出了将真实网络转变为SDN的三个主要挑战。
  • 根据IHS Markit进行的一项调查,大约75%的网络运营商已经部署或将部署SDN。
  • 由于SDN监控涵盖了许多网络测量方法,因此可以协调应用平面,控制平面和数据平面以满足管理需求
  • SDN监测的不同用途:
    • 按用户角色:从传统网络体系结构迁移到SDN时,网络运营商和用户都必须接受这些更改。 运营商必须使用SDN方法来管理网络,而用户可能需要改变他们对网络服务的看法。SDN架构为网络应用程序提供了一种面向服务的操作。

      • a.运营商:网络运营商更方便地对单独的逻辑层和物理层进行故障排除。 集中控制网络使运营商能够维护大规模网络,无需为逐个交换机配置策略。此外,借助监控信息,运营商能够平衡大规模网络中的资源。因此,SDN监控技术已经在企业和数据中心中实施。例如,B4演示了将SDN架构引入企业网络的做法。目的是提WAN上管理流量转发方面的效率。洪等人提出了软件驱动的WAN(SWAN),这是一种提高数据中心网络利用率以满足传输需求的系统。根据他们的实验结果,SWAN能够承载比MPLS更多的流量。
      • b.用户:在传统网络中,用户通常几乎没有能力控制网络,而NFV将网络服务转变为SDN内的可调用对象。
    • 按部署环境:许多学术和商业机构已经在内部部署了SDN。但是,大多数全球网络仍然在传统架构上运行。本地SDN网络需要使用传输传统网络来将分组传送到其他SDN网络。 在这些情况下,本地SDN控制器只能管理它们自己的区域,而中间网络的操作由非SDN方法管理。为了找到有效的网络监控开发,我们必须将部署环境分为两种类型:纯SDN和混合SDN(hSDN)。
      • a.纯SDN环境:监控纯SDN的唯一问题是网络的规模。 如果它很小,那么使用功能强大的控制器可以满足大多数控制要求。 使用OpenSketch和iSTAMP有助于SDN交换机在从交换机硬件获取数据方面获得更好的性能。但是,如果网络规模庞大(例如,数据中心网络和大规模网络测试平台),监控性能就成为一个重要问题。 为了减少控制器负载,Phan和Fukuda 提出了一种针对SDN的网络范围监控解决方案。 使用诸如HONE之类的替代操作也可以帮助减少流量监控负载。
      • b.混合环境: 网络管理器可能必须使用非SDN和SDN方法来监视混合环境中的网络设备。Vissicchio等对在网络部署中将SDN与传统网络相结合的hSDN模型进行了分类。监视混合环境的挑战是在收集和传输阶段期间向非SDN和SDN设备发送相应的指令。Living on the Edge,OpenSample和SUMA 是可以实现兼容测量的参考解决方案
    • 按操作意图分:
      • a.提高检控性能:实现低成本和高精度测量是网络监控的理想方案。 为了获得更好的性能,可以在系统能力和精度之间进行折衷。例DevoFlow 删除不必要的流表条目。
      • b.支持流量管理:SDN能够区分安全性,容错性和流量工程等特性问题。
      • c.Commonality control:控制器API的通用性不仅是一项要求,也是SDN控制和监控中的热门研究问题。

OPEN ISSUES

A.支持自适应问题
  • OpenMeasure [90]利用SDN控制器实时更新监控规则和学习预测。
  • Wellem等在NetFPGA中实现了Count-Min sketch算法,用于自适应测量。
  • HashPipe可以在SDN交换机上高精度地跟踪大流量,使用管道和哈希表来管理流标识符和计数器,以实现更好的性能。
B.实时分析

为了全面管理,设计的框架必须在灵活分配网络资源的同时减少监控开销,以便实时处理和可视化流量统计。 流量工程负责提高流量和资源级别的性能。

  • Akyildiz等人制定了SDN网络中的流量工程路线图。
C.网络安全支持

随着SDN解耦数据和控制,控制平面将成为恶意攻击的新目标。可以通过基于数据包报头或有效负载重定向及过滤流量来实施安全措施。

  • FleXam implements packet-level information by redefining sampling as a new action to be assigned to each flow.
  • OrchSec架构协调网络监控和SDN控制功能,以开发安全应用程序
  • Liyanage等人提出了一种利用监测和数据收集来检测移动SDN网络中安全威胁的方法
D.云应用程序集成

随着云服务使用的增加,需要增强用于处理云中流量的网络控制功能。

  • Neutron
  • Meridian是用于云环境中网络服务的SDN控制器平台。
  • NetGraph 使用拓扑服务模块获取底层网络的拓扑结构和最新的流来更新信息。
  • CloudWatcher使用四种路由算法在云网络监控服务中应用安全性,这些算法将数据包绕道到预先安装的网络安全设备进行检查。
E.Quality-of-Experience Monitoring

为了增强QoS,已经出现了QoE的概念。基于分组或基于流的测量结果,SDN可以为流量工程实现提供复杂的QoS管理。

  • 由于有效的QoE控制机制需要QoS参数来做出决策,Fiedler等人提出了连接QoE和QoS参数的通用公式。
  • Kassler等人提出了一种基于两个功能的QoE监控和管理系统架构:在应用层中的QoS匹配和优化功能以及在控制层中的路径分配功能。
  • Farshad等人引入了一个网络内QoE测量框架,该框架为HTTP自适应流媒体提供监控。
  • arschel等人还实现了基于DPI的QoE方法,以增强视频流传输。
F.Application-Aware Networking(IBN?)
  • Qian等人对蜂窝数据网络中的应用使用情况,以及网络使用与用户移动性之间的关系提出了深入见解从而帮助网络设计人员和运营商调整网络容量管理。
  • Atlas is a crowdsourcing approach to detect fine-grained applications from mobile agents.
  • Mekky等人提出了一种扩展的应用感知SDN架构,它概括了转发抽象,4-7层信息。
  • FlowQoS通过将应用程序标识和QoS配置委派给SDN控制器来执行基于应用程序的QoS。
G.Software-Defined Internet Exchange

网络服务和管理功能的高级抽象产生了软件定义的互联网交换,其作用是将多个SDN域互连。

可研究方向

  • 提高监控效率:网络监控的关键任务之一是在测量网络状态和汇总统计信息时减少运营开销。 运营开销根据网络的规模和复杂性而增长。 对于大规模SDN网络,在数据选择,调度和采样中需要智能算法。 平衡性能和准确性是运营商的关键问题。
  • 探索潜在用途:为了满足SDN监控中的各种用例,提前支持潜在的使用场景是开发的一个理想方面。由于全球网络的大多数部分仍在使用传统架构,因此预计hSDN模式将在一段时间内成为部署解决方案。充分利用编程语言和API将有助于研究人员开发各种监控机制,以在SDN监控中实现更灵活,自适应和高级别的控制特性。
  • 检查和分析:网络运营商必须能够识别应用程序和用户的使用情况。 在检查方面,监控网络数据包使网络运营商能够保护网络,安全地满足各种可变操作。 但是,检查2-4层包头不再足以提取数据包。利用多层检查和DPI对于细粒度的安全监控越来越重要。

Network Monitoring in Software-Defined Networking :A Review(综述)的更多相关文章

  1. Improving Network Management with Software Defined Networking

    Name of article:Improving Network Management with  Software Defined Networking Origin of the article ...

  2. Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking

    A method of transferring data between a software defined network (SDN) and an information-centric ne ...

  3. Software Defined Networking(Week 1)

    前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...

  4. Software Defined Networking For Dummies, Cisco Special Edition

    从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...

  5. Software Defined Networking(Week 2, part 1)

    History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...

  6. Software Defined Networking(Week 2, part 2)

    History of SDN 1.3 - 1.4 课程地址 Network Virtualization 网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想.我们先讨论何为网络 ...

  7. Software Defined Networking(Week 3, part 1)

    Control and Data Plane Seperation 课程地址 Overview 今天正式地学习一个控制与数据平面分离.学习完本节,应该要掌握何为控制和数据平面,了解它们的功能以及好处, ...

  8. Software Defined Networking(Week 2, part 3)

    Control of Packet-switch Network 我们已经讨论过中心控制网络的原理,但主要是以电话网络做模型的.现在我们来看看对于分组交换网络的控制是如何改进的. Why Separa ...

  9. A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

    将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...

随机推荐

  1. ionic 3 安卓手机获取经纬度坐标

    现在有个需求:每隔一段时间需向后台服务器返回当前用户的经纬度坐标. ionic 官方提供的有定位插件cordova-plugin-geolocation,兼容ios和android版本,网上查资料说最 ...

  2. Quartz.NET作业调度框架的简单应用

    概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...

  3. @transactional注解下失效

    这几天在项目里面发现我使用@Transactional注解事务之后,抛了异常居然不回滚.后来终于找到了原因. 如果你也出现了这种情况,可以从下面开始排查. 一.特性 先来了解一下@Transactio ...

  4. 5336: [TJOI2018]party

    题解: 比较水啦..dp套dp f[i][j][k]表示枚举了前i位,最大公共子序列匹配状态为j,noi匹配到了第k位 因为g[j]和g[j+1]最多差1 所以可以状压成j 然后内层再dp一下搞出下一 ...

  5. 【BZOJ4998】星球联盟

    题解: 应该还是比较水的 首先很容易发现的就是两个点一旦联通他们就永远联通了 所以联通之后我们就把他们之间缩成一个点

  6. csv导入数据到mongodb3.2

    mongoimport.exe -d paper -c paper K:\paper.csv --type csv -f id,name 数据库名 表名      文件所在位置      文件类型   ...

  7. selenium 常见面试题以及答案

    1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...

  8. app奔溃经验和应对方式

    bug直接影响:用户体验.app商店评级.用户忠诚度 前言: 因为现在市场是andriod手机的碎片化.造成了andriod手机更加容易出现APP的崩溃,通常在网络异常时APP上还在进行数据交互,即会 ...

  9. Java中String直接赋字符串和new String的区别(面试常考)

    摘取自:https://www.cnblogs.com/guozhenqiang/p/5633269.html 解析Java中的String对象的数据类型 1. String是一个对象.  因为对象的 ...

  10. M. Subsequence 南昌邀请赛

    链接: https://nanti.jisuanke.com/t/38232 先给出一个s母串 然后给出n个子串 判断是否为母串的子序列 3000ms  2993ms过的.... 蒻鲫的代码: 建立表 ...