Models, Algorithms, and Architectures for Scalable Packet Classification
Total Page:16
File Type:pdf, Size:1020Kb
Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCSE-2004-40 2004-07-28 Models, Algorithms, and Architectures for Scalable Packet Classification David Edward Taylor and Jonathan S. Turner The growth and diversification of the Internet imposes increasing demands on the performance and functionality of network infrastructure. Routers, the devices responsible for the switch-ing and directing of traffic in the Internet, are being called upon to not only handle increased volumes of traffic at higher speeds, but also impose tighter security policies and provide support for a richer set of network services. This dissertation addresses the searching tasks performed by Internet routers in order to forward packets and apply network services to packets belonging to defined traffic flows. As these searching tasks must be performed for each packet... Read complete abstract on page 2. Follow this and additional works at: https://openscholarship.wustl.edu/cse_research Recommended Citation Taylor, David Edward and Turner, Jonathan S., "Models, Algorithms, and Architectures for Scalable Packet Classification" Report Number: WUCSE-2004-40 (2004). All Computer Science and Engineering Research. https://openscholarship.wustl.edu/cse_research/1014 Department of Computer Science & Engineering - Washington University in St. Louis Campus Box 1045 - St. Louis, MO - 63130 - ph: (314) 935-6160. This technical report is available at Washington University Open Scholarship: https://openscholarship.wustl.edu/ cse_research/1014 Models, Algorithms, and Architectures for Scalable Packet Classification David Edward Taylor and Jonathan S. Turner Complete Abstract: The growth and diversification of the Internet imposes increasing demands on the performance and functionality of network infrastructure. Routers, the devices responsible for the switch-ing and directing of traffic in the Internet, are being called upon to not only handle increased volumes of traffic at higher speeds, but also impose tighter security policies and provide support for a richer set of network services. This dissertation addresses the searching tasks performed by Internet routers in order to forward packets and apply network services to packets belonging to defined traffic flows. As these searching tasks must be performed for each packet traversing the router, the speed and scalability of the solutions to the route lookup and packet classification problems largely determine the realizable performance of the router, and hence the Internet as a whole. Despite the energetic attention of the academic and corporate research communities, there remains a need for search engines that scale to support faster communication links, larger route tables and filter sets and increasingly complex filters. The major contributions of this work include the design and analysis of a scalable hardware implementation of a Longest Prefix Matching (LPM) search engine for route lookup, a survey and taxonomy of packet classification techniques, a thorough analysis of packet classification filter sets, the design and analysis of a suite of performance evaluation tools for packet classification algorithms and devices, and a new packet classification algorithm that scales to support high-speed links and large filter sets classifying on additional packet fields. WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING MODELS, ALGORITHMS, AND ARCHITECTURES FOR SCALABLE PACKET CLASSIFICATION by David Edward Taylor, M.S.Co.E., M.S.E.E., B.S.Co.E., B.S.E.E. Prepared under the direction of Dr. Jonathan S. Turner A dissertation presented to the Sever Institute of Washington University in partial fulfillment of the requirements for the degree of Doctor of Science August, 2004 Saint Louis, Missouri WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ABSTRACT MODELS, ALGORITHMS, AND ARCHITECTURES FOR SCALABLE PACKET CLASSIFICATION by David Edward Taylor ADVISOR: Dr. Jonathan S. Turner August, 2004 Saint Louis, Missouri The growth and diversification of the Internet imposes increasing demands on the perfor- mance and functionality of network infrastructure. Routers, the devices responsible for the switch- ing and directing of traffic in the Internet, are being called upon to not only handle increased vol- umes of traffic at higher speeds, but also impose tighter security policies and provide support for a richer set of network services. This dissertation addresses the searching tasks performed by Inter- net routers in order to forward packets and apply network services to packets belonging to defined traffic flows. As these searching tasks must be performed for each packet traversing the router, the speed and scalability of the solutions to the route lookup and packet classification problems largely determine the realizable performance of the router, and hence the Internet as a whole. Despite the energetic attention of the academic and corporate research communities, there remains a need for search engines that scale to support faster communication links, larger route tables and filter sets, and increasingly complex filters. The major contributions of this work include the design and anal- ysis of a scalable hardware implementation of a Longest Prefix Matching (LPM) search engine for route lookup, a survey and taxonomy of packet classification techniques, a thorough analysis of packet classification filter sets, the design and analysis of a suite of performance evaluation tools for packet classification algorithms and devices, and a new packet classification algorithm that scales to support high-speed links and large filter sets classifying on additional packet fields. copyright by David Edward Taylor 2004 SOLI DEO GLORIA to God alone be the glory Contents List of Tables ........................................ ix List of Figures ........................................ xi Acknowledgments ..................................... xvii Preface ........................................... xx 1 Introduction ....................................... 1 1.1 State of the Internet . 1 1.2 The “Next Generation” Internet . 5 1.3 The Packet Classification Problem . 6 1.3.1 Constraints . 9 1.4 Organization of the Dissertation . 11 2 Single-Field Search Techniques ............................ 12 2.1 ExactMatching.................................... 12 2.1.1 B-Trees.................................... 13 2.1.2 Hashing.................................... 13 2.1.3 Bloom Filters . 14 2.2 Longest Prefix Matching (LPM) . 17 2.2.1 LinearSearch................................. 18 2.2.2 Content Addressable Memory (CAM) . 18 2.2.3 TrieBasedSchemes ............................. 19 2.2.4 Multiway and Multicolumn Search . 21 2.2.5 Binary Search on Prefix Lengths . 22 2.2.6 Longest Prefix Matching using Bloom Filters . 23 2.3 All Prefix Matching (APM) . 25 2.4 RangeMatching.................................... 26 2.4.1 SegmentTree................................. 27 2.4.2 IntervalTree ................................. 28 v 2.4.3 Range to Prefix Conversion . 29 2.4.4 Range Matching Circuits . 30 3 Fast Internet Protocol Lookup (FIPL) ......................... 31 3.1 Introduction...................................... 31 3.2 Tree Bitmap Algorithm . 33 3.2.1 Split-Trie Optimization . 36 3.3 Hardware Design and Implementation . 37 3.3.1 FIPL Engine . 38 3.3.2 FIPL Engine Controller . 40 3.3.3 Implementation Platform . 41 3.3.4 Memory Configuration . 42 3.3.5 Worst-Case Performance . 42 3.3.6 Hardware Resource Usage . 42 3.4 System Management and Control Components . 43 3.4.1 NCHARGE.................................. 43 3.4.2 FIPL Memory Manager . 43 3.4.3 SocketsInterfaces .............................. 45 3.4.4 Remote User Interface . 45 3.4.5 CommandFlow................................ 45 3.5 Performance Measurements . 47 3.5.1 Memory Utilization . 48 3.5.2 LookupRate ................................. 48 3.6 Towards Better Performance . 50 3.6.1 Implementation Optimizations . 51 3.6.2 Root Node Extension & Caching . 51 3.7 RelatedWork ..................................... 53 3.8 Discussion....................................... 55 4 Multiple Field Search Techniques ........................... 56 4.1 Taxonomy....................................... 57 4.2 Exhaustive Search . 58 4.2.1 LinearSearch................................. 60 4.2.2 Ternary Content Addressable Memory (TCAM) . 60 4.3 DecisionTree..................................... 62 4.3.1 Grid-of-Tries . 64 4.3.2 Extended Grid-of-Tries (EGT) . 67 4.3.3 Hierarchical Intelligent Cuttings (HiCuts) . 69 4.3.4 Modular Packet Classification . 70 vi 4.3.5 HyperCuts .................................. 73 4.3.6 Extended TCAM (E-TCAM) . 74 4.3.7 Fat Inverted Segment (FIS) Trees . 75 4.4 Decomposition .................................... 78 4.4.1 Parallel Bit-Vectors (BV) . 78 4.4.2 Aggregated Bit-Vector (ABV) . 80 4.4.3 Crossproducting . 82 4.4.4 Recursive Flow Classification (RFC) . 82 4.4.5 Parallel Packet Classification (P 2C)..................... 84 4.4.6 Distributed Crossproducting of Field Labels (DCFL) . 87 4.5 TupleSpace...................................... 90 4.5.1 Tuple Space Search & Tuple Pruning . 92 4.5.2 RectangleSearch............................... 94 4.5.3 Conflict-Free Rectangle Search . 95 4.6 Caching........................................ 95 4.7 Discussion....................................... 96 5 Analysis of Real Filter Sets ..............................