1 / 41

Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong

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.

kennan
Télécharger la présentation

Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tradeoffs for Packet ClassificationMembers:Jinxiao Song & Yan Tong cs6390 summer 2000 Tradeoffs for Packet Classification

  2. 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

  3. 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

  4. packet header fields (dimensions) 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

  5. Approaches to the problem multi-dimensional PC problem dynamic PC problem reduce reduce one-dimensional PC problem static PC problem cs6390 summer 2000 Tradeoffs for Packet Classification

  6. 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

  7. Updating the set of rules 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

  8. given 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

  9. 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

  10. 1-D 2-D 3D cs6390 summer 2000 Tradeoffs for Packet Classification

  11. Given: 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

  12. find: 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

  13. Two special cases • The IP Lookup(IPL) problem • The Range Location(RL) problem cs6390 summer 2000 Tradeoffs for Packet Classification

  14. classify packet based on the destination IP addresses 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

  15. ranges are non-overlapping(elementary interval) 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

  16. Intervals Elementary Intervals Example: elementary intervals Ranges for rule cs6390 summer 2000 Tradeoffs for Packet Classification

  17. Reduce the RL to IPL 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

  18. Example:reduction of RL to IPL 1110 1111 0000 0010 1000 RL problem: {0000, 0010, 1000, 1110, 1111} cs6390 summer 2000 Tradeoffs for Packet Classification

  19. prefix 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

  20. used in the reduction: 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

  21. Two - dimensional classification cs6390 summer 2000 Tradeoffs for Packet Classification

  22. Given: a two-dimensional grid point q find : the smallest cost rectangle in R What’s the two-dimensional PC problem? cs6390 summer 2000 Tradeoffs for Packet Classification

  23. 1-D 2-D 3D cs6390 summer 2000 Tradeoffs for Packet Classification

  24. 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

  25. balanced , inverted t-ary tree with l level 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

  26. the depth is log(m)/log(t) = l 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

  27. according to 2-D PC problem construct: x-FIS tree y-set Preprocessing: How to build the FIS tree cs6390 summer 2000 Tradeoffs for Packet Classification

  28. 1 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

  29. Example:construct of the y-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

  30. With 2-dimensional query point q = (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

  31. Steps for query processing • 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

  32. Theoretical results from query processing 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

  33. 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

  34. dynamic PC 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

  35. 1 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

  36. Principle for solving dynamic PC: 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

  37. Various Tradeoffs in classification: • 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

  38. Additional considerations for dynamic PC problem: • 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

  39. Experimental study: • 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

  40. Related work: • 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

  41. Conclusions: • 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

More Related