博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Network Monitoring in Software-Defined Networking :A Review(综述)
阅读量:5301 次
发布时间:2019-06-14

本文共 5660 字,大约阅读时间需要 18 分钟。

来源: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对于细粒度的安全监控越来越重要。

转载于:https://www.cnblogs.com/havenobug/p/9775276.html

你可能感兴趣的文章
JS属性大全
查看>>
java复制文件
查看>>
第一册:lesson seventy nine.
查看>>
GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
查看>>
团队作业
查看>>
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>