Skip to content

samliangsk/RED-Loss-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Re-evaluate Internet Traffic Loss Models

This is an on-going research project for CSCI651 @ USC Viterbi, by Qishen Sam Liang.

Mentor: Prof. John Heidemann.

Codes

lost-topo.cc

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

multi-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

bursty.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

buf-pcap-plot.py

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).

loss-model-analysis.py

The Python parser that do conditional and unconditional loss probability calculations. Input: *.pcap and *-drp.tr.

function_estimate.py

The regression function generator that takes the input of the set of single flow simulations.

sample output: fig1 fig2

2d-bandwidth-gaptime.py

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.

2d-delay-gaptime.py

Similar to the 2d-bandwidth-gaptime.py, this python script plot the delay as x-axis.

3d-bandwidth-rtt-gaptime.py

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

3-flow-analysis.py

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).

sample output: fig1 fig2 fig3

bursty-plot.py

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

loss_hist.py

The plotter used to demonstrate the distribution of the time gaps generated by bursty.cc.

sample output: fig

fq-3-flow-plot.py

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

Data naming follows the following form

[Type]-bw[bw]-b[buf]-[data].[datatype]

Type

The congestion control algorithm at the router

DT - Drop-tail RED - Random Early Detection CD - CoDel

bw

The bottleneck bandwidth

example: 1Mb

buf

The maximum or total buffer size (in packets)

example: 9p

Data

-cwn congestion window

-buf buffer length (in packets)

-drp packet dropped by router (SEQ)

Datatype

.tr traces

.pcap packet capture

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors