SDN Switch Path Selection to Prevent Data Loops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software-defined networking (SDN), different controllers may compute different network topologies due to real-time network status variations, leading to inconsistent forwarding paths and potential data packet loops when switches forward packets according to these paths.

Innovation Solution

A method where a first switch sends a policy request message to each controller when no matching forwarding entry is found, receives and selects a forwarding path from the responses, and sets a second switch on this path to forward the data packet, ensuring all switches use the same path to prevent loops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each controller computes forwarding paths independently based on real-time network status, then the forwarding paths can adapt to current network conditions, but different controllers may compute different paths leading to loops

Engineering Contradiction:
Improveforwarding path adaptabilityVSAvoidloop-free forwarding
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by having the first switch send a policy request message to all controllers before actual data packet forwarding occurs. This allows controllers to pre-compute forwarding paths based on current network status, and the first switch to select one path before forwarding, ensuring all switches along the selected path use consistent routing information and avoid loops.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the policy response message mechanism. Controllers receive policy request messages, compute forwarding paths based on real-time network topology, and send policy response messages back to the first switch with their computed paths. This feedback loop enables the system to adapt to current network conditions while maintaining centralized coordination to prevent loops.

Inventive Principle:
Principle #23Feedback

2Productivity

If the first switch selects a forwarding path without coordinating with other switches, then path selection is simple and fast, but other switches may use different paths causing inconsistency

Engineering Contradiction:
Improvepath selection speedVSAvoidforwarding path consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent uses the policy request and policy response messages as intermediaries to coordinate path selection across the network. The first switch sends a policy request message to all controllers, receives policy response messages with computed paths, and selects one path. This intermediary mechanism ensures that all switches along the selected path receive consistent forwarding information from the controllers, maintaining path consistency while enabling relatively fast selection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10171355B2Data packet sending method and apparatus
Publication Date: 2019.01.01 HUAWEI TECH CO LTD
  • US10171355B2 patent drawing
  • US10171355B2 patent drawing
  • US10171355B2 patent drawing

AI summary

A data packet sending method and apparatus. The method includes: sending a policy request message that carries header information of a data packet to one or more controllers when a forwarding table of a first switch does not have a forwarding entry that matches the header information of the data packet; receiving a policy response message sent by a controller, where the policy response message includes a controller-determined forwarding path; selecting a forwarding path from received controller-determined forwarding paths; informing the selected forwarding path to a second switch on the selected forwarding path to forward the data packet after receiving the data packet, where the second switch is a switch besides the first switch on the selected forwarding path; and forwarding the data packet according to the selected forwarding path.