Abstract
This thesis presents the design, development and evaluation of a novel pluggable timer-based TCP congestion control module in the Linux kernel. The conceptual basis for the congestion control is derived from an unpublished paper at the time of writing. The resulting implementation is fundamentally different from traditional TCP congestion control, as it does not exclusively rely on ACK-clocking or a congestion window. Instead, it is based on time, where all packet transmissions occur as a consequence of a timer expiration in Slow Start and Congestion Avoidance. The timeout values are calculated from the current sending rate and congestion control algorithm. In essence, this process interpolates the transmission behavior of traditional TCP congestion control, in addition to meticulously distributing packets across time, yielding smooth traffic patterns. The evaluation of the implementation was conducted in an isolated single flow environment. The findings provided insights into its capabilities and limitations, highlighting areas of further research on implementing timer-based congestion control.