420 likes | 683 Views
Packet Classification on Multiple Fields. 참고 논문: Pankaj Gupta and Nick McKeown SigComm 1999. IP Lookup. Longest-prefix address lookup. Rule: Each Prefix. Action: Next hop. Classifier: Forwarding table. Outline. Packet Classification Application, Information, Characteristics Design Goal
E N D
Packet Classification on Multiple Fields 참고 논문: Pankaj Gupta and Nick McKeown SigComm 1999
IP Lookup • Longest-prefix address lookup • Rule: Each Prefix • Action: Next hop • Classifier: Forwarding table
Outline • Packet Classification • Application, Information, Characteristics • Design Goal • Previous Work • Recursive Flow Classification (RFC)
Packet classification(Application) • Packet Filtering • Deny all traffic from ISP3 destined to E2 • Accounting & Billing • Treat all video traffic to E1 as highest priority and perform accounting for the traffic sent this way
Packet Header http://vulcan.ee.iastate.edu/~dougj/class/580/index.htm
Definition of Packet Classification • Each rule • Specifies a class • Based on criterion on F fields • Associates with an identifier, classID • i-th component of the rule R, R[i] • A regular expression on the i-th filed of the packet header
Characteristics of P-C • 793 packet classifiers • 101 different ISP and enterprise networks • Total 41505 rules • ? Data representative? • Conclusion: Trivial or non-trivial?
Characteristics 1 • The classifiers do not contain a large number of rules. • 0.7% of the classifiers contain more than 1000 rules • Mean number: 50 rules
Characteristics 2 • The syntax allows a maximum of 8 fields to be specified: • Source/destination Network-Layer address(32-bits) • Source/destination Transport-layer port number(16-bits for TCP/UDP) • Type-of-service field(8-bits) • Protocol field (8-bits) • Transport-Layer protocol flags(8-bits)
Characteristics 3-4 • Transport-Layer protocol field is restricted to a small set of values: • TCP, UDP, ICMP, IGMP, (E)IGRP, GRE and IPINIP or wildcard • Transport-layer fields • Many (10.2%) are range specifications
Characteristics 5-6 • 14% of all the classifiers had a rule with a non-contiguous mask. • Many different rules share a number of field specifications.
Characteristics 7 • Redundant • Backward redundancy • Rule T appears earlier than Rule R, and R is a subset of T. • Forward redundancy • Rule T apperas after R • R is a subset of T • R, T have the same action • Rules inbetween R and T • The same action • Disjoint from R. • 8% of the rules were redundant.
Goals • Fast enough • Matching on arbitrary fields • Support general classification rules • Prefixes, operators(like range, less than, greater than…) and wildcards. • Suitable for software and hardware implementation • Memory efficient • Scalability • For steady classifier
Previous Work • Sequential evaluations • Grid of Tries • Crossproducting • Bit-level parallelism • TCAM
Abstract • The point location problem in multidimensional space • Find the enclosing region of a point, given a set of regions. • Complexity • O(logn) in time with O(nF) space • O(logF-1n) time with O(n) space
Overlapping is small • For the biggest classifier with 1734 rules, the number of distinct overlapping regions in four dimensions to be 4316, compared to a worst possible case of approximately 1013.
Select Phase number • Combine those chunks together which have the most “correlation”. • Combine as many chunks as possible without causing unreasonable memory consumption. • Best case: • P=3 Tree B • P=4 Tree A
Larger classifiers I • Concatenating the classifiers belonging to the same network.
Larger classifiers II • Concatenate all the classifiers of a few (up to ten) different networks. • RFC frequently runs into storage problems for classifiers with more than 6000 rules.
Variations • Process a larger number of fields in each packet header. • Use available fast lookup algorithms • Use Adjacency group
Adjacency Groups • Two rules (R, S)are considered adjacent • R appears first • The same Action • All but one field have the same specification • All rules in between R and S • Either have the same action • Disjoint from R
Comments • Trade off? • Memory, Speed, Dynamic Change, etc • Application and Demand oriented • Further discussion? • scai@ecs.umass.edu • Thank you!