QUIC Datapath Control Module for Chromium
Congestion Control Plane (CCP) for Chromium (ccp-chromium
) is a implementation of aSTEAM Project https://asteam.korea.ac.kr's QUIC Datapath Control Module in the user space Chromium network stack compatible with ccp-agent
https://github.com/mit-nms/ccp of Networks and Mobile Systems (NNS) group, MIT CSAIL. Although it is designed to integrate itself into QUIC Datapath, the current published version does not contain the integration code parts. Rather, it can operate as an independent process maintaining Transport Layer Protocol's Datapath state while communicating with ccp-agent
.
- An UNIX-like Operating System which supports UNIX Domain Socket (UDS) Inter-Process Communication, since QUIC Datapath Control Module communicates with ccp-agent using UDS.
- A standard C++11 Compiler:
g++
is recommended ccp-agent
: an experimental implementation of CCP written in the Go Programming Language, operated as an aSTEAM Controller. https://github.com/mit-nms/ccp
-
Build Instructions of
ccp-agent
- Open a terminal
- Install the Go tools: Please refer https://golang.org/doc/install.
- Following 'How to Write Go Code' https://golang.org/doc/code.html, organize your Go workspace
- Go to
src
directory of your Go workspace:cd $GOPATH/src
- Make directories
github.com/mit-nms
:mkdir -p github.com/mit-nms
- Go to
mit-nms
directory:cd github.com/mit-nms
- Clone
ccp-agent
's Git repository:git clone https://github.com/mit-nms/ccp
- Go to
ccp-agent
's Git repository:cd ccp
- Install required dependencies of
ccp-agent
:go get ./...
- Build
ccp-agent
:make
-
Build Instructions of
ccp-chromium
- Open a terminal and go to an appropriate directory (We assume the directory is user's home directory
~
.) - Clone this Git repository:
git clone https://github.com/ku-asteam/ccp-chromium.git
- Go to the local Git repository:
cd ccp-chromium
- Build the code with
make
:make all
- Open a terminal and go to an appropriate directory (We assume the directory is user's home directory
-
How to Run (In Case of TCP Reno Congestion Algorithm)
$GOPATH/src/github.com/mit-nms/ccp/ccpl --datapath=udp --congAlg=reno
~/ccp-chromium/testccp