Software Forwarding Packet Classification with Dual Cache
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing packet classification algorithms in software forwarding elements are limited by their inability to efficiently handle the large number and variety of packet header fields in modern networks, requiring long precomputation times and resulting in delayed classification and inflexibility.
Innovation Solution
Implementing a flow-based software forwarding element that uses multiple classifiers with a decision tree cache and a secondary tuple space search cache, allowing for efficient packet classification by searching multiple subtables based on different sets of packet header fields, with the secondary cache ensuring up-to-date flow entries and the primary cache updated at intervals.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single classifier algorithm is used, then the classification logic is simple, but it cannot efficiently handle the large number and variety of packet header fields
Solution Approach 1:
The patent divides the classification system into multiple independent classifiers, each specialized for different packet header fields. The first classifier handles 5-tuple fields while the second classifier handles additional header fields, allowing each component to remain simple while the overall system achieves high versatility.
2Measurement precision
If precomputation is performed to improve classification accuracy, then classification precision improves, but precomputation time increases significantly
Solution Approach 1:
The patent performs precomputation of classification rules and stores them in flow tables before runtime. This preliminary action prepares the classification data in advance, allowing fast matching during packet processing without requiring time-consuming computations at runtime.
3Adaptability or versatility
If classification policy is updated frequently to adapt to network changes, then adaptability improves, but classification time increases due to rebuilding requirements
Solution Approach 1:
The patent implements dynamic flow tables that can be updated incrementally without requiring complete rebuilding. The system supports adding, deleting, and modifying flow entries on-the-fly, allowing the classification policy to adapt to network changes in real-time while maintaining fast classification performance.
4Adaptability or versatility
If a comprehensive classifier is designed to handle all packet fields, then versatility improves, but per-packet classification time increases
Solution Approach 1:
The patent segments the classification process into multiple specialized classifiers that operate in sequence. The first classifier quickly filters packets using 5-tuple matching, and only packets that require further classification are processed by the second classifier, maintaining high throughput while covering all necessary packet fields.
Solution Approach 2:
The patent applies partial classification action by using the first classifier to handle the majority of common packet types with 5-tuple matching. This partial action is sufficient for most packets, and the more comprehensive second classifier is only invoked when needed, optimizing the balance between versatility and speed.
Data Source
AI summary
Some embodiments provide a method for a forwarding element that receives a packet. The method determines whether the packet matches any flow entries in a first cache that uses a first type of algorithm to identify matching flow entries for packets. When the packet does not match any flow entries in the first cache, the method determines whether the packet matches any flow entries in a second cache that uses a second, different type of algorithm to identify matching flow entries for packets. The method executes a set of actions specified by a flow entry matched by the packet in one of the first and second caches.


