Subject: [6lowpan] Hop count to edge router needed in router advertisement

From: "Peter Siklosi" <[email-masked]>
Date: Wed, 18 Mar 2009 08:50:12 +0100

I would suggest adding a "hop count to edge router" as an option in
router advertisement messages. This would indicate current number of
hops from the router sending the RA to an edge router and would make it
possible for a new node joining the lowpan to select the best edge
router for registration. This could be added as a field in the multihop
information option or as a separate option. It would be even better to
be able to provide some metric that includes the "quality" of links, but
hop count itself may be sufficient.

The reason for this suggestion is as follows. Imagine a setup with a
large number of routers and multiple edge routers, using "route over". A
small example of this would be the illustration below, where a new
router X is just about to join.

ER1 --- R --- R1 --- X --- R2 --- R --- R --- ER2

                     !

                     R3   

                     !

                     ER3

In this setup there are three edge routers, each managing their own
subnet, and a few routers registered to each subnet. The available links
are shown as lines. The routes between existing routers are already set
up, so there is a route from R1 to ER1 for instance. The new node X does
not have any routes set up yet of course. The node X needs to select a
router through which it can register to an edge router. If there is an
edge router on the local link, there is no problem, but in many cases,
such as the case above, there would not be. The decision to select the
best ER cannot be delegated, it makes no sense to ask for instance R1 to
make a good decision, since it does not have the same environment as X.
If X would use "anycast to edge router", there are three routers that
could potentially be responding and each could provide a "best selection
of edge router", R1 would use ER1, R2 would use ER2 and R3 would use
ER3, but this does not help. The routers R1, R2 and R3 do not know who
would be the best to respond and the node X could not chose either.

Clearly, in this situation, X would need information in the router
advertisements sent from R1, R2 and R3 about the number of hops to its
ER to be able to select ER3 as the best edge router to register to, and
it would then register through R3 in this case. 

If this information is not provided in the RA (or through some other
mechanism), then in the situation above, X might very well select ER2
for instance, and then, once registration is complete, get a route to ER
with 4 hops instead of 2. This would lower the overall system
performance. I am assuming that the system would use some routing
mechanism such as DYMO. If X is ever to learn that there is a shorter
route to an edge router, it would have to send route requests outside
its own subnet, which would lead to substantial flooding of the system.
I would therefore think that route requests should be limited to routers
in the subnet and in this case, X would never learn that there is a
shorter route, would it only register with ER3 instead.

In a large system, I believe that the system performance could be
severely reduced if routers cannot select the "best subnet" when
joining.

Regards,

Peter Siklosi

Tritech