Re: [Roll] updating DAO caches (was Re: Something to ADD)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Roll] updating DAO caches (was Re: Something to ADD)
> -----Original Message-----
> From: JP Vasseur [mailto:jvasseur at cisco.com]
> Sent: Thursday, November 19, 2009 5:37 AM
> To: Richard Kelsey
> Cc: Roger Alexander; roll at ietf.org
> Subject: Re: [Roll] updating DAO caches (was Re: Something to ADD)
>
>
> On Nov 17, 2009, at 5:12 PM, Richard Kelsey wrote:
>
> >> From: Roger Alexander <roger.alexander at ekasystems.com>
> >> Date: Mon, 16 Nov 2009 15:33:33 -0800
> >>
> >> Not clear why there is a need to know who records DAOs. In response
> >> to
> >> a new child a parent that does maintain state will add itself to the
> >> path information from the child and pass that information to it's
> >> parent. That information will pass inward towards the root until a
> >> node is encountered that can store the path information and
> >> previously
> >> supported connectivity to the node at the same cost.
> >
> > The difficulty is that, at present, there is no way of
> > determining how much information needs to be passed up after
> > a move. Here is the example I posted earlier. We start
> > with this, where A is the root:
> >
> > A
> > / \
> > B C
> > |
> > D
> > |
> > E
> >
> > Now D moves to C as its parent:
> >
> > A
> > / \
> > B C
> > |
> > D
> > |
> > E
> >
> > If only A caches DAO data, then all D needs to do is send a
> > DAO after the move. A receives it and changes its next hop
> > for D and E to be C.
>
> Well I think that you still need the no-DAO since A may continue to
> send
> packets to D via both B and C.
>
> >
> > If B and C both cache DAO data, then D needs to send a
> > no-DAO before the move, to update B, and both D and E need
> > to send DAOs after the move, so that C knows that it has
> > downward paths to both of them.
>
> Note that with DAO packing only D will send one DAO for local prefixes
> and E's prefixes but that's not the topic.
>
> >
> > In the first case a single DAO needs to be sent. In the
> > second case D has to send two DAOs and the nodes in its
> > subdag, just E here, each need to send one. If only the
> > root caches DAOs then the first case always applies. If
> > other nodes may cache DAOs, then we have to assume that we
> > are in the second case after every move.
>
The protocol must work without the need to send no-DAOs. In some cases the
change of a parent is due to loss of link connectivity to the prior parent.
In such cases, there is no opportunity for a no-DAO to be received. Instead,
the new DAO information will be passed inward to the highest state-storing
'common ancestor' (as Jonathon correctly cites) node located at a rank above
the old and new parent (which in some cases may indeed be the root). The
common ancestor will then be able to correct subsequent outward routing. Any
broken routing will be temporary.
As indicated earlier, with larger multi-hop networks there will be more
potential common ancestor nodes between the node changing its parent and the
root. As such, a DAO issued as a result of a change of parent will need to
travel only to the point at which such a state-storing common ancestor node
is encountered. It some cases this may be the root but in all other cases
the extent of the DAO update transmission is reduced relative to the case in
which only the root maintains state.
> Yes but I think that we need no-DAO to avoid nodes upper in the DAG to
> continue
> to use an old path anyway and the issues of the number of DAO is IMO
> larger and
> packing will sort it out.
>
> >
> > -Richard Kelsey
> > _______________________________________________
> > Roll mailing list
> > Roll at ietf.org
> > https://www.ietf.org/mailman/listinfo/roll
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.