a fast and scalable ipv6 packet classification

14
A Fast and Scalable IPv6 Packet Classification Author: Xiaoju Zhou, Xiaohong Huang, Qiong Sun, Wei Yang, Yan Ma Publisher: Network Infrastructure and Digital Content, 2009. IC-NIDC 2009 Presenter: Chin-Chung Pan Date: 2010/03/10

Upload: aileen

Post on 14-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

A Fast and Scalable IPv6 Packet Classification. Author: Xiaoju Zhou, Xiaohong Huang, Qiong Sun, Wei Yang, Yan Ma Publisher: Network Infrastructure and Digital Content, 2009. IC-NIDC 2009 Presenter: Chin-Chung Pan Date: 2010/03/10. Outline. Introduction - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Fast and Scalable IPv6 Packet Classification

A Fast and Scalable IPv6 Packet Classification

Author:Xiaoju Zhou, Xiaohong Huang, Qiong Sun, Wei Yang, Yan Ma

Publisher:Network Infrastructure and Digital Content, 2009. IC-NIDC 2009

Presenter: Chin-Chung Pan

Date: 2010/03/10

Page 2: A Fast and Scalable IPv6 Packet Classification

Outline• Introduction• IPv6 PC Algorithm Aimed at the FL features•Related work•FLIN Algorithm• Basic Data Structure for a Group of Independent Sets• Algorithm Description• Update

•Complexities of the Algorithm•Experimental Results

2

Page 3: A Fast and Scalable IPv6 Packet Classification

Introduction•As IPv6 with a FL (flow label) in its header has been

increasingly applied all over the world, well performed IPv6 PCs become crucial for ISP to support value-added services in future.

•Although FL was defined in RFC2460 as a 20-bit field in IPv6 header as a flow identifier, only one published PC algorithm is specifically designed based on IPv6 FL, Source IP Address (SA) and Destination IP Address (DA).

3

Page 4: A Fast and Scalable IPv6 Packet Classification

IPv6 PC Algorithm Aimed at the FL features

• As defined in RFC3697, FL acts as a flow identifier associated with SA and DA to replace traditional 5-field flow identifier (SA, DA, source port, destination port and protocol number).

• Two important characteristics of FL are defined. One is a FL value should be created randomly and the other is lifecycle of a FL is no more than 120 seconds.

4

Version Traffic Class Flow Label

Payload Length Next Header Hop Limit

Source Address

Destination Address

Page 5: A Fast and Scalable IPv6 Packet Classification

Related work

• IPv6 Packet Classification based on Flow Label, Source and Destination Addresses

5

Page 6: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmFL Decision Tree• In FLIN, a red-black tree is constructed based on FLs from

rules.

• FLIN based on a red-black trees will pay a small lookup cost because the tree is not perfectly balanced, but, in return, they get fast, bounded insertion and deletion operations.

• Using a red-black tree, FLIN can, thus, be indicated in situations where nodes come and go frequently.

6

Page 7: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmBasic Data Structure for a Group of Independent Sets• Consider dimension i. Let R be the resulting set of ranges in

this dimension. R is sorted according to the right end points. Let M be the set of selected non-overlapping ranges of R.

• Step1. If R is empty, then M is a maximum non-overlapping range set; terminate.

• Step2. From R select the range r with the smallest right end point. If there are more than one such ranges, randomly select one. Add r to M. Remove r from R all ranges that overlap with r. Go to step1.

7

Page 8: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmBasic Data Structure for a Group of Independent Sets

8

Page 9: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmRemark and Reordering• To optimize the search performance of PC-SAM, the 1st index

is -1, so we also remark it with -1. And the 3rd index is -1, it will be remarked as -3. Remarked indices will help to update a new rule.

• Then reorders rule indices in each bi by how big their end points are. For example, e21 is the end point of rule r21, in b3, e21>e31 and e31>e13, so we have b3->1(r13 index), 7(r21 index), 8(r31 index) will be reordered into b3-> 1, 8, 7.

9

Page 10: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmRemark and Reordering

10

Page 11: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmUpdate

11

•1st step is to follow the red-black tree update process.•2nd step, we need to search both SA and DA groups.

•There are two main cases when a new rule is coming. • Case one: There is an existing bi=bx. • Case two: There is no existing start point equal to bx.

Page 12: A Fast and Scalable IPv6 Packet Classification

FLIN AlgorithmUpdate

12

Page 13: A Fast and Scalable IPv6 Packet Classification

Complexities of the Algorithm

• The time require to perform red-black of FL is O(logN), and PC-SAM of (SA, DA) is O(I), N is the number of different FL values and I is the number of independent sets association with the FL so the total is O(logN+I).

13

Page 14: A Fast and Scalable IPv6 Packet Classification

Experimental Results

• One experimental scenario with 40000 rules as follows: There are 50 nodes (different FL values) in red-black tree and 800 rules on average for each node.

• In total 90 memory access are needed. This is the worst case plain implementation. Therefore the total storage in this scenario is 1600K.

14