Re: Selection of TCP congestion avoidance algo per interface?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Henrik Nordstrom wrote:

On Thu, 22 Sep 2005, Dag Bakke wrote:

The majority of the traffic is http. Thus, if I put up a web proxy on either side of the satellite link, I would be able to use 'hybla' on the interfaces pointing towards the satellite link and whatever makes more sense on the proxies interfaces pointing towards the clients/servers.

Does this sound like it could work?


Yes.

You just needs to make your proxy select the appropriate congestion control via setsockopt().

rc = setsockopt(socket, SOL_TCP, TCP_CONGESTION, char *name);

returns 0 on success, <0 on error.

This requires the proxy to make this decision for every in- and out-bound connection, right? (I am firmly peeking over the edge of my knowledge here, staring into the great void.)

alternatively maybe the routing could be extended with congestion control information, but it looks like this may require a fair bit of changes..

This was more along the lines of what I was hoping for. I asked for a different default per interface. Per route makes more sense, though. This could even be decided automatically, if we had a way to add bandwidth and delay 'hints' to the routes. Hmm. Routing protocols. Or maybe OpenVPN could do this internally for tunnels over TCP...?

For this particular task, different defaults depending on if the connection is initiated locally or remotely would do the job, I think.

If someone feels like implementing anything which can be configured at the kernel-level, I'll happily make som tests on our satellite link.

Hope I manage to spur a discussion around this, as I don't code myself...


Dag B.


-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux