[e2e] common congestion controller for TCP connections

Michael Savoric savoric at ft.ee.tu-berlin.de
Wed Oct 30 06:08:16 PST 2002

Joe Touch wrote:

> Just as rewriting the whole of TCP's congestion management in an
> external module is a large change that can have unintended, adverse
> interactions and consequences. Not the least of which is needing to
> prove, a-priori, that this version of TCP is equivalent to Linux TCP
> under the conditions of a particular experiment.
> If what is desired is to play with the particular variables being shared
> (which is, at least I think, the point of the proposed work), CM may
> have unintended artifacts that affect an implementation.
> Joe

The idea (maybe it does not work, I am not a Linux kernel expert)
is to implement upcalls to the loadable controller module in parts
of the code of a TCP sender where congestion control events (ack,
timeout, dupack, open, close, ...) are handled.
The controller is then able to calculate new values for the jointly
controlled TCP variables. These new values are then transferred to
the TCP instances by using downcalls. If no module is loaded, the
upcalls won't have an effect on the TCP variables of a TCP instance.

This architecture does not change large parts of the TCP code, only
upcalls and downcall analyzing procedures have to be written.
And new control algorithms for the TCB variables can be easily implemented
without considering the detailed internals of the kernel.

Best regards,
Michael Savoric

E-Mail:		savoric at ee.tu-berlin.de

Phone:		(+49 30) 314-23840

Fax:		(+49 30) 314-23818

Postal address:	Technical University Berlin
		Telecommunication Networks Group (TKN)
		Einsteinufer 25, 10587 Berlin

More information about the end2end-interest mailing list