Network Tap Packet Ordering via Push-Sequence Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network tapping technologies struggle to accurately order data packets captured from network connections between endpoints, leading to uncertainties in packet order and inefficiencies in data transfer, particularly in remote access applications where bandwidth is limited.
Innovation Solution
A system and method that utilize hardware processors and software modules to receive and separate data packets from a network tap, maintaining push-sequence values for each queue to ensure consecutive sequence numbering, and generate gap packets when necessary to maintain order, thereby providing ordered data to the application layer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If network tapping technologies are used to capture traffic, then a copy of the packet stream can be extracted, but the packet order cannot be accurately determined from the third-party perspective
Solution Approach 1:
The patent introduces an intermediary ordering mechanism that acts as a mediator between the network tap and the analysis system. This intermediary maintains separate queues for each direction of communication and uses push-sequence values to mediate the ordering process, resolving the packet order uncertainty without requiring complex end-point coordination.
Solution Approach 2:
The patent segments the packet stream into two separate queues based on communication direction. By dividing the traffic flow into distinct segments (forward and reverse directions), the system can independently track and order packets in each direction using push-sequence values, making the ordering process more manageable and accurate.
2Reliability
If packets are transmitted asynchronously over the network, then network protocols can handle packet loss and corruption, but the packet arrival order does not match the byte stream order required by the application
Solution Approach 1:
The patent performs preliminary ordering actions by maintaining push-sequence values and queues before data analysis. By pre-organizing packets in the correct byte stream order using sequence numbers and push-sequence tracking, the system eliminates the need for time-consuming reordering operations during data processing, thus reducing loss of time.
3Productivity
If remote access applications use dial-up connections, then bandwidth is limited, but retransmitted packets consume precious bandwidth inefficiently
Solution Approach 1:
The patent implements a feedback mechanism by tracking push-sequence values and comparing them with actual packet sequence numbers. This feedback allows the system to identify and eliminate redundant retransmitted packets before they consume bandwidth, thereby improving data transfer efficiency and reducing unnecessary bandwidth consumption in remote access applications.
Data Source
Figure 1
Figure 2A~2C
Figure 2D~2F
AI summary
Ordering partial network traffic. In an embodiment, data packets are received from a network tap and separated into two queues. For each queue, a push-sequence is maintained to represent a sequence number that must be pushed in order to maintain a consecutive order. When both push-sequences are equal to the sequence number of their first packets, if the acknowledgement number of the first packet on one queue is greater than the push-sequence for the other queue and less than or equal to the push-sequence of the one queue, data is pushed off the other queue. Otherwise, a queue having the earlier time stamp is identified as a first queue, the existence of a next acknowledgement number is determined for the second (other) queue, and data is pushed off the first queue according to the existence of the next acknowledgement number. Gap packets may be generated to force progress.