Efficient TCAM Encoding Schemes for Packet Classification using

  • Slides: 15
Download presentation
Efficient TCAM Encoding Schemes for Packet Classification using Gray Code Authors: Yeim-Kuan Chang and

Efficient TCAM Encoding Schemes for Packet Classification using Gray Code Authors: Yeim-Kuan Chang and Cheng-Chien Su Publisher: the IEEE Globecom 2007 conference Present: Chen-Rong Chang Date: December, 10, 2008 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R. O. C. 1

Outline n n Introduction Related Works Proposed range encoding shemes Performance 2

Outline n n Introduction Related Works Proposed range encoding shemes Performance 2

Introduction A traditional solution for storing ranges in TCAM is the direct range-to-prefix conversion

Introduction A traditional solution for storing ranges in TCAM is the direct range-to-prefix conversion which individually converts each range into multiple prefixes. A set of encoding schemes called parallel packet classification encoding (PPCE) is proposed based on the concept of elementary intervals. 3

Elementary intervals 4

Elementary intervals 4

Direct range-to-prefix & Elementary intervalbased encoding scheme Direct range-to-prefix conversion: EX: R 2 =

Direct range-to-prefix & Elementary intervalbased encoding scheme Direct range-to-prefix conversion: EX: R 2 = [2 6] 00010 For tatal: 0 0 0 1 * 00011 17 5 -bit prefix 00100 0010* 00101 00110 Elementary interval-based encoding scheme: EX: R 2 = [1 1] 0001 For tatal: R 3 = [4 7] 6 4 -bit prefix 0100 0101 01** 0110 0111 5

Parallel packet classification encoding (PPCE) scheme 6

Parallel packet classification encoding (PPCE) scheme 6

Proposed Range Encoding Schemes 7

Proposed Range Encoding Schemes 7

Proposed Range Encoding Schemes (cont. ) 8

Proposed Range Encoding Schemes (cont. ) 8

BRGC range group The following rules are satisfied: n no range is disjoint from

BRGC range group The following rules are satisfied: n no range is disjoint from the other ranges in the group n each range covers exactly consecutive elementary intervals n the identifiers assigned to these intervals can be merged into one ternary string Perfect range group: it covers 2 d – 1 valid elementary intervals which need 2 d – 1 distinct identifiers. 9

Perfect BRGC range group (cont. ) 10

Perfect BRGC range group (cont. ) 10

Imperfect BRGC range groups 11

Imperfect BRGC range groups 11

Many-to-one code assignment n The many-to-one code assignment scheme achieves the goal of using

Many-to-one code assignment n The many-to-one code assignment scheme achieves the goal of using only one ternary string to encode a range by assigning more than one code to an elementary interval. 12

One-to-many code assignment n The one-to-many code assignment scheme extends the use of a

One-to-many code assignment n The one-to-many code assignment scheme extends the use of a common code from the default elementary intervals to the valid elementary intervals by assigning a common code to the valid elementary intervals covered by the same subset of original ranges 13

Performance 14

Performance 14

Performance (cont. ) 15

Performance (cont. ) 15