As part of a broader organisational restructure, data networking research at Swinburne University of Technology has moved from the Centre for Advanced Internet Architecture (CAIA) to the Internet For Things (I4T) Research Lab.

Although CAIA no longer exists, this website reflects CAIA's activities and outputs between March 2002 and February 2017, and is being maintained as a service to the broader data networking research community.

Synthetic Packet Pairs (SPP) - Tool for passive round trip time measurement

Usage Examples

As shown in the documentation, SPP measurement points may reside on the machines generating the target traffic, or alternatively, they may be independent, placed anywhere on the path of the target traffic. All examples consider the former scenario, while only the first two examples also examine the latter (but the remaining scenarios may also be extended to use independent measurement points).

1. Using SPP with previously obtained PCAP files

The simplest way to use SPP is to use tcpdump to capture relevant data at the reference and monitor points. In this example, we would like to monitor the RTT between two servers, which are shown in the image below.


The PCAP files can be created by running the following tcpdump commands:

Reference point

  • tcpdump -i bge0 -w ref.pcap host 10.0.0.1 and host 10.0.0.2

Monitor point

  • tcpdump -i em0 -w mon.pcap host 10.0.0.1 and host 10.0.0.2

These files can the be brought together to a machine where SPP is installed. SPP can then be run as shown below:

  • spp -a 10.0.0.1 -A 10.0.0.2 -f ref.pcap -F mon.pcap -cp
The above commands will be the same for the situation shown below where the measurement points are independent from the hosts generating the target traffic.

2. Using SPP with live local interface monitoring

In a research/testing environment, it is often useful to measure delays through various networks and/or equipment. This can be achieved by using two interfaces on one host, connected to both ends of the path to be tested. Traffic would be generated between these two interfaces.


SPP can be run like so:

  • spp -a 10.0.1.1 -A 10.0.2.1 -i em0 -I em1 -cp
The command shown above will also be appropriate for the following configuration, where the target traffic is instead generated by two other independent hosts.

3. Using SPP with live local and remote interface monitoring

This scenario is likely the most common way to use SPP. Data is captured on a local interface at the reference point, and also remotely at the monitor point. The SPP Sample Frames (SSF) protocol is used to sent SPP data from the monitor point to the reference point for processing.


SPP is run at both points, with the commands below:

Reference point (Master)

  • spp -a 10.0.0.1 -A 10.0.0.2 -i bge0 -R 10.0.0.2 -cp

Monitor point (Slave)

  • spp -a 10.0.0.1 -A 10.0.0.2 -s 10.0.0.1 -I em0

4. Using SPP with live local and remote interface monitoring - out of band SSF transmission

This example is the same as the previous except that SPP data is now being transferred on a separate network, to ensure it doesn't affect the network under test.


SPP is run at both points, with the commands below:

Reference point (Master)

  • spp -a 10.0.0.1 -A 10.0.0.2 -i bge0 -R 192.168.0.2 -cp

Monitor point (Slave)

  • spp -a 10.0.0.1 -A 10.0.0.2 -s 192.168.0.1 -I em0

5. Using SPP dual live remote interface capture

The most flexible of configurations, where both the reference point and monitor point are remote capture slaves to a third machine running SPP.


SPP is run on all machines, with the commands below:

Reference point (Slave)

  • spp -s 10.0.0.5 -I bge0 -a 10.0.0.1 -A 10.0.0.2 -cp

Monitor point (Slave)

  • spp -s 10.0.0.5 -a 10.0.0.1 -I em0 -A 10.0.0.2

Management Station (Master)

  • spp -r 10.0.0.1 -a 10.0.0.1 -R 10.0.0.2 -A 10.0.0.2 -cp


Last Updated: Friday 19-Apr-2013 13:19:24 AEST | Maintained by: Sebastian Zander (szander@swin.edu.au) | Authorised by: Grenville Armitage ( garmitage@swin.edu.au)