On 08/11/10 04:41 PM, Philip Levis wrote:
Basically, RPL puts up to two pieces information in packets that it
routes. The first is which routing topology this packet should be
routed on: RPL supports multiple parallel topologies, e.g., one
optimized for low latency and a second optimized for low energy. This
information is called the RPLInstanceId.
The second is information about the "cost" of the forwarder's route
to the destination. This hop-by-hop "cost" information is called
Rank. Rank is needed to detect routing loops: if a router receives a
packet whose prior router's Rank is less than or equal to its own,
Rank is not strictly decreasing and there may be a routing loop.
Being able to embed this information in the flow label, rather than
requiring additional headers and IP-in-IP, would greatly reduce
header overhead. In RPL, we're often concerned about very short, such
as 10 byte, packets, so this could be a big savings.
The challenge is that the RPLInstanceId is 8 bits and Rank is 16
bits.
I realize that taking 48 bytes to carry 3 bytes of content (IP-in-IP
plus a min size option is 48 bytes) seems a bit silly.
Has anybody discussed adding a header with just the 3 bytes you need
*before* the IP header?
That avoids the overhead. The downside is that you need a new code point
(for demux) in the different layer2s that you want to run this on.
But it seems a lot simpler than trying to overload some existing IPv6
header field.
Erik
--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------