QoS per TCP connection

Sampsa Ranta sampsa@netsonic.fi
Tue, 2 Oct 2001 19:51:01 +0300 (EEST)

On Mon, 1 Oct 2001, Harald Welte wrote:

> yes, this is a well-known mechanism for throttling tcp connections, and it
> is deployed in several commercially available products.
> It is, however, to be doubted that this severe mangling of TCP header data
> is really desirable on an intermediate router.  Every step we do in this
> direction further hurts end-to-end transparancy.
> We already have NAT and other evil things - lets try not to invent more of
> them...

I admit that NAT is evil, hurts many protocols.. One might say that the
protocols could have been written better, too.. Anyway, I agree that
writing helpers for this is ridiculous! But I would like to know
what is Harald's solution for generating differentiated services.

We have a clear need for realtime protocols such as streaming and voice
over IP that require more accurate delays and throughput. And in core
network all of this cannot be solved using queues. And in core routers we
cannot play with single TCP sessions, but with larger aggregated flows.

Currently we are stucked with best effort networks. In these networks,
queues are implemented using fifos and no quaranteens of latency or
anything can be given.

When we have a TCP connection tracked, and we want to limit bandwidth of
connection, this would be the choice that I currently recommend, other
choises are on queues, such as dropping a packet and that way signalling
that TCP connection must decrease bandwidth.

I admit that having this kind of option might something we don't except,
but now that I think I don't see any, not that there wouldn't be such.

But I am open to other suggestions, what would be a good way to place
bandwidth tuning in edge of broadband end user network, so that I could
for example give max bandwidth when user starts transfering, but after for
example couple of hundred megabytes I could limit it to more reasonable
values and give the prime bandwidth to other users?

Who said that internet should be fully transparent, anyway?

We have the TOS bits in IP headers that are quite useless, because there
really are very few cases were these fit fine.

Do I need to write RFC for such behaviour, before it is acceptable to
implement it?

 - Sampsa Ranta