The agent-to-agent network test allows users of ThousandEyes to have ThousandEyes agents at both ends of a monitored path, enabling testing of the path in either or both of two directions: source to target or target to source. The agent-to-agent test can have multiple source agents monitoring the target agent. Similarly, the target agent monitors each of the source agents. By monitoring in both directions, asymmetrical paths between source and target agents can be visualized, and data for both paths is available.
The agent-to-agent test produces standard network metrics: packet loss, latency, jitter, and optionally throughput--an improved form of the bandwidth metric--along with Path Visualization and path MTU. Metrics are produced for either or both directions, depending on test configuration. The agent-to-agent test can be configured to use either TCP or UDP. Payload size can be specified in bytes, or can be determined automatically, based on path MTU discovery.
Agent-to-agent tests improve upon agent-to-server tests by basing metrics on packets traveling in only one direction, rather than needing to send probe packets and obtain responses. Rather than sending response packets, the receiving ThousandEyes agent provides the results metrics directly to the ThousandEyes collector, which a non-ThousandEyes receiver cannot do. One-way metrics that require timing are made possible in part by performing an exchange to determine clock offset between the sending and receiving agents, prior to sending the actual test packets. With the clock offset, packets can be timed in one direction.
When calculating end-to-end packet losses, this model results in a true one-way loss, rather than loss being possible in either direction. Metrics for trip time in an agent-to-agent test are one-way timings, rather than round-trip timings. Time synchronization between sending and receiving agents is accomplished by sending clock synchronization packets at the beginning of each test round, prior to the actual probe packets.
Similarly, the new throughput metric in agent-to-agent tests measures the one-way data transfer rate between the endpoints. Having ThousandEyes agents at both ends allows a more accurate measurement compared to the Bandwidth metric of an agent to server test, since the target agent is measuring incoming byte rate directly, rather than the sending agent inferring data rate from the target's responses to the incoming bytes.
Throughput test duration can be configured for between 5 seconds (default is 10 seconds) up to 30 seconds. Greater accuracy can be achieved with longer test duration. TCP-based throughput testing uses payloads sent at the fastest possible rate. UDP-based throughput testing allows a rate setting, which can simulate Quality of Service (QoS) bandwidth shaping policies, for example.
For performing path visualization and measuring forwarding loss, the mechanism is not changed from the agent-to-server test.
In the above picture, the upper paths travel from the agent on the left to the agent on the right, while the lower paths travel in the opposite direction. The direction is indicated by the arrows connecting the nodes on the paths. Using the Direction selector, you can display only the source to target, target to source, or both directions.
When selecting a target agent and one or more source agent, there are three possible configurations of the agent-to-agent test:
Enterprise → Cloud: The source is an Enterprise Agent and the target is a Cloud Agent. The IP address used for the target is the public IP address of the Cloud Agent (all Cloud Agents have publicly routable IP addresses). The Cloud Agent's IP address will be available in the Target IP column on the Table tab of the Overview view, and displayed in a tooltip when hovering over the Cloud Agent, in the Path Visualization view.
Enterprise → Enterprise: The source is an Enterprise Agent and the target is an Enterprise Agent. The IP address used for the target is the value of the target for tests IP Address setting, under on the Advanced Settings tab of the Agent Settings. The target Enterprise Agent's IP address will be available in the Target IP column on the Table tab of the Overview view, and displayed in a tooltip when hovering over the Enterprise Agent, in the Path Visualization view. If the target agent will be accessed through a NAT IP address that is automatically discovered by checking the Behind a NAT box in the Agent Settings, then the NAT IP address will be displayed in the tooltip with the target agent's IP address.
Cloud → Enterprise: The source is a Cloud Agent and the target is an Enterprise Agent. The IP address used for the target is the value of the target for tests IP Address setting, under on the Advanced Settings tab of the Agent Settings. The target Enterprise Agent's IP address will be available in the Target IP column on the Table tab of the Overview view, and displayed in a tooltip when hovering over the Enterprise Agent, in the Path Visualization view. If the target agent will be accessed through a NAT IP address that is automatically discovered by checking the Behind a NAT box in the Agent Settings, then the NAT IP address will be displayed in the tooltip with the target agent's IP address.
A test can have both Cloud and Enterprise Agents as source agents.
For targeted agents behind a NAT, see NAT Traversal for Agent-to-Agent Tests. In general, for Enterprise Agents in the agent-to-agent test, check your firewall rules, NAT or port forwarding configuration to ensure that test packets are permitted and that any needed IP address and port translations are performed.
In agent-to-agent tests, the cost of a test round in Cloud Units depends on whether the Cloud Agent is used as as target (#1 in the above list) or used as source (#3 in the above list). For details on the billing of agent-to-agent tests, see How Cloud Unit Consumption Works. Enterprise Agents are billed with a flat monthly rate, so using them as source and target (scenario #2) does not incur additional cost.
The Basic Configuration tab for an agent-to-agent test is shown below.
Test Name: Name of the test
Target Agent: Select the target agent for the test
Interval: Configure the test interval expressed in minutes
Agents: Select the source agents to monitor the target agent
Direction: Select the direction of the monitoring as Source to Target, Target to Source or Both Directions
Protocol: Select either the TCP or UDP protocol
Enable Throughput: Check this box to perform throughput measurements in the selected direction(s)
with TCP: configure the duration of the throughput measurement
with UDP: configure the duration of the throughput measurement, along with Maximum Rate or Specified Rate that the agent will send packets at
WARNING: Enable Throughput with UDP and Maximum Rate settings can be disruptive. The UDP protocol has no congestion control, therefore a UDP agent to agent test performed at Maximum Rate may saturate your agent's local connection for a set Duration. If unsure, use TCP.
Alerts: Check the Enable box to assign Alert Rules and create suppression windows.
The Advanced Settings tab for an agent-to-agent test is shown below.
Server Port: Port number on the target agent to which a source agent sends packets.
MSS: Set the Maximum Segment Size to Auto or Manual, specifying the number in bytes to avoid fragmentation (the value can be between 30-1400 bytes).
Collect BGP Data: Check this box to enable the BGP Route Visualization View, and select which BGP monitors to use.
Transmission Rate: Check this box to choose the rate at which packets for measurements are sent (between 10 and 100 packets per second)
No. of Path Traces: By default, each agent uses three path trace packets to discover each hop in the Path Visualization. Uncheck this box to change the default setting. You can set up to 10 packets.
DSCP: Configure the DSCP value for the packets.
Server port: Setting the Server Port only specifies the target TCP or UDP port to be used for incoming packets to the target. Value
22 is not allowed. Source ports are numbers above 1024 chosen by the operating system's networking stack.