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

No packages published