State-Aware Software Defined Networking Forwarding Element
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software defined networking (SDN) technologies face performance and scalability issues due to the need for centralized controllers and dedicated state tables in forwarding elements, which require additional memory, management complexity, and costly control packet generation.
Innovation Solution
Implementing CommandTemplates within forwarding elements to enable stateful interactions without a dedicated state table, using internal signaling between the control engine and forwarding table to update rules directly, eliminating the need for additional control packets and reducing processing costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If centralized controllers are used in SDN to manage network intelligence, then network configuration flexibility and programmability are improved, but processing performance and scalability deteriorate due to controller bottlenecks
Solution Approach 1:
The patent segments network intelligence into two parts: a centralized control plane for high-level policy management and distributed forwarding plane with embedded stateful forwarding capabilities for local decision-making. This segmentation allows flexible network configuration through the controller while maintaining high processing performance at the forwarding elements through local state-based decisions without requiring all packets to traverse the centralized controller.
2Adaptability or versatility
If dedicated state tables are implemented in forwarding elements to enable stateful forwarding, then state-aware packet forwarding capability is improved, but device complexity and memory requirements worsen
Solution Approach 1:
The patent merges the state table functionality with the existing forwarding table structure in forwarding elements. Instead of implementing separate dedicated state tables that would increase device complexity, the invention integrates state information into the forwarding decision process using the existing match-action framework, thereby achieving stateful forwarding capability while avoiding additional hardware complexity and memory overhead.
3Reliability
If traditional stateful forwarding uses separate state tables in forwarding elements, then state tracking capability is improved, but management complexity and cost worsen
Solution Approach 1:
The patent makes the forwarding table universal by enabling it to perform both traditional forwarding based on flow rules and stateful forwarding based on state information. The match-action framework is extended to handle state-based matching, allowing a single forwarding table structure to serve multiple functions including state tracking, flow forwarding, and stateful packet handling, thereby reducing management complexity while maintaining reliable state tracking capability.
4Reliability
If control packets are generated and looped back to forwarding elements for stateful interactions, then state update capability is improved, but processing overhead and time consumption worsen
Solution Approach 1:
The patent extracts the state update mechanism from the packet forwarding path by implementing direct internal signaling between the control plane and the forwarding plane within the forwarding element. Instead of generating control packets that must traverse the complete packet processing pipeline and be looped back, the invention uses dedicated internal signals to update state information directly in the forwarding table, thereby maintaining reliable state update capability while eliminating the time consumption associated with full packet processing cycles.
Data Source
AI summary
A forwarding element includes a control engine and a forwarding table. The control engine includes a command template that includes a stateful interaction instruction. The forwarding table includes a rule entry that defines a match description and an action instruction. The forwarding element is configured to: receive a packet; determine packet attributes based on the packet; compare the packet attributes to the match description to determine whether there is a rule match, execute the action instruction in response to determining there is the rule match, which includes causing a trigger signal to be sent to the control engine, the trigger signal corresponding to the command template, and perform a stateful interaction on the packet according to the stateful interaction instruction in response to receiving the trigger signal.


