A Leaky Bucket Policing Agent for Site-wide Congestion Control


Teresa L. Johnson

Oral Defence Date: 



TH 331


Professors Murphy, Puder and Wong


Congestion control mechanisms are used by TCP to prevent overflow conditions at intermediate routers. UDP lacks end-to-end congestion control methods and can consume a disproportionate amount of bandwidth compared with TCP. UDP datagrams are dropped if a router on the source-destination path has a buffer overflow. TCP flows through the same router will stop transmitting new segments, thereby giving subsequent UDP traffic an unintended priority. This thesis introduces the design and implementation of a congestion control mechanism that polices both TCP and UDP traffic. This mechanism is designed to smooth out burstyness and to be TCP-Friendly: both UDP and TCP transmission rates are scaled back in a uniform manner. This method is based on a Leaky Bucket algorithm and implemented as a Linux kernel module utilizing the Netfilter framework. Initial experimental results show that this method of congestion control effectively smooths and rate limits both TCP and UDP traffic.


Linux 2.6 Kernel, Netfilter, TCP-Friendly, Congestion Control, Rate Limiting Policing Agent


Teresa L. Johnson