---------- Forwarded message ---------- From: Lawrence Stewart Date: 2010/8/16 Subject: [e2e] Software for FreeBSD TCP R&D (resend of mail dated 2010-08-03) To: end2end-inter...@postel.org
Hi all, (apologies for any duplicates you have received) We're pleased to announce the release of a substantial set of new and updated BSD licenced software for TCP experimentation and research using FreeBSD: - "CAIA-Hamilton Delay" Congestion Control Algorithm v0.1 (new) - "Hamilton Delay" Congestion Control Algorithm v0.2 (update) - Vegas Congestion Control Algorithm v0.2 (update) - H-TCP Congestion Control Algorithm v0.12 (update) - CUBIC Congestion Control Algorithm v0.10 (update) - Statistical Information For TCP Research (SIFTR) v1.2.3 (update) - Enhanced Round Trip Time (ERTT) Khelp Module v0.2 (update) - Khelp Framework for FreeBSD v0.1.1 (update) - Modular TCP Congestion Control for FreeBSD v0.10.0 (update) A more detailed summary of the various tools/patches is included at the end of this email. Everything mentioned above along with other papers, patches and software relevant/useful for protocol analysis, debugging and experimental research is available from: http://caia.swin.edu.au/urp/newtcp/tools.html The 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, Lawrence Stewart, David Hayes and Grenville Armitage http://caia.swin.edu.au NB: "CAIA-Hamilton Delay" and "Hamilton Delay" are our working names for algorithms which do not have established names in the literature. "CAIA-Hamilton Delay" Congestion Control Algorithm v0.1 [1,2] ---------------------------------------------------------------------- A FreeBSD loadable kernel module that implements an experimental delay based congestion control algorithm proposed by the Hamilton Institute [3] but with modifications made by CAIA [4]. It builds on Hamilton's initial proposal by adding tolerance to non-congestion related losses and still aims to allow delay- and loss-based algorithms to fairly coexist. "Hamilton Delay" Congestion Control Algorithm v0.2 [5,6] ---------------------------------------------------------------------- A FreeBSD loadable kernel module that implements an experimental delay based congestion control algorithm proposed by the Hamilton Institute [3]. It provides a first step toward the ability of delay based algorithms to fairly coexist with loss based algorithms. Vegas Congestion Control Algorithm v0.2 [7,8] ---------------------------------------------------------------------- A FreeBSD loadable kernel module that implements the Vegas delay-based congestion control algorithm [9]. H-TCP Congestion Control Algorithm v0.12 [10,11] ---------------------------------------------------------------------- A FreeBSD loadable kernel module that implements the H-TCP loss based TCP congestion control algorithm [12]. CUBIC Congestion Control Algorithm v0.10 [13,14] ---------------------------------------------------------------------- A FreeBSD loadable kernel module that implements the CUBIC loss based TCP congestion control algorithm [15]. CUBIC is the current default algorithm used by Linux. Statistical Information For TCP Research (SIFTR) v1.2.3 [16,17] ---------------------------------------------------------------------- A FreeBSD 6/7/8/9 kernel module that logs a range of statistics on active TCP connections to a log file. It provides the ability to make highly granular measurements of TCP connection state, aimed at system administrators, developers and researchers. NB: SIFTR has been imported into FreeBSD's "head" svn branch (a.k.a. 9-CURRENT) as revision 209662 and will be backported to 8-STABLE in time for 8.2-RELEASE. Enhanced Round Trip Time (ERTT) Khelp Module v0.2 [18,19] ---------------------------------------------------------------------- A FreeBSD loadable kernel module that provides enhanced RTT 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.1 [20,21] ---------------------------------------------------------------------- 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.10.0 [22,23] ------------------------------------------------- This revision of the modular TCP congestion control framework patch provides a current snapshot of the project's development branch. Some fairly major changes and refactoring have gone into this release, along with numerous tweaks, bug fixes and enhancements to support the new delay based congestion control algorithms we have been working on. In theory, the framework now also supports sharing of congestion control algorithms between congestion aware transport protocols like TCP and SCTP, though this integration work is yet to be done. [1] http://caia.swin.edu.au/urp/newtcp/tools/cc_chd-0.1.tar.gz [2] http://caia.swin.edu.au/urp/newtcp/tools/cc_chd-readme-0.1.txt [3] 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. [4] D. A. Hayes and G. Armitage, "Improved coexistence and loss tolerance for delay based TCP congestion control", in Proceedings of 35th Annual IEEE Conference on Local Computer Networks (LCN 2010), Denver, Colorado, USA, 11-14 October 2010. [5] http://caia.swin.edu.au/urp/newtcp/tools/cc_hd-0.2.tar.gz [6] http://caia.swin.edu.au/urp/newtcp/tools/cc_hd-readme-0.2.txt [7] http://caia.swin.edu.au/urp/newtcp/tools/cc_vegas-0.2.tar.gz [8] http://caia.swin.edu.au/urp/newtcp/tools/cc_vegas-readme-0.2.txt [9] 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. [10] http://caia.swin.edu.au/urp/newtcp/tools/cc_htcp-0.12.tar.gz [11] http://caia.swin.edu.au/urp/newtcp/tools/cc_htcp-readme-0.12.txt [12] D. Leith, R. Shorten, "H-TCP: TCP for high-speed and long-distance networks", in Second International Workshop on Protocols for Fast Long-Distance Networks, Argonne, Illinois USA, February 2004. [13] http://caia.swin.edu.au/urp/newtcp/tools/cc_cubic-0.10.tar.gz [14] http://caia.swin.edu.au/urp/newtcp/tools/cc_cubic-readme-0.10.txt [15] I. Rhee, L. Xu, S. Ha, "CUBIC for Fast Long-Distance Networks", Internet Draft, draft-rhee-tcpm-cubic-02.txt, August 2008. [16] http://caia.swin.edu.au/urp/newtcp/tools/siftr-1.2.3.tar.gz [17] http://caia.swin.edu.au/urp/newtcp/tools/siftr-readme-1.2.3.txt [18] http://caia.swin.edu.au/urp/newtcp/tools/h_ertt-0.2.tar.gz [19] http://caia.swin.edu.au/urp/newtcp/tools/h_ertt-readme-0.2.txt [20] http://caia.swin.edu.au/urp/newtcp/tools/caia_khelp_framework_v0.1.1_9.x.r209905.patch [21] http://caia.swin.edu.au/urp/newtcp/tools/khelp-readme-0.1.1.txt [22] http://caia.swin.edu.au/urp/newtcp/tools/caia_modularcc_v0.10.0_9.x.r209905.patch [23] http://caia.swin.edu.au/urp/newtcp/tools/modularcc-readme-0.10.0.txt ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd