[e2e] A simple scenario. (Basically the reason for the sliding window thread ; -))

Detlef Bosau detlef.bosau at web.de
Sun Jan 14 04:00:29 PST 2007

Agarwal, Anil wrote:
> I think, this scenario will occur if
>   the TCP-splitters buffer x bytes of undelivered data,
>   the sender cwnd is y,
>   x < 2^32 and x+y >= 2^32,
>   the splitters go down and
>   packets flow between the sender and receiver over an alternate path.

If a splitter goes down, all data which is acknowledged by the splitter 
but not yet delivered to the sender is unreceoverably lost.
In addition, sequence numbers are flow specific, so when a splitter goes 
down and the flow takes an alternate path the ack-numbers received by 
the sender are completely undefined as they stem from a different TCP flow.

So, Joe is right here when he says that end to end semantics on the 
connection level are destroyed and we cannot recover from a failure of 
the splitter.

However, I don´t know whether there are hot stand by architectures 
available or at least possible in some cases where a backup can replace 
a failed split box. But such an architecture would at least require a 
one to one copy of any flow specific state data to be available at the 
split box and each of its backup systems as well.

> Detlef - this is not as easy as it might first appear, especially
> since data can get buffered at the sending or
> receiving TCP-splitter in a two-splitter case,
> but it can be (is) done.
Are there papers available on this?

> Hence, x + y < 2^32 and the above scenario will not occur.
> The above also requires that TCP-splitters use
> the same ISS (Inital Sequence Number) with the receiver
> as the one used by the sender.
> A good TCP-splitter should (does).

This is one issue I refered to above.

Particularly on this one: I admittedly have no idea how sequence numbers 
are frozen. It would be sufficient to freeze sequence numers wrt to a 
certain address quadrupble - however this is somewhat arduous. So I can 
imagine (perhaps someone can tell me) that a TCP sender simply freezes 
every used sequence number for some period of time and does not consider 
the address quadruple. In that case, I think exact spoofing of
sequence numbers can be difficult?


More information about the end2end-interest mailing list