Alex,

I do not agree that this is that new of an IP routing model. In wireless mesh networks it surely is not. For a decade MANET has been doing IP routing in a similar way, and those of us involved with embedded IP have been doing IP routing like this for just as long. We have several commercial and open-source 6LoWPAN implementations, and plenty of MANET implementations doing this. Other non-IP embedded wireless network solutions do L3 routing using the same paradigm - for example ZigBee uses a variation of AODV style routing.

If it really that hard to understand, then we will just have to describe it better. Some suggestions below on how to do that.

Alexandru Petrescu wrote:
Dear 6LoWPANners,

This is clarification discussion issued from recent exchanges on ROLL list, and in private with some co-authors - I thank for having taken the time.

Often was mentioned that 6lowpan/roll router would have a single interface, that subnet and routing is different than my understanding, and exact match (non-longest-prefix) match and host-based routes are relevant to this new IP routing model.

Let me picture what I understand by an IP router:

         if1 ------ if2
    --------|Router|-------
     subnet1 ------ subnet2

             Router forwards by inspecting dst field and longest-prefix
             matching it in the routing table.

Moreover, a router decides to forward a packet to only one outgoing interface, among two, like this:

                    _______
                   /
            ------/if0
       ----|Router|
            ------\
                   \if1
                    ------

Yep, we only have this in edge routers connected to other IP networks. In that case if0 maye be an Ethernet interface, and if1 a 6lowpan wireless interface. The edge router does IP routing between these interfaces.

But when we talk the picture of 6lowpan/roll router, it seemingly does not need to make any such IP routing decision:

      ---------------- new "subnet"
               |if0
              ----
             /    \
            /      \
           / Sensor \
           \ Router /
            \      /
             \----/

This is correct, 6LoWPAN nodes have a single interface participating in a LoWPAN. If a node has multiple interfaces each operates independently.

What would be the critical SensorRouter operation? It would look at which fields of an incoming packet? And it would match it how? Into a table of what?

It matches the IPv6 destination address, with an IP route table which logically contains Destination.Address, Next-hop.Address tuples. If there is no match the router uses a default next-hop route up to an ER (it may keep secondary next-hop defaults). If there is some reactive routing algorithm it may also trigger some kind of route request action (e.g. DYMO) which would then find a next-hop for that destination.

A host uses a default next-hop router (the one it sends RR messages to). It may also use secondary default next-hop routers.

A table of MAC addresses? (dst of the received packet, exact match search).

No, the link-layer dst address would be that of the SensorRouter receiving the packet. Link-layer src/dst are only for that hop.


A table of IP addresses? (with a new exact match search).

Yes, it uses an IP route table doing an exact match search on the IPv6 dst. However, as there is a direct mapping between IID and the L2 address in 6LoWPAN it is actually the L2 address it is matching if the destination address is in the LoWPAN. This has no importance on the IP routing operation though. If the address is outside the LoWPAN a default route to an ER is used.

What is the IP routing model assumed by the single-interface router?

The text in 6lowpan ND is not clear about this, because at several places it uses old terms with new assumed meanings (for example it says there's a single subnet, a single link-scope multicast scope, but at the same time comments say IP routing and subnet is not what used to be).

We are going to stop using the "subnet" term as it does not describe what we have here. We tried to define LoWPAN Subnet, but subnet is too overloaded with restrictions and presumptions. In draft-ietf-6lowpan-nd-03 we are just calling it a LoWPAN, and a LoWPAN is defined by a shared prefix across the interfaces of nodes. We don't have subnets as the links are so unstable they can't support subnets as defined by IPv6.

Based on your comments we do need to describe a few things better for newcomers:

1. That LoWPAN routers route on a single interface, and the model for routing with that single interface should be described in some more detail. draft-ietf-6lowpan-nd and architecture doc. Can use a figure like that above.

2. The LoWPAN model, sharing a prefix which you may do IP routing within. This is not an IPv6 subnet. draft-ietf-6lowpan-nd and architecture doc.

3. How does next-hop determination work with this model. We already describe this in draft-ietf-6lowpan-nd under Host (Node in -03) Operations. Can be improved, with more detailed description and an example.

4. How does an IP routing algorithm work in such a network? This is a job for ROLL, although an architecture doc for 6lowpan may give a simple example? Most MANET protocols work fine in such a network from practical experience.

- Zach

Alex


_______________________________________________
6lowpan mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6lowpan

--
http://zachshelby.org - My blog “On the Internet of Things”
Mobile: +358 40 7796297

Zach Shelby
Head of Research
Sensinode Ltd.
Kidekuja 2
88610 Vuokatti, FINLAND

This e-mail and all attached material are confidential and may contain legally privileged information. If you are not the intended recipient, please contact the sender and delete the e-mail from your system without producing, distributing or retaining copies thereof.
_______________________________________________
6lowpan mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6lowpan

Reply via email to