Leaping multiple headers in a single bound: wire-speed parsing using the kangaroo system

INFOCOM(2010)

Cited 73|Views41
No score
Abstract
More fundamental than IP lookups and packet classification in routers is the extraction of fields such as IP Dest and TCP Ports that determine packet forwarding. While parsing of packet fields used to be easy, new shim layers (e.g., MPLS, 802.1Q, MAC-in-MAC) of possibly variable length have greatly increased the worst-case path in the parse tree. The problem is exacerbated by the need to accommodate new packet headers and to extract other higher layer fields. Programmable routers for projects such as GENI will need such flexible parsers. In this paper, we describe the design and implementation of the Kangaroo system, a flexible packet parser that can run at 40 Gbps even for worst-case packet headers. Because conventional solutions that traverse the parse tree one protocol at a time are too slow, Kangaroo uses lookahead to parse several protocol headers in one step using a new architecture in which a CAM directs the next set of bytes to be extracted. The challenge is to keep the number of CAM entries from growing exponentially with the amount of lookahead. We deal with this challenge using a non-uniform traversal of the parse tree, and an offline dynamic programming algorithm that calculates the optimal walk. Our experiments on a NetFPGA prototype show a speedup of 2 compared to an architecture with a lookahead of 1. The architecture can be implemented as a parsing block in a standard 400 MHz ASIC at 40 Gbps using less than 1% of chip area.
More
Translated text
Key words
IP networks,application specific integrated circuits,content-addressable storage,dynamic programming,field programmable gate arrays,table lookup,telecommunication network routing,trees (mathematics),IP dest,IP lookups,Kangaroo system,NetFPGA,TCP ports,application specific integrated circuits,bit rate 40 Gbit/s,content-addressable memory,frequency 400 MHz,offline dynamic programming,packet classification,packet forwarding,packet headers,parse tree,programmable routers,protocol headers,wire-speed parsing,worst-case path
AI Read Science
Must-Reading Tree
Example
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined