Hash Data Structures for Network Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network devices face inefficiencies in processing network packets due to the high cost and resource-intensive nature of storing and searching large flow data structures, which can consume significant processing time and memory resources.
Innovation Solution
The implementation of a method that determines common key type sets from network processing rules, creates hash data structures using these sets, programs the most common rules into content addressable memory (CAM) and hash data structures, and uses these structures to efficiently process network packets by generating packet search keys and searching CAM for appropriate handling actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If large flow data structures are stored in CAM, then network packet processing rules can be efficiently searched, but CAM memory resources are excessively consumed and cost increases
Solution Approach 1:
The patent segments the flow data structure into two parts: a first portion containing common key type sets stored in hash data structures in system memory, and a second portion containing remaining rules stored in CAM. This segmentation allows the system to utilize the high-speed lookup capability of hash structures for common patterns while reserving limited CAM resources for less frequent matches, thereby resolving the contradiction between processing efficiency and memory resource consumption
Solution Approach 2:
The patent introduces hash data structures as an intermediary layer between the incoming network packet and the CAM. The hash structure first processes the packet using common key type sets, and only if no match is found does the system query the CAM. This intermediary approach filters out most lookup operations before they reach the CAM, reducing its resource burden while maintaining overall processing efficiency
2Speed
If all network processing rules are programmed into CAM, then packet processing speed is improved, but device complexity and resource usage increase
Solution Approach 1:
The patent divides the rule set into two segments: common key type sets stored in hash data structures and remaining rules stored in CAM. This segmentation enables the system to maintain fast processing speeds for common patterns through hash lookup while keeping device complexity manageable by limiting CAM usage to only necessary rules
Solution Approach 2:
The patent creates a simplified copy of the flow data structure in the form of hash data structures that contain only the common key type sets. This copy handles the majority of lookup operations, reducing the need for complex CAM operations and thereby lowering overall device complexity while maintaining processing speed
Data Source
AI summary
Methods and systems for optimizing data structures to efficiently control network data transfers are provided. For example, the method includes determining common key type sets from a plurality of network processing rules; creating one or more hash data structures using the most common key type sets; programming network processing rules that use the most common key type sets into the one or more hash data structures; programming remaining network processing rules into a content addressable memory (CAM); and using the one or more hash data structures and the CAM to find an appropriate network processing rule to process a network packet.


