NetworkThrottling

Summary

Ubuntu lacks a control panel to easily throttle outbound/inbound network throughput (by machine and possibly by [registered] application).

Rationale

Throttling network throughput is a useful and sometimes required feature when several machines share a single Internet connection (for example in a school where several children will share an ADSL/dialup connection). E.g., an ubuntu client might be assigned a maximum throughput due to some local policy or s/he might want to join in a home network and download files without affecting other machines downloading real-time video streams.

Currently, there is no easy way, using a control panel in network preferences or similar, to do such throttling in ubuntu, either in a router/server or in a client machine setup. There are several available general linux frameworks for implementing such throttling upon (e.g. lartc.org, shorewall.net, netfilter/iptables), but none of them is easy-to-use, requiring considerable command-line digging-up, linux network know-how or other cryptic user interfaces that aren't readily tweakable by the expected average ubuntu end-user.

Use cases

  • Alice uses Ubuntu and she wants to wirelessly join in her home network to download the latest Ubuntu CDs. Unfortunately, Bob is already using the home network almost up to its maximum throughput, watching a real-time video of his favorite soccer team. Too bad Bob is going to have to resign to see a slide-show picture-sequence of a downgraded video-stream, because Alice is unable to throttle her inbound network throughput.
  • Clare wants to setup a network router for her school and to automatically assign a balanced maximum throughput slot for its users, sharing the school adsl connection, enough for the academic activities. Unfortunately ubuntu does not provide this functionality in a easy-to-use way, and she is unable to deal with some p2p users that exploit all available bandwidth while all other entitled internet accesses are sluggish.

Scope

Design

Implementation

Code

Data preservation and migration

Outstanding issues

  • Find the exact parameters to tweak
    • inbound/outbound network throughput by machine in a server
    • inbound/outbound network throughput by application in a client
  • Find the framework to base upon the control panel dialog

BoF agenda and discussion


CategorySpec CategoryNetworking

NetworkThrottling (last edited 2008-08-06 16:30:40 by localhost)