Layer 4 Switch Packet Reordering for HTTP/2 Multiplexed Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Layer 4 switches experience head of line blocking issues due to their inability to differentiate between out-of-sequence packets from different streams in multiplexed connections, leading to inefficiencies in data recovery, particularly evident in HTTP 2.0 protocol where a lost packet blocks other packets from being delivered.
Innovation Solution
Incorporating an optional field in the TCP header to identify the stream to which each packet belongs, allowing the switch to continue forwarding in-sequence packets from different streams, thus avoiding the blocking effect of a lost packet.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Layer 4 switches forward only in-sequence packets to maintain connection integrity, then packet delivery reliability is improved, but head of line blocking occurs and throughput decreases
Solution Approach 1:
The patent segments the multiplexed connection into multiple independent streams, each with its own sequence tracking. The Layer 4 switch maintains separate sequence counters for each stream, allowing it to independently determine which packets are out-of-sequence for each stream. This segmentation enables the switch to forward packets that are in-sequence for their respective streams even if they are out-of-sequence overall, thereby reducing head of line blocking while maintaining reliability within each stream.
2Reliability
If Layer 4 switches wait for lost packet recovery before forwarding subsequent packets, then data integrity is improved, but latency increases
Solution Approach 1:
The patent introduces dynamic stream identification and sequence tracking mechanisms that adapt to multiplexed connections. The Layer 4 switch dynamically identifies which stream each packet belongs to using HTTP 2.0 header information, and dynamically adjusts sequence checking on a per-stream basis. This dynamic approach allows the switch to continue forwarding packets for streams that are not affected by loss, thereby reducing latency while maintaining data integrity for the affected stream through selective waiting.
3Device complexity
If Layer 4 switches treat all packets uniformly without stream differentiation, then device complexity is reduced, but head of line blocking sensitivity increases
Solution Approach 1:
The patent introduces stream identification information (such as stream IDs from HTTP 2.0 headers) as an intermediary mechanism between the multiplexed connection and the Layer 4 switching logic. This intermediary allows the switch to differentiate packets belonging to different streams without requiring complex rewriting of the switching logic. The stream ID acts as a key that enables simple per-stream sequence tracking and forwarding decisions, reducing head of line blocking sensitivity while keeping the added complexity minimal.
Data Source
AI summary
Packet loss that arises due to an in-order serialization requirement for multiplexed stream delivery is ameliorated by a packet reordering scheme. In this approach, when out-of-sequence packets are detected, a switching entity (e.g., a Layer 4 switch) continues to relay the packets as long as the out-of-sequence packets are associated with different streams and are themselves in-sequence in their associated stream. To facilitate this process, the TCP protocol stack is augmented to recognize when a particular packet stream is to be processed in this manner.


