Subject: RE: Summary Re: [nemo] comments on "Tree Discovery" draft

From: "Pascal Thubert \(pthubert\)" <[email-masked]>
Date: Mon, 30 Aug 2004 16:19:50 +0200

> > Two consecutive changes end up restoring the bit, right?
> 
> Yes, and this means that if a multiple of two intermediate MR's
> disappear simultaneously then leaf MR won't notice.
> 
> At the same time, the digesting method has the inconvenient that if
one
> intermediate MR is instantaneously replaced by another then the leaf
MR
> will notice a change (in fact there's no change, it's the same number
of
> intermediary IP hops).
Sorry but this is actually the change we do want to detect. That may
actually trigger a Binding Update in RO case - see for instance the RRH
operation. If you just want to detect a change of depth, the depth is
readily available in its own TIO field. 

> My method can be still used if a very fine time sampling is used, such
> that there can not be too actual simultaneous MR's disparritions.
> 
What do you mean simultaneous? 

A visitor may miss an RA. Say that RA reversed the bit. And say the next
one does too. Now the bit is reversed again and then the visitor sees
the bit unchanged.

The CRC method allows each visitor to keep and independent state for its
view of the path out of the nested tree. For that purpose, the crc32c is
arguably as good as the string of careofs. Since that view might be
echoed in the RO states at the HA, it is important not to miss changes.

> Your method can be improved if the digest is applied on something else
> than the CoA, maybe on the depth level number defined somewhere in the
> TD draft.
> 
> It's these kinds of things that are needed in order for a draft to
> become WG item, IMHO...
> 
Actually the MR looks at both the depth and the digest. And yes we could
make the digest more complex to include other fields like the depth in
the string, so that any change worth looking at would cause a change in
the digest that could be detected in one test.

On the other hand, if we do so, we have to make sure that the action on
the change does not depend on which field has actually changed... TD
version 00 allows distinguishing a change in the depth vs change of tree
vs change in MR path etc...

Pascal

---

From: Alexandru Petrescu <[email-masked]>
Date: Mon, 30 Aug 2004 16:30:15 +0200

Pascal Thubert (pthubert) wrote:
>  actually trigger a Binding Update in RO case - see for instance the 
> RRH operation. If you just want to detect a change of depth, the 
> depth is readily available in its own TIO field.

Oh, now I see...

So if the leaf MR just wants to detect that some intermediate router has
changed then again just use a bit that is constantly 0 and propagated by
MR's in RA's.  Then if an MR detects that its default route points to
some other MR (than the previous) set this bit to 1 in the RA it
advertises on the ingress.  Monitor the BU it receives from the leaf MR.
  If thi BU changed (the leaf MR has not missed the "change" RA then
switch back that bit to 0).

BTW, when you say that this change will trigger the BU in RO case, it's
who who sends the BU?  The MR that is near the MR that changed?  Or the
leaf MR that was told via propagated RA's that something has changed?

Alex

> 
> 
> 
>> My method can be still used if a very fine time sampling is used, 
>> such that there can not be too actual simultaneous MR's 
>> disparritions.
>> 
> 
> A visitor may miss an RA. Say that RA reversed the bit. And say the 
> next one does too. Now the bit is reversed again and then the visitor
>  sees the bit unchanged.
> 
> The CRC method allows each visitor to keep and independent state for 
> its view of the path out of the nested tree. For that purpose, the 
> crc32c is arguably as good as the string of careofs. Since that view 
> might be echoed in the RO states at the HA, it is important not to 
> miss changes.
> 
> 
> 
>> Your method can be improved if the digest is applied on something 
>> else than the CoA, maybe on the depth level number defined 
>> somewhere in the TD draft.
>> 
> Actually the MR looks at both the depth and the digest. And yes we 
> could make the digest more complex to include other fields like the 
> depth in the string, so that any change worth looking at would cause 
> a change in the digest that could be detected in one test.
> 
> On the other hand, if we do so, we have to make sure that the action 
> on the change does not depend on which field has actually changed... 
> TD version 00 allows distinguishing a change in the depth vs change 
> of tree vs change in MR path etc...
> 
> 
> Pascal
> 
>

---

From: Alexandru Petrescu <[email-masked]>
Date: Mon, 30 Aug 2004 16:35:21 +0200

> next one does too. Now the bit is reversed again and then the visitor

YEs...

But still, missing messages can discomfort your own digesting method
too.  Missing messages will discomfort any protocol design for that
matter.  I may be sounding too pessimistic...

> crc32c is arguably as good as the string of careofs.

Yes, and it is also as good as the rfc2460 checksum and as the simple
XOR'ing of the EUID's.  Why CRC32c?

> Since that view might be echoed in the RO states at the HA, it is 
> important not to miss changes.

You seem to have a relatively clear picture of a certain RO mechanism,
by assumption.  Is this RRH by any chance?

Alex

---

From: Alexandru Petrescu <[email-masked]>
Date: Mon, 30 Aug 2004 16:38:35 +0200

Pascal Thubert (pthubert) wrote:
> RRH operation.

Please clarify... if a leaf MR receives a digest and deduces some router
has changed in its upper path, it is this leaf MR that will send RO
messages?

Or is it the MR immediately below the MR that has changed that sends the
RO messaging?

Or is it the new MR that appeared that actually sends the RO messaging?

I'd prefer this latter case, so no need to signal to leaf MR's that some
intermediary path has changed.

Alex