SDN Routing Device Path Switching via Priority-Based Flow Cache
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Software Defined Networks (SDNs), link failures between routers can cause packet disconnection due to the time required for the SDN controller to detect, recalculate, and update forwarding paths, leading to periods of packet loss during network failures.
Innovation Solution
Implementing a method where routing devices in the SDN store multiple forwarding entries with different priorities for primary and secondary paths, allowing them to dynamically adjust priorities and encapsulate flows with special identities to reroute packets quickly through key forwarding devices when link failures occur, thereby minimizing packet loss and reducing the time needed for path recalculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the SDN controller detects link failures and recalculates forwarding paths, then network reliability is improved, but packet disconnection time increases due to the detection and recalculation process
Solution Approach 1:
The patent pre-calculates and pre-loads backup forwarding paths into the flow cache of routing devices before failures occur. When a link failure is detected, the routing device can immediately switch to the pre-loaded backup path without waiting for the SDN controller to recalculate, thereby reducing packet disconnection time while maintaining network reliability
Solution Approach 2:
The patent introduces a flow cache as an intermediary layer between the SDN controller and routing devices. The flow cache stores pre-calculated backup forwarding entries and provides them to routing devices during failures, acting as a buffer that decouples the slow controller detection process from the fast local path switching, thus resolving the time delay contradiction
2Stability of the object's composition
If the SDN controller updates forwarding entries after failure detection, then network stability is improved, but productivity decreases due to the time required for controller intervention
Solution Approach 1:
The patent segments the path switching function into two parts: the SDN controller handles path calculation and flow cache management, while routing devices handle actual packet forwarding using pre-loaded backup entries. This segmentation allows the controller to focus on stability-maintaining tasks while routing devices achieve fast switching, resolving the contradiction between stability and productivity
Solution Approach 2:
The patent enables routing devices to perform self-service path switching by maintaining local flow caches with backup forwarding entries. When failures occur, routing devices can autonomously switch to backup paths without waiting for controller updates, achieving fast path switching while the controller subsequently updates the flow cache to maintain long-term stability
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A routing device receives a forwarding entry for forwarding a first flow and stores it locally. When the routing device is a key forwarding device of a first flow, the locally stored forwarding entry for forwarding the first flow includes a first forwarding entry and a second forwarding entry. When the routing device is located in a primary forwarding path but is not the key forwarding device, the locally stored forwarding entry for forwarding the first flow comprises one forwarding entry having a priority higher than a predefined minimum value. The routing device receives a first flow. When determining that the locally stored forwarding entry for forwarding the first flow comprises one forwarding entry having a priority higher than the predefined minimum value and detecting that a link connected to an egress port in the forwarding entry is failed, the routing device sets the priority of the forwarding entry as the predefined minimum value, and returns the first flow to the key forwarding device to trigger the key forwarding device to forward the first flow according to the second forwarding entry.