This page describes the different pieces of code that make possible reproducing the results presented.

  • Sketches library : Is a collection of files that implement all the different sketches and their pseudo-random functions. They are available as a c++ library, as well as a python module.
  • network_sketches.py : Class that wraps over the sketches python module, so that it can be used for traffic validation, i.e. instead of updating the sketches with numbers, it reads a packet using scapy, generates a digest and then updates the sketch. Additionally, it implements a couple of functions: test and test_base that are the core functions used on the experiments. They read a pcap file and simulate the estimation process with the given parameters.
  • estimate-total.sh and estimate-ratio.sh run all the experiments for the estimation of the total number of dropped packets and the proportion respectively. They are based on the estimate-total.py and estimate-ratio.py files. The same can be said about sampling.sh and sampling.py, which reproduce the sampling experiments. Finally, utils.py has some auxiliary functions used by these .py files.
  • sketches_pmf.cpp : Cpp code that computes the proposed probability mass functions for the sketches when used for traffic validation.

Regarding the figures, we have also made available the code to reproduce them given the CSV files produced by the previous scripts.