On 6-Nov-2005, at 21:26, Dean Anderson wrote:

BTW, forgot to say thanks for adding the part about load balancing.

Thanks for bringing it up.

On Fri, 4 Nov 2005, Joe Abley wrote:

I don't have a good reference to cite, but it is my experience that
per-packet load balancing over parallel circuits leads to levels of
packet reordering which are low enough that serious TCP performance
degradation does not result. It may also be that the relative
adjacency of out-of-order segments (e.g. reliably within a window)
allows common TCP implementations to cope well, whereas topologies
which result in greater dispersion of segments cause the pipeline to
stall more frequently.

It is not severe in either case. Indeed, so far unicast TCP is concerned, diverse links are also parallel. It is only with Anycast that the parallelism is split. The only difference is in the number of IP-visible hops. However even seemingly "one-hop parallel" IP links may be run over frame relay, atm, or mpls links that are of unequal latency. The TCP issues are the same in either case.

Let's follow this diversion in a little more detail. Precise modelling of TCP over a complete, general set of network conditions is a horrendous problem (at least for me) and I don't pretend to be an experienced researcher in this area. However, I think there are some coarse, high-level observations we can probably agree on which will help here.

In the case of multiple, similarly-loaded links between a pair of routers, the paths between source and unicast destination will be markedly similar in terms of the metrics which have an impact on TCP performance (e.g. propagation latency, jitter, segment re-ordering).

In the case of links which connect to different routers which are not topologically close the paths between source and unicast destination is much more likely to be different over each path.

TCP functions most effectively when the variation in network conditions between source and destination is of relatively low frequency; this allows TCP to adapt its sending rate such that the pipeline remains reasonably full.

As network conditions change (e.g. a congestion point appears, and packets become delayed or dropped) TCP adapts its sending behaviour to maximise throughput. This change cannot happen instantaneously, since all the signalling and inference happens in-band. Effective transmission for TCP relies on the fact that network conditions tend not to change abruptly, and hence incremental modifications in sending behaviour can keep a TCP session tuned without the window draining and everything restarting from scratch.

A topology which involves successive segments following paths which are markedly different represents the pathological case of abrupt network change; not only is the change abrupt, but it happens with near peak frequency.

Second, the TCP performance issue noted is minor, not severe.

I have operational experience of the case in hand, and I stand by my
description. Perhaps we differ in our interpretation of the word
"severe".

This seems vague to me. The operational experience you cite is over parallel links, and in that case you assert the TCP performance issue is minor, correct?

I think there is widespread support for this (I think I see you agreeing with it, in fact :-)

Are you asserting that diverse links suffer more severe TCP performance issues than do parallel links? My experience is different. Both are minor. Neither case suffers non-operation, nor anything close to non-operation. I define "severe" as user visible delays of several seconds or more. Load- splitting (parallel or diverse) results in 3% unnecessary TCP retransmissions, without any
user visible delays.

It certainly seems possible to do PPLB across paths from a single router which land in different upstream ISPs, and see minimal harm as you describe above. I am not accusing you of making this stuff up. However, it is my experience (and that of others here) that this is the exception rather than the rule.

Third, the use of Equal cost paths is not limited to BGP nor does is it
dependent on BGP exit selection algorithm.

Indeed, the section on PPLB specifically does not refer to BGP.

Perhaps I misread something. I read the PPLB discussion in section
4.4.3 "Equal Cost Paths", discussing specifically BGP equal cost paths.

It mentions BGP with the specific intention of mentioning that equal- cost, multi-path topologies are possible with BGP. It then goes on to mention other routing protocols in which opportunities to acquire ECMP routes are far more common (in every BGP implementation I've seen, there is no multi-path capability by default: you have to explicitly turn it on).

Its not
terribly clear when you start discsussing PPLB that the problem is more general
than one of BGP exit policy.

It seems clear to me. However, please feel free to suggest text to make that more clear.

The phrase "node selection" is intended in this document to indicate
a selected path through one or more interconnected routing systems to
a particular anycast node. It is certainly not a description of some
mechanism by which a client can select a particular node for service.

I think the document is quite clear on this point, but if you have
specific examples of ambiguous text I would be happy to review them.

I gave an example. Your above description is vague and incorrect, but you
plainly do not see it.

I think you are being over-literal, and judging from the response (or non-response) of others I think your objections to this turn of phrase are not widely shared.

Note that the process we are participating in is one of rough consensus and not universal agreement. This is not the ITU :-)


Joe
_________________________________________________________________
web user interface: http://darkwing.uoregon.edu/~llynch/grow.html
web archive:        http://darkwing.uoregon.edu/~llynch/grow/

Reply via email to