
Mike,
At 01:33 PM 6/14/2005, mike shand wrote:
I just tried a randomly generated topology with all (very) asymmetric
links and managed to produce a 9 hop loop, which traversed 6 type C
nodes, 2 type As and a type B!!!
Excellent! I assume this was using the symmetric condition because
there are type As and a type B in it?
Um... what am I missing here? It is still possible to get type A and B
with the asymmetric condition isn't it?
What does it look like using the asymmetric one?
I get the loop with both sym and asym conditions.
I'm a bit confused then. A multihop loop with the asymmetric condition
shouldn't go through type A or type B nodes. That's the point of
changing the condition to be stricter.
Yes, but it can still be fed back into it by a chain of C's
Thanks for the copious examples :) I see exactly what you're talking
about now. Essentially, the shortest path in one direction between 2 type
Cs might be via multiple hops that are type C. I hadn't fully appreciated
that.
Alia
So in the example I gave, for a destination of node 7 (which is at the
other end of a link connected to node 22) we have nodes 3 & 19 which are
type A even with the asym condition.
After the failure 3's route to 7 is via 19 (and hence 19 is downstream),
but before the failure 19 is also downstream, since 19's route to 7 is via
nodes 2 and 26. hence 19 is a safe neighbor.
Similarly, after the failure 19's route to 7 is via 8 (hence 8 is
downstream). Before the failure 19's route is via 2 (as before), but 8 has
a path via 26. hence it is downstream of 19 both before and after the failure.
After the failure, 22's route to 7 is via 29,18,28,3,19,8,1,9,7.
BTW if I didn't mention it before the failing link is between 22 and 7.
If it helps, the following describes the topology
Much of it is irrelevant, but it is just what got randomly created.
link 2 to 12 cost 257 rev 4530
link 18 to 30 cost 265 rev 3480
link 19 to 2 cost 146 rev 30
link 22 to 7 cost 261 rev 2620
link 23 to 17 cost 368 rev 3830
link 24 to 17 cost 193 rev 2710
link 25 to 13 cost 142 rev 1720
link 26 to 11 cost 312 rev 1800
link 27 to 4 cost 356 rev 3450
link 28 to 10 cost 219 rev 4420
link 29 to 5 cost 246 rev 2450
link 1 to 9 cost 500 rev 2950
link 3 to 19 cost 408 rev 1200
link 6 to 14 cost 264 rev 320
link 8 to 26 cost 135 rev 4580
link 12 to 24 cost 126 rev 4100
link 15 to 6 cost 205 rev 3330
link 18 to 28 cost 402 rev 130
link 22 to 20 cost 189 rev 3920
link 23 to 24 cost 496 rev 2770
link 25 to 28 cost 116 rev 4890
link 27 to 21 cost 488 rev 3390
link 29 to 22 cost 430 rev 1100
link 1 to 8 cost 100 rev 630
link 2 to 26 cost 148 rev 3630
link 3 to 25 cost 227 rev 4550
link 4 to 16 cost 15 rev 4460
link 11 to 16 cost 319 rev 2650
link 12 to 26 cost 11 rev 2720
link 14 to 15 cost 139 rev 400
link 18 to 23 cost 64 rev 860
link 19 to 17 cost 357 rev 2030
link 27 to 30 cost 383 rev 4880
link 29 to 21 cost 156 rev 2400
link 1 to 15 cost 68 rev 4630
link 2 to 23 cost 157 rev 2610
link 3 to 28 cost 384 rev 790
link 4 to 24 cost 301 rev 770
link 5 to 20 cost 16 rev 4600
link 6 to 12 cost 413 rev 3990
link 7 to 9 cost 236 rev 2690
link 8 to 19 cost 301 rev 1200
link 10 to 30 cost 479 rev 950
link 11 to 22 cost 178 rev 2870
link 13 to 27 cost 440 rev 3360
link 14 to 25 cost 359 rev 3140
link 18 to 29 cost 241 rev 2310
Sorry its overly complex. I'm sure it would be possible to extract a
subset which had the required properties.
Mike
Regardless of whether a node is using the old topology or the new
topology, with the asymmetric condition, a type A or a type B router will
use a nexthop between DELAY_SPF and DELAY_TYPEB will be closer to the
destination. This guarantees monotonically decreasing distance, so that
loops cannot form.
Thus, a multihop microloop could go through a lot of type C's, but as
soon as it hits a type B or type A, I'd think it would exit the loop.
Maybe I'm missing something. I guess it might be possible for a type C
to send back up , but I'm not seeing how. Consider a type A node A and
a type C node C  where C is the first type C node encountered on A's
nexthop path to D (where this path is that used between DELAY_SPF and
DELAY_TYPEB).
We know that:
D_old(A, D) > D_old(C,D)
D_new(A, D) > D_new(C, D)
Can you describe the topology you're using? I'm not picturing how one
could get the multihop microloop between type A, B and C when using the
asymmetric condition.
Do you think we can adequately describe the topology conditions that
can lead to the multihop microloop problem with the symmetric condition?
Perhaps, but I'm not going to attmept it right now:)
Not a 5minute responsetime email? I'm shocked :)
Alia
Mike
Alia
Testing path from node 8 (8) to node 7 (7) at time 1
Node 8 (8): Packet discarded because looped
Node 19 (19) New: Forwarded via adj 1 over link 42 to node 8
Node 3 (3) New: Forwarded via adj 1 over link 13 to node 19
Node 28 (28) New: Forwarded via adj 1 over link 37 to node 3
Node 18 (18) New: Forwarded via adj 1 over link 18 to node 28
Node 29 (29) New: Forwarded via adj 1 over link 47 to node 18
Node 22 (22) New: Forwarded via adj 1 over link 23 to node 29
Node 11 (11) Temp: Forwarded via adj 1 over link 44 to node 22
Node 26 (26) Old: Forwarded via adj 1 over link 8 to node 11
Node 8 (8) Old: Forwarded via adj 1 over link 15 to node 26
(read the trace going up)
Node 11 is type B and nodes 3 and 11 are type A for the destination node 7
So at time 1 (when the type C's change), type A MUST forward according
to new topology, type B according to the temporary type B next hop,
and the type C either according to old or new topology (since they are
in the process of changing)
So, yes, we can get multihop loops with the asymmetric algorithm!
Mike
_______________________________________________
Rtgwg mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/rtgwg

