Commit 4ef5bf8f authored by Tom Henderson's avatar Tom Henderson

Update README with more pointers to recent changes

parent 15f498d4
......@@ -10,6 +10,9 @@ This repository currently focuses on [Issue #16 - Interaction w/ 3168-only ECN A
Current simulation results for [issue 17, one flow](https://l4s.cablelabs.com/results.html) are posted on a CableLabs server.
The most recent changes to the code can be viewed from the
[commit log](https://gitlab.com/tomhend/modules/l4s-evaluation/commits/master).
This simulation code can be parameterized to simulate and compare with selected results of
* [Scenario 2 (single fq-codel)](https://github.com/heistp/sce-l4s-bakeoff#scenario-2),
......@@ -36,14 +39,25 @@ Pete Heist, which investigates a similar configuration, as well as related
ns-3 provides an accessible framework for simulation-based experiments and allows for completely reproducible results, to complement testbed results. ns-3 also provides a limited capability for inserting Linux kernel TCP code, which we have used for validation of results using native ns-3 models.
ns-3 models exist for some of the configurations under study in testbeds.
ns-3 has native models of CoDel, FQ-CoDel, Cubic, DCTCP, and Reno.
A dual-queue coupled AQM model is not yet published, but the tsvwg issues
are currently focused on interaction with FQ/CoDel and single CoDel AQMs.
A ns-3 TCP Prague model is not yet published, but the tsvwg issues are
currently focused on flow startup behavior, and Prague is currently using
a DCTCP-like congestion control with a traditional slow start, so DCTCP is
an acceptable surrogate. No ns-3 models of SCE are known to be available.
This repository extends the ns-3.30 release with additional models:
- TCP Cubic model derived from [RFC 8312](https://tools.ietf.org/html/rfc8312)
- DCTCP model derived from [RFC 8257](https://tools.ietf.org/html/rfc8257)
- Extensions to ns-3 CoDel and FQ-CoDel models for ECN marking support
- scripts to run scenarios of interest to tsvwg
This repository also contains scripts to automate the running and processing
of simulation scenarios proposed in the IETF transport area working group.
This repository will be extended in the near future. The following were
worked on at IETF 106 hackathon and should be integrated soon:
- DualQ Coupled PI2 model based on the version -10 internet draft pseudocode
(current draft at: https://gitlab.com/tomhenderson/ns-3-dev/tree/dual-queue)
- TCP Prague model derived from ns-3 DCTCP model with additional support for
paced chirping.
- Additional experiment scripts
## Simulation Setup
The general simulation setup for issues 16 and 17 can be implemented in
......@@ -64,7 +78,7 @@ ns-3 with the following generic topology:
// terminology in that home clients are requesting data from Internet servers
//
// - The box WR is a WAN router, aggregating all server links
// - The box M1 is notionally an access network headend such as a CMTS or DSLAM
// - The box M1 is notionally an access network headend such as a CMTS or BRAS
// - The box M2 is notionally an access network CPE device such as a cable or DSL modem
// - The box M3 is notionally a home router (HR) running cake or FQ-CoDel
// - The box LR is another LAN router, aggregating all client links (to home devices)
......@@ -205,7 +219,8 @@ patch is integrated into the mainline of ns-3.
1) Install prerequisites for ns-3 on your workstation. The minimal
requirement for Linux is a C++ (g++ or clang++) compiler, Python 3, and git.
For macOS, install the Xcode framework and its command-line tools.
For macOS, install the Xcode command-line tools (or the full Xcode
environment if you prefer).
More details about various prerequisites for installation are provided
on the [installation wiki](https://www.nsnam.org/wiki/Installation).
......@@ -350,7 +365,8 @@ further validation (although response to a loss will invoke PRR and
fast recovery, the current response to an ECE signal is to simply perform a
window halving (reno, dctcp) or beta reduction (cubic)).
For questions about the model, please use the [ns-3-users Google Groups]()
For questions about the model, please use the
[ns-3-users Google Groups](https://groups.google.com/forum/?fromgroups#!forum/ns-3-users)
forum, and feel free to generate GitLab.com merge requests for proposed
patches. All code contributions should follow
[ns-3 guidelines](https://www.nsnam.org/develop/contributing-code/)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment