scenario
- a configuration of traffic generators and background traffic.The dataset directory is laid out in the following manner: /data/searchlight/phase3_corpus/{size}/{encryption}/{scenario}
. Experiment scenarios are separated by topology size (small, medium, large) and encryption type (non encrypted, various encryption methods). Each scenario contains the following:
config.json
variant
: config
, for most use variant 000000
is the main configurationmyexp.etchosts
pcaps
The path to a PCAP file takes the following form: /data/searchlight/phase3_corpus/{size}/{encryption}/{scenario}/pcaps/{pcap_name}.pcap
A PCAP file name takes the following form: {timestamp}-{node}.{experiment materialization}-{traffic generator info}-{encryption status}{
Example using the following pcap path:
/data/searchlight/phase3_corpus/small/ipsec-sts/Phase_3_Small_100_Vtc_Beta/pcaps/1680156562-e0.test.smallencrypted.pharos-1iperf-2vtc-ipsec-sts000000.pcap
The number (#) refers to the placement in the path
small
refers to the size of the experimentsmall
, medium
, and large
ipsec-sts
refers to the encryption statusnoenc
, ipsec-sts
, wireguard-sts
, wireguard-ptp
Phase_3_Small_100_Vtc_Beta
is the name of the experiment scenario. This is set in the configuration file for the scenario1680156562-e0.test.smallencrypted.pharos-1iperf-2vtc-ipsec-sts000000.pcap
is the pcap name.Breaking down the PCAP name, using 1680156562-e0.test.smallencrypted.pharos-1iperf-2vtc-ipsec-sts000000.pcap
as an example:
1680156562
is the timestamp at which the pcap was generatede0.test.smallencrypted.pharos
refers to thee0
is the name of the node the pcap was captured ontest.smallencrypted.pharos
is the mergeTB experiment realization1iperf-2vtc
gives information on the amount of unique configurations for each traffic generator:{NUM}{TG NAME}
means there are NUM
instances of the TG NAME
traffic generatoripsec-sts
is the encryption status, again000000
is the scenario variantconfig.json
file in the directory above the packet capture for variants.In general, the experiment scenario naming follows the following conventions:
Phase_3_{Experiment Size}_{# approx flows}_{TG Type}_{Background traffic}
{Experiment Size}
is one of Small
, Medium
, or Large
. It will almost always match the experiment size in the path.Medium
size configurations were run on a Large
topology. They will be labeled as Medium
on the scenario folder but reside in the large
folder directly under /data/searchlight/phase3_corpus
{# approx flows}
is the approximate amount of flows in the scenario{TG Type}
is the primary traffic generatorCloud
, Video
, VTC
, Web_Training
{Background traffic}
is the type of background traffic on the expeirmentAlpha
refers to a 50/50 split of protonuke and iperf trafficBeta
refers to only iperf background trafficExceptions:
- Deterministic
is a Web_Training
only type – background traffic is Beta
, and the deterministic
flag is set to True
for the web application
The phase 3 dataset was created using the experiment maker and configurations hosted in the phase-3-experiments repo.
Experiments can be reproduced using the data in the dataset, a MergeTB testbed, and the experiment maker program.
To reproduce a packet capture:
000000
variant, extract the JSON data from "000000"
) and save into a new config fileSmall
, Medium
, or Large
topology (whatever is revealed in the pcap path)experiment-maker
given the config file made in step 1python experiment.py config.json
This will save the pcap in /local_scratch/artifacts
on the node specified in config.json
(usually e0
or c0
).
Most small
experiments have a 90/10 ratio of background traffic / target application traffic. The following is a breakdown of all target traffic types in the format: {# Flows}: {# background flows}/{# target flows}
small
: 10% is targetmedium
: 5% is targetlarge
: 5%, 2.5% for 10K is target