SDN Flow Routing Engine Single Tuple Packet Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Software Defined Networking (SDN) techniques require significant time and power to route packets due to the need to match packet headers against 12-tuples in flow tables, leading to latency issues in applications like online gaming and VoIP.
Innovation Solution
An Information Handling System (IHS) with a Software Defined Networking (SDN) flow routing engine that uses a connection identifier in a single tuple of a flow entry to route packets, reducing the need to match multiple data elements in packet headers to flow entries, thereby decreasing routing time and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional SDN techniques use 12-tuple flow table matching to route packets, then routing accuracy and flow identification completeness are improved, but routing time and power consumption increase significantly
Solution Approach 1:
The patent extracts the connection identifier as a single key element from the complete 12-tuple packet header information. Instead of matching all 12 tuples, the system only extracts and matches the connection identifier field, which is sufficient to identify the flow and retrieve the corresponding flow entry from the flow table, thereby dramatically reducing matching time while maintaining routing accuracy
Solution Approach 2:
The patent segments the packet header matching process into two distinct stages: first, extract the connection identifier from the packet header; second, use this identifier to lookup the flow entry in the flow table. This segmentation separates the time-critical matching operation from the complete header inspection, allowing the system to achieve fast routing decisions without sacrificing flow identification completeness
2Reliability
If conventional SDN techniques perform complete 12-tuple matching against flow table entries, then flow routing accuracy is maintained, but power consumption increases to 792,677 nJ for writes and 1,807,142 nJ for searches
Solution Approach 1:
The patent extracts only the connection identifier field from the packet header for flow table matching purposes. This extraction approach maintains flow routing accuracy because the connection identifier is sufficient to uniquely identify the flow and retrieve the correct flow entry, while dramatically reducing the number of comparisons required and thus the power consumption of the TCAM search operation
Solution Approach 2:
The patent applies partial action by performing only the necessary portion of the matching operation - matching the connection identifier against the flow table - rather than performing the complete 12-tuple matching. This partial matching is sufficient to achieve the routing objective while consuming significantly less energy than full matching would require
3Measurement precision
If SDN switches process small client-to-server packets through complete flow table matching, then accurate flow identification is achieved, but processing bandwidth is consumed at a higher rate
Solution Approach 1:
The patent extracts the connection identifier as the sole matching criterion for flow identification. This extraction approach maintains accurate packet flow identification because the connection identifier uniquely identifies the flow, while significantly reducing the processing bandwidth required to handle small client-to-server packets by eliminating the need to process and compare all 12 header fields
Data Source
AI summary
A flow routing system includes a source device and a destination device that are coupled together via a network that includes a Software Defined Networking (SDN) device. The source device generates a packet that includes a packet header, provides a connection identifier in the packet header, and transmits the packet through the network. The SDN device receives the packet through the network from the source device, matches the connection identifier that is included in the packet header to a single tuple in a flow entry of a flow table and, in response, uses the flow entry to route the packet through the network to the destination device. The connection identifier may be provided by hashing a source IP address, a destination IP address, a VLAN identity, a source MAC address, a source port identifier, a destination port identifier; and a creation time for the flow including the packet.


