[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DNA] [Issue X] LinkID v.s. Landmark Prefix
JinHyeock Choi wrote:
> We can't avoid a temporary flapping for the related set, the set of
> all prefixes
> on a link.
Just to make it sure we are all talking about the same thing, by
"flapping" I assume we mean the following:
When the set of prefixes on a link changes, e.g., a prefix is being
added or a prefix is being removed, there is the possibility that a host
see more than one change (see things flapping back and forth) until the
routers have been synchronized.
For instance, if the prefix set is {P1, P2} and P3 is added, one would
ideally have the host see {P1, P2} and then see {P1, P2, P3}, but when
RAs come from different routers, there might be a small window when the
host sees RAs vary in a sequence like {P1, P2}, {P1, P2, P3}, {P1, P2},
{P1, P2, P3}. This is due to the third RA (with {P1, P2}) coming from a
router which hadn't seen P3 yet.
If there is no packet loss, the window during which this can happen is
very small (basically the propagation delay of the RA which carries the
new prefix from one router to another). With packet loss, the worst case
window is the time it takes to successfully retransmit the RA so that
the other routers see it.
> In linkid scheme, one item (linkid prefix) of the set matters for DNA
> performance.
> So we designed a few special schemes for the linkid prefix so that
> linkid prefix(es)
> won't give incorrect information about a link change, even under
> temporary flapping.
Yes, but linkid still has flapping issues; you just have a technique to
avoid this resulting in an incorrect result. (In the case of linkid the
flapping effects the linkID which each routers picks. Thus if P3 was the
numerically smallest prefix then the flapping in the prefix set would
result in flapping in the linkID prefix the host sees.) Handling this
requires some additional logic in linkID.
> But for Complete RA or Landmark, IMO, we need to adopt similar schemes such
> as "Linkid Prefix List" or "Old linkid advertising rule" to all
> prefixes because we
> don't know which prefix will affect DNA decision.
I don't think so. CompleteRA is basically the same as CPL in this
respect, in that the prefix sets are compared to see whether they are
disjoint. In the above example, there is overlap between {P1, P2} and
{P1, P2, P3} hence the host would correctly conclude that it didn't move.
Landmark is basically an optimization of completeRA, with a fallback to
completeRA/CPL prefix comparisons when there was no landmark response,
or no DNA capable router, respectively. Thus the completeRA/CPL
observation holds. This even takes care of the case when a host picks up
{P1, P2, P3}, selects P3 as its landmark, gets a new link up
notification, sends a RS, and get a response with "landmark P3 = NO,
PIO={P1, P2}, from a router which hasn't yet seen P3, since the host
would compare the prefix sets in that case as well. (I'm not sure that
is in the I-D, but I think it needs to be in the I-D to handle the
analogous case of moving to a link with no DNA routers.)
> If all routers agree on the selection algorithm, it's almost automatical
> to select the prefix among the set of prefixes. That's why I chose the
> simplest selection scheme, picking the smallest prefix.
Sure. But my point is that a router needs to be prepared to receive a RA
where some other router, due to not having seen an RA, or being broken,
is claiming that some other prefix is the linkID. That's some added
complexity.
> I thought it simpler to make routers agree on the same selection
> scheme but would like to hear your scheme when developed.
I think it would be isomorphic to linkid; just a different way of
thinking about the problem. (BTW: "simple" and "distributed agreement"
don't belong together in the same sentence. :-)
Erik