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