网络测量中基于Sketch方法的调查
目录
LD Sketch
- 应用:网络流中的
- 异常检测
- heavy hitters检测
- heavy changers检测
- 优点:准确度、可扩展性
- 特点:
- 利用基于计数和sketch的技术
- 并行式架构(合并分布的流)
- 分为本地检测和分布检测
- 由两种启发式增强方法
- [1]
SeqHash
- 应用:
- 入侵防御
- 大流检测
- heavy hitters/changers 恢复
- 优点:快速精确,资源开销小(仅略大于理论值)
- [2]
What’s New
在流量之间找到绝对的、相对的和可变的差异。
- 利用sketch来记录流量
- 优点:
- 迅速
- 空间开销小
- [3]
reversible sketch
流量变化检测,异常检测 并不能保存流量的关键信息(IP etc.),难以恢复异常流量的关。推断流的关键信息
- 特点:
- 以很小的内存开销,记录包的信息,
- 确定变化(异常)的流,以及流的关键信息
- [6]
Count-Sketch和Count-min sketch
- 有相似性能
- 应用:高速流的统计
- 优点;
- 空间开销小
- 速度较快
- [7]
Diamond Sketch: Accurate Per-flow Measurement
for Real IP Streams
- 针对skewed IP流,sketch的测量空间效率低,Diamond Sketch为每个流动态分配sketch数。
- 优点:提升了测量的精确度并保持一定的速度。
- [8]
Finding top-k elements in data streams
- 应用:检测数据流中最常见元素
- 优点:
- 空间开销小
- 速度快
- [9]
附录
Bloom filter
- Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合
- 历史:Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。
- 应用:用于检索一个元素是否在一个集合中。
- 特点:Bloom Filter有可能会出现错误判断,但不会漏掉判断。
- 适用场景:Bloom Filter”不适合那些“零错误的应用场合。而在能容忍低错误率的应用场合下,Bloom Filter比其他常见的算法(如hash,折半查找)极大节省了空间。
- 优点:是空间效率和查询时间都远远超过一般的算法,
- 缺点:是有一定的误识别率和删除困难。
- 更多详细信息,可见[10][11]
Quotient Filter and Cascade Filter
- Quitient Filter 和Cascade Filter算法由Bender等人设计,是一个空间效率高的概率性数据结构
- 应用:用于检索一个元素是否在一个集合中。
- 优点:对插入、查询、删除操作由高吞吐量,比Bloom Filter高了两个数量级。
- 更多详情见[12][13]
总结
- 基于sketch的方法以计数/统计为主,常用于大流/异常流量检测,也可以根据测量结果恢复出包的关键信息。
- 主要优点:
- 节省空间资源
- 速度较快
- 主要缺点:
- 不精确
- 计算开销较大
参考文献:
[1] A hybrid local and distributed sketching design for accurate and scalable heavy key detection in network data streams
[2] Sequential hashing: A flexible approach for unveiling significant patterns in high speed networks
[3] What’s New: Finding Significant Differences in Network Data Streams
[6] Reversible Sketches: Enabling Monitoring and Analysis Over High-Speed Data Streams
[7] An improved data stream summary: the count-min sketch and its applications
[8] Diamond Sketch: Accurate Per-flow Measurement
[9] Finding top-k elements in data streams
[10] https://www.cnblogs.com/zhxshseu/p/5289871.html
[11] https://en.wikipedia.org/wiki/Bloom_filter
[12] https://en.wikipedia.org/wiki/Quotient_filter
[13] Don’t Thrash: How to Cache your Hash on Flash
网络测量中基于Sketch方法的调查的更多相关文章
- 网络测量中基于Sketch方法的简单介绍
Sketch介绍 为什么要用Sketch 网络流主要根据五元组.主机地址.包的大小来分类.在网络中存在各种各样的包,如果按照上述分类方法,对每一种包都分配一个计数器来储存,虽然测量准确,那么存放计数器 ...
- 车载导航应用中基于Sketch UI主题定制方案的实现
1.导读 关于应用的主题定制,相信大家或多或少都有接触,基本上,实现思路可以分为两类: 内置主题(应用内自定义style) 外部加载方式(资源apk形式.压缩资源.插件等) 其实,针对不同的主题定制实 ...
- 车载导航应用中基于Sketch UI主题实现
1.导读 关于应用的主题定制,相信大家或多或少都有接触,基本上,实现思路可以分为两类: 内置主题(应用内自定义style) 外部加载方式(资源apk形式.压缩资源.插件等) 其实,针对不同的主题定制实 ...
- 软工之词频统计器及基于sketch在大数据下的词频统计设计
目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...
- 阅读基于sketch的软件定义网络测量数据平面硬件模型
概要 硬件实现 基于sketch 功能:采集包数.流长数据,恢复五元组 重点:高速条件下性能较好,节省硬件资源 摘要: 提出一种基于sketch 数据结构的软件定义测量数据平面硬件模型,并在以现场可编 ...
- PatentTips -- 一种在CoAP网络中注册的方法及装置
技术领域 [0001] 本发明涉及一种在CoAP网络中注册的方法及装置,属于网络通信技术领域. 背景技术 [0002] (Internet of Things,物联网)作为新一代的信息技术,越来越受到 ...
- 深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)
VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...
- 网络与多线程---OC中多线程使用方法(一)
小编在此之前,通过一个小例子,简单的形容了一下进程与线程之间的关系,现在网络编程中的多线程说一下!!! *进程的基本概念 每一个进程都是一个应用程序,都有自己独立的内存空间,一般来说一个应用程序存在一 ...
- 详解SpringMVC中Controller的方法中参数的工作原理——基于maven
转自:http://www.tuicool.com/articles/F7byQn 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:ht ...
随机推荐
- unity3d之简单的时钟倒计时demo
输入结束时间,开始倒计时,时间差不超过一天,附上代码:(关于个位数显示,加个判断如果小于10 显示的字符串加上0) using System.Collections; using System.Col ...
- BZOJ2987:Earthquake(类欧几里德算法)
Sol 设 \(n=\lfloor\frac{c}{a}\rfloor\) 问题转化为求 \[\sum_{i=0}^{n}\lfloor\frac{c-ax}{b}\rfloor+1=\sum_{i= ...
- Luogu3804:[模板]后缀自动机
题面 luogu Sol \(sam\)然后树形\(DP\) 当时还不会拓扑排序的我 # include <bits/stdc++.h> # define IL inline # defi ...
- 解决ArcMap启动时只停留在初始化界面的方法
方法1 修改环境变量TEMP和TMP为C:\Temp 重启ArcMap. 方法2 关闭系统进程Print Spooler. 打开C:\WINDOWS\system32\spool\PRINTERS,删 ...
- SparseArray代替HashMap
相信大家都明白,手机软件的开发不同于PC软件的开发,因为手机性能相对有限,内存也有限,所谓“寸土寸金”,可能稍有不慎,就会导致性能的明显降低.Android为了方便开发者,特意在android.uti ...
- android studio新建项目时出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
android studio更新后创建新项目时出现以下错误 可以用Build->Rebuild Project解决,但这个方法只是临时的,重新打开项目还是会报错 所以用另一种方法: 在app下的 ...
- java 策略模式
<Head First 设计模式>学习中 设计原则 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起 针对接口编程,而不是针对实现编程 多用组合少用继承 ...
- vim常用快捷汇总
移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一 ...
- Python实例---利用正则实现计算器[参考版]
利用正则进行运算规则的计算 版本一: # import re # # ss = '1 - 2 * ((60 - 30 + (-40/5) * (9 - 2 * 5 / 3 + 7 / 3 * 99 / ...
- 套接字和标准I/O缓冲区
设置标准I/O函数缓冲区的主要目的是为了提高性能.但套接字中的缓冲主要是为了实现TCP协议而设立的.例如,TCP传输中丢失数据时将再次传递,而再次发送数据则意味着在某地保存了数据.存在什么地方呢?套接 ...