SDN Auto-Tunneling for Seamless Host Roaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software defined networks (SDNs) experience traffic loss and packet looping during network convergence when a host moves between switches due to the large number of OpenFlow switches and latency in updating flow tables, leading to incomplete traffic rerouting.
Innovation Solution
A software defined network controller detects host movement and generates a sorted list of network elements to program auto-tunnels from previous points of attachment to the latest root switch in reverse order of the roaming path, minimizing traffic loss and preventing packet looping by rerouting traffic via tunnels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the SDN controller updates flow tables on each switch/router to re-route traffic after host movement, then traffic rerouting is achieved, but network convergence time increases and traffic loss occurs during the update process
Solution Approach 1:
The patent applies preliminary action by programming tunnels from previous POA switches to the new POA switch before actually moving the host attachment. This advance preparation ensures that when traffic needs to be rerouted, the tunnel infrastructure is already in place, eliminating convergence delays and preventing traffic loss during the switching process
Solution Approach 2:
The patent segments the network path into multiple tunnel segments, where each previous POA switch establishes a tunnel segment to the new POA switch. This segmentation allows incremental tunnel programming across multiple switches rather than requiring simultaneous updates to all switches, reducing the overall convergence time while ensuring complete traffic rerouting
2Reliability
If the SDN controller re-generates flow distribution trees for the entire network when a host moves, then complete traffic rerouting is achieved, but the algorithm convergence time increases significantly due to the large number of OpenFlow switches
Solution Approach 1:
The patent extracts and isolates only the necessary tunnel programming operations from the complete flow distribution tree regeneration process. Instead of re-generating flow tables for all switches in the network, it selectively programs tunnels only at the previous POA switches and the new POA switch, dramatically reducing convergence time while maintaining complete traffic rerouting capability
Solution Approach 2:
The patent applies partial action by implementing only the minimal necessary tunnel programming operations rather than complete flow table regeneration. This partial approach (programming tunnels only at critical POA switches) is sufficient to achieve complete traffic rerouting, improving convergence speed without sacrificing rerouting completeness
3Reliability
If traditional flow table updates are used for host roaming, then network control is maintained, but packet looping problems occur during the convergence process
Solution Approach 1:
The patent introduces tunnels as intermediary paths between previous POA switches and the new POA switch. These tunnels serve as dedicated forwarding channels that bypass the conventional flow table lookup process, eliminating the possibility of packet looping while maintaining network control. The tunnels act as mediators that ensure packets are delivered directly to the correct destination without circulating through the network
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A software defined network controller detects when a host has moved between network elements in a network. The controller generates a list of network elements to which the host has roamed, the list being sorted by time when the host is attached to a network element so that a most recent network element to which the host is attached is the root network element and at a head of the list. The controller updates the root network element in the list first for traffice flow associated with the host. The controller sends command to the network elements to program a tunnel from each previous point of attachment network element in the list to the most recent root network element in the list in reverse order of the roaming path so as to route traffic for the host via a tunnel.