The implementation is described in this paper.
Please use the issue tracker for bugs/questions.
This repository contains in the src/quic
for a multipath extension to the QUIC protocol for ns-3.
src/quic/Readme details the code structure and the implementation align the IETF draft.
Our implementation requires basic environment settings for ns-3. For Ubuntu22.04 users, please use the following cmd to install the prerequisities. For users with different OS, please refer to the ns-3 documentation for more detailed instructions on how to set up your system to install ns-3.
apt-get update
apt-get install -y build-essential python3 python3-dev git libeigen3-dev python3-pandas python3-numpy python3-matplotlib font-manager
Please download the repository by https, ssh, or other options.
git clone [email protected]:ssjShirley/mpquic-ns3.git mpquic
Please compile and build mpquic with the following cmd:
cd mpquic
./waf configure --enable-examples --enable-tests
./waf build
Following jupyter files present the Figures 7 to 13 in the paper.
scalable-draw-figure7.ipynb
cwnd-draw-figure8.ipynb
schedule-draw-figure9-10.ipynb
scheduler-cpr-two-path-figure11-13.ipynb
Please use the following script to reproduce the experimental results in WNS3 paper. It might take few hours to generate all required data.
./wns3-2023-all-exp-figures.sh
For docker users, please load the image by
docker pull ssjshirley/mpquic-ns3:latest
Or, you can build the image with Dockerfile
by
docker build -t ssjshirley/mpquic-ns3 .
To run the docker image and the data and figures will be stored in $PWD/results
. (This may take few hours.)
docker run -it -v $PWD/results:/root/workspace/mpquic/results-wns3 ssjshirley/mpquic-ns3:latest
The ns-3 QUIC module can be found at https://github.com/signetlabdei/quic.
The implementation is described in this paper.