Tradeoffs for packet classification members jinxiao song yan tong
Download
1 / 41

Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong - PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on

Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong. To present an algorithm for solving the packet classification(PC) problem that allows various access time vs. memory tradeoffs concentrate on software solution for flow control: algorithm, data structure…etc. Objectives.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong' - kennan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Tradeoffs for packet classification members jinxiao song yan tong
Tradeoffs for Packet ClassificationMembers:Jinxiao Song & Yan Tong

cs6390 summer 2000 Tradeoffs for Packet Classification


Objectives

To present an algorithm for solving the packet classification(PC) problem that allows various access time vs. memory tradeoffs

concentrate on software solution for flow control:

algorithm, data structure…etc

Objectives

cs6390 summer 2000 Tradeoffs for Packet Classification


What s the packet classification problem

Identifies the flow a packet belongs to, based on one or more fields in the packet header

What’s the packet classification problem?

cs6390 summer 2000 Tradeoffs for Packet Classification


How to classify the packets

packet header fields (dimensions) more fields in the packet header

destination and source IP addresses

protocol type

source and destination port numbers

rules for classification

valid ranges for any of the header fields

How to classify the packets?

cs6390 summer 2000 Tradeoffs for Packet Classification


Approaches to the problem
Approaches to the problem more fields in the packet header

multi-dimensional

PC problem

dynamic PC problem

reduce

reduce

one-dimensional

PC problem

static

PC problem

cs6390 summer 2000 Tradeoffs for Packet Classification


Requirements for packet classification

Since this algorithm can be engineering to particular applications, so let find what is problem requirement from software engineering

Resource limitations

tradeoff time to perform the classification per packet vs.memory used

Number of rules to be supported

expect to scale up

Number of fields( dimensions ) used

Nature of rules

some current routers use one field destination IP address

Requirements for packet classification

cs6390 summer 2000 Tradeoffs for Packet Classification


Requirements cont

Updating the set of rules applications, so let find what is problem requirement from software engineering

the number of change to the rules either due to a route or policy change

solutions must adapt gracefully and quickly to such updates without hurting access performance

Worse case vs.Average case

focus on worst case rather than average case

requirements (cont.)

cs6390 summer 2000 Tradeoffs for Packet Classification


Problem specification

given applications, so let find what is problem requirement from software engineering

a rule set R={ r1,…,rn } of rules over d fields

each rule consists of ranges ri=[Fi1,..,Fid] Fijis a range of values the field j may take

each rule with a cost

each query is a packet p={f1,…,fd} where fi is a single value

find

The least cost rule applies to the packet

Problem specification

cs6390 summer 2000 Tradeoffs for Packet Classification


What s the key of authors algorithm

reduces the multi-dimensional packet classification problem to solving a few instances of the one-dimensional IP look up problem

rules have a natural geometric interpretation in d-dimensions.

What’s the key of authors’ algorithm?

cs6390 summer 2000 Tradeoffs for Packet Classification


1-D 2-D 3D to solving a few instances of the one-dimensional IP look up problem

cs6390 summer 2000 Tradeoffs for Packet Classification


What s the one dimensional pc problem

Given: to solving a few instances of the one-dimensional IP look up problem

a set of n rules possibly overlapping intervals from [1…U]

U-----the range of IP addresses

each rule with a cost

What’s the one-dimensional PC problem?

cs6390 summer 2000 Tradeoffs for Packet Classification


find: to solving a few instances of the one-dimensional IP look up problem

look up queries for point q  [ 1..U ] by identifying the smallest cost rule that contains q

One dimensional PC problem has two special cases, they are bases for solving general one dimensional PC problem

cont.

cs6390 summer 2000 Tradeoffs for Packet Classification


Two special cases
Two special cases to solving a few instances of the one-dimensional IP look up problem

  • The IP Lookup(IPL) problem

  • The Range Location(RL) problem

cs6390 summer 2000 Tradeoffs for Packet Classification


Ip look up problem ipl

classify packet based on the destination IP addresses to solving a few instances of the one-dimensional IP look up problem

each range is a prefix of an IP address

goal:determine the least cost rule that is a prefix of q

each query q is an IP address

Basically, the IPL problem is giving a set of prefixes and address d(packet address), we want to find the longest matching prefix of d in routing table

IP Look up problem( IPL )

cs6390 summer 2000 Tradeoffs for Packet Classification


Range location problem rl

ranges are non-overlapping(elementary interval) to solving a few instances of the one-dimensional IP look up problem

completely cover the specified series of left end points of the intervals

in the sorted order

each query is an integer

goal:determine the interval that contains q

Range Location problem( RL )

cs6390 summer 2000 Tradeoffs for Packet Classification


Example elementary intervals

Intervals to solving a few instances of the one-dimensional IP look up problem

Elementary

Intervals

Example: elementary intervals

Ranges for rule

cs6390 summer 2000 Tradeoffs for Packet Classification


How to solve the rl

Reduce the RL to IPL to solving a few instances of the one-dimensional IP look up problem

based on a theorem:

Consider any instance I of the RL problem with N point in the range 1..U.We can derive an instance I’ of IPL with at most 2N prefixes,each a string of length at most a =  logU .Each query I for the PL problem can be transformed into an IP address of length at most a for the IPL problem on set I’

How to solve the RL?

cs6390 summer 2000 Tradeoffs for Packet Classification


Example:reduction of RL to IPL to solving a few instances of the one-dimensional IP look up problem

1110

1111

0000

0010

1000

RL problem: {0000, 0010, 1000, 1110, 1111}

cs6390 summer 2000 Tradeoffs for Packet Classification


prefix to solving a few instances of the one-dimensional IP look up problem

next hop

0xxx

R1

1xxx

R4

10xx

R5

11xx

R8

000x

R2

001x

R3

1110

R7

1111

R6

RL IPL cont.

converted IPL problem with prefixes:

{000x, 001x, 0xxx, 1xxx, 10xx, 11xx, 1110, 1111)

routing table:

cs6390 summer 2000 Tradeoffs for Packet Classification


Benefit of solution from rl to ipl

used in the reduction: to solving a few instances of the one-dimensional IP look up problem

one-dimensional PC with arbitrary range rules  PC with only prefix while increasing the number of rules by at most a factor of two

using the best known solutions for IPL to solve RL

Benefit of solution from RL to IPL

cs6390 summer 2000 Tradeoffs for Packet Classification


Two dimensional classification
Two - dimensional classification to solving a few instances of the one-dimensional IP look up problem

cs6390 summer 2000 Tradeoffs for Packet Classification


What s the two dimensional pc problem

Given: a two-dimensional grid point q to solving a few instances of the one-dimensional IP look up problem

find : the smallest cost rectangle in R

What’s the two-dimensional PC problem?

cs6390 summer 2000 Tradeoffs for Packet Classification


1-D 2-D 3D to solving a few instances of the one-dimensional IP look up problem

cs6390 summer 2000 Tradeoffs for Packet Classification


Data structure fis tree fat inverted segment tree

data structure to support tradeoffs between access time and memory space

S - a set of m segments

t-ary tree

l -level

Data structure: FIS tree ( fat , inverted, segment tree )

cs6390 summer 2000 Tradeoffs for Packet Classification


Fis cont

balanced , inverted t-ary tree with l level memory space

leaves correspond to the elementary intervals in order

larger interval is the union of the elementary intervals

canonical set: the set of segments stored with a node

FIS (cont.)

cs6390 summer 2000 Tradeoffs for Packet Classification


Properties of fis

the depth is log(m)/log(t) = l memory space

each segment is stored in at most 2t-1 nodes per level

the collection of segments containing any point p is the union of l sets,the canonical subsets of the nodes on the search path of p in T; these sets are disjoint.

Properties of FIS

cs6390 summer 2000 Tradeoffs for Packet Classification


Preprocessing

according to 2-D PC problem construct: memory space

x-FIS tree

y-set

Preprocessing:

How to build the FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification


Example construct of an x fis tree

1 memory space

9

2

3

8

6

4

7

10

5

Elementary

Intervals

(9,10)

(3,4)

x-FIS

(2,8,1)

tree

3-ary

Example:construct of an x-FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification


Example construct of the y fis tree of one node v
Example:construct of the memory spacey-FIS tree of one node v

y

1

2

8

5

x

node v :canonical set(2,8,1)

cs6390 summer 2000 Tradeoffs for Packet Classification


Query processing

With 2-dimensional query point memory spaceq = (qx, qy)

Reduce it to single instance of RL problem take advantage of the FIS tree

Increase search speed

Query Processing:

cs6390 summer 2000 Tradeoffs for Packet Classification


Steps for query processing
Steps for query processing memory space

  • Solve the RL problem on the x-set with query qx , get the leaf Lx in the FIS tree representing the elementary interval containing qx

  • Consider all successive parent of Lx

  • Search the y-sets associated with each parent of Lx by solving the RL problem with qy for each nod. This determines the set of elementary interval that contain q from all y-sets. The smallest cost rectangle associated with these elementary intervals is returns as the solution.???

  • This can be thought of as solving the one-dimensional problem on the y-sets of the parents of Lx , using FIS trees of only one level.

cs6390 summer 2000 Tradeoffs for Packet Classification


Theoretical results from query processing
Theoretical results from query processing memory space

l-level x-FIS tree, n is the number of rules

  • Memory space: O(ln1+1/l)

  • Access time: (l+1)RLt(2n, U)

    The larger l is, the smaller the memory use and the larger the number of memory accesses

cs6390 summer 2000 Tradeoffs for Packet Classification


Multi dimensional classification

construct a FIS tree on the first dimension and recursively construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

The FIS TREE for the last dimension will be of level one just as in the two -dimensional case .

Multi-Dimensional classification

cs6390 summer 2000 Tradeoffs for Packet Classification


dynamic PC construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

dynamicRL

insert (incremental classification)

split

delete(dynamic classification)

merge

  • Dynamic PC problem:

  • dynamic RL problem: at most twice the number of memory access as the solution to the static RL problem. (the penalty can be avoided by using a cacheline twice as wide).

  • incremental classification: relax the degree of the FIS tree,

  • dynamic classification: relax the delta canonical set of node and the degree of the FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification


Example construct of an x fis tree1

1 construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

9

2

3

8

6

4

7

10

5

Elementary

Intervals

(9,10)

(3,4)

x-FIS

(2,8,1)

tree

3-ary

Example:construct of an x-FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification


Principle for solving dynamic PC construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.:

Make data structure(FIS tree) flexible but not destroy its global stability:

  • dynamic PC dynamic RL static RL

  • relax the degree of the FIS tree:the cost of lookup remains essential unchanged while increase the use of memory

  • maintain the current data structure so that delta canonical sets are small

  • incremental classification: incremental FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification


Various Tradeoffs in classification: construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

  • static PC problem: the larger l (levels of FIS tree) is, the small the memory use and the larger the number of memory access will be

  • choose appropriate solutions for the subproblems

  • the order in which the dimensions must be

    considered

cs6390 summer 2000 Tradeoffs for Packet Classification


  • Additional considerations for dynamic PC problem: construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

  • choice of the branching factor.

  • multiplex the updating of the tree with performing the lookups, although this requires careful implementation.

  • batch updates and perform them more efficiently than doing each individual update separately.

cs6390 summer 2000 Tradeoffs for Packet Classification


  • Experimental study: construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

  • algorithms tested

  • performance metrics:measuring the memory accesses, measuring the memory usage

  • For small rulesets (up to a few K rules), one level FIS tree suffices. The space used is a few 100k bytes and the number of memory accesses is less than 10.

  • For few 10 K rules, 2 level FIS tree, space is a few Mbytes, memory access is about 15.

  • For very large dataset(10^6 rules), 2-3 level FIS tree, space 100 Mbytes, memory access is up to 18

cs6390 summer 2000 Tradeoffs for Packet Classification


  • Related work: construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

  • Many research in this area

  • Motivation is to explore if software based solutions can perform lookups at high linespeed.

cs6390 summer 2000 Tradeoffs for Packet Classification


  • Conclusions: construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree.

  • Using a “fat” hierarchy of canonical sets to decrease the number of sets to be searched per query

  • Locating the canonical sets to be searched by processing up from the leaves using the inverted edges of FIS tree

  • Locating the leaves in FIS trees using the standard IPL problem, thereby leveraging off best known hardware and software solutions for it

  • Using FIS tree nodes with flexible degree to allow moderate number of updates without degrading the lookup performance significantly

  • Reducing the universe size using IPL problem before applying our solutions thereby reducing the memory accesses for each consequent IPL solution

cs6390 summer 2000 Tradeoffs for Packet Classification


ad