Reading SketchVisor Robust Network Measurement for Sofeware Packet Processing
SIGCOMM17
摘要
在现有的网络测量任务中包括流量监测、数据收集和一系列网络攻击的预防。现有的基于sketch的测量算法存在严重性能损失、大量计算开销以及测量的精确性不足,而基于硬件的优化方法并不适合sketch。为了完成这些任务,设计了一种基于纯软件包转发的网络测量框架,并改进现有算法提出了两种算法。这个网络测量框架具有高性能(line-rate)、高精度、广泛性(适用于多种sketch算法)、自动化(自动调节负载)的特点。框架包括数据平面和控制平面,每个软件交换机对应一个数据平面,每个数据平面包括nomal path和fast path。一旦流量过载,SketchVisor将过载的流量重定向到Fast Path,以保持高性能和高精度(虽然有轻微的损失),其中在Fast Path设计了Top-k算法。有一个总的控制平面,设计Compressing Sensing算法,对分布的交换机提供的数据加以整合,恢复出全网数据。最后实验验证了,SketchVisor使一系列基于sketch的测量方法达到了高性能和高精度要求。
Background
teminopogy
- Epoches: one or multiple time periods。
- Traffic statistics can be either flow-based (identified by 5-tuples) or host-based (identified by IP addresses); or either volume-based (measured by byte counts) or connectivity-based (measured by distinct flow/host counts).
- Sketch: At a high level, a sketch is a compact data structure comprising a set of buckets, each of which is associated with one or multiple counters. It maps each packet to a subset of buckets with independent hash functions, and updates the counters of those buckets. Network operators can query the counter values to recover traffic statistics.
Measurement Tasks
- Network measurement tasks includes: monitor traffid and colect traffic statistics, and some network attack.
- Attack:Heavy hitter,Heavy changer,DDos,Superspreader,Cardinality,Flow size distribution,ENtropy.
Performance flaws
Observation
- Sketches are only primitives that cannot be directly used for network measurement
- In order to collect meaningful traffic statistics, we must add extensions to sketches to make them reversible, meaning that sketches not only store traffic statistics, but also efficiently answer queries on the statistics
- Although sketches are efficiently designed, applying them in network measurement inevitably incurs heavy computational overhead.
- Sketches are compact data structures that can summarize traffic statistics of all packets with fixed-size memory, while incurring only bounded errors
Microbenchmark
- Providing comparation of exsited methods.
Problem
- Existing sketch-based measurement solutions suffer from severe performance drops under high traffic load.
- Heavy computational overhead:existing representative sketch-based solutions in software actually consume substantial CPU resources additional extensions or components that often incur heavy computations.
- Optimizing specific functions (e.g., using hardware-based hash
computations) may not work well for all sketch-based solutions.
design goals
- Performance: It processes packets at high speed and aims to fulfill
the line-rate requirement of the underlying packet processing
pipeline. - Resource efficiency: It efficiently utilizes CPU for packet processing
and memory for data structures. - Accuracy: It preserves high measurement accuracy of sketches.
- Generality: It supports a wide range of sketch-based measurement
tasks. - Simplicity: It automatically mitigates the processing burdens of
sketch-based measurement tasks under high traffic load, without
requiring manual per-host configurations and result aggregations
by network operators.
Solution
- SketchVisor: a robust network measurement framework for software packet processing.
Load banlancing: Distributed data plane, each of which processes packets based on the sketch-based measurement tasks as assigned by network operators , and redirects excessive packets to the fast path if
the tasks are overloaded and cannot process those packets at high
speed.- Track large flows: A new top-k algorithm for the fast path.
- **Track small flow*s**: A global counter to track the traffic entering the fast
path so as to capture the aggregate characteristics of small flows
as well. - Merge results: deploys a centralized control plane to
merge the local measurement results Our work is to mitigate the computational overhead of sketch-based measurement, while preserving the theoretical guarantees of sketches.
Implement
Aechitechture
- the SketchVisor comprises Data Plane and Control Plane.
Data plane
- each host possess a data plane, data plane can choose monitor ingress or egress traffic in case duplicated count.
- Data plane has two path, one is Normal path and another is Fast path, when buffer is full, the SketchVisor instructs the software switch to redirect overflowed packets to the fast path.
- They don't consider any proactive approach that examines packets and deciedes which packets should be dispatched into either the normal path or the fast path,as it will incur non-trival overhead.
- The Fast path is less accurate than the Normal path.
- The Fasy path should satisfy:fast enough to absorb all redirected traffic;highly accurate although slightly degrade from original sketch-base measurement;general for various traffic statics because each statics probably redirect into the Fast path.
Control plane
- the Control plane collects each switch's results and merges them to provide network-wide measurement.
- the Control plane should satisfy:eliminate the extra errors due to fast path (the error shoule only come from sketches themselves.);must be general to accommodate various measurement tasks.
SkechVisor
- Two algorithmic solutions, one builds on counter-based algorithms while the second builds on compressive sensing to design a network-wide recovery algorithm.
Fast Path
- To avoid the measurement failed and keep accuracy, Sketchvisor redirects overflow traffic into Fast Path.
- Design top-k algorithm which builds on Misra-Gries’s top-k algorithm for fast path.
- First, in order to kick out a small flow and add a (potentially) large flow, it performs O1ko operations to update k counters in a hash table; the overhead becomes significant when there are many small flows to kick out.
- Second, it has loose bounds on the estimated values of the top-k flows. To overcome both limitations, we combine the idea of probabilistic lossy counting (PLC) , a probabilistic algorithm that improves accuracy for tracking skewed data, with
Misra-Gries’s algorithm. - Specifically, we kick out multiple small flows each time, obviating the need of performing O1ko counter update operations for kicking out each flow (i.e., we amortize the operations over multiple kick-outs).
- Also, instead of using one
counter per flow, we carefully associate three counters with each
flow to provide tight per-flow lower and upper bounds.
Compressive Sensing
- Use Compressive sensing to recover network-wide statistics.
Related Work
- Sampling: widely used in software-defined measurement for low measurement overhead, but inherently misses information and supports only coarse-grained measurement.
- Sketches: Many architechtures employ sketches as primitives to chieve fine-grained measurement for various measrurement tasks, but incurs high computational overhead.
- TCAM:can be used to acheieve high-performance network measurement.
- Rule matching: selectively processes only packets of interest, thereby reducing measurement overhead,but hash-table incurs much higher memory overhead than sketched-based overhead.
- recover missing information:a matrix
interpolation problem to enable the control plane to recover missing
information via compressive sensing
Advantages
- high throughput and high accuracy
- fine grained
- accurately reason about the behavior of high traffic load
- resource-efficient
- recovers network-wide
conclusion
- Design and implement SketchVisor, a robust network-wide measurement architecture for software packet processing, with a primary goal of preserving performance and accuracy guarantees even under high traffic load. SketchVisor employs sketches as basic measurement primitives, and achieves high data plane performance with a fast path to offload sketch-based measurement under high traffic load. It further leverages compressive sensing to achieve accurate network-wide measurement. Experiments demonstrate that SketchVisor achieves high performance and high accuracy for a rich set of sketch-based solutions.
Reading SketchVisor Robust Network Measurement for Sofeware Packet Processing的更多相关文章
- Reading Fast Packet Processing A Survey
COMST 2018 主要内容 这是一篇有关快速包转发的综述,先介绍了包转发的有关基础知识和背景,具体介绍了包转发的主流方法,对这些方法进行了细致详尽的比较,最后介绍了最新的方法和未来的研究方向. 包 ...
- Internet protocol security (ipsec) packet processing for multiple clients sharing a single network address
Embodiments of the present invention address deficiencies of the art in respect to secure communicat ...
- PatentTips - Data Plane Packet Processing Tool Chain
BACKGROUND The present disclosure relates generally to systems and methods for providing a data plan ...
- Fast Packet Processing - A Survey
笔记是边读边写的旁注,比较乱,没有整理就丢上来了. 可以说不仅要说fast packet process servey,也同时是一篇packet process的综述了.packet processi ...
- VPP(Vector Packet Processing)浅析
VPP简介 VPP(Vector Packet Processing)是思科旗下的一款可拓展的开源框架,提供容易使用的.高质量的交换.路由功能 特点:高性能.运行在普通的cpu上. 优点:高性能.技术 ...
- Reading Software Defined Traffic Measurement with OpenSketch
NSDI '13 概要 OpenSketch是一个通用的.抽象的测量框架, 与SDN 网络架构类似, OpenSketch 提出将测量控制层和数据层解耦. 数据层运行设为可动态配置的3阶段流水线, 首 ...
- VPP(Vector Packet Processing)配置工具
前言 VPP提供了一个配置工具,让用户可以简单快捷地配置VPP.用户可以通过一些简单的命令配置VPP,功能包括安装及一些基本配置和测试用例. 使用 先安装一个python的pip模块,使用pip安装V ...
- Notes for Neural Network Methods for Natural Language Processing
什么是深度学习? 一种机器学习算法,based on [多层][非线性变换]的[神经网络]结构 优点:可以使用 低维 稠密 连续 的向量表示不同粒度的语言单元, 还可以使用循环.卷积.递归等神经网 ...
- HIGH-SPEED PACKET PROCESSING USING RECONFIGURABLE COMPUTING
摘要 本文介绍了一种新的工具链,它将一门称为 PX 的专门用于包处理的编程语言运用到基于 FPGA 技术的高性能可重构计算架构(HIGH-PERFORMANCE RECONFIGURABLECOMPU ...
随机推荐
- django基础一之web框架的本质
一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响 ...
- 【源代码R3】移植一份LARGE_INTEGER转时间的代码
本代码来自ReactOS-0.4.0\lib\rtl\time.c中的函数RtlTimeToTimeFields(IN PLARGE_INTEGER Time, OUT PTIME_FIELDS Ti ...
- H5禁止手机自带键盘弹出
一个功能中用到这个, 调用软键盘, 不想弹出手机默认的输入法 网上找了个 http://blog.csdn.net/qq_24147051/article/details/52958610 处理方式 ...
- Leetcode算法比赛---- Lexicographical Numbers
问题描述 Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10 ...
- CentOS7安装minio
[root@localhost ~]# wget https://dl.minio.io/server/minio/release/linux-amd64/minio -bash: wget: 未找到 ...
- Androidpdf
https://www.jb51.net/article/110238.htm https://blog.csdn.net/u010046908/article/details/53927157 &l ...
- HTML学习---HTML状态码
301 Moved Permanently 永久移动.请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI.今后任何新的请求都应使用新的URI代替302 Found ...
- 查看oracle数据库最近执行了哪些sql语句
SELECT b.sql_text, --content of SQL a.machine, --which machine run this code a.username, a.module, - ...
- 深入浅出SharePoint——获取Choice Field的Mapping value
list field对应的caml定义如下 <Field Type="Choice" DisplayName="Inspection Result" Re ...
- GO语言 切片的缩短和增长原理
package main import "fmt" //import OS "os" //import "strings" //import ...