+ All Categories
Home > Documents > Survey of Packet Classification Algorithms. Outline Background and problem definition Classification...

Survey of Packet Classification Algorithms. Outline Background and problem definition Classification...

Date post: 16-Dec-2015
Category:
Upload: marilyn-anderson
View: 214 times
Download: 0 times
Share this document with a friend
37
Survey of Packet Classification Algorithms
Transcript
Page 1: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Survey of

Packet Classification

Algorithms

Page 2: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Outline

Background and problem definition

Classification schemes

– One dimensional classification

– Two dimensional classification

Page 3: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Background

Page 4: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Flow-aware vs. Flow-unaware Routers Flow-aware router

– Keep track of flows and perform similar processing on packets in a flow

Flow-unaware router

– Packet-by-packet router

– Treat each incoming packet individually

Page 5: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Why Flow-aware Router? Additional mechanisms required

– Admission control, resource reservation, per-flow queueing, fair scheduling etc.

Provision of DiffService in ISPs

– Capability to distinguish and isolate traffic belonging to different flows based on negotiated service agreements

Classification

Rules or Policies

Page 6: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Need for DiffService Service

Traffic shaping Traffic filtering Policy routing

ISP1

NAP

E1

E2

ISP2

ISP3Z

X

Y

Page 7: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

More Value added Services DiffService

– Regard traffic from Autonomous System #33 as `platinum grade’

Accounting and billing– Treat all video traffic as highest priority and perf

orm accounting for this type of traffic Committed access rate (rate limiting)

– Rate limit WWW traffic from sub interface#739 to 10Mbps

Page 8: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Flow-aware Router-Basic Architectural Components

Special processing

Control

Datapath:per-packet processing

Routing lookup

Routing, resource reservation, admission control

Packet classification

Switching

Scheduling

Page 9: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Flow Classification

Forwarding Engine

Flow Classification

HEADER

Flow Index

Classifier (Policy Database)

Predicate Action

IncomingPacket

Page 10: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Classful Addresses

0

10

110

Network Host

Network

Network

Host

Host

Class A

Class B

Class C

7 24

21 8

14 16

Every address was class A or B or C, easily determined by the first three bits of the address

Page 11: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Classless InterDomain Routing (CIDR)

Prefix can be of arbitrary length

208.12.16/24 208.12.21/24 208.12.31/24

0 232-1Total IPv4 address space

Prefix ranges

208.12.21/24

0 232-1Total IPv4 address space

208.12.16/20

These addresses match both prefixes

An exception prefix

Page 12: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Table Growth of a Backbone Router

From http://www.telstra.net/ops/bgptable.html

Page 13: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Prefix Length Distribution

Page 14: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Problem

Definition-

Packet

Classification

Page 15: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Given a classifier C with N rules, Rj, 1 j N, where Rj consists of three entities

– A regular expression Rj[i], 1 i d, on each of the d header fields,

– A number, pri(Rj), indicating the priority of the rule in the classifier, and

– An action, referred to as action(Rj)

Page 16: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Classification is a Generalization of Lookup

Classifier = routing table

One-dimension (destination address)

Rule = routing table entry

Regular expression = prefix

Action = (next-hop-address, port)

Priority = prefix-length

Page 17: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Metrics for Classification Algorithms Speed

Storage requirements

Low update time

Ability to handle large classifiers

Flexibility in implementation

Low preprocessing time

Scalability in the number of header fields

Flexibility in rule specification

Page 18: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

One Dimensional

Packet Classification

IP Address Lookup

Algorithms

Page 19: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Binary Tries

Prefixesa 0*b 01000*c 011*d 1*e 100*f 1100*g 1101*h 1110*i 1111*

a d

c

b

e

h if g

0

0

0

0

0

0

0

0 0

1

1

1 1

1

11

Page 20: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Path-Compressed Trie

Prefixesa 0*b 01000*c 011*d 1*e 100*f 1100*g 1101*h 1110*i 1111*

a d

ec

h if g

0

0

0

0 0

1

1 1

1

11

b

0

1

3 2

3

4 4

Legend: x indicates to inspect which bit

Page 21: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Disjoint-prefix Binary Trie

Prefixesa 0*b 01000*c 011*d 1*e 100*f 1100*g 1101*h 1110*i 1111*

c

b

e

h if g

0

0

0

0

0

0

0

0 0

1

1

1 1

1

11

a1

0

a3

1

a2

1

d1

1

Leaf pushing Disjoint prefixes do not overlap No prefix is itself a prefix of another

Page 22: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Variable-stride Multibit Trie

a

c

01 10

a d d

00 11

c

b

ihgfe

00

0 1

0 101 1011 00 11

01 10

stride=2stride=1

Prefixesa 0*b 01000*c 011*d 1*e 100*f 1100*g 1101*h 1110*i 1111*

Reduced number of memory accesses Greater wasted space

Page 23: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Caching Addresses

CPU

MAC

LocalBuffer

Memory

LineCard

DMA

MAC

LocalBuffer

Memory

Fast Path

Slow Path

Advantages Increased average lookup performance

Disadvantages Decreased locality in backbone traffic Cache size Cache management overhead Hardware implementation difficult

LineCard

LocalBuffer

Memory

LineCard

DMA DMA

MAC

BufferMemory

Page 24: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Hash-based Scheme Store a hash table for each prefix length Hash key is the prefix value and prefix

length Search scheme

– Linear search on prefix lengths

– Binary search on prefix lengths Need to provide intermediate markers

– Guide to more specific prefix

Need precomputation per marker– Avoid backtracking

Page 25: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Linear Search on Prefix Lengths

Prefixesa 0*b 01000*c 011*d 1*e 100*f 1100*g 1101*h 1110*i 1111*j 01*k 1100001*p 101*

a d

j

c

b

e

h if g

0

0

0

0

0

0

0

0 0

1

1

1 1

1

11

p1

0

0

k1

1

3

2

5

7

6

4

Linear searchon length

Page 26: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Binary Search on Prefix Lengths

Prefixesa 0*b 01000*c 011*d 1*e 100*f 1100*g 1101*h 1110*i 1111*j 01*k 1100001*p 101*

a d

j

c

b

e

h if g

0

0

0

0

0

0

0

0 0

1

1

1 1

1

11

p1

0

0

k1

1

3

2

5

7

6

4

Binary search on length

Page 27: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Lookups with Ternary-CAM

Memory array Priority

encoder

Next-hopmemory

Next-hop

TCAM RAM

01

23

M

0

1

00

1

DestinationAddress

Page 28: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Lookups with Ternary-CAM

Advantages– Suitable for multiple fields– Fast: 16-20 ns (50-66 Mpps)– Simple to understand

Disadvantages– Inflexible: range-to-prefix blow

up– Density: largest available in 200

0 is 32K x 128 (but can be cascaded)

– Management software, and on-chip logic: non-trivial complexity

– Power: 5-8 W– Incremental updates: slow– DRAM-based CAMs: higher dens

ity but soft-error is a problem– Cost: $30-$160 for 1Mb

Page 29: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Two Dimensional

Packet Classification

Page 30: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Set-pruning Tries

Rule DA SA

R1 0* 10*

R2 0* 01*

R3 0* 1*

R4 00* 1*

R5 00* 11*

R6 10* 1*

R7 * 00*

Dimension SA

Dimension DA

R7 R2 R1 R5 R7 R2 R1

R3

R7

R6

R7

R4

Page 31: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Hierarchical Tries

Dimension DA

Dimension SA

R5 R2 R1

R3R6

R7

R4

Rule DA SA

R1 0* 10*

R2 0* 01*

R3 0* 1*

R4 00* 1*

R5 00* 11*

R6 10* 1*

R7 * 00*

Page 32: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Grid-of-Tries

Dimension DA

Dimension SA

R5 R2R1

R3R6

R7

R4

Rule DA SA

R1 0* 10*

R2 0* 01*

R3 0* 1*

R4 00* 1*

R5 00* 11*

R6 10* 1*

R7 * 00*

Page 33: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Grid-of-Tries – cont.

Advantages

Good solution for two dimensions

Disadvantages

Static solution Not easily extensible to more than two dimensions

20K entries: 2MB, 9 memory accesses (with expansion)

Page 34: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Bitmap-intersection

R4 R3 R2R1

1

1

0

0

1

0

1

1

R3

R4

R1

R2

Page 35: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Bitmap-intersection – cont.

Advantages

Good solution for multiple dimensions, for small classifiers

Disadvantages

Static solution Large memory bandwidth (scales linearly in N) Large amount of memory (scales quadratically in N) Hardware-optimized

512 rules: 1Mpps with single FPGA (33MHz) and five 1Mb SRAM chips

Page 36: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Cross-producting

R4 R3R2

R1

5

4

3

2

1

6

21 7 8 94 5 63

P1P2

(1,3)

(8,4)

Page 37: Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.

Cross-producting – cont.

Advantages

Fast accesses Suitable for multiple fields

Disadvantages

Large amount of memory Need caching for bigger classifiers (> 50 rules)

50 rules: 1.5MB, need caching (on-demand cross-producting) for bigger classifiers

Need: d 1-D lookups + 1 memory access, O(Nd) space


Recommended