William,
I got the misunderstanding. You where using the term _link_ as synonym
of _path_ (at least at the end of the mail you talk about best working
paths). For paths, you are right.
Thanks
Luigi
William Herrin wrote:
On Tue, Nov 25, 2008 at 3:06 PM, William Herrin <[EMAIL PROTECTED]> wrote:
Lets look at it a little more concretely:
Machine 1 has locators A, B and C.
Machine 2 has locators D, E.
The path from E to B is broken and delivers no packets. The others are
working normally.
So, machine 1 sends a sequence of packets. They travel: A->D, B->E,
C->F, A->E, B->F, C->D and so on. The acks and any payload from
machine 2 come back D->A, E->B (dropped), D->C, E->A, D->B, etc.
That would be A->D, B->E, C->D, A->E, B->D, C->E and so on. I
originally gave machine 2 three locators but figured it would make a
better example if the locators were mismatched.
Over time, machine 1 sees a roughly even spread of lost packets
because because the acks don't come back when sent on the E->B path.
Since the spread is even, no path gets a preference over the other.
At the same time, machine 2 notices that packets sent E->B never come
back and it notices that packets acked with the E->B link are
retransmitted by the source. It depreferences the EB pair so that
they're used less often until they reach some threshold and are cut
entirely due to being non-operable.
Granted the system has a mildly stochastic nature, but it should
converge on the "best" working paths for any given communication
session.
Of course if E->B is less broken and actually returns an unreachable
message the algorithm can shortcut and eliminate that path from use
immediately.
_______________________________________________
rrg mailing list
[email protected]
https://www.irtf.org/mailman/listinfo/rrg