Subject: Issue 24 (was RE: [nemo] review of the nemo basic spec)

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Tue, 2 Dec 2003 08:43:58 -0000

> 
> Here's what I'm thinking:
> 
> Step 1.
>          MR1 -> MR2 -> MR3 ---> Fixed Network ---> HA
> 
> 
> 
> Step 2.
>                            _---> Fixed Network ---> HA
>                           /
>    +---> MR1 -> MR2 -> MR3 ---+
>    |                          |
>    +--------------------------+
> 
> 
> Step 3.
> 
>    +---> MR1 -> MR2 -> MR3 ---+
>    |                          |
>    +--------------------------+
> 
> That is, an MR3 is attached to a fixed network and communicates
> with its HA. There are nested MRs, MR1 and MR2. Now, MR3 sees MR1
> advertising access with a better signal strenght, and thinks
> incorrectly that it would be a good idea to attach to it. So
> it decides to attach to MR1 instead. However, MR3 keeps its old
> attachment running until it has completed the attachment to MR1;
> this implies the BU it sends via MR1 gets routed back to itself
> in a tunnel, and actually gets to the home agent via the
> still operational fixed attachment. But after the BA comes back,
> MR3 detaches itself from the fixed network. As a result, we
> have a loop and no connectivity. Now try to send a data packet.
> 
> I would like to understand why this is not a problem.
> I'm sure I'm missing something obvious.
> 

You're not :)

Short answer is that it's heavily linked to Nemo Route Optimization
(more in 2.1 Nested Tunnels Optimization in
http://www.ietf.org/internet-drafts/draft-thubert-nemo-ro-taxonomy-01.tx
t) and that we ruled that out of scope for basic (thus its name :). With
basic, we address a MR connected to an AR, but do not detail AR
selection, and do not enable automatic navigation within a cloud of
mobile routers. 

Long answer:

Actually it's a question Steve Deering raised at the time Nemo was still
a BOF, and that we spent quite some time discussing together before
that, when I described to him our Reverse Routing Header technology,
that we published (IPR free :) at that time (now
http://www.ietf.org/internet-drafts/draft-thubert-nemo-reverse-routing-h
eader-03.txt).

The Nested Tunnel RO somehow manages the path between a MR and a fixed
AR via other MRs. An example of that is nested MRs forming a MANET. At
this time, the Nemo WG is chartered to study that problem but not to
write up a normative document on its solution.

On the side, note that as long as MRs form a single CareOf each, when
MRs attach to MRs in a loopless fashion, they form a tree, ideal for
bridging and multicasting. In RRH, we propose an extension to ND RA
(called Tree Information Option, RATIO) that enables loop prevention,
and provides metrics for AR selection. 

The minimum information we need from that TIO to prevent loops is the ID
of the root (top level) mobile router and a metric, like the tree depth.
Rules for loopless AR selection:

- A MR that is not attached to a tree is root (either attached to a
fixed AR or floating). A root MR may attach to any tree for which it is
not root.

- A MR that is attached to a tree may jump to a different tree (root id
is different) or to the same tree at a better metric.

- A MR will jump proactively in order to improve its metric. A MR will
jump reactively when its current attachment is not reachable anymore.

One consequence of these rules is that if movement detection finds that
the current attachment is not reachable anymore, and that only MRs in
the same tree with a worse metric are visible, then, following the
second rule, the MR can not reattach. So it becomes root and reinitiates
a RATIO. That RATIO is propagated down our MR subtree so that 2 trees
are now in existence. Our MR may now reattach to the previous tree,
following the first rule.

There's a bit more to it, but that's the idea. A DV technique to form a
virtual L2 tree.

Once you've formed trees that are optimized for your metrics, you may
want to populate that tree with prefixes, and set up local routing. As
you see, this discussion may lead quite far. IMHO, it's fair that basic
cuts short and does not open the Pandora box.

Pascal