Picture this (Sicilie, 1929):
- I have a reliable downlink (128Kb/s).
- I have two unreliable uplinks (9600b/s each), packet loss rougly 30% on
each (it's built up out of two unreliable wireless connections).
All three links have a unique IP-address on the local ethernet. A Linux box
hangs on the local ethernet as well.
Now, the 30% packet loss on the two unreliable links is such that, if I
were to transmit a packet on both links simultaneously, it evens out to
almost 0% packet loss (the packet will almost always go through on either
link, if not on both).
So, what I'm looking for is a way to do the following:
a. I'm trying to improve download performance mostly.
b. This means that I'd like to check on the Linux box, if I am about to
transmit an ACK or if I'm about to transmit a small packet (say <64 bytes).
If yes, duplicate the packet and route it to *two* routers on the
local ethernet simultaneously.
c. I obviously do *not* want the duplication for packets that are too large
(it would result in serious congestion on the uplink, because the uplink's
bandwidth is too small; also, it would lead to congestion at the other
end of the TCP connection, due to the requirement to double the needed
bandwidth if both packets go through).
What would be the best way to hack this into the kernel?
Some fancy ipchains enhancements that allow size checks, and packet
duplication (combined with fwmark routing tables that route to the alternative
uplink)?
Or, just extending the load-balancing code to support packet duplication
based on packet size?
--
Sincerely, [EMAIL PROTECTED]
Stephen R. van den Berg (AKA BuGless).
"Having a non-smoking section in a restaurant is like
having a non-peeing section in a pool."
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]