[Tmrg] Software for FreeBSD TCP R&D

lastewart at swin.edu.au (Lawrence Stewart) Fri, 19 February 2010 06:26 UTC

From: lastewart at swin.edu.au (Lawrence Stewart)
Date: Fri, 19 Feb 2010 17:26:42 +1100
Subject: [Tmrg] Software for FreeBSD TCP R&D
Message-ID: <4B7E2F22.9020001@swin.edu.au>

Hi All,

We're pleased to announce the release of a substantial set of new
and updated software for TCP research using FreeBSD:

  - Hamilton Delay Congestion Control Algorithm v0.1 (new)
  - Vegas Congestion Control Algorithm v0.1 (new)
  - ERTT Khelp Module v0.1 (new)
  - Khelp Framework for FreeBSD v0.1.0 (new)
  - Modular TCP Congestion Control for FreeBSD v0.9.4 (update)

Everything is available from [1] as BSD licenced source, along
with other papers, patches and software relevant/useful for
protocol analysis, debugging and experimental research.


Hamilton Delay Congestion Control Algorithm v0.1 [2,3]
------------------------------------------------
A FreeBSD loadable kernel module that implements an experimental
delay based congestion control algorithm proposed by the Hamilton
Institute [4]. It provides a first step toward the ability of
delay based algorithms to fairly coexist with loss based
algorithms.


Vegas Congestion Control Algorithm v0.1 [5,6]
--------------------------------------
A FreeBSD loadable kernel module that implements the VEGAS
congestion control algorithm [7].


ERTT Khelp Module v0.1 [8,9]
----------------------
A FreeBSD loadable kernel module that provides Enhanced Round
Trip Time (ERTT) measurements for use by delay and rate based TCP
congestion control algorithms. Robust estimates of RTT are
provided even when the receiver uses delayed acknowledgements,
TCP segmentation offload (TSO) or Selective Acknowledgements
(SACK). This module is required by the delay based congestion
control algorithms.


Khelp Framework for FreeBSD v0.1.0 [10,11]
----------------------------------
A FreeBSD kernel patch that provides support for generic kernel
modules known as "helpers" to hook into arbitrary points within
the kernel and provide service(s) to the running system. This
forms the foundation for the ERTT Khelp module.


Modular TCP Congestion Control for FreeBSD v0.9.4 [12,13]
-------------------------------------------------
This revision of the Modular TCP Congestion control framework
patch provides a current snapshot of the project's subversion
branch, with numerous tweaks, bug fixes and enhancements to
support the new delay based congestion control algorithms we have
been working on.




This software was developed as part of the NewTCP research
project at Swinburne University's Centre for Advanced Internet
Architectures, made possible in part by a grant from the Cisco
University Research Program Fund at Community Foundation Silicon
Valley. Testing and development was further assisted by a grant
from the FreeBSD Foundation.

We welcome any feedback and hope you enjoy playing with the code
and tools.

Cheers,
David Hayes, Lawrence Stewart and Grenville Armitage

http://caia.swin.edu.au


[1] http://caia.swin.edu.au/urp/newtcp/tools.html

[2] http://caia.swin.edu.au/newtcp/tools/cc_hd-0.1.tar.gz

[3] http://caia.swin.edu.au/newtcp/tools/cc_hd-readme-0.1.txt

[4] L. Budzisz, R. Stanojevic, R. Shorten, and F. Baker, "A
strategy for fair coexistence of loss and delay-based congestion
control algorithms", IEEE Commun. Lett., vol. 13, no. 7,
pp. 555-557, Jul. 2009.

[5] http://caia.swin.edu.au/newtcp/tools/cc_vegas-0.1.tar.gz

[6] http://caia.swin.edu.au/newtcp/tools/cc_vegas-readme-0.1.txt

[7] L. S. Brakmo and L. L. Peterson, "TCP Vegas: end to end
congestion avoidance on a global internet", IEEE J. Sel. Areas
Commun., vol. 13, no. 8, pp. 1465-1480, Oct. 1995.

[8] http://caia.swin.edu.au/newtcp/tools/h_ertt-0.1.tar.gz

[9] http://caia.swin.edu.au/newtcp/tools/h_ertt-readme-0.1.txt

[10]
http://caia.swin.edu.au/newtcp/tools/caia_khelp_framework_v0.1.0_9.x.r203910.patch

[11] http://caia.swin.edu.au/newtcp/tools/khelp-readme-0.1.0.txt

[12]
http://caia.swin.edu.au/newtcp/tools/caia_modularcc_v0.9.4_9.x.r203910.patch

[13]
http://caia.swin.edu.au/newtcp/tools/modularcc-readme-0.9.4.txt