SDN Policy Compilation for Local Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Software-Defined Networks (SDNs) face challenges in providing a convenient and expressive programming environment that allows for a wide variety of network behaviors while maintaining high performance, as current systems require complex and error-prone manipulation of network element configurations and often suffer from inefficient rule set implementations leading to performance bottlenecks.
Innovation Solution
The method involves allowing users to define packet-processing policies in general-purpose programming languages, which are then translated into forwarding configurations for network elements, using automated algorithms to optimize and generate rule sets, enabling local packet processing and reducing reliance on centralized controllers, thus improving network performance and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If users directly manipulate network element configurations in SDN, then network behavior can be customized, but programming complexity and error-proneness increase
Solution Approach 1:
The patent introduces a high-level programming interface that acts as an intermediary between users and network element configurations. This interface allows users to specify network behaviors using simple, expressive commands without directly manipulating complex forwarding rules, thereby maintaining customization capability while dramatically improving ease of use.
Solution Approach 2:
The patent replaces the mechanical process of manually configuring network elements with an automated compilation system. The high-level program is automatically translated into low-level forwarding configurations through a compilation process, eliminating the need for users to directly handle complex configuration details and reducing errors.
2Ease of operation
If centralized controllers manage all packet forwarding decisions, then network policies can be centrally controlled, but processing performance and scalability deteriorate
Solution Approach 1:
The patent segments the packet processing function by dividing responsibilities between centralized controllers and distributed network elements. The controller handles high-level policy decisions while network elements execute local forwarding rules, enabling parallel processing and improving overall system performance and scalability.
Solution Approach 2:
The patent implements preliminary action by pre-computing and installing forwarding rules in network elements based on high-level policies. This allows packets to be forwarded locally using pre-installed rules without requiring real-time controller intervention, significantly improving processing speed while maintaining centralized policy control.
3Adaptability or versatility
If complex rule sets are installed in network elements, then detailed packet control is achieved, but rule set size and configuration complexity increase
Solution Approach 1:
The patent extracts the complexity from the network elements by moving detailed rule generation to an external compilation system. Network elements only need to store and execute simplified forwarding rules, while the complex rule synthesis is performed externally by the compilation system, reducing device complexity while maintaining control capability.
4Reliability
If frequent controller communication occurs for packet forwarding, then centralized policy enforcement is maintained, but network latency increases
Solution Approach 1:
The patent uses preliminary action by pre-installing forwarding rules in network elements based on centralized policies. This allows the majority of packets to be forwarded locally using pre-computed rules without real-time controller communication, dramatically reducing latency while maintaining policy enforcement through the initial rule installation process.
Data Source
AI summary
Techniques for managing forwarding configurations in a data communications network include accessing, at least one controller, a packet-processing policy defined by a user in a general-purpose programming language other than a programming language of data forwarding element forwarding rules, the packet-processing policy specifying how data packets are to be processed through the data communications network via the at least one controller. A forwarding configuration for at least one data forwarding element in the data communications network may be derived from the user-defined packet-processing policy, and may be applied to the at least one data forwarding element.


