Network Forwarding State Propagation via Controller Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network forwarding systems face challenges in consistently applying new network policies across managed forwarding elements, leading to potential mixing of old and new policies, which can result in inconsistent packet forwarding and increased complexity in managing network configurations.

Innovation Solution

A method is introduced where a controller cluster generates and updates forwarding state information, specifically configuring first-hop managed forwarding elements to make logical decisions, while other elements act as forwarding fabric, ensuring that packets are forwarded consistently according to the new policy by using version information and transactional updates to manage state changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If forwarding state information is updated across all managed forwarding elements simultaneously, then network policy consistency is improved, but the complexity of managing state transitions and ensuring atomic updates increases

Engineering Contradiction:
Improvenetwork policy consistencyVSAvoidstate transition management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the forwarding state update process into two distinct phases: (1) computing the new forwarding state at the controller, and (2) propagating it to managed forwarding elements. This segmentation isolates the complex computation logic from the propagation logic, reducing overall system complexity while maintaining consistency through the use of transactional barriers that ensure atomic updates across all elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller acts as an intermediary that centralizes the forwarding state computation and coordinates the update process across all managed forwarding elements. By using transactional barriers as mediators, the controller ensures that updates are applied atomically - either all elements receive the new state together or none do - thus maintaining consistency without requiring complex peer-to-peer coordination among forwarding elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If all managed forwarding elements make logical forwarding decisions, then forwarding flexibility is improved, but the processing overhead and network latency increase

Engineering Contradiction:
Improveforwarding decision flexibilityVSAvoidpacket processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the logical forwarding decision-making function so that only first-hop managed forwarding elements perform logical forwarding decisions, while other elements act as forwarding fabric. This segmentation concentrates the complex decision-making logic at network edges, reducing processing overhead in the network core and minimizing packet processing time for transit traffic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the logical forwarding decision function from all managed forwarding elements and concentrates it specifically in first-hop elements. By taking out this function from intermediate elements, the system achieves both flexibility (through centralized logical decisions) and efficiency (by eliminating redundant processing in the forwarding fabric).

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2955886B1Using transactions to compute and propagate network forwarding state
Publication Date: 2020.05.06 NICIRA INC
  • EP2955886B1 patent drawingFigure 1
  • EP2955886B1 patent drawingFigure 2
  • EP2955886B1 patent drawingFigure 3

AI summary

For a controller for managing a network comprising several managed forwarding elements that forward data in the network, a method for configuring a managed forwarding element is described. The method generates a first set of flow entries for defining forwarding behaviors of the managed forwarding element based on a current network policy for a logical network implemented in the several managed forwarding elements. The method sends the first set of flow entries to the managed forwarding element in order for the managed forwarding element to forward data that the managed forwarding element directly receives from an end machine based on the current network policy. The method generates a second set of flow entries for modifying forwarding behaviors of the managed forwarding element based on a new network policy for the logical network. The method sends the second set of flow entries to the managed forwarding element in order for the managed forwarding element to forward the data based on the new network policy.