SDN Switch Flow Rule Management via Priority Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software-defined networks, managing and updating flow rules in switches is challenging due to the need to maintain priority order, leading to frequent rearrangement of flow rules in the forwarding hardware, which can result in packet leaks and drops.
Innovation Solution
A switch is designed with a flow rule management module that allocates memory chunks based on priority ranges, allowing strict priority enforcement and converting generic flow rules to port-specific rules, ensuring that each flow rule is stored in a dedicated slot without rearranging existing rules, using content-addressable memory (CAM) for efficient storage and retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If flow rules are stored in forwarding hardware in priority order, then priority enforcement is improved, but frequent rearrangement of flow rules causes packet leaks and drops
Solution Approach 1:
The patent segments the flow table into multiple priority groups, with each group having a dedicated storage location in forwarding hardware. This segmentation allows flow rules to be organized by priority without requiring frequent rearrangement, as new rules are placed in appropriate priority groups rather than reordering existing entries.
Solution Approach 2:
The controller performs preliminary actions by pre-calculating and assigning priority values to flow rules before installing them in the forwarding hardware. This preliminary prioritization eliminates the need for dynamic rearrangement during runtime, preventing packet leaks and drops that would occur during reordering operations.
2Reliability
If flow rules are frequently rearranged to maintain priority order, then priority enforcement is improved, but packet forwarding stability deteriorates
Solution Approach 1:
By dividing the flow table into priority-based segments with dedicated storage locations, the patent ensures that flow rules remain stable within their assigned priority groups. This segmentation prevents the need for frequent rearrangement while maintaining strict priority enforcement through the hierarchical structure.
Solution Approach 2:
The patent changes the parameter of flow rule storage from sequential ordering to priority-based indexing. Each flow rule is assigned a priority parameter that determines its storage location, allowing priority enforcement without requiring positional rearrangement, thus maintaining stability.
3Measurement precision
If generic flow rules are converted to port-specific rules, then flow rule precision is improved, but memory requirements increase
Solution Approach 1:
The patent implements a universal flow rule structure where a single flow rule entry can serve multiple ports through port wildcard matching. This multi-functionality allows generic flow rules to be converted to port-specific rules without proportionally increasing memory requirements, as one rule can match multiple ports simultaneously.
Solution Approach 2:
The patent changes the parameter of flow rule matching from exact port matching to wildcard-based port matching. This parameter change allows a single flow rule to cover multiple ports, reducing the total number of flow rule entries needed while maintaining precise control over port-specific traffic patterns.
Data Source
AI summary
Embodiments described herein provide a switch. The switch can include one or more ports, a communication module, and a flow rule management module. During operation, the communication module obtains a flow rule from a notification message from a controller of a software-defined network. The flow rule management module then determines whether a priority value of the flow rule is in a local flow table. The flow table can store flow rules received from the controller. If the priority value of the flow rule is not in the local flow table, the flow rule management module stores the flow rule in a location of the flow table allocated for the priority value.


