SwitchReduce Tagging for Flow-Based Network State Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
OpenFlow network architecture faces challenges such as increased switch memory requirements, controller bottleneck, and high first packet latency due to flow-level granularity, making it infeasible for large-scale production data centers.
Innovation Solution
The SwitchReduce method reduces switch state size and controller involvement by pre-populating flow rules in interior switches, using tags and wildcard rules to limit the number of entries per switch to the number of output ports, and maintaining flow counters at only one switch, allowing for efficient forwarding and monitoring of packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If flow-level granularity is used in OpenFlow network architecture, then centralized control and monitoring capabilities are improved, but switch memory requirements increase significantly
Solution Approach 1:
The patent segments the flow state information by introducing a two-layer structure: per-hop state information stored locally at each switch and end-to-end flow state information maintained at the controller. This segmentation allows switches to store only minimal per-hop state (next hop and output port) rather than complete flow state, significantly reducing switch memory requirements while preserving flow-level monitoring capabilities through the controller.
Solution Approach 2:
The patent uses the controller as an intermediary to maintain the comprehensive flow state information and counters. The controller acts as a mediator that receives flow state data from switches, maintains the complete flow records, and provides necessary control functions. This intermediary approach shifts the memory burden from switches to the controller, enabling flow-level granularity without proportionally increasing switch memory requirements.
2Adaptability or versatility
If flow rules are installed at every hop with flow-level granularity, then traffic engineering and centralized control are improved, but controller load increases creating a bottleneck
Solution Approach 1:
The patent extracts the flow state maintenance function from the data plane switches and relocates it to the controller. By taking out the comprehensive flow state information from switches and concentrating it at the controller, the system reduces the processing burden on switches while maintaining traffic engineering capabilities through centralized control. This extraction resolves the bottleneck by separating state maintenance from packet forwarding functions.
Solution Approach 2:
The patent applies partial action by having switches install only minimal per-hop forwarding rules (next hop and output port) rather than complete flow rules. This partial installation reduces the number of rules switches must process and install, decreasing controller load while still enabling necessary traffic engineering through the simplified per-hop state information maintained at the controller.
3Measurement precision
If flow rules are installed at every hop, then traffic monitoring is improved, but first packet latency increases
Solution Approach 1:
The patent implements preliminary action by having switches install per-hop forwarding rules proactively before packet arrival. The controller pre-computes and installs the next hop and output port information at each switch along the flow path. This preliminary installation eliminates the need for switches to query the controller or perform complex flow rule matching when the first packet arrives, significantly reducing first packet latency while maintaining flow monitoring capabilities through the pre-established per-hop state.
Data Source
AI summary
Techniques, systems, and articles of manufacture for reducing switch state size in flow-based networks. A method includes installing a first hop rule on a first hop switch in a network for a given flow that originates from the first hop switch, wherein the rule adds tags onto a given packet that matches a description of the given flow, wherein the tags correspond to output ports used for forwarding the given packet on each subsequent switch in the network on the path of the given flow; installing and analyzing forwarding rules at each subsequent switch in the network on the path of the given flow to confirm a match with the given packet at each subsequent switch based only on the outermost tag on the given packet; and removing the outermost tag from the given packet and forwarding said given packet to the output port corresponding to said removed outermost tag.


