USENIX 2005 Annual Technical Conference, FREENIX Track Abstract
Pp. 6170 of the Proceedings
Trickle: A Userland Bandwidth Shaper for Unix-like Systems
Marius A. Eriksen, Google, Inc.
As with any finite resource, it is often necessary to apply policies
to the shared usage of network resources. Existing solutions
typically implement this by employing traffic management in edge
routers. However, users of smaller networks regularly find themselves
in need of nothing more than ad-hoc rate limiting. Such networks are
typically unmanaged, with no network administrator(s) to manage
complicated traffic management schemes. Trickle bridges this gap by
providing a simple and portable solution to rate limit the TCP
connections of a given process or group of processes.
Trickle takes advantage of the Unix dynamic loader's preloading
functionality to interposition itself in front of the BSD socket API
provided by the system's libc. Running entirely in user space,
shapes network traffic by delaying and truncating socket I/Os without
requiring administrator privileges. Instances of Trickle can
cooperate, even across networks allowing for the specification of
global rate limiting policies. Due to the prevalence of BSD sockets
and dynamic loaders, Trickle enjoys the benefit of portability accross
a multitude of Unix-like platforms.
- View the full text of this paper in HTML and PDF.
Until April 2006, you will need your USENIX membership identification in order to access the full papers. The Proceedings are published as a collective work, © 2005 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.