practical multi-tuple packet classification using dynamic discrete bit selection

24
Practical Multi-tuple Packet Classification using Dynamic Discrete Bit Selection Authors : Baohua Yang, Jeffrey Fong, Weirong Jiang, Yibo Xue, and Jun Li. Publisher : IEEE TRANSACTIONS ON COMPUTERS - 2012 Presenter : Chai-Yi Chu Date : 2012/11/14 1

Upload: scott

Post on 23-Feb-2016

43 views

Category:

Documents


1 download

DESCRIPTION

Practical Multi-tuple Packet Classification using Dynamic Discrete Bit Selection. Authors : Baohua Yang, Jeffrey Fong, Weirong Jiang, Yibo Xue , and Jun Li. Publisher : IEEE TRANSACTIONS ON COMPUTERS - 2012 Presenter : Chai-Yi Chu Date : 2012/11/14. Outline. Introduction - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

1

Practical Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

Authors : Baohua Yang, Jeffrey Fong, Weirong Jiang, Yibo Xue, and Jun Li.Publisher : IEEE TRANSACTIONS ON COMPUTERS - 2012Presenter : Chai-Yi ChuDate : 2012/11/14

Page 2: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

2

Introduction Related Work Algorithm Evaluation

Outline

Page 3: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

3

Dynamic Discrete Bit Selection

◦ Packet classification algorithm

64-byte Ethernet packet and 10K ACL ruleset◦ 10 Gbps on Cavium OCTEON CN5860 multi-core network

processor◦ 135 Gbps on Xilinx Virtex-5 FPGA

Introduction

Page 4: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

4

Two major types of packet classification algorithm◦ Searching space partition

partition the searching space into smaller subspaces Ex. RFC, HSM

Related Work

Page 5: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

5

◦Ruleset partition cut the large ruleset into smaller ones Ex. HiCuts, HyperCuts

Page 6: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

6

Utilize dynamic heuristics to split the ruleset efficiently

Combine different data structures to optimize both time and space performance

Algorithm

Page 7: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

7

Terminology◦ E-Bits

some bits will partition the ruleset more “effectively”. To partition ruleset into smaller sub-rulesets.

◦M-Vector Definition 3.1 (M-Vector): A M-Vector V is a bit vector that

satisfies: V[i] = 1 only if bit i is an E-Bit, otherwise V[i] = 0.

0 1 0 1

Page 8: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

8

◦D-Table Dynamic Indexing Table T. For n bits, T consists of cells, where each cell stores a pointer

respectively.

◦ S-Block memory blocks that are pointed by T’s cell. Each S-Block stores a subset of the ruleset R. Rules are stored orderly from high to low by priority.

D-Table

S-Block

Page 9: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

9

Preparation Phase◦ 1. E-Bits selection◦ 2. M-Vector generation◦ 3. D-Table construction

Page 10: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

10

1. E-Bits selection◦ Two problems

E-Bits choosing Length optimization

◦ Solutions Judging Function(J-Function) Performance Function(P-Function)

Page 11: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

11

J-Function◦ To judge which bits are E-Bits

minimizing the maximum size of all subsets E-Bits set

minimizing the size of sub searching space

Page 12: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

12

P-Function◦ To decide the number of E-Bits.

to optimize the length of . M-Vector

Page 13: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

13

2. M-Vector generation◦Built with the process of E-Bits choosing and length

optimization Fast-Growth Intelli-Swap(I-Swap)

Page 14: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

14

3. D-Table construction◦ Set up T with length , each cell T[i] stores a pointer to an empty S-Block.

◦Use V to mask r at the E-Bits positions, which results in a bit-string i of length n.

◦ Insert r into the bottom of the S-Block pointed by T[i].

Page 15: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

15

Page 16: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

16

Classification Phase

V

H

T

Page 17: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

17

Complexity Analysis◦ ruleset R consists of N rules, and n E-Bits are selected.◦ Time complexity is ◦ Storage complexity is

Page 18: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

18

Suppose the length of the D-Table is . The length of the largest S-Blocks is L.◦Time complexity is , ◦Storage complexity is

The size ratio between the subsets and the original ruleset is ρ.

Then the size of the partitioned subsets will be ρ · N. Thus with n E-Bits,

Page 19: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

19

IA based Implementation

Evaluation

Page 20: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

20

◦Memory storage usage

Page 21: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

21

◦ Scalability The ratio of Memory Per Rule (MPR)

Page 22: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

22

Multi-core NP Implementation◦Cavium OCTEON CN5860, ACL10K

Page 23: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

23

FPGA based Implementation◦Xilinx Virte-5 FPGA(XC5VSX240T), 2048 Kb of Block RAM

Page 24: Practical  Multi-tuple Packet Classification using Dynamic Discrete Bit Selection

24