Reverse-Direction Packet Processing in Virtualized Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized networks, distributing logical middleboxes creates challenges such as inefficient packet processing due to the need for centralized appliances and state sharing issues between distributed middlebox elements, particularly in handling bi-directional stateful traffic and resolving connection conflicts.
Innovation Solution
Implementing novel packet processing techniques that dynamically generate flow entries at managed forwarding elements to resolve conflicts and automatically forward reverse-direction traffic, enabling first-hop processing of bi-directional stateful traffic by distributing logical processing across host machines and using high-priority flow entries to manage connection state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If logical processing is performed entirely at the first hop virtualization software, then processing efficiency is improved, but the need for centralized middlebox appliances increases and state sharing issues arise
Solution Approach 1:
The patent segments the middlebox functionality into distributed instances across multiple host machines. Each managed forwarding element hosts local middlebox processing capabilities, dividing the centralized function into distributed units that operate independently while maintaining coordination through flow entry synchronization.
Solution Approach 2:
The patent transitions from a single-dimension centralized middlebox architecture to a multi-dimensional distributed architecture where middlebox instances are spread across multiple hosts and forwarding elements. This dimensional shift allows parallel processing while maintaining functional equivalence through coordinated flow entries.
2Device complexity
If logical processing is distributed across managed forwarding elements, then the need for centralized appliances is reduced, but connection state conflicts arise between distributed middlebox elements
Solution Approach 1:
The patent introduces flow entries as intermediary data structures that mediate between distributed middlebox instances. These flow entries contain connection state information and routing rules that act as a shared language and coordination mechanism, allowing distributed elements to maintain consistency without direct communication.
Solution Approach 2:
The patent performs preliminary actions by pre-establishing flow entries that encode connection state and routing information before packets arrive. This advance preparation ensures that distributed middlebox instances have the necessary state information ready, preventing conflicts during actual packet processing.
3Ease of operation
If reverse-direction traffic is processed at the receiving side, then processing autonomy is improved, but connection state information is lost
Solution Approach 1:
The patent creates copies of connection state information in the form of flow entries at both the sending and receiving managed forwarding elements. The receiving side possesses a copy of the necessary state information through these flow entries, enabling autonomous processing while maintaining consistency with the sending side's state.
4Reliability
If flow entries are dynamically generated to forward reverse-direction traffic, then conflict resolution is improved, but processing complexity increases
Solution Approach 1:
The patent implements dynamic flow entry generation where the receiving managed forwarding element automatically creates appropriate flow entries upon receiving initial packets. This dynamic behavior allows the system to adapt to new connections automatically, resolving conflicts through programmatically generated routing rules rather than static configurations.
Data Source
AI summary
Some embodiments provide a method for a first managed forwarding element that implements a logical network. The method receives a packet from a second managed forwarding element. The first packet has an initial set of characteristics defining a first connection between a source machine connected to the second managed forwarding element and a destination machine connected to the first managed forwarding element. The method determines whether a second connection exists with the initial set of characteristics between a different machine connected to a third managed forwarding element and the destination machine. When a second connection exists with the initial set of characteristics, the method modifies at least one characteristic of the packet such that the modified packet does not have the same set of characteristics. The method delivers the modified packet to the destination machine.


