This is an on-going research project for CSCI651 @ USC Viterbi, by Qishen Sam Liang.
Mentor: Prof. John Heidemann.
The NS3 for the simulation to run. To run it, first install NS3 via the official instruction.
Copy the file to scratch in the folder and call ./ns3 run scratch/loss-topo.cc
A NS-3 simulation. With 3 flows involved, aiming to discover the patterns of FQ-CoDel for different flows sharing the same bottleneck bandwidth.
Copy the file to scratch in the folder and call ./ns3 run scratch/multi-topo.cc
A NS-3 simulation. With 100 bursty flows (OnOffApplications), aiming to provide insight for bursty network.
Copy the file to scratch in the folder and call ./ns3 run scratch/bursty.cc
The Python parser and ploter that takes the input of *.pcap and *-buf.tr and file plot the data packet SEQ, coresponding ACK, and the router buffer queue length (in packet).
The Python parser that do conditional and unconditional loss probability calculations. Input: *.pcap and *-drp.tr.
The regression function generator that takes the input of the set of single flow simulations.
This is a 2D plotter, with x axis as the bandwidth and the y axis as the gap time. Gap time refers to the time differences between two first in batch losses.
Similar to the 2d-bandwidth-gaptime.py
, this python script plot the delay as x-axis.
This is the heatmap plotter. which x-axis is delay and y axis is the bandwidth, and the gap time is represented as the color in the heatmap.
sample output: fig
The plotter for the results of multi-flow.cc
, which plots the distribution of gap time accross different phases (single flow, 2 flow, 3 flow).
The plotter for the results of bursty.cc
. which plots the time sequence diagram with crosses representing the drops, and green line representing the router's buffer queue sizes.
sample output: fig
The plotter used to demonstrate the distribution of the time gaps generated by bursty.cc
.
sample output: fig
The plotter for the results of multi-flow.cc
, which plots the time sequence diagram of 3 flows with crosses representing the drops.
sample output: fig
Data naming follows the following form
[Type]-bw[bw]-b[buf]-[data].[datatype]
The congestion control algorithm at the router
DT - Drop-tail RED - Random Early Detection CD - CoDel
The bottleneck bandwidth
example: 1Mb
The maximum or total buffer size (in packets)
example: 9p
-cwn congestion window
-buf buffer length (in packets)
-drp packet dropped by router (SEQ)
.tr traces
.pcap packet capture