TCP Connection Rate Testing Using Queue-Based Identifier Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network testing methods face challenges in efficiently generating and managing test traffic to measure the TCP connection rate of network devices, particularly when the connection initiation rate exceeds the device's capabilities, leading to memory overflow and premature termination of test sessions.
Innovation Solution
The implementation of a port unit within network test equipment that includes a port CPU, traffic generator, and receiver units, which utilize a connection state table and queues to manage TCP connections, allowing for the reuse of connection identifiers to maintain an arbitrarily large number of TCP connections without memory overflow, by reserving memory for predefined connections and organizing them into idle and active queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the connection initiation rate is increased to test higher TCP connection rates, then the measurement capability is improved, but memory overflow occurs and test sessions terminate prematurely
Solution Approach 1:
The connection state table is segmented into multiple queues (e.g., active queue, idle queue, closed queue) that organize connection identifiers by their state. This segmentation allows the system to manage large numbers of connections systematically, preventing memory overflow by distributing connection states across organized segments rather than a single unmanaged memory space.
Solution Approach 2:
The system dynamically adjusts the state parameters of connection identifiers by transitioning them between different queues based on connection state changes. When connections are established, moved, or closed, their state parameters change, triggering automatic transitions between queues. This dynamic parameter management enables the system to handle arbitrarily large numbers of connections without manual intervention or memory overflow.
2Quantity of substance
If memory is allocated for managing TCP connections, then connection tracking capability is improved, but memory overflow occurs when connection rates exceed device capabilities
Solution Approach 1:
The system automatically discards connection identifiers from the active queue when connections are closed, and recovers them for reuse in the idle queue. This discarding and recovering mechanism allows the same memory resources to be reused for new connections, enabling the system to handle arbitrarily large numbers of connections over time without requiring proportional increases in memory allocation.
Solution Approach 2:
The system uses connection identifier copies that can be moved between queues rather than creating new memory entries for each connection. When a connection state changes, the same connection identifier is copied to a different queue state rather than allocating new memory, allowing unlimited connection management within fixed memory constraints.
3Productivity
If connection identifiers are reused to maintain large numbers of TCP connections, then connection management efficiency is improved, but connection errors may be introduced
Solution Approach 1:
The system implements feedback mechanisms through state transition logic that monitors connection states and automatically triggers appropriate queue transitions. When a connection is established, moved, or closed, the system receives feedback about the state change and automatically responds by moving the connection identifier to the appropriate queue. This feedback-driven approach ensures that reused connection identifiers are always in the correct state, preventing errors while maintaining high management efficiency.
Data Source
AI summary
Methods and apparatus to test connection rate of a network device. T connections between a test system and the network device may be defined and C connections of the T connections may be initiated in each of a plurality of sequential time intervals, where T and C are positive integers and T>C. Connection identifiers associated with active connections and inactive connections may be stored in first-in first-out active and idle queues, respectively. Connection identifiers associated with the initiated connections may be moved from the head of the idle queue to the tail of the active queue. When a number NI of connection identifiers in the idle queue at the start of a time interval is less than C, C−NI connections associated with connection identifiers at the head of the active queue may be aborted and re-initiated.


