OpenFlow Switching Device Flow Entry Reduction via Database Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing OpenFlow switching systems face issues with redundant information in flow entries across different tables, leading to increased system overhead and error packet matching due to synchronous updates and the need to maintain a large number of flow entries as networking scales.
Innovation Solution
A method and device that store only two types of flow entries in the OpenFlow system: a first flow entry with a higher priority for specific packet matching and a second flow entry with a lower priority for universal matching, where the match fields are mapped to database records, reducing redundant information and simplifying flow entries by storing designated values in database fields.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple flow tables with synchronization are used to control packet forwarding, then packet forwarding control capability is improved, but system overhead increases due to redundant flow entries and synchronization updates
Solution Approach 1:
The patent extracts the matching value storage function from flow entries and places it in a separate database. Flow entries only contain instructions, while the database stores all matching values. This separation eliminates redundant information in flow entries and reduces synchronization overhead between multiple flow tables.
Solution Approach 2:
The patent creates a universal database that serves all flow tables, replacing the need for each flow table to maintain its own copy of matching values. This single database provides multi-functional support for packet matching across different flow tables, eliminating redundancy while maintaining control capability.
2Reliability
If flow entries are synchronized across multiple flow tables, then consistent packet handling is improved, but error packet matching occurs when synchronization fails
Solution Approach 1:
The patent extracts the matching value storage from flow entries and places it in a separate database. This ensures that all flow tables reference the same authoritative source for matching values, eliminating synchronization failures and ensuring consistent packet handling without compromising matching accuracy.
Solution Approach 2:
The database acts as an intermediary between flow tables and packet matching operations. Instead of flow tables directly containing and synchronizing matching values, they reference the database through a standardized interface, ensuring consistency and accuracy without synchronization overhead.
3Adaptability or versatility
If a large number of flow entries are maintained to handle scaling networks, then network coverage capability is improved, but redundant information increases system overhead
Solution Approach 1:
The patent extracts matching value storage from flow entries and centralizes it in a database. This allows the system to handle scaling networks by adding diverse packet types without proportionally increasing flow entry count, as the database efficiently stores and manages matching values for all packet types.
Solution Approach 2:
The patent merges the storage of matching values from multiple flow entries into a single database structure. This consolidation eliminates redundant information while maintaining the ability to handle diverse packet types, reducing the total quantity of data stored while improving network coverage capability.
Data Source
Figure 1~3
Figure 4
Figure 5
AI summary
Embodiments of the present invention provide a switching device, a controller, a method for configuring a switching device, and a method and system for processing a packet, and relate to the field of communications. The method includes: setting a first flow entry in at least one flow table, where the first flow entry includes a match field, the match field is used for designating information that needs to be matched, and instructing the switching device to perform matching between a value of information that is of a received packet and needs to be matched and a first field of each record in a database, to obtain a first record matching the packet, where each record in the database includes the first field, and the first field is used for denoting a designated value of the information that needs to be matched. The method includes: receiving a packet; obtaining, according to a match field of a first flow entry in a flow table that the packet needs to match, a value of information that is of the packet and needs to be matched; performing matching between the value of the information that is of the packet and needs to be matched and a first field of each record in a database; and processing the packet according to a packet processing instruction when a first record matching the packet is obtained. The present invention reduces a quantity of flow entries.