HTTP Traffic Reconstruction via Zero-Copy Queue Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional packet analysis applications are ineffective in non-intrusively capturing and reconstructing HTTP traffic on high-speed networks due to issues like packet drops and re-transmitted packets, which impair the content of HTTP messages and prevent accurate parsing and reconstruction.

Innovation Solution

A method and system for reconstructing application-layer traffic using a zero-copy queue to store packets in shared memory, analyzing sessions, and matching requests with corresponding responses based on identifiers and time-intervals, enabling effective reconstruction of HTTP streams even in the presence of packet drops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional packet analysis applications are used to capture and analyze network traffic, then packet analysis functionality is provided, but packet drops and re-transmitted packets occur which impair HTTP message content and prevent accurate reconstruction

Engineering Contradiction:
ImproveHTTP stream reconstruction accuracyVSAvoidpacket drops
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by buffering incoming packets in a queue before processing them for HTTP reconstruction. This allows the system to temporarily store packets and replay them in the correct order, preventing packet drops from compromising reconstruction accuracy. The buffer acts as a preliminary storage mechanism that ensures no packets are lost during high-speed network traffic analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of network packets by capturing them through port mirroring or network taps, then stores these copies in a buffer for replay. This copying approach allows the original network traffic to continue flowing unchanged while the captured copies are processed for HTTP reconstruction, eliminating packet drops without affecting the live network stream.

Inventive Principle:
Principle #26Copying

2Ease of operation

If non-intrusive packet capture is used to avoid network interference, then network traffic flow is not disrupted, but packet ordering is lost and reconstruction becomes inaccurate

Engineering Contradiction:
Improvenon-intrusive captureVSAvoidpacket flow reconstruction precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The system implements feedback mechanisms by tracking packet sequence numbers and timestamps from captured network traffic. This feedback information is used to determine the correct playback order of packets, ensuring that HTTP streams are reconstructed accurately even though the capture process is non-intrusive. The feedback loop maintains packet ordering without requiring active network participation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary buffer between the network capture point and the analysis process. This intermediary component receives packets from the network, stores them temporarily, and releases them in the correct order for HTTP reconstruction. The buffer acts as a mediator that decouples the non-intrusive capture from the ordered delivery requirement, solving the contradiction between ease of capture and reconstruction precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If high-speed network traffic is captured and processed in real-time, then network monitoring efficiency is improved, but packet processing complexity increases due to high-volume traffic

Engineering Contradiction:
Improvenetwork traffic processing speedVSAvoidpacket processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the packet processing workflow into distinct stages: capture, buffering, replay, and analysis. By dividing the high-speed traffic processing into these separate segments, the system can handle high-volume traffic efficiently at each stage without overwhelming the processing complexity. The segmentation allows specialized handling at each step, maintaining productivity while managing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer serves as an intermediary that simplifies high-speed traffic processing by absorbing traffic volume fluctuations. Instead of processing packets immediately at line rate, the buffer captures high-speed traffic and releases it at a manageable rate for analysis, reducing processing complexity while maintaining the ability to handle high-volume network traffic efficiently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10015205B1Techniques for traffic capture and reconstruction
Publication Date: 2018.07.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10015205B1 patent drawing
  • US10015205B1 patent drawing
  • US10015205B1 patent drawing

AI summary

Techniques for reconstructing application-layer traffic flowing between client devices and a cloud computing platform are provided. In an embodiment, the method allows for non-intrusive reconstructing application-layer traffic including requests and responses even in cases including packet drops, re-transmitted packets, and jittered packets. The method includes saving received packets into a zero-copy queue and analyzing the packets saved in the zero-copy memory to identify their respective sessions. Then, each identified session is reconstructed into a session window having a configurable size. In an embodiment, each reconstructed session includes application-layer requests and responses; The method further includes for, each identified session, matching each application-layer request to a corresponding application-layer response based on a matching identifier and time-interval threshold.