Dr. David Hayes - Projects
TCP Evaluation Suite for NS-2
This project will implement a suite of TCP tests to provide a standard initial
evaluation of proposed TCP modifications. By using a common set of standardised
test cases, it will enable researchers to more easily compare and contrast TCP
modifications, especially new congesiton control mechanisms.
The proposal is presented in the IETF
draft Common
TCP Evaluation Suite draft-irtf-tmrg-tests-02
The tests will use the ns-2 network simulator.
Five New TCP Congestion control Algorithms for FreeBSD
This project brings work done in the
New TCP project into
FreeBSD, through sponsership from the FreeBSD foundation.
This project provides FreeBSD with:
- a modular congestion control framework,
- two new high speed TCP variants (CUBIC and HTCP),
- enhanced RTT timing for delay-based TCP congestion control,
- and three new delay-based TCP varients (Vegas, HD, and CHD).
My work has involved testing, verifying, documenting and performance testing
these new additions to FreeBSD.
"Stateless" TCP
This project was motivated by Geoff Huston's proposal
(Blog
and presentation). It
has delivered a "statelessTCP" patch for the FreeBSD 9.x kernel, along with
analyses of the performance gains and viability of statelessTCP, using an
unmodified BIND 9 DNS server. The analysis shows significant server load savings
for DNS servers accepting DNS client requests over TCP.
For more details on this project, the related software releases, and
publications refer to the
Stateless TCP project
page. This project was funded through grants from APNIC and nominet.
New TCP
This project has been running over a number of years with the help of CISCO URP
grants. For my part, I have been investigating delay and rate based TCP
congestion control algorithms.
Delay and rate base TCP algoritms can provide low latency connections with no
congestion related packet loss. In addition it has the potential to be able to
work better in environments where packet loss is commonly not due to congestion,
like wireless networks.
My work has provided:
- Enhanced Round Trip Time (RTT) measurement for FreeBSD. For delay-based
congestion control to work properly, the RTT needs to be acurrately measured
and cope with delayed acknowledgements, SACK, and TSO. The h_ertt khelp module
performs this function in FreeBSD.
- HD - An implementation of the Hamilton Institute's delay based congestion
algorithm for FreeBSD described in "A strategy for fair coexistence of
loss and delay-based congestion control algorithms," by L. Budzisz,
R. Stanojevic, R. Shorten, and F. Baker, IEEE Commun. Lett., vol. 13, no. 7,
pp. 555--557, Jul. 2009.
- VEGAS - A FreeBSD implementation of TCP Vegas
- CHD - Enhancements to HD to better coexist with loss-based TCP flows (such as New
Reno) in lightly multiplexed environments, along with tolorance of
non-congestion related packet loss.
- CGD - Investigation into the use of delay-gradients to infer congestion. Often
delay-based congestion control algorithms require the setting of delay
thresholds. If the network's characteristics are not known, this is difficult
to do. Using the delay-gradient as a congestion indicator avoids the need to
set absolute delay thresholds.
For more details on this project, the related software releases, and
publications refer to the
New TCP project
page. This project has been funded through CISCO URP grants.
SONATA project
The Stream Control Transmission Protocol (SCTP) presents a number of problems
for NAT. These include host multi-homing with dynamic IP address
reconfiguration, and also data and control stream multiplexing within a single
SCTP packet. The SCTP NAT kernel module developed as part of this project has
been included in FreeBSD since 8.0 release. The work included development of
automatic functionality and stress test utilities to verify the functionality
and performance of the module.
To find out more about this project, and its resulting software releases and
publications, see SONATA
project. The project was funded through a CISCO URP grant.
|