Programmable Switch Service Function Chaining via Segmented Flow Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing service function chaining systems face inefficiencies in handling traffic due to the implementation of service functions on programmable data planes without considering service function chain characteristics, leading to issues with traffic processing and latency.
Innovation Solution
A programmable switch-based service function chaining system that includes a PDP management module for processing and implementing service function chain entities on a programmable data plane, using a parser and deparser to manage packet headers and ensure correct processing order, thereby addressing the inefficiencies in traffic handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If service functions are implemented on a programmable data plane without considering service function chain characteristics, then traffic processing speed is improved, but traffic processing correctness and latency requirements are not met
Solution Approach 1:
The service function chain is segmented into multiple service function chain entities (SFCEs) that are implemented as separate flow tables in the programmable data plane. Each SFCE processes specific packets according to the SFC order, ensuring correct traffic processing while maintaining high-speed line-rate performance. The segmentation allows the system to handle different traffic types differently, preventing incorrect processing of all traffic.
Solution Approach 2:
The system performs preliminary actions by installing multiple flow tables with predetermined rules into the programmable data plane before traffic arrives. These flow tables are configured in advance to process packets in the correct SFC order, so when traffic arrives, it is immediately processed correctly without requiring complex runtime decisions, thus maintaining both speed and correctness.
2Device complexity
If service functions are implemented on a programmable data plane without considering service function chain characteristics, then device complexity is reduced, but service function chain order processing capability is lost
Solution Approach 1:
The service function chain processing capability is segmented into multiple independent flow tables, each handling a specific SFCE. This segmentation allows the programmable data plane to maintain simple device architecture while gaining the versatility to process different SFC orders by simply configuring different flow table sequences, without requiring complex runtime reconfiguration.
Solution Approach 2:
The programmable data plane is designed with universal multi-functionality by implementing a framework that can accommodate multiple SFCEs in different orders. The same data plane infrastructure can process various service function chains by loading appropriate flow tables, providing both simplicity and adaptability across different SFC scenarios.
3Adaptability or versatility
If all traffic passing through the programmable data plane is processed by service functions, then service function coverage is improved, but latency increases for traffic not requiring service functions
Solution Approach 1:
The system applies local quality by configuring flow tables with specific match conditions that identify only the traffic requiring service function processing. Different portions of traffic are treated differently: matching traffic is processed by SFCEs while non-matching traffic passes through without service function processing, thus reducing latency for unaffected traffic while maintaining comprehensive coverage for required traffic.
Solution Approach 2:
Instead of processing all traffic through service functions, the system applies partial action by selectively processing only the subset of traffic that requires service functions. The flow tables are configured to match specific traffic patterns, applying service function processing only where necessary, thereby avoiding unnecessary latency for traffic that does not require such processing.
Data Source
AI summary
A service function chaining system is provided. The service function chaining system includes a PDP management module implementing SFC entities in consideration of an order of a service function chain (SFC) on a programmable data plane (PDP) and an SFC management module that transmits a first SFC entity information, which is information on SFC entities to be implemented on the PDP, to the PDP management module or transmits an SFC rule to a node included on the PDP, and the PDP management module includes a receiving unit for receiving the first SFC entity information, a processing unit for generating a second SFC entity information by processing the first SFC entity information to enable the SFC entities to be implemented on the PDP and to be processed according to an SFC order, and implementing unit for implementing the SFC entities on the PDP using the second SFC entity information.


