• COMST 2018

主要内容

  • 这是一篇有关快速包转发的综述,先介绍了包转发的有关基础知识和背景,具体介绍了包转发的主流方法,对这些方法进行了细致详尽的比较,最后介绍了最新的方法和未来的研究方向
  • 包处理包括Fast Path 和Slow Path,前者用于包转发和包头处理,后者主要用于管理、错误控制、维护。
  • 主要的方法有三种:纯软件、纯硬件、软硬结合
  • 纯软件方法主要在软件层面(零拷贝、批处理、并行性、用户/内核空间)进行性能优化,性能不足的主要是因为网络协议栈架构的不足。
  • 纯硬件方法性能高但灵活性差。
  • 软硬结合方法主要将部分功能卸载到高性能的硬件上,具有软件和硬件二者的优势。
  • 软硬结合里硬件处理主要有三种:CPU,GPU,FPGA,主要是将部分功能卸载到硬件上,利用硬件的高性能处理包。
  • CPU在指令并行上最大化,GPU在线程并行上最大化,FPGA有大量的并行但是使用硬件编程难度较大(HDLs)。
  • 最新的方法包括:FD.io、VPP、ODP、OFP、P4、Openstate、BESS.

introduction

Highly demond

  • increased performance of network interfaces:
  1. high-speed router
  2. multi-terabit IP router
  3. datacenter switch.

Main methods

  • Software
  • Hardware
  • Combination of the two

General purpose device

Problem
  • Networks stacks' architectural design brings high overheads
Solution
  • Many kinds of technology

Programmable aspect

  • Openflow:high-end specialized equipment and make it programmable
  • Use general-purpose computers in the well-known environment
  • "Semi-specialized" solution:use network processors to offload packet processing,rest is done on conventional processors
  • Reconfigurable Hardware

Based on Three hardware

  • Cpu:less latency and programs laster longer
  • Gpu:expreme thread-level parallelism
  • Fpga:energy efficient and not easy to program

Base on Virtualize environments

  • Wire and wireless

Background

Terminology

  • Time-critical and non-time critical
  • Fast path and slow path

Time-critical router

  • Corresponding to fast path
  • Performed on the majority of packets that pass through the router
  • Have the higher priority.
  • Bypass the router processing card
  • Including forwarding and header processing.
forwaring
  • Bypass,ASICs
  • Forwading table,classification,queue
header processing
  • version->length->checksum->TTL

Non-time critical router

  • Corresponding to slow path
  • Mainly used for management, error handling and maintenance.
  • ICMP,SNMP,ARP,PKT fragmentation(ipv4/v6)

Background on Packet Processing

  • Target:maximizing the utilization of available resource and providing the fastest possible service.
  • Surporting a high throughput implicates a sufficiently low packet processing latency.

Steps of Packet Processing

  • NIC->(by DMA)memory->Cpu->ring buffer->NIC register->(by DMA)NIC
  • Multiqueue NICs designed for multi-core.
  • RSS(Receive-Side Scaling)enables distributed among different cores.
  • Memory-mapping techqinues reduce the cost of packet transmission from kernel-space to user-space through system calls.

CPU/GPU/FPGA

  • CPU maximize the instruction-level parallelism.
  • GPU maximize the threads-level parallelism.
  • FPGAs have massive amount parallelism built-in.

Software Implemetations

Click-based solutions

  • Problem:Inflexible closed designs,difficult to extend,rounting configuration limited.
  • Solution:Building blocks or fine-graned components which are called elements.

RouteBricks

  • RouteBricks is a software router architecture which can run on multiple cores of a single server in order to leverage the performance of a software router.

FastClick

  • FastClick is a solution which intergrates both DPDK and Netmap in Click.

Netmap

  • Netmap is a framework which allows commodity hardware(withou modiying applications or adding custom hardware) to handle millions of packets per second which go over 1...10Gbit/s links
  • It builds a fast path betwwen the NIC and the applications
  • Regular mode is a standard mode where NIC exchanges packet with the host stack.
  • Netmap mode,NIC rings are disconnected from the host netork stack and packets are disconnected from the host network stack and packets are transferred through the netmap API.

NetSlices

  • NetSlices represents operting system abstraction which processes packets in user-space and enables a linear increase of performance with the number of cores.

PF_RING

  • is a high-speed packet capture library that allows a commodity PC to perform efficient network mearsurement which allows both packet and active traffic analysis and manipulation.

DPDK

  • ~is a set of data plane libraries and drivers which are used for fast packet procceing.

Gpu-based solutions

Snap

  • Snap is a packet proccessing system based on Click which offloads some of the computation lod on GPUs.

PacketShader

  • ~ is a software router framwork which uses Graphic Processing Units.

APUNet:

  • ~ is an APU-accelerated network pakcet processing system that exploits the power of intgrated GPUs for parallel packet processing while using a COU for scalable packet I/O.

ClickNP

GASPP

  • ~ is a programmable network traffic processing framework that was made of modern GPUs.

FPGA-based solutions

  • represents and FPGA-accelerated platform for high performance and highly flexible Network NF processing on commodity servers.

GRIP

  • The authors point out that transmitting or receiving data at gigabit speeds already fully monopolize the CPU, therefore, it is not possible to realize any additional processing of these data without degrading toughput.

SwitchBlade

  • ~ represents a platform which is used for rapid prototyping and deployment of custon protocols on programmable hardware.

chimpp

  • ~ is a development environment for reconfigurable networking hardware that is base on the Click modular router and that targets the NetFPGA platform.

Comparation




Integration Possibilityies in Virtualized Environments

  • One solution to packet processing in virtualized environments: group packet processing instead of processing them individually.

VALE

  • ~ is a system base on netmap API which implements high performance Virtual local Ethernet that can be used to interconnet virtual machines by providing access ports to multiple cients.

ptnetmap

  • ~ is a Virual Passthrough solution based on the netmao framework, which is used as the "device" model exported to VMs.

NetVM

  • ~ is a high-speed network packet processing platform built on top of KVM and DPDK library.

OVS+DPDK

  • An open source virtual switch with high performance.
  • It consumes too much cpu resource.

Summary of the constraints

Latest approaches and Future Directions

  • FD.io
  • VPP
  • ODP:is a set of APIs for the networking software defined date palone which are open-source and cross-platform.
  • OFP:A project provides an open-source implementation of high-performance TCP/IP stacks.
  • P4:a high-level language used to program protocol-independent packet processors.
  • Openstate:A approach which allows performing stateful control functionalities directly inside a switch without the nedd for the intervention of the externel controller.
  • BESS is concerned with building a programmable plaform called SoftNIC that auguments hardware NICs with software.

Reading Fast Packet Processing A Survey的更多相关文章

  1. Fast Packet Processing - A Survey

    笔记是边读边写的旁注,比较乱,没有整理就丢上来了. 可以说不仅要说fast packet process servey,也同时是一篇packet process的综述了.packet processi ...

  2. Reading SketchVisor Robust Network Measurement for Sofeware Packet Processing

    SIGCOMM17 摘要 在现有的网络测量任务中包括流量监测.数据收集和一系列网络攻击的预防.现有的基于sketch的测量算法存在严重性能损失.大量计算开销以及测量的精确性不足,而基于硬件的优化方法并 ...

  3. ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0

    最近遇到一个MySQL连接的问题,远程连接MySQL时遇到"ERROR 2013 (HY000): Lost connection to MySQL server at 'reading a ...

  4. PatentTips - Data Plane Packet Processing Tool Chain

    BACKGROUND The present disclosure relates generally to systems and methods for providing a data plan ...

  5. 翻译:MySQL "Got an Error Reading Communication Packet" Errors

    前言: 本文是对Muhammad Irfan的这篇博客MySQL "Got an Error Reading Communication Packet" Errors的翻译,如有翻 ...

  6. VPP(Vector Packet Processing)浅析

    VPP简介 VPP(Vector Packet Processing)是思科旗下的一款可拓展的开源框架,提供容易使用的.高质量的交换.路由功能 特点:高性能.运行在普通的cpu上. 优点:高性能.技术 ...

  7. 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 ...

  8. 连接 MySQL 报错:Lost connection to MySQL server at 'reading authorization packet', system error: 34

    报错信息: Lost connection to MySQL server at 解决方案: use mysql; ; flush privileges; 参考: https://blog.csdn. ...

  9. HIGH-SPEED PACKET PROCESSING USING RECONFIGURABLE COMPUTING

    摘要 本文介绍了一种新的工具链,它将一门称为 PX 的专门用于包处理的编程语言运用到基于 FPGA 技术的高性能可重构计算架构(HIGH-PERFORMANCE RECONFIGURABLECOMPU ...

随机推荐

  1. delphi之读写文件的三种方式

    一.Tstrings.Tstringlist procedure TForm1.Button2Click(Sender: TObject); var strlist: TStringList; pat ...

  2. java设计模式-----3、抽象工厂模式

    抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态.抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式.抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创 ...

  3. SQLHappy微软数据库连接查询操作,对数据的处理和查询

    (软件已更新,部分介绍与新版软件有出处) 1.服务连接界面介绍 2.主界面介绍 3.表搜索介绍 4.命令菜单部分介绍 5.插件介绍 6.帮助菜单介绍 7.数据库列表右键菜单 8.数据库结构和数据操作( ...

  4. Code Signal_练习题_palindromeRearranging

    Given a string, find out if its characters can be rearranged to form a palindrome. Example For input ...

  5. csharp: Double Convert To String

    /// <summary> /// /// </summary> /// <param name="fl"></param> /// ...

  6. ThreeJS geometry的顶点世界坐标

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. python模拟登陆豆瓣——简单方法

    学爬虫有一段时间了,前面没有总结又重装了系统,导致之前的代码和思考都没了..所以还是要及时整理总结备份.下面记录我模拟登陆豆瓣的方法,方法一登上了豆瓣,方法二重定向到了豆瓣中“我的喜欢”列表,获取了第 ...

  8. Linux / mysql: is it safe to copy mysql db files with cp command from one db to another?

    Copying is very simple for MyISAM and completely 100% risky (near suicidal) with InnoDB. From your q ...

  9. 【html/css】若母div设置了透明度,如何才能使得里面的子div不继承母div的透明度

    用rgba的方式给母div设置透明度的话就不会影响子div的透明度了. 例: background: rgba(51, 51, 51, 0.5);

  10. 然之协同系统6.4.1 SQL注入之exp编写

    前言 前面已经说明了 漏洞成因,这里介绍一下 exp 的编写. 正文 为了 getshell 或者是 任意文件下载, 我们需要修改 数据库中的 前缀sys_file 表, 所以我们的利用方式如下 使用 ...